miércoles, 27 de abril de 2016

Arquitecturas de aprendizaje profundo


El aprendizaje profundo (deep learning), el mayor avance actual en inteligencia artificial, implica que los datos pasan a través de grandes conjuntos de neuronas crudamente simuladas en grandes computadores de arquitectura clásica. Avanzar aquí supone contar con procesadores mucho más potentes. 

1. Lo tradicional: simulación de redes neuronales


Ahora la compañía Nvidia, cuyo hardware (procesadores gráficos) sustenta gran parte del progreso de los últimos años, ha creado un chip para mantener en marcha el progreso, el P100. Nvidia anunció hace poco un nuevo chip llamado "Tesla P100", que está diseñado especialmente para disponer de más poder para el aprendizaje profundo. Nvidia gastó más de 2 millones de dólares en I+D para producir este nuevo chip, que cuenta con un total de 15 mil millones de transistores, aproximadamente tres veces más que sus chips anteriores. Una red neuronal artificial impulsada por el nuevo chip podría aprender de los datos de entrada 12 veces más rápido que estos otros. El P100 ya está en producción y se espera que las empresas de computación en la nube puedan empezar a usarlo este año. Permitiría a los informáticos alimentar con más datos a sus redes neuronales artificiales o crear mayores conjuntos de neuronas virtuales. (MIT Technology Review, 6/04/2016).


El "aprendizaje profundo" sólo se convirtió en relevante en los últimos cinco años, después de que los investigadores se dieran cuenta de que los chips originalmente diseñados para manejar gráficos de videojuegos eran más potentes y podían servir para este tipo de procesamiento. Con ellos es posible simular las redes cerebrales, lo cual ha permitido avances rápidos en el aprendizaje de máquina y el renacimiento del software informático que pretende resolver los problemas un poco como un cerebro humano, mediante un complejo proceso de reconocimiento de patrones distribuidos a través de muchos nodos o "neuronas virtuales". El actual poder de cómputo ha permitido a las redes neuronales simuladas reconocer imágenes, palabras y caras, así como pilotar coches de auto-conducción y ganar en Go y Jeopardy. Han sido progresos notables. Pero aún falta mucho para una real imitación del cerebro humano. Dos son los caminos abiertos hoy.

2. La arquitectura real de redes neuronales


La mayoría de los científicos de computación piensan que es sólo el comienzo de lo que será posible. Este tipo de hardware se ajusta muy poco en su arquitectura a lo que son las redes neuronales biológicas. Esto significa que puede tomar días o incluso semanas entrenar una red neuronal para resolver un solo problema -incluso en un clúster de computadores- y luego requerir una gran cantidad de energía para resolver el problema una vez que están entrenados. 

IBM quiere abordar la solución volviendo a las descripciones originales de las redes neuronales artificiales que se deben a Frank Rosenblatt, psicólogo de Cornell, que creó en 1959 el "perceptrón", una red de 400 células fotoeléctricas conectadas, destinada a reconocer patrones visuales sencillos (letras). Lamentablemente, Minsky y Papert dedicaron luego un libro a demostrar la incapacidad de los perceptrones para realizar las tareas más sencillas, y el interés decayó. Resurgió a fines de los años setenta y ochenta pero se orientó hacia las redes simuladas. Los investigadores de IBM quieren cambiar ésto perfeccionando otra tecnología. Se llama "computación resistiva" y consiste en tener pequeñas unidades de cómputo de naturaleza analógica, que pueden retener su historia para que puedan aprender durante el proceso de entrenamiento. 

Acelerar las redes neuronales con el hardware no es nuevo para IBM: ya tiene los chips neuromórficos TrueNorth pero solo son útiles para resolver problemas de diseño de redes neuronales. En éstos, el entrenamiento y la "ponderación" de los parámetros necesarios en la conexiones (synapsis) aún deben hacerse en computadores normales. 

Los nuevos chips "resistivos" (Resistive Processing Units, RPUs) imitan una sinapsis cerebral: reciben una multiplicidad de entradas analógicas (voltajes) y utilizan una función de "ponderación" basada en la experiencia pasada para determinar qué debe ser traspasado a la etapa siguiente. Como no necesitan una conversión analógica-digital ni consultar una memoria externa, son sumamente rápidos y requieren poca energía. El trabajo reciente ha permitido su operación en una rejilla de 4.096 x 4.096 elementos. Los RPUs siempre tienen cierto grado de imprecisión pero se han encontrado métodos para obtener resultados con un grado de imprecisión aceptable. 

Esta nueva arquitectura se combina con chips ordinarios de tecnología CMOS (como los de las cámaras fotográficas) para la funciones de ingreso y salida de información, formando la llamada DNN: Deep Neural Network. Una CPU de un CMOS y un chip RPU de 4.096x4.096 puede realizar 51 GOps (giga-operaciones por segundo). Una vez que se pueda construir un computador con una CPU y 100 RPUs podría operar como una red neuronal de 16.000 millones de sinapsis, gastando solo 22 watts. Sería 30.000 veces más eficiente que los sistemas actuales. Ahí apunta actualmente la investigación-desarrollo de IBM. (Resumido de Extreme Tech, 1/04/2016)


3. Big data vs Ontologías


Un problema mayor del aprendizaje de máquina y del deep learning (a la derecha en el gráfico que sigue) es que no es capaz de manejar con sentido común los desafíos racionales, como la lectura y comprensión de un titular de prensa. De hecho, si nos fijamos en el poderoso Watson de IBM, hoy en día no es capaz de responder a preguntas abiertas. La computación cognitiva, que se espera para el futuro, debe ser capaz de razonar, y para ello tiene que entender conceptos como el espacio, el tiempo, la masa y la inercia, para nombrar unos pocos. Ésta es la razón por la cual el análisis de macrodatos (los big data) tendrán dificultades para cumplir con la promesa de ricos descubrimientos, sobre todo cuando se trata de datos no estructurados.


El análisis de macrodatos con el aprendizaje de máquina no utiliza relaciones conceptuales elaboradas. Lo mejor que puede ofrecer es la capacidad de clasificar, sin ninguna capacidad de contextualización, que sería un valor más útil para los negocios. En cambio, las "ontologías" (estructuras de orden semántico) ofrecen la posibilidad de modelar relaciones conceptuales más elaboradas. Este enfoque se conoce como "modelado declarativo" y permiten modelizar problemas del mundo real. Se basa en la sintaxis: sujeto, predicado y objeto son la base de una buena estructura de oración. El desarrollo de ontologías mediante la adopción de este modelo declarativo ha de recorrer aún un largo camino para proporcionar perspectivas contextuales al análisis de datos. Junto con las nuevas arquitecturas de redes neuronales quizás permitan por fin un real avance en una computación dotada de comprensión. (MIT Technology Review, 2/04/2016) .

Hace años que se conocen las ventajas de las ontologías y que se propone usarlas para desarrollar la "web semántica" pero parece poco realista esperar que todos los usuarios se plieguen a sus exigencias y menos aún que se vuelvan a describir de este modo contenidos ya publicados. ¿Quizás podría la inteligencia artificial, en el futuro, operar la transición en forma automática? 

jueves, 14 de abril de 2016

Como los algoritmos distorsionan el conocimiento


Los algoritmos son las secuencias de órdenes que conforman la base de la programación de los computadores y, ahora, de las respuestas que obtenemos cuando navegamos por internet. 

Las redes sociales utilizan los algoritmos para ordenar lo que nos mostran al abrir su página. Así, Twitter cambió la forma de presentación cronológica de los tuits por una basada en la estadística ("los más vistos"), es decir basados en un algoritmo. Instagram anunció que pronto haría lo mismo. Facebook selecciona los "News Feeds" del mismo modo desde hace tiempo y lo hace ahora con las actualizaciones de estado. (Fortune, 28/03/2016). 

Google Search selecciona los resultados de nuestras búsquedas utilizando un algoritmo ultra-complejo (más de 200 reglas). Además, "para facilitar las búsquedas" ha instalado un sistema de predicción de los términos de búsqueda, basado en este algoritmo combinado además con sus propios sistemas de clasificación. Pretende ser "objetivo" y "reflejar la realidad" pero no toma en cuenta la relativa facilidad para torcer los resultados, por ejemplo utilizando "generadores de búsquedas" que repiten centenares de veces términos que pueden ser ofensivos.
"Supongamos que un enemigo suyo, en un esfuerzo deliberado por manchar su reputación, decide pagarles a los usuarios para que busquen su nombre seguido de la palabra "pedófilo". Un ejército de entusiastas colaboradores, reclutados a través de sitios como Craiglist y Mechanical Turk, de Amazon, está generando el volumen suficiente de búsquedas para que esa palabra reemplace otros términos más positivos que se han asociado a su nombre. Ahora, cualquiera que lo busque también sabrá que quizá usted sea un pedófilo y, recuerde, no hay manera de apelar porque los algoritmos de Google son los que están a cargo y jamás se equivocan." (E.Morozov, "La locura del solucionismo tecnológico", p.168)
Lo más grave es que altera de este modo el conocimiento a nivel global. Y podríamos ir de mal en peor, porque hoy en día los algoritmos son la base del aprendizaje automático que está más que nunca al alcance de cualquier programador y que es también la base del análisis de "big data". (Vea mis posts anteriores sobre "Cambios en el acceso al conocimiento" e "¿Inteligencia? artificial") 

Los algoritmos analíticos son la base de una de las líneas de desarrollo de la "inteligencia artificial", el llamado "aprendizaje supervisado" porque -al menos- los humanos deben intervenir para dar inicialmente a la máquina algunos modelos de lo que se podría considerar útil. El principio básico, tomado del modelo humano (puesto en evidencia por Pavlov), es el "aprendizaje por refuerzo", es decir por medio de la repetición, lo cual es fácil de traducir en un mecanismo estadístico, pero es claramente más mecánico que inteligente. 

Imagine ahora que los medios de prensa empiecen a utilizar este tipo de análisis (¡y las empresas de marketing lo recomiendan!, basándose en lo que más leen sus lectores: orientarán su selección y sus reportajes en función de lo preferido por la mayoría. Y, como se sabe que las noticias deprimentes gustan poco y no se reenvíen (recuerde que los ponen también en Facebook y Twitter), terminaremos con un panorama irreal de "mundo feliz". 

¿Que podemos esperar si, como se lo proponen los expertos en inteligencia rtificial, se pasa de este aprendizaje de máquina supervisado a uno no-supervisado en que la máquina "decidiría" lo que es importante? ¿En base a qué criterios? ¿Funcionaría sin algoritmos? Se habla de "algoritmos capaces de aprender": pero son algoritmos capaces de generar otros algoritmos. Y un programador debe haber determinado el qué y el cómo. Ningún computador puede crear su propia programación. Incluso las redes neuronales (que pretenden emular el cerebro humano) deben ser diseñadas, incluir reglas de valoración y luego entrenadas, al menos para verificar que operen adecuadamente (¿y quien determina lo "adecuado"?). 

Aunque se diga que "No tenemos más remedio que recurrir a máquinas y además necesitamos que estas máquinas sean capaces de interpretar los datos, comprenderlos y sacar conclusiones de forma inteligente" porque "existe un gran valor oculto en los millones y millones de toneladas de datos que una organización puede recabar" (Xataka, 28/03/2016), es el ser humano que aporta la inteligencia, debiendo evaluar estas conclusiones. 
    "Debemos dejar de creer que los nuevos filtros y prácticas algorítmicas impulsados por los recientes intermediarios digitales (y sus entusiastas genios de internet) son aproblemáticos, objetivos y superiores por naturaleza a los filtros y prácticas que los precedieron. Esos nuevos filtros podrán ser más veloces, baratos y eficaces pero la velocidad, el costo y la eficacia guardan solo una relación periférica con las funciones civiles que los nuevos filtros y algoritmos desempeñarán en nuestra vida. Si no sometemos a esos filtros más veloces, baratos y eficaces al estricto escrutinio ético que merecen, corremos el riesgo de caer en una de las tantas falacias del solucionismo y celebrar avances relacionados con problemas menos importantes, al tiempo que desatendemos cuestiones más acuciantes aunque menos obvias." (Morozov, p.174)
La cultura misma puede verse afectada en forma global, sobretodo si se deja que sean los algoritmos que determinen lo "más interesante" sobre la base de lo más consultado, leído, visto u oído. Los "clics" y "megusta" tienden a concentrarse en opiniones no calificadas mientras las críticas de expertos resultan poco atractivas para la mayoría.

Más sobre algoritmos en internet: