“El único límite para la inteligencia artificial, es la inteligencia humana”
Chris Duffey
La Habana, Cuba. – La computación clásica no es la única estrategia a la que se puede recurrir para procesar información. La computación cuántica, la computación biológica y la computación neuromórfica son algunas de las disciplinas emergentes con más potencial.
El impacto que tiene la inteligencia artificial, IA, en muchas esferas de la sociedad es notorio. Se aumenta la productividad, se mejoran los procesos, se obtiene conocimientos más profundos, se disminuyen las tareas que requieren mucha mano de obra y se reducen los errores. Pero a la IA aún le queda un gran trecho por recorrer. Una de las áreas que requiere más atención, es la creación de hardware que pueda realizar cálculos complejos que los sistemas tradicionales no pueden llevar a cabo. Hoy en día, muchos sistemas de inteligencia artificial necesitan algún tipo de intervención humana para etiquetar los datos con los que se entrena. Otro problema es la falta de tácticas de entrenamiento generalizadas que permitan a los sistemas de IA variar su entrenamiento para enfrentar una circunstancia u otra. Algunos expertos consideran que la respuesta está en la computación neuromórfica. ¿Pero en qué consiste ésta?
La computación neuromórfica es un método de ingeniería informática en el que los elementos de una computadora se modelan simulando al cerebro y el sistema nervioso humanos. Con esto se buscan dos objetivos generales. El primero es crear un dispositivo que pueda aprender, retener información e incluso hacer deducciones lógicas de la forma en que lo hace un cerebro humano, y el segundo objetivo es ser capaz de adquirir nueva información, y quizás probar una teoría racional, sobre cómo funciona el cerebro. La computación neuromórfica persigue desarrollar máquinas que puedan aprender a reconocer patrones de forma independiente y realizar análisis con menos entradas de datos y usando menos memoria que una red neuronal digital. Para eso se requiere el uso de neuronas artificiales que funcionen como sinapsis o neuronas biológicas. Esa estructura las debe hacer más eficientes que las redes neuronales.
El predecesor de las neuronas artificiales utilizadas en las redes neuronales que hoy se utilizan se remonta a 1958 con la invención del perceptrón. Éste fue un intento burdo de imitar elementos de las redes neuronales biológicas utilizando el conocimiento limitado del funcionamiento interno del cerebro disponible en ese momento. El perceptrón era un hardware mecánico personalizado utilizado para tareas de reconocimiento de imágenes por la Marina de los Estados Unidos. La tecnología recibió un gran revuelo, pero no logró lo que se esperaba de él.
La computación neuromórfica fue propuesta por primera vez por el profesor del Caltech, Carver Mead en la década de 1980. Mead describió la primera retina de silicio analógica, que presagiaba un nuevo tipo de cálculos físicos inspirados en el paradigma neuronal. Mead planteó que, consideraba que las computadoras no tenían limitantes para realizar tareas que el sistema nervioso humano hace, pero debía existir una comprensión completa de cómo funcionaba el sistema nervioso. Mead dijo en el 2013, recordando las ideas de Gordon Moore, el padre de la Ley de Moore lo siguientes, “Ir a chips multinúcleo ayudó, pero ahora tenemos ocho núcleos y no parece que podamos ir mucho más allá. La gente tiene que chocar contra la pared antes de que presten atención”. La computación neuromórfica promete eludir las arquitecturas tradicionales y lograr nuevos niveles de eficiencia, lo que ha provocado que los principales fabricantes de chips como Intel, IBM, HP o Google y algunas de las universidades más importantes del planeta, como el MIT o Stanford le presten atención.
Las características de estos sistemas son:
- Computación en memoria: obtener datos de lugares remotos requiere muchos recursos. Las computadoras neuromórficas necesitan almacenar información en el mismo lugar donde ocurre el análisis.
- Paralelismo: las computadoras suelen funcionar de forma lineal. Pero para que la computación neuromórfica beneficie a la IA, los sistemas deben estar diseñados para funcionar como el cerebro humano. Deben poder realizar numerosas operaciones simultáneamente.
- Computación probabilística: en lugar de realizar cálculos precisos, puede ser más útil que los sistemas trabajen utilizando ciertos grados de probabilidad como lo hace el cerebro humano, por lo que requiere menos información.
- impulsados por eventos, responden a eventos basados en condiciones ambientales
- solo las partes de la computadora en uso requieren energía;
- alta adaptabilidad y plasticidad,
- fuerte y tolerante a fallos, puede producir resultados, aunque algunos componentes hayan fallado.
Otro elemento a destacar del cerebro humano es que tiene una alta eficiencia energética, tolerancia a fallos y grandes capacidades de resolución de problemas. Por ejemplo, el cerebro usa como media unos 20 vatios de energía, lo que es aproximadamente la mitad de lo que utiliza una laptop. También es extremadamente tolerante a los fallos: la información se almacena de forma redundante (en varios lugares) e incluso los fallos relativamente graves de ciertas áreas del cerebro no impiden su funcionamiento general. También puede resolver problemas novedosos y adaptarse a nuevos entornos muy rápidamente.
La computación neuromórfica puede lograr niveles de eficiencia similares a la del cerebro mediante la construcción de sistemas neuronales artificiales que implementan “neuronas” (los nodos reales que procesan información) y “sinapsis” (las conexiones entre esos nodos) para transferir señales eléctricas. Eso les permite modular la cantidad de electricidad que fluye entre los nodos imitando los diversos grados de fuerza que tienen las señales cerebrales naturales. Los sistemas neuromórficos introducen una nueva arquitectura de chip que coloca la memoria y el procesamiento juntos en cada neurona individual en lugar de tener áreas designadas separadas para cada una.
La arquitectura de las computadoras actuales (conocida como arquitectura von Neumann) generalmente tiene una unidad de memoria, una unidad central de procesamiento y rutas de datos independientes. Eso significa que la información debe ir y venir repetidamente entre esos diferentes componentes a medida que la computadora completa una tarea determinada. Esto crea un cuello de botella para la eficiencia energética y el tiempo de procesamiento, conocido como el cuello de botella de von Neumann. Al colocar la memoria en un chip neuromórfico se puede procesar información de manera mucho más eficiente, lo que permite que los chips sean muy potentes y eficientes, propiedades que siempre han estado en las antípodas.
Para poner en producción sistemas neuromórficos, se requiere un cambio de pensamiento. Los desarrolladores, investigadores e ingenieros deben estar dispuestos a ir más allá del modo actual de pensar sobre la arquitectura de la computadora y comenzar a pensar fuera del marco tradicional de von Neumann. Finalmente, para popularizar la computación neuromórfica, los desarrolladores de software necesitarán crear un conjunto de API, modelos de programación y lenguajes para hacer que esas computadoras sean accesibles para la mayoría de los mortales. Los investigadores deberán desarrollar nuevas formas de medir y evaluar el rendimiento de esas nuevas arquitecturas para poder mejorarlas. También deberán fusionar la investigación con otros campos emergentes, como la computación probabilística, que tiene como objetivo ayudar a la IA a gestionar la incertidumbre y el ruido. A pesar de esos desafíos, existe una inversión significativa en este campo. Muchos expertos creen que la computación neuromórfica tiene el potencial de revolucionar el poder algorítmico, la eficiencia y las capacidades generales de la inteligencia artificial, además de revelar nuevos conocimientos sobre la cognición.
A diferencia de los procesadores de propósito general, los chips neuromórficos se estructuran físicamente como redes neuronales artificiales. Cada uno de ellos se compone de muchas pequeñas unidades informáticas que corresponden a una neurona artificial. A diferencia de las CPU, las unidades informáticas de esos chips no pueden realizar operaciones diferentes. Tienen la potencia suficiente para realizar la función matemática de una sola neurona. Otra característica esencial de los chips neuromórficos son las conexiones físicas entre neuronas artificiales. Esas conexiones hacen que estos se parezcan más a los cerebros orgánicos, que consisten en neuronas biológicas y sus conexiones. La creación de una serie de neuronas artificiales conectadas físicamente es lo que da a las computadoras neuromórficas su fuerza real.
Un ejemplo de estos desarrollos son los chips Loihi de Intel y las computadoras Pohoiki Beach. Cada chip Loihi contiene 131 000 neuronas y 130 millones de sinapsis. La computadora Pohoiki contiene 8.3 millones de neuronas y ofrece un rendimiento 1000 veces mejor, y es 10 000 veces más eficiente en energía que las GPU equivalentes. Otro ejemplo es el chip TrueNorth de IBM, que tiene más de un millón de neuronas y más de 268 millones de sinapsis. Es 10 000 veces más eficiente energeticamente que los microprocesadores convencionales y solo usa energía cuando es necesario.
Los expertos predicen que cuando las computadoras neuromórficas se hagan realidad, funcionarán bien para ejecutar algoritmos de IA en el borde en lugar de en la nube debido a su tamaño más pequeño y bajo consumo de energía. Al igual que un humano, serían capaces de adaptarse a su entorno, recordando lo que es necesario y accediendo a una fuente externa (la nube en ese caso) para obtener más información cuando sea necesario. Otras aplicaciones potenciales de esa tecnología tanto en tecnología empresarial como de consumo incluyen: autos sin conductor, dispositivos domésticos inteligentes, comprensión del lenguaje natural, analítica de datos, optimización de procesos y procesamiento de imágenes en tiempo real para su uso en cámaras de policía.
Los sistemas de inteligencia artificial son actualmente limitados en cuanto a los problemas que pueden resolver. Las soluciones dependen de los datos que reciben y no pueden generalizar el conocimiento y contextualizar la información como lo hacen los humanos. Eso les impide aplicar un proceso de resolución para un problema en una circunstancia similar. Por lo expresado acá, se muestra que la computación neuromórfica puede ser algo más que otra palabra de moda relacionada con la inteligencia. Los estudios y experimentos actuales muestran que puede beneficiar a la IA al permitir que los sistemas de este tipo funcionen más como el cerebro humano.
Las Aplicaciones en que los sistemas neuromórficos serían de gran ayuda serían:
- Identificación de patrones: Son muy eficientes cuando su propósito es seleccionar un conjunto de objetos heterogéneos analizando su semejanza con uno o varios modelos tomados como referencia. Esa característica puede utilizarse, por ejemplo, para identificar rostros en una base de datos policial.
- Aprendizaje automático: Pueden ser utilizados para analizar un conjunto finito de datos con el propósito de inferir nuevo conocimiento a partir de un conjunto potencialmente infinito de datos. Esa tecnología se utiliza en los motores de búsqueda, para elaborar predicciones económicas, en las aplicaciones de reconocimiento del habla, etc.
- Búsqueda de la mejor solución: Otra aplicación en la que los algoritmos neuromórficos son muy buenos son los problemas de optimización. Su propósito es encontrar la solución óptima a un problema en tiempo real y de forma sostenida. Sirve, por ejemplo, para optimizar la transferencia de información a través de un canal de comunicación analizando en tiempo real los parámetros imprevisibles que condicionan este proceso.
- Satisfacción de requisitos: Los algoritmos neuromórficos también han demostrado ser muy eficientes cuando necesitamos utilizarlos para analizar un conjunto finito de soluciones a un problema determinado con el propósito de que identifiquen aquellas que satisfacen unos requisitos que se han definido previamente. En ese ámbito pueden ayudar a diseñar la ruta óptima que debe seguir un repartidor de paquetes o los horarios de las clases que debe impartir una institución educativa, entre muchas otras opciones.
Con esto cierro la columna de hoy, abordé un tema que se encuentra en pleno desarrollo, pero que en un futuro inmediato parece ser que se convertirá en una tendencia, no debemos perderle la pista.