Tu ordenador digital se programa. La unidad de control ejecuta instrucciones almacenadas en una memoria, donde también se encuentran los datos. Las redes de neuronas son ordenadores analógicos que se entrenan, pero no se programan; por ello, no tienen una memoria para las instrucciones, siendo los datos almacenados en las conexiones entre neuronas. Se publica en Nature un sistema neuronal híbrido, que combina una red de neuronas con una memoria externa, actuando la red como una unidad de control. El llamado Ordenador Neuronal Diferenciable (DNC, siglas de Differentiable Neural Computer) es un sistema analógico capaz de integrar información simbólica para resolver problemas sobre grafos y sobre razonamiento silogístico.
En cierto sentido el DNC es un ordenador analógico que se programa a sí mismo. Las redes de neuronas de nuestro encéfalo no están programadas, como lo está un ordenador digital, pero son capaces de integrar información simbólica y concebir sus propios algoritmos para resolver problemas. Con el DNC se ha tratado de reproducir este razonamiento simbólico analógico de nuestro encéfalo. Por ello, se considera que el DNC es un avance importante hacia la solución del problema de la integración neuro-simbólica, cómo las redes de neuronas manejan la información simbólica para realizar razonamientos.
El artículo es Alex Graves, Greg Wayne, …, Demis Hassabis, «Hybrid computing using a neural network with dynamic external memory,» Nature (12 Oct 2016), doi: 10.1038/nature20101; también recomiendo Herbert Jaeger, «Artificial intelligence: Deep neural reasoning,» Nature (12 Oct 2016), doi: 10.1038/nature19477.
Las redes de neuronas artificiales resuelven muy bien problemas de reconocimiento y clasificación de patrones. Se entrena la red mediante algoritmos de aprendizaje supervisado o aprendizaje con refuerzo para que represente en las conexiones internas entre sus neuronas la información relevante al problema. Gracias a la capacidad de generalización de la red, cuando se ofrecen patrones diferentes la red es capaz de reconocerlos y/o clasificarlos. Sin embargo, la red de neuronas no usa una memoria externa en la que almacena dichos patrones o cualquier otro tipo de información sobre los pesos de diferentes clases de patrones.
El Ordenador Neuronal Diferenciable (DNC) añade a la arquitectura de la red de neuronas una memoria externa. Se llama diferenciable porque se trata de un modelo continuo, o analógico, en el que la red evoluciona en el tiempo siguiendo una ecuación diferencial; por tanto, para entrenar a esta red se usa una variante del método del gradiante, también llamado del descenso más rápido. El direccionamiento de la memoria se realiza usando las diferencias entre los pesos de ciertas conexiones entre neuronas. Además, la unidad de control que determina cuándo se leen o escriben datos en la memoria también está integrada en las diferencias entre pesos de otras conexiones. Como resultado, la red de neuronas actúa como un sistema híbrido, por un lado como una red convencional y por otro como unidad de control de proceso de acceso a la memoria.
El DNC es un sistema neuronal analógico y como tal se entrena igual que una red convencional, mediante algoritmos de aprendizaje, tanto supervisado como con refuerzo. Pero a diferencia de una red convencional, durante el entrenamiento parte de las neuronas aprenden un algoritmo (un conjunto de instrucciones de acceso a la memoria). Dichas neuronas aprenden cuándo hay que leer información de la memoria, cuándo hay que escribir información y cuándo hay que integrar (intercambiar) dicha información con otras neuronas. Por ello, creo que se puede afirmar sin rubor que el DNC se autoprograma, aprende las instrucciones del programa que más tarde ejecutará.
Por supuesto, por ahora el DNC sólo es capaz de resolver problemas sencillos. En concreto, ciertos problemas sobre grafos, como encontrar el camino más corto en una mapa del metro de Londres, o inferir los eslabones que faltan en gráficos generados al azar. Lo más interesante es que es capaz de generalizar dichas tareas a otros problemas diferentes de los aprendidos, como si hubiera aprendido el algoritmo y no le importara que la red del metro fuera sustituida por un árbol genealógico, por ejemplo. Más aún, usando aprendizaje con refuerzo se puede lograr que resuelva rompecabezas que se describen mediante secuencias de símbolos. Todas estas tareas complejas se suponía hasta ahora que estaban más allá del alcance de las redes de neuronas artificiales (convencionales).
El DNC también es capaz de aprender el razonamiento mediante silogismos (que recordarás de cuando estudiaste a Platón). En concreto se han usado las cuestiones bAbI (Jason Weston, Antoine Bordes, …, Tomas Mikolov, «Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks,» arXiv:1502.05698 [cs.AI]). Se trata de fragmentos cortos de historias sobre los que se realizan preguntas; por ejemplo, «Juan está en el patio, Juan juega con una pelota, ¿dónde está la pelota?», cuya respuesta correcta es que «la pelota está en el patio». El DNC es entrenado con frases tipo sujeto+verbo+complemento y es capaz de ejecutar inferencias silogísticas para obtener una respuesta. Este tipo de razonamiento textual en lenguaje natural imita el realizado por los humanos.
En resumen, el DNC es un avance importante en la investigación en redes de neuronas artificiales, más allá de las técnicas de aprendizaje profundo. Me viene a la cabeza el término razonamiento profundo. Siendo un primer paso, se espera que en los próximos años variantes del DNC nos sorprenderán con sus habilidades cognitivas artificiales.
La idea es la misma que publicaron en 2014 en arXiv https://arxiv.org/abs/1410.5401, pensaba que ya estaba implementada en los grandes avances que están realizando en Deepmind en estos dos años, claramente tiene un futuro prometedor y un avance más hacia la IA real.
Ya skynet tiene lobulo prefrontal