¿Es la computadora neuronal diferencial (DNC) el último modelo de computación hacia la inteligencia general artificial?

Argumentaré (quizás de forma controvertida, y ciertamente contra la corriente principal): no.

Mientras escribo una respuesta a esta pregunta, me acuerdo de ICML 2016 (Conferencia Internacional de Aprendizaje Automático) en el verano del año pasado. Fui uno de los que instantáneamente se dirigió al grupo de investigadores / estudiantes que escuchaban atentamente y se reunieron alrededor de David Silver después de que terminó el tutorial de “Aprendizaje de refuerzo profundo”. Y también fui el tipo que simplemente le preguntó, ¿cómo entrenaron AlphaGo (la combinación de conexiones y Monte Carlo Tree Search que sacudió el mundo de Go no hace mucho tiempo) y, lo que es más importante, cómo manejaron los muchos problemas, problemas y sensibilidades que ciertamente plagarían el entrenamiento de múltiples fases de una “bestia” con sus muchos, muchos hiperparámetros? Y simplemente, David me dijo que se dedicó mucho tiempo a ajustar y confiar en la heurística de la literatura, y gran parte de lo que se hizo en ciertos puntos fue ad hoc (por ejemplo, en realidad no se aplicó ninguna selección de modelo de principios para melodía, etc.). Me fui poco después, escuchando todo lo que necesitaba escuchar. Tuve una experiencia similar en el tutorial de Deep Residual Network ese mismo día, donde fui yo quien simplemente le preguntó al orador por qué decidieron (ya que las conexiones de omisión son una idea muy antigua) omitir específicamente cada (2 o 3) capas en su arquitectura y no intentar más o menos (o cantidades variables de omisión), y simplemente me dijeron que eso era todo lo que intentaron y que no tenía ninguna razón de principios más allá de lo empírico (la audiencia se rió, ya que esto es realmente común en la red neuronal gente en general).

Ahora, si bien esto podría haber funcionado bien para la tarea publicitada que persiguieron (es decir, Go), y es cierto que fue impresionante, el cálculo y la dificultad detrás de la hazaña es el problema. Intente aplicar el modelo / sistema a un problema diferente, a esa escala, y uno se dará cuenta rápidamente de que no “simplemente” obtiene un rendimiento instantáneo de última generación, y mucho menos inteligencia emergente (para hacernos pensar en AGI) sin enfrentando las inmensas dificultades para lograr que el sistema se generalice bien.

El DNC, como su predecesor, la Neural Turing Machine, ha demostrado ser prometedor (aunque a menudo, muchas de estas arquitecturas con nombres elegantes se prueban en problemas de datos pequeños / de juguete). Más importante aún, el DNC es, en mi opinión, solo una instancia de una familia más grande de modelos / arquitecturas / enfoques para aumentar los modelos neuronales con memorias externas para capturar las dependencias a más largo plazo que se encuentran dentro de algunos tipos de datos (no olvidemos las Redes de Memoria , solo para empezar). Sin embargo, no voy a explicar por qué creo que el DNC podría estar equivocado cuando hablamos de AGI, eso sería el tema de una pregunta / publicación mucho más larga y bastante diferente 😉 Pero al profundizar en los detalles del documento que describe el DNC, se verá rápidamente que sus componentes básicos (como muchas redes recurrentes de memoria a largo plazo) son computacionalmente caros de entrenar y aún más caros de sintonizar con sus hiperparámetros y sensibilidades individuales (o peculiaridades / problemas).

Lo que pasa con el trabajo de DeepMind es que, en gran parte, gran parte de lo que publican se basa en el gran trabajo de muchos antes que ellos y, a menudo, es una combinación o cambio de marca de ideas antiguas (la mayoría del trabajo es así, pero tiendo para enfatizar esto con Google, ya que tiende a hacer que parezca que llegó allí primero, lo que generalmente es falso). Por supuesto, si uno es nuevo en el conexionismo o simplemente no le importa leer lo que se ha hecho durante muchas décadas, mucho de lo que verá que viene de compañías como Google se verá revolucionario. Lo que es impresionante es a menudo la escala a la que ellos, o más bien Google, pueden operar. Aquí es donde uno podría respetar el “poder” de ingeniería / hardware detrás de lo que vemos, especialmente en el trabajo que se abre paso en la corriente principal. Sin embargo, cuando se trata de la practicidad de entrenar tal modelo si existe fuera de DeepMind, abordando otros problemas con datos más desordenados y en escalas aún más difíciles, diría que el DNC está lejos, lejos de ser la “bala de plata” de AI . O, lo que es más importante, el DNC no es el modelo informático definitivo .

No deberíamos dejarnos llevar por la corriente principal de las cosas de DeepMind (u otros grupos de investigación de la industria, DeepMind es simplemente el que tiene la mayor arrogancia y, por lo tanto, mi ejemplo favorito) …

… pero, para volver al comienzo de esta respuesta, termino recordando que no hace mucho tiempo se afirmaba que AlphaGo de DeepMind había resuelto AGI (y la serie correspondiente de preguntas de Quora preguntando si también será el final) all-be-all de AGI) =]

No. Podría ser un paso hacia eso, pero definitivamente no es el modelo definitivo.

Las DNC deben entenderse dentro de su propio lugar, como una mejora en las máquinas neuronales de Turing (NTM) y en las redes neuronales con memoria aumentada en general. La contribución clave de los DNC es que proporcionan una forma para que las redes neuronales utilicen la memoria de manera más eficiente a través de:

  • Proporcionar (por diseño, no por aprendizaje) una única ubicación de memoria para cada nueva asignación, a pesar de ser diferenciable de extremo a extremo.
  • Usar / reutilizar las mismas ubicaciones de memoria repetidamente.
  • Seguimiento de enlaces temporales entre datos escritos sin necesidad de que las ubicaciones de escritura sean contiguas.

Estas mejoras, junto con la capacidad de escalar un programa aprendido a una memoria más grande con reentrenamiento, contribuyen a la reducción del espacio de búsqueda en el que la red neuronal del controlador busca el programa que resuelve la tarea en cuestión. Sin embargo, para muchos problemas del mundo real que deberían ser resueltos fácilmente por una inteligencia general artificial (AGI), ¡ese espacio de búsqueda sigue siendo inmensamente grande!

A través de mis experimentos en curso con la implementación, capacitar a los DNC no es fácil. Primero está el conjunto relativamente grande de parámetros previos que necesita ajuste, esto aumenta el tiempo necesario para abordar el problema de ajuste que abre la puerta al juicio del experto en lugar de enfoques precisos y basados ​​en principios. El otro problema, que se refleja en mi punto principal aquí, es que incluso con estos nuevos mecanismos de acceso a la memoria, e incluso con tareas tan simples, el espacio de búsqueda para la red neuronal del controlador sigue siendo enorme. Tome la tarea bAbI QA por ejemplo. En una instancia de AWS P2 con la GPU Tesla K80, me lleva aproximadamente una semana alcanzar algunos resultados razonables que se encuentran principalmente dentro de los valores medios informados en el documento, ¡sin mencionar los mejores resultados! ¡Imagínese cuánto se necesitaría para un problema mayor!

En conclusión, la contribución de DNC fue sobre cómo los NN podrían ser más inteligentes al usar memoria limitada como un paso para reducir el espacio de búsqueda de programas de NN, pero esto no cambia el hecho de que para la mayoría de los problemas de AGI en el mundo real, ese espacio de búsqueda es Astronómicamente grande. El DNC es un paso útil, pero definitivamente no es el modelo definitivo.

La computadora neuronal diferencial (DNC) es una nueva estructura de datos para la memoria. Las aplicaciones de DNC ahora se están realizando. Existen otras estructuras de datos para la memoria que también son innovadoras. La memoria temporal jerárquica (HTN) también está en su nacimiento, al igual que las proposiciones neuronales (NP). En mi manuscrito Construyendo Mentes con Patrones muestro cómo las Propuestas Neurales pueden aplicarse al problema de la Inteligencia Artificial General.