Neural Engineering Object ( Nengo ) es un software gráfico y de scripts para simular sistemas neuronales a gran escala. [1] Como software de red neuronal, Nengo es una herramienta para modelar redes neuronales con aplicaciones en ciencia cognitiva , psicología , inteligencia artificial y neurociencia .
Nengo existe en alguna forma desde 2003. Originalmente desarrollado como un script de Matlab bajo el nombre de NESim (Neural Engineering Simulator), luego se trasladó a una implementación de Java bajo el nombre de NEO y, finalmente, Nengo. Las primeras tres generaciones de Nengo se desarrollaron con el objetivo de desarrollar una herramienta de modelado potente con una interfaz simple y un sistema de scripts. A medida que la herramienta se volvió cada vez más útil, las limitaciones del sistema en términos de velocidad llevaron al desarrollo de una API independiente del back-end. Esta iteración más reciente de Nengo define una API de scripts basada en Python específica con back-ends destinados a Numpy, OpenCL y hardware neuromórfico como Spinnaker. [2] [3] Esta iteración más reciente también viene con una GUI interactiva para ayudar con la creación rápida de prototipos de modelos neuronales. [4]
Nengo utiliza una licencia personalizada que permite un uso personal y de investigación gratuito, pero se requiere una licencia paga para fines comerciales. [5]
Nengo se basa en dos pilares teóricos: el marco de ingeniería neuronal (NEF) [6] y la arquitectura de puntero semántico (SPA). [7]
Nengo se diferencia principalmente de otros programas de modelado en la forma en que modela las conexiones entre neuronas y sus fortalezas. Utilizando el NEF, [8] Nengo permite definir pesos de conexión entre poblaciones de neuronas activas especificando la función que se calculará, en lugar de forzar que los pesos se establezcan manualmente o utilizar una regla de aprendizaje para configurarlos desde un inicio aleatorio. [9] Dicho esto, estos métodos de modelado tradicionales mencionados anteriormente todavía están disponibles en Nengo.
Para representar símbolos en Nengo, se utiliza SPA. Muchos aspectos de la cognición humana son más fáciles de modelar utilizando símbolos. En Nengo, estos se presentan como vectores con un conjunto de operaciones asociadas a ellos. Estos vectores y sus operaciones se denominan SPA. SPA se ha utilizado para modelar la búsqueda lingüística humana [10] y la planificación de tareas. [11]
Se han producido notables avances con el software Nengo en muchos campos, y Nengo se ha utilizado y citado en más de 100 publicaciones. [12] Un avance importante que cabe destacar es Spaun , una red de 6,6 millones [13] de neuronas artificiales activadas (una cantidad pequeña en comparación con la cantidad que hay en el cerebro humano), que utiliza grupos de estas neuronas para completar tareas cognitivas mediante una coordinación flexible. Spaun es el modelo cerebral funcional más grande del mundo y se puede utilizar para probar hipótesis en neurociencia . [14]