La computación clásica con la que todos los que utilizamos un ordenador, un smartphone o un tablet estamos familiarizados no es la única estrategia a la que podemos 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.
Aunque aún queda mucho por hacer en todas ellas su futuro es tan prometedor que varias grandes compañías, como Intel, IBM, HP o Google, entre otras, y algunas de las universidades más importantes del planeta, como el MIT, Stanford o el IMEC, están poniendo sus recursos a disposición de los investigadores para propiciar el desarrollo de estas tecnologías.
De la computación neuromórfica, que es la disciplina en la que vamos a indagar en este artículo, os hemos hablado en otros reportajes, pero hasta ahora la hemos abordado ciñéndonos a algunos de sus avances más recientes. Lo que os proponemos esta vez es descubrirla desde una perspectiva más amplia que nos ayude a intuir en qué estado se encuentra actualmente y qué grupos de investigación tienen algo que decir en esta materia.
Computación neuromórfica: qué es y qué persigue
Para otear el origen de esta disciplina tenemos que remontarnos a los años 60. A Carver Mead, un ingeniero eléctrico estadounidense formado en el Instituto de Tecnología de California (Caltech), se le ocurrió diseñar algoritmos y circuitos integrados concebidos expresamente para imitar el comportamiento del sistema nervioso de los animales.
Mead se dio cuenta de que nuestro cerebro procesa la información de una forma muy eficiente, por lo que imaginó un mundo en el que los ordenadores, que en esa época ya existían pero eran muy diferentes a los actuales, imitaban su comportamiento. Aquella intuición inicial tardó dos décadas en concretarse, de manera que a finales de los años 80 varios grupos de investigación empezaron a coquetear con ella.
Lo que propone la computación neuromórfica es emular el comportamiento del sistema nervioso animal en general, y el del cerebro en particular. El punto de partida que en su momento describió Carver Mead consistía en aproximarse a los transistores como dispositivos de naturaleza analógica, y no como conmutadores digitales. Este enfoque parecía el apropiado porque el comportamiento de los transistores se parece a la manera en que las neuronas se comunican entre ellas mediante impulsos eléctricos (este mecanismo se conoce como sinapsis neuronal).
![Intelloihi](https://i.blogs.es/846cdb/intelloihi/450_1000.jpeg)
La idea de Mead es original, y, sobre todo, resulta muy atractiva, pero llevarla a la práctica requiere abordarla desde una perspectiva multidisciplinar en la que la física, la biología, las matemáticas, la informática y la microelectrónica están obligadas a colaborar. Y a entenderse. De lo contrario el objetivo que persigue la computación neuromórfica será inalcanzable.
El propósito de esta disciplina, que, como veremos a continuación, ha experimentado un desarrollo notable durante la última década y media, es desarrollar sistemas electrónicos que sean capaces de procesar la información de una forma más eficiente. De hecho, aspiran a ser tan eficientes como un cerebro orgánico, un propósito muy ambicioso e interesante, pero también muy difícil de alcanzar.
Pero esto no es todo. Un cerebro orgánico es capaz de llevar a cabo mucho trabajo con muy poca energía, y, además, la manera en que procesa la información lo hace muy hábil cuando se enfrenta a algunos problemas, pero también muy ineficiente ante otros. Esto explica por qué un procesador neuromórfico puede resolver algunos problemas en menos tiempo e invirtiendo menos energía que un ordenador clásico, pero en otros puede ser mucho más ineficiente que este último.
Estas son las aplicaciones que se les dan bien a los sistemas neuromórficos
Al igual que la computación cuántica o la computación biológica, la computación neuromórfica no aspira a reemplazar los ordenadores clásicos. Estos paradigmas están destinados a convivir y entenderse debido a que a cada uno de ellos se le da bien resolver un tipo determinado de problemas. Con un ordenador clásico podemos abordar un abanico de desafíos muy amplio, pero al enfrentarse a algunos de ellos se comportará de una forma más ineficiente que un ordenador cuántico o un sistema neuromórfico.
La otra cara de la moneda es fácil de intuir. Y es que un ordenador clásico nos permite encontrar la solución a problemas que por el momento no podemos abordar con un ordenador cuántico o un sistema neuromórfico. Y quizá nunca lo hagamos debido a que cada una de estas disciplinas nos permite encarar retos diferentes. Por la forma en que imita a un cerebro orgánico, a la computación neuromórfica se le dan bien algunos problemas que incorporan un alto paralelismo intrínseco.
![Mitneuromorfica](https://i.blogs.es/29d599/mitneuromorfica/450_1000.jpeg)
Esto significa, sencillamente, que es posible descomponer esos problemas en otros más pequeños que el sistema neuromórfico es capaz de resolver con relativa facilidad. Pero no acaban aquí sus bazas. Además, los sistemas neuromórficos incorporan una gran cantidad de unidades funcionales capaces de manejar esos pequeños problemas, de manera que todas ellas trabajan simultáneamente para colaborar en la resolución del problema grande que ha sido previamente descompuesto en estos problemas más pequeños.
Esta estrategia refleja que la computación neuromórfica es atractiva cuando para resolver un problema nos vemos obligados a explorar en paralelo y a mucha velocidad una gran cantidad de soluciones. La inteligencia artificial encaja muy bien en esta premisa, por lo que los investigadores involucrados en esta tecnología confían en que los sistemas neuromórficos contribuyan a acelerar su desarrollo. No obstante, podemos hilar más fino. Estas son las aplicaciones que se le dan bien a la computación neuromórfica:
- Identificación de patrones: los algoritmos neuromórficos 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. Esta característica puede utilizarse, por ejemplo, para identificar rostros en una base de datos policial.
- Aprendizaje automático: los algoritmos neuromórficos 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. Esta 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 encajan como un guante 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 hemos definido previamente. En este ámbito pueden ayudarnos 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.
A la cabeza de la computación neuromórfica
Buena parte de las empresas y las instituciones involucradas en el desarrollo de la inteligencia artificial dedica recursos a la computación neuromórfica. Como acabamos de ver, esta última disciplina puede ayudarnos a acometer algunos de los desafíos que conlleva la inteligencia artificial. Aún queda mucho por hacer, como vamos a comprobar a continuación, pero las primeras aplicaciones comerciales ya se empiezan a ver y son realmente interesantes.
IBM, Intel y HP son tres de las empresas que parecen estar invirtiendo más recursos en el desarrollo de la computación neuromórfica. Precisamente una de las innovaciones que ha puesto a punto esta última compañía es la plataforma de desarrollo de software Cognitive Computing Toolkit, que está disponible bajo la forma de una versión de código abierto.
Utilizando este software de desarrollo es posible escribir el código de aplicaciones que recurren a algoritmos neuromórficos para proponer soluciones eficientes a problemas difíciles de resolver de forma óptima con el software clásico. Una de las demostraciones que ha hecho HP para dar a conocer la potencia de su herramienta de programación neuromórfica consistió en exhibir una aplicación que es capaz de monitorizar en tiempo real 25 emisiones de vídeo simultáneas para identificar en ellas un logotipo concreto.
![Computacionneuromorficaap](https://i.blogs.es/11db72/computacionneuromorficaap/450_1000.jpeg)
Esta tecnología puede ser utilizada, por ejemplo, para que una empresa que ha contratado a varias cadenas de televisión la emisión de varios anuncios compruebe que su publicidad realmente ha sido emitida. El algoritmo se encargaría de monitorizar la emisión de todas esas cadenas de televisión y de analizar las imágenes para identificar aquellos anuncios en los que aparece el logotipo de la empresa que ha contratado la publicidad.
Este software no se ejecuta sobre una CPU convencional. Ni siquiera sobre un conjunto de ellas. HP lo ha diseñado para que corra sobre una granja de procesadores gráficos debido a que su arquitectura prioriza el paralelismo, por lo que consiguen ejecutar de una forma mucho más eficiente los algoritmos neuromórficos que una CPU tradicional.
IBM e Intel también disponen de sus propias plataformas para el desarrollo de software, y, además, ya tienen listo hardware neuromórfico diseñado específicamente para ejecutar de forma eficiente algoritmos neuromórficos. El chip de IBM se llama TrueNorth. Sus ingenieros empezaron a trabajar en él a principios de la década pasada, y en 2014 ya tenían listo un prototipo funcional.
Las cifras de TrueNorth son muy llamativas. Y es que integra 4096 núcleos, de manera que es posible conectar varios procesadores neuromórficos en una red con el propósito de emular, según IBM, un sistema con un millón de neuronas y 256 millones de sinapsis. No suena nada mal.
Intel, IBM y HP son tres de las empresas que están invirtiendo en computación neuromórfica
Curiosamente, Intel ha seguido un camino muy similar. Su chip Loihi, del que os hemos hablado varias veces en Xataka, está fabricado con fotolitografía de 14 nm e incorpora 128 núcleos y algo más de 130 000 neuronas artificiales. Según Intel ha sido diseñado para proyectos de investigación y tiene unas capacidades similares a las de un cerebro diminuto.
Estas especificaciones son bastante sorprendentes, pero lo más llamativo es que cada una de esas neuronas artificiales puede comunicarse con miles de las neuronas con las que convive, creando una intrincada red que emula a las redes neuronales de nuestro propio cerebro. Aquí es, precisamente, donde reside la potencia de Loihi.
Tomando como punto de partida este chip Intel ha desarrollado sistemas neuromórficos más complejos que combinan varias unidades Loihi para adaptarse a cargas de trabajo sensiblemente más altas y a procesos más exigentes. El más sencillo de estos sistemas es Kapoho Bay, y contiene dos chips Loihi con 262 000 neuronas que le permiten, según Intel, identificar gestos en tiempo real y leer braille, entre otros procesos.
Su potencial es enorme, pero el camino aún es muy largo
La computación neuromórfica es una disciplina con un potencial enorme. Ahí reside, precisamente, su atractivo. Por el momento apenas ha salido de los laboratorios de las grandes compañías y los centros de investigación que han apostado por ella, pero promete ser una aliada muy valiosa en los escenarios de uso en los que hemos indagado unos párrafos más arriba.
Aunque aún hay mucho que hacer para que esta tecnología nos entregue todo su potencial ya se está utilizando en algunos escenarios de uso reales, casi siempre vinculada al análisis de imágenes en tiempo real. La complejidad del cerebro humano por el momento es inabarcable, pero, afortunadamente, la computación neuromórfica no necesita igualar las capacidades de nuestro órgano más complejo para resultarnos valiosa.
Ver 15 comentarios