Una máquina de Turing neuronal (NTM) es un modelo de red neuronal recurrente de una máquina de Turing. El enfoque fue publicado por Alex Graves y colaboradores en 2014, combinando las capacidades de coincidencia de patrones difusa de las redes neuronales con el poder algorítmico de las computadoras programables. Las NTM están diseñadas para aprender algoritmos simples a partir de ejemplos mediante el uso de una memoria externa que puede ser leída y escrita durante el cálculo.
Una NTM consiste en un controlador de red neuronal acoplado a recursos de memoria externa, con los que interactúa a través de mecanismos de atención. Las interacciones con la memoria son diferenciables de extremo a extremo, lo que permite optimizarlas mediante descenso de gradiente. Esta diferenciabilidad permite que todo el sistema sea entrenado con técnicas estándar de aprendizaje automático, como la retropropagación, sin requerir operaciones discretas o no diferenciables.
Arquitectura y operación
El controlador en una NTM es típicamente una red neuronal recurrente, como una red de memoria a largo plazo (LSTM), que recibe entrada y produce salida mientras también emite comandos para leer y escribir en la memoria externa. La memoria es una matriz de valores reales, y el controlador utiliza pesos de atención para determinar qué ubicaciones de memoria acceder. Estos pesos se calculan mediante direccionamiento basado en contenido, que compara el estado actual del controlador con los contenidos de la memoria, y direccionamiento basado en ubicación, que permite cambios en la atención para apoyar operaciones como la iteración.
Las operaciones de lectura y escritura están diseñadas para ser diferenciables. Una operación de lectura produce una suma ponderada de filas de memoria, mientras que una operación de escritura combina un vector de borrado y un vector de adición, escalados por pesos de atención, para actualizar las entradas de memoria. Este diseño permite que la red aprenda a almacenar y recuperar información de una manera que es adecuada para la optimización basada en gradientes.
Capacidades de aprendizaje
Una NTM con un controlador de red LSTM puede inferir algoritmos simples como copia, ordenamiento y recuperación asociativa a partir de ejemplos solamente. En experimentos, las NTM han demostrado la capacidad de aprender estas tareas con menos ejemplos de entrenamiento que las redes recurrentes tradicionales, y pueden generalizar a secuencias de entrada más largas que las vistas durante el entrenamiento. Esta capacidad surge de la memoria externa explícita, que proporciona un medio de almacenamiento estable que el controlador puede aprender a manipular.
El artículo original de Graves y colaboradores mostró que las NTM podían aprender a copiar una secuencia de longitud arbitraria, ordenar una lista de números y realizar recuperación asociativa, donde la red recupera un elemento almacenado basándose en una pista parcial. Estas tareas destacan la capacidad del modelo para combinar el reconocimiento de patrones con el razonamiento algorítmico.
Implementaciones y desafíos
Los autores del artículo original de NTM no publicaron su código fuente. La primera implementación estable de código abierto fue publicada en 2018 en la 27ª Conferencia Internacional sobre Redes Neuronales Artificiales, recibiendo un premio al mejor artículo. Existen otras implementaciones de código abierto, pero a partir de 2018 no son suficientemente estables para uso en producción. Los desarrolladores de estas implementaciones han informado varios problemas, incluyendo gradientes que a veces se convierten en NaN durante el entrenamiento por razones desconocidas, lo que causa fallos en el entrenamiento; convergencia lenta; o falta de informes sobre la velocidad de aprendizaje.
Estos desafíos provienen de la complejidad de entrenar redes recurrentes con memoria externa, ya que los mecanismos de atención y las actualizaciones de memoria pueden llevar a gradientes inestables. La implementación premiada de 2018 abordó algunos de estos problemas introduciendo refinamientos arquitectónicos y estrategias de entrenamiento, pero la adopción más amplia sigue siendo limitada.
Influencia y extensiones
Las computadoras neuronales diferenciables son una extensión de las máquinas de Turing neuronales, con mecanismos de atención que controlan dónde está activa la memoria y mejoran el rendimiento. Introducidas por investigadores de Google DeepMind en 2016, las computadoras neuronales diferenciables extienden las NTM con patrones de acceso a memoria más sofisticados, como el enlace temporal y la asignación de memoria, permitiéndoles resolver tareas como el recorrido de grafos y la respuesta a preguntas.
El concepto de NTM también ha influido en la investigación en aprendizaje profundo y inteligencia artificial de manera más amplia, particularmente en áreas donde los modelos necesitan almacenar y manipular información estructurada durante horizontes temporales largos. Aunque los modelos a gran escala como los transformadores han reemplazado en gran medida a las NTM en muchas aplicaciones, la idea de memoria externa diferenciable sigue siendo un concepto fundamental en el estudio de arquitecturas neuronales que combinan el aprendizaje con el cálculo simbólico.
Limitaciones
A pesar de su atractivo teórico, las NTM tienen limitaciones prácticas. El entrenamiento puede ser computacionalmente costoso e inestable, como se señaló en los desafíos de implementación. Los modelos también tienen dificultades con tamaños de memoria muy grandes, ya que los mecanismos de atención escalan con las dimensiones de la memoria. Además, las NTM no han sido ampliamente adoptadas en sistemas de producción, con la mayoría de las aplicaciones prácticas favoreciendo arquitecturas que son más fáciles de entrenar y escalar, como los transformadores utilizados en los modelos de lenguaje grandes.
La investigación continúa en la mejora de redes neuronales aumentadas con memoria, con trabajos recientes explorando enfoques híbridos que combinan las fortalezas de las NTM con arquitecturas modernas. Sin embargo, a finales de la década de 2010, las NTM siguen siendo principalmente una herramienta de investigación más que una tecnología desplegada.
Referencias
Graves, A., Wayne, G., & Danihelka, I. (2014). Neural Turing Machines. arXiv preprint arXiv:1410.5401.
Collier, M., & Beel, J. (2018). Implementing Neural Turing Machines. In Proceedings of the 27th International Conference on Artificial Neural Networks.