Las redes neuronales que pasan mensajes (MPNN) son un término acuñado por los investigadores de Google que trabajan en el cálculo neuronal para predecir estados cuánticos de moléculas [1]. Los MPNN, describen ampliamente las redes gráficas no estructuradas, donde los nodos son neuronas y los bordes son como una sinapsis entre dos neuronas con una fuerza particular (y modificable) [2]. Cuando las fuerzas de conexión se actualizan de una manera basada en reglas hasta que convergen, estas redes basadas en gráficos se pueden usar para realizar cálculos complejos con datos muy altos en todo [3].
Desafortunadamente, la red neuronal de paso de mensajes es una terminología fácilmente incomprendida, y eventualmente puede considerarse un nombre inapropiado completo. Hay redes neuronales (NN) y luego hay interfaces de paso de mensajes (MPI). También hay redes neuronales que se simulan mediante interfaces de paso de mensajes. Es un poco inútil decir que las neuronas pasan mensajes. La red neuronal de gráfico no dirigido habría sido más descriptiva.
- ¿Qué tan cerca estamos de tener un robot que limpiará mi habitación?
- ¿Cuál es el mejor libro como introducción a Python y la inteligencia artificial?
- ¿Cómo aprovecho los datos del usuario para proporcionar recomendaciones basadas en la ubicación?
- ¿Cuál es la salida de una red neuronal para la agrupación supervisada de datos secuenciales?
- ¿Cuáles son los principios del procesamiento del lenguaje natural del resumen automático? ¿Cuáles son los mejores recursos? ¿Cuántas bases tengo que hacer en PNL para lograr esto? ¿Y qué partes de las teorías de PNL / PC son importantes para construir tal sistema?
¿Qué es una interfaz de paso de mensajes (MPI)?
En los años 90 quedó muy claro que (i) incluso las mejores computadoras serían tan rápidas y que (ii) una sola computadora sería insuficiente para resolver muchas clases de problemas computacionalmente exigentes. Esta realización condujo a las supercomputadoras modernas. Aunque el término es singular, una supercomputadora generalmente está compuesta por miles de computadoras en red. Es posible que cada una de estas computadoras individuales no sea tan poderosa por sí sola, pero cuando se combinan, la cantidad de operaciones que pueden realizar en conjunto puede ser asombrosa. Para convertir muchas computadoras individuales en una supercomputadora, debe haber una interfaz de paso de mensajes que permita que las unidades individuales (nodos) se comuniquen (envíen mensajes) entre sí. Las interfaces de paso de mensajes son el protocolo para la comunicación de red que ayuda a evitar que se crucen todas las líneas y que los nodos trabajen juntos. [4] A esto lo llamamos computación paralela.
¿Cómo es útil MPI para redes neuronales?
Como ya habrá supuesto, algunos problemas son más fáciles de resolver a través de la computación paralela que otros. Para analogizar: tareas como cavar el canal de Panamá, donde cada trabajador puede cargar su propia pala y trabajar en gran medida de forma independiente, son más fáciles de paralelizar que otras. Compare esto con la tarea de construir la torre Eiffel, que es más fácil de construir desde la base hasta la parte superior, de forma puramente secuencial.
Las redes neuronales tienen muchos procesos internos y colectivos. Los procesos internos son fáciles de paralelizar, pero las señales entre las neuronas deben enviarse con la frecuencia suficiente para que la red no comience a descomponerse. El enfoque de resolución de problemas generalmente se ve así:
- Cada procesador en la supercomputadora se responsabiliza de un grupo de neuronas de toda la población.
- En cada paso de tiempo, cada procesador realiza el cálculo que determina qué señal (si la hay) enviará cada neurona y a qué otra neurona.
- El MPI identifica qué procesador aloja la neurona objetivo y media el paso de la señal.
- Ajuste cualquier parámetro, según sea necesario. Repetir.
Este proceso puede aumentar dramáticamente la velocidad a la que se simulan las redes neuronales.
Notas al pie
[1] Prediciendo las propiedades de las moléculas con el aprendizaje automático
[2] https://arxiv.org/pdf/1704.01212…
[3] [1702.05532] Errores de predicción de aprendizaje automático mejores que la precisión DFT
[4] Interfaz de paso de mensajes (MPI)