en Ciencia y Tecnología, Computadores

Numenta: la IA reinventada

El hecho de que aparezcan nuevas startups en el mundo de la tecnología es algo totalmente normal. Prácticamente todos los días nacen y mueren empresas del sector tecnológico sin que a nadie le importe demasiado, o al menos, a nadie que no haya invertido parte de su "fortuna" en ellas. No obstante, si detrás de una nueva compañía está el nombre de Jeff Hawkins, fundador de Palm Computing y creador Palm Pilot y de Treo, y su temática sea la inteligencia artificial, tal vez merezca la pena pararse un momento y mirar con detalle a qué se dedica.

Numenta tiene su origen, por extraño que parezca, en un libro, escrito por el propio Hawkins, que lleva por título On Intelligence, y que cuenta con web propia. En él, aborda los misterios de la inteligencia humana, y trata de explicar ésta como función de la predicción, que según él, se deriva casi por completo del cortex cerebral. Es el cortex quien toma la información que llega a nuestros sentidos, a través de una serie de neuronas en el nivel más bajo. Esa información se va transmitiendo a neuronas de capas superiores, que hacen interpretaciones más amplias sobre los datos adquiridos, y así sucesivamente. A su vez, las neuronas de capas superiores, transmiten estas interpretaciones a las de niveles inferiores, ayudando así a estas neuronas a predecir lo siguiente que van a experimental.

Pues bien, Numenta no ha hecho más que codificar este modelo de inteligencia en un programa informático, que está obteniendo unos resultados espectaculares, por ejemplo, en el reconocimiento de imágenes.
La diferencia fundamental frente a las redes neuronales, radica en que en estas últimas, la información sólo fluye en una dirección, los niveles inferiores no obtienen ninguna entrada de los superiores (excepto, algunas veces, cuando se está enseñando a la red), mientras que en lo que Numenta ha venido a llamar como HTM, de Hierarchical Temporal Memory, las información fluye bidirecionalmente.

Una HTM consiste más que en una pirámide de nodos, con un conjunto de fórmulas estadísticas codificadas en cada uno de ellos, a la que se le ofrece como entrada una serie de datos, de los que la HTM crea una representación del mundo que representan dichos datos. La etiqueta temporal en el nombre refleja el hecho de que la HTM tiene que ser alimentada con una componente temporal, tal y como hace nuestro cerebro.

A pesar de que Numenta no tiene un departamento de marketing, o un estrategia clara para atraer a posibles clientes, está en negociaciones con compañías de coches que quieren introducir su tecnología nuevas generaciones de coches inteligentes, y está trabajando con Edsa Micro, empresa que se dedica al diseño de software de sistemas de alimentación críticos para controladores aéreos y estaciones petrolíferas, obteniendo unos resultados asombrosos según ellos afirman.

El software en el que desarrollar las HTM se encuentra disponible para descargar en su página web (actualmente soportan Linux y Mac OS X), con unas completas instrucciones de instalación, e incluso se pueden bajar ejemplos. De todos modos, no está mal echar un vistazo a la licencia bajo la que se distribuye todo el paquete… que debería servir de ejemplo a otras muchas empresas.

La revista Wired en su número de marzo incluye un interesantísimo artículo sobre Numenta, que merece la pena que lean todos aquellos que quieran saber más. Yo, mientras tanto, estoy a la espera de que Amazon me mande mi ejemplar de On Intelligence.

Escribe un comentario

Comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  1. Un par de cosas:

    La informacion en las redes neuronales si que fluye en varias direcciones. Efectivamente en el Peceptron Multicapa solo fluye hacia atras durante el entrenamiento (la llamada backpropagation). Pero hay otros tipos de redes como las Hopfield en las que las interconexion es total. No estoy seguro pero creo que en las ART networks también. Lo que le ocurre a las redes neuronales artificiales es que son un poco oscuras en cuanto a us estrutura de ahi que no se usen. En el caso de las Hopfield y similares su rendimiento es muy bajo.

    Por lo que dice la Wikipedia este HTM que presentan se basa en Redes Bayesianas que son el algoritmo de moda (Hasta nosotros estamos intentando meter redes bayesianas…). Estas redes son un modelo estadistico para la relaccion enetre multiples «fenómenos» que se puede interpretar como una modelización de la causalidad. Pero tampoco son la panacea, como las Redes Neuronales, estas redes se entrenan con con métodos iterativos (espectación-modificación en este caso) que generlamente acaban en minimos locales. Para que nos entendamos las redes neuronales copian cosas a nivel estructural de los humanos y esperan obtener sus propiedades. Y las bayesianas van directamente a modelizar la forma en la que los humanos organizan los conceptos en la mente, pasando de modelos fí­sicos. A mi me gustan bastante más.

    Tiene que haber más de una toolbox en C de redes bayesianas por ahi seguro. Si estos tios han conseguido optimizar los algoritmos y darle una interfaz amigable, sin perder potencia de calculo y flexibilidad, puede ser un producto muy interesante. Si han explotado la idea de varias capas de preprocesado ordenadas en forma piramidal en las que las de abajo referencian «fenómenos» menos complejos pero tiene más cantidad de interdependencias y las de arriba alreves. Entonces ME CAGO EN SU PUTA MADRE porque me han robado mi idea.

  2. Yo pienso que para obtener la inteligencia artificial solo hay que usar la evolucion dentro de un programa informatico.

    Simplemente un programa que se modifique a si mismo, en el que los objetivos y los estimulos crezcan poco a poco, hasta que una mutacion obtenga la supremacia en el sistema, despues incrementar estimulos/objetivos hasta obtener algo mas listo.

    El problema esta en el lenguaje, pero creo que es la unica manera de obtener una verdadera inteligencia.

  3. @Thekila estoy más o menos de acuerdo en lo que dices pero me parece demasiado general eso de «estimulos/objetivos» y «evolucion».

    Aún así­, si te limitas al concepto «informático» actual, igual sigue sin ser posible crear una buena IA por la necesidad del procesamiento masivo en paralelo, o la densidad de integracion. Si imaginas un futuro en que las computadoras emplean hardware biológico para implementar un algoritmo genético muy general ya no tienes esas barreras pero…

    …entonces hace años que ya empleamos este método, tu madre sin ir más lejos ; )