Imperialismo computacional. Mente profunda, pero humana y patentada: el caso Deep Mind.

1. Al escribir la entrada sobre la historia del concepto Imperialismo Computacional me ha llamado la atención la línea de investigación comenzada por Solomonoff (uno de los padres del concepto de Singularidad) y continuada por Schmidhuber, Marcus Hutter y Shane Legg. Es una línea basada en un enfoque muy abstracto. Para los interesados, recomendamos la tesis de Shane Legg.

Shane Legg conjuntamente con Demis Hassabisy y Mustafa Suleyman, son los fundadores de Deep Mind, una empresa de Inteligencia Artificial, creada en 2010 y comprada en 2014 por unos 500 millones de libras por Google.  La compra se realizó tras una infructuosa negociación con Facebook. Anteriormente Google ha seguido una estrategia de compras en el sector de la robótica.

Diría que la existencia y compra de Deep Mind por parte de Google es uno de los factores (no es el único) que está motivando algunas de las preocupaciones recientes con respecto a la Inteligencia Artificial, pues aparentemente tienen una tecnología prometedora.

Las preguntas que intento contestar en esta entrada son

Primera, ¿ Cuales son los productos de Deep Mind ?

La respuesta es que Deep Mind no tiene de momento ningún producto. Google sólo ha comprado talento humano, expertos en una determinada tecnología (aunque la compra se ha realizado de una forma extraña). No lo digo yo, lo dicen en este  muy recomendable  artículo de MIT Technology Review.

Extractos.

How much are a dozen deep-learning researchers worth? Apparently, more than $400 million.

Bengio, an AI researcher at the University of Montreal, estimates that there are only about 50 experts worldwide in deep learning, many of whom are still graduate students. He estimated that DeepMind employed about a dozen of them on its staff of about 50. “I think this is the main reason that Google bought DeepMind. It has one of the largest concentrations of deep learning experts,” Bengio says.

The DeepMind researchers were well known in the scientific community, attending meetings and publishing “fairly high-level” papers in machine learning, although they had not yet released a product, says Bengio.

Peter Lee, head of Microsoft Research, told Bloomberg Businessweek that deep learning experts were in such demand that they command the same types of seven-figure salaries as some first-year NFL quarterbacks.

¿ No hubiese sido más barata para Google esta segunda estrategia, contrataciones laborales de 7 cifras ?

Deep Mind no es sólo talento humano. También tiene una cartera de patentes. (entre 20 y 30, algunas solicitadas, otras ya concedidas). No se lo que ha pesado más en el precio, pero seguramente sin las patentes el valor de la operación hubiese sido otro.

La captación de talento, de una forma y otra, es la estrategia que, además de Google (Hinton además del equipo de Deep Mind) han seguido otras empresas del sector como MicrosoftFacebook (LeCun), Amazon, IBM, Yahoo, Baidu (Nge) etc….En un artículo de Techcrunch sobre la compra nos dan más detalles sobre esto. Apple también está en esta guerra: compró Siri (aplicación de reconocimiento de voz que puede hacer bastantes cosas).

Para más detalles recomendamos la lectura de este otro artículo también muy interesante artículo (y en español) en el que describen a vista de pájaro el sector del aprendizaje profundo (Deep Learning; hay quien dice que no es más que otro nombre para las redes neuronales).

Segunda, ¿ tienen algo que ver estos productos con la linea de investigación abstracta citada anteriormente ?

Ya adelanto que la respuesta a esta pregunta, también,  es que no, no tienen nada que ver (o muy indirectamente).

Tercera, ¿ cuales son entonces las tecnologías que utilizan e investigan los fundadores de Deep Mind ?

Abordamos  esta tercera pregunta en lo que sigue, con un primer punto que contiene una breve introducción a la tecnología de Deep Mind y un segundo punto con literatura relevante seleccionada.

2. Breve introducción a las ventajas de la tecnología de Deep Mind.

Varios datos extraídos del artículo de Wikipedia sobre la empresa nos dan una primera información. La tecnología:

–está basada en un tipo de redes neuronales.

es flexible: es capaz de jugar varios juegos  diferentes.

According to Shane Legg human-level machine intelligence can be achieved “when a machine can learn to play a really wide range of games from perceptual stream input and output, and transfer understanding across games[…].[23] Research describing an AI playing seven different Atari video games (Pong, Breakout, Space Invaders, Seaquest, Beamrider, Enduro, and Q*bert) reportedly led to their acquisition by Google.

es capaz de aprender (casi) directamente desde el entorno.

As opposed to other AI’s, such as IBM‘s Deep Blue or Watson, which were developed for a pre-defined purpose and only function within its merit, DeepMind claims that their system is not pre-programmed: it learns from experience, using only raw pixels as data input.[24] They test the system on video games, notably early arcade games, such as Space Invaders orBreakout.[24][25] Without altering the code, the AI begins to understand how to play the game. And after some time plays a more efficient game than any human ever could.[25] The application of DeepMind’s AI to video games is currently for games made in the 1970s and 1980s.

–y el resultado del aprendizaje es de momento satisfactorio, aunque mejorable.

For three of the games, the classics Breakout, Enduro, and Pong, the computer ended up playing better than an expert human. It performed less well on Q*bert and Space Invaders, games where the best strategy is less obvious.

Aun teniendo en cuenta que el entorno juegos de Atari es muy diferente al entorno realidad, incluso al entorno Onlife o de la Web, los logros son aparentemente destacables (tampoco soy experto, pero eso dicen los expertos). La pregunta que me planteo es si su programa es capaz de aprender a jugar óptimamente cualquier juego de este tipo. Es decir si la flexibilidad y capacidad de aprendizaje de esta red neuronal es ilimitada.

El artículo técnico de los investigadores de Deep Mind es el siguiente.

Título. Playing Atari with Deep Reinforcement Learning.

Autores. Mnih  et all. Los autores son investigadores en Deep Mind.

Abstract.

We present the first deep learning model to successfully learn control policies directly from high-dimensional sensory input using reinforcement learning. The model is a convolutional neural network, trained with a variant of Q-learning, whose input is raw pixels and whose output is a value function estimating future rewards.

We apply our method to seven Atari 2600 games from the Arcade Learning Environment, with no adjustment of the architecture or learning algorithm. We find that it outperforms all previous approaches on six of the games and surpasses a human expert on three of them.

Una revisión del artículo en un blog especializado en Inteligencia Artificial.

Extractos.

Various papers have been written on how computers can learn to pay the Atari games, but most of them used the abstract representations of objects on the screen within the emulator. The Mnih et al AI learned to play the games using only the raw 210 x 160 video and the score. It seems to be the first successful attempt to learn arcade gaming from raw video.

En el resto de la entrada explican de manera breve y clara los detalles del algoritmo de Deep Mind:

–como consiguen que su jugador artificial juegue directamente viendo la pantalla (esto es realmente sorprendente),

–el método de entrenamiento y la base de datos utilizada para obtener los casos,

–por el tipo de entorno han utilizado un aprendizaje de  tipo refuerzo en vez de utilizar uno de tipo supervisado. They describe their algorithm in detail and compare it to several historical reinforcement algorithms, so this section of the paper can be used as a brief introduction to reinforcement learning.

De cualquier manera los objetivos son ambiciosos,  según nos detallan en el artículo de Techcrunch.

Extracto.

In 2012, Carnegie Mellon professor Larry Wasserman wrote that the “startup is trying to build a system that thinks. This was the original dream of AI. As Shane [Legg] explained to me, there has been huge progress in both neuroscience and ML and their goal is to bring these things together. I thought it sounded crazy until he told me the list of famous billionaires who have invested in the company.”

Y las expectativas elevadas según comentan en el artículo sobre Hinton en Wired.

Extracto.

“We have never seen machine learning or artificial intelligence technologies so quickly make an impact in industry. It’s very impressive.”

Parece por  lo tanto que no se trata de la última moda de un verano AI. Cómo veremos en el tercer punto de momento hay poca teoría, condición dónde la moda puede medrar. ¿ Lo acabará siendo ?. El tiempo dirá. En cualquier caso las aplicaciones industriales son las mismas que se llevan investigando desde hace tiempo con otros enfoques (visión por computador, reconocimiento automático de habla, reconocimiento de señales de audio y música etc…) y éste ha mejorado el estado del arte.

3. Sobre el Aprendizaje Profundo o Deep Learning. Literatura relevante que he encontrado .

Advertencia. Llevo bastante tiempo  escuchando hablar sobre Machine Learning, pero realmente nunca he sabido lo que era. A ver si ahora, gracias a este interés por Deep Learning, definitivamente me entero. Por no hablar de las Redes Neurales (aunque a este objeto sí creo recordar que le dediqué un cierto tiempo e incluso llegué a comprenderlo). Según voy leyendo hay poca teoría: cada red es un mundo sin relación con otras (recuerda la situación de las redes de interconexión antes de que se utilizase el unificador concepto de grafos de Cayley; hay métodos que funcionan mejor y no se sabe muy bien por qué. Es posible que haya literatura mejor, más didáctica que la que he encontrado. 

A estas alturas, al lector ya le habrá quedado claro que Deep Mind investiga en un campo de la Inteligencia Artificial que se llama Deep Learning (que a su vez  forma parte de un campo más  amplio llamado Machine Learning).

También es posible, que como yo, no vea muy bien como estas redes consiguen las supuestas ventajas (deben tenerlas pues se han valorado en 500 millones  de libras…) y le interese profundizar más. En lo que sigue recopilamos algunos enlaces interesantes que hemos encontrado para ello.

Antes una breve introducción impresionista.

Según uno de los inventores del método, Hinton (otros fueron Lecun y Bengio), que es psicólogo cognitivo de formación se inspiró en la estructura en capas del neocortex (que tiene 6 capas, creo recordar). En éste artículo de Wired se puede encontrar una breve historia de la trayectoria de Hinton y de la tecnología Deep Mind. La trayectoria no ha sido fácil.

Extracto.

Back in the early ’80s, when Hinton and his colleagues first started work on this idea, computers weren’t fast or powerful enough to process the enormous collections of data that neural nets require. Their success was limited, and the AI community turned its back on them, working to find shortcuts to brain-like behavior rather than trying to mimic the operation of the brain.

But a few resolute researchers carried on. According to Hinton and LeCun, it was rough going. Even as late as 2004 — more than 20 years after Hinton and LeCun first developed the “back-propagation” algorithms that seeded their work on neural networks — the rest of the academic world was largely uninterested.

a) Entradas de blogs o foros.

–para  ir calentando motores una interesante discusión en un foro dónde ponen estos métodos en perspectiva. Y también sugieren algunas lecturas.

–para seguir calentando motores otra entrada en otro blog llamado Neural Network Blog dónde ponen la técnica en un contexto más amplio. La entrada explica las ventajas de las redes profundas frente a las más superficiales (shallow).

Extracto.

Deep neural networks are best thought of as constant-depth threshold circuits, and these are known to be able to compute a lot of interesting functions.  For example, a small 3-hidden layer threshold network can sort N N-bit numbers, add N such numbers, compute their product, their max,  compute any analytic function to high precision.  And it is this ability of deep neural networks to perform such interesting computations makes them useful for speech recognition and machine translation.

Una fotografía que debe de memorizar el  lector pues luego verá otras similares pero más  abstractas.

tmp_02

–y una tercera entrada similar a las dos anteriores, todavía sin entrar en detalles pero informativas. La plataforma es O´Reilly radar. 

Extracto.

What’s changed since the 1980s? More data + faster computational tools

More recently, the advent of big data (availability of much larger labeled/training sets),compute power (FLOPS via GPUs and distributed computing), and some advances in training algorithms (stochastic gradient descent, convolutional NN), have led to strategies2for training 10-layer neural networks. Why 10-layers (and not 15 or 20 layers)? It turns out 8-10 layers work well in practice, but there isn’t much theoretical justification3 for why that many layers is optimal in many settings. Both Ilya and Jeff admitted that at this point the excitement behind Deep Learning is based on empirical evidence. Encouraged by the success displayed by Deep Learning in a variety of tasks (including speech and visual object recognition), both speakers expressed confidence that large4 10-layer networks could equal humans at (any) perception task5 that takes 0.1 second!

una entrada en un blog de un experto que abandonó el campo de redes neuronales hasta que regresó al ver que el modelo Deep Learning funcionaba. Explica paso a paso con gráficos como funciona el modelo (explica una de las dos alternativas para construir este tipo de redes, la probabilística; hay otra, determinista, a través de codificadores/decodificadores o sparse encoders).

Cada capa es un grafo bipartito (al que, enriquecido, se le llama una Restricted Boltzmann Machine). Y a la combinación inteligente (no de cualquier manera) de estos grafos (no digrafos) bipartitos en capas se le llama Deep Belief Network. More interestingly, Hinton discovered that you could stack these Restricted Boltzmann Machines one on top of the other and create what’s called a Deep Belief Network(DBN for short). By taking the output of one RBM and use it as the input of another RBM you can learn features of features and integrate different types of inputs together. This models a theory of how the brain works.  Que el cerebro trabaje exactamente así es una mera hipótesis (que yo sepa).

En la primera imagen una red neuronal clásica de tres capas.Estas son las que no funcionaban.

Classic Neural Network

En la siguiente imagen un máquina de Boltzman en funcionamiento (además de bipartito en este ejemplo es grafo es completo).

Boltzmann Machine

Máquinas de Boltzmann como la anterior se combinan en capas.

MinstDBN

DBN

Once this DBN is trained you can take a test case and pass it through the layers to see what the output of the label nodes are activated, So passing a image ‘3’ will highlight the label ‘3’. So we have built the functional equivalent of the classic neural network I initially described but it’s a whole lot simpler, faster and more accurate.

Deep belief networks like this have subsequently be used to:

–Si el lector ya ha leído la entrada anterior, puede seguir con esta otra de otro blog (de la CMU).

This post reviews some extremely remarkable results in applying deep neural networks to natural language processing (NLP). In doing so, I hope to make accessible one promising answer as to why deep neural networks work. I think it’s a very elegant perspective.

–o puede leer esta otra, en tono didáctico y muy informativo. El blog es de un estudiante de Inteligencia Artificial.

Extracto.

It turns out that deep learning approaches can find useful abstract representations of data across many domains: it has had great commercial success powering most of Google and Microsoft’s current speech recognition, image classification, natural language processing, object recognition, etc. Facebook is also planning on using deep learning approaches to understand its users1. Deep learning has been so impactful in industry that MIT Technology Review named it as a top-10 breakthrough technology of 2013

Vamos con un año de retraso…

b) Wikipedia.

El artículo en Wikipedia sobre Deep learning  (que algunos dicen que es un nuevo nombre para redes neuronales, lo cual puede ser cierto, pero las redes son nuevas…). En mi opinión no es la mejor fuente para empezar.

c) Artículos científicos o técnicos.

–un artículo en castellano de la UAB, curso 2013/2014 dónde explican la aplicación del método Deep Learning a un problema de e-commerce: predecir la talla adecuada de un comprador de camisetas (es un problema pues la tasa de devoluciones es elevada por este motivo).

En esta caso la capa input de la red son 3 neuronas o variables cuantitativas que todo comprador conoce (edad, peso, altura) y la capa output son las 5 neuronas o categorías de tallas habituales: S (small o pequeña), M (media), L (large o grande), XL (extra large o muy grande) y XXL (la leche :-)). Según el diseño de la red, se obtienen 4 capas intermedias de 80 neuronas cada una.

En este artículo no se complican la vida dándole a la técnica un barniz glamuroso de Neurociencia, Psicología Cognitiva, Singularidad etc…: Finalmente, para la predicción de las tallas de los individuos, utilizaremos Deep Learning, un concepto basado en redes neuronales compuestas por más de una capa intermedia u oculta. Nos permite generar un modelo no lineal y estadístico adaptado para soportar una gran cantidad de dimensiones como entrada, al contrario que, por ejemplo, SVM o un clasificador multi-variante mediante una función logística.  Es decir tratan el método como una técnica estadística más, adecuada para resolver algunos problemas.  ACP (Análisis de Componentes Principales), del que hemos hablado en otras entradas es un método lineal (y en el que por lo tanto  se pueden aplicar la teoría de matrices) que se queda corto para determinadas aplicaciones.

Título. Análisis de técnicas Machine Learning para la estimación de medidas corporales.

Abstract.

Actualmente, la mayoría de empresas de moda proporcionan una tienda virtual para realizar compras online. Según distintos estudios la tasa de retorno de ropa a causa de no acertar en la talla del producto elegido es muy elevada. Es por eso que en este documento nos centramos en mejorar la experiencia de usuario para la compra de camisetas, implementando un sistema para predecir la talla de un individuo varón en función de su edad, peso y altura. Esta implementación se realizará utilizando técnicas de Machine Learning y Data Mining como son Feature Selection para el análisis de las características más representativas del cuerpo humano o Deep Learning para la predicción de las tallas. Después de todo el análisis realizado, hemos llegado a la conclusión de que la edad, el peso y la altura son características que la mayoría de empresas usan, no gracias a su alto valor representativo dentro del cuerpo humano, sino a causa de su simplicidad. En cuanto al sistema implementado, podemos destacar que proporciona resultados gratamente buenos como para evitar el gasto que tienen las empresas en la devolución de ropa, casi en su totalidad.

–El artículo que he encontrado más útil como introducción al tema, escrito por uno de sus investigadores destacados, Yoshua Bengio.

Learning Deep Arquitectures for AI. 

Se presentó en un seminario de 2007: Deep Learning Workshop: Foundations and Future Directions. En la página del seminario, aparecen otros artículos y comentan: What would be a good formalization of deep learning? What new ideas could be exploited to make further inroads to that difficult optimization problem? What makes a good high-level representation or abstraction? What type of problem is deep learning appropriate for?

–una recopilación de artículos científicos relacionados con Deep Learning en curso sobre la  materia en la  CMU que como es sabido fue una de las universidades pioneras en Inteligencia Artificial. Muy completo, de interés histórico, pues los artículos no son en general actuales.

–Una vista de pájaro escrita por Schmidhuber. Deep Learning in neural networks: an overview. Octubre de 2014.

–Un libro también reciente. Deep Learning: Methods and applications. 2013 o 2014.

–la página web de CIFAR-NCAP.

CIFAR es el CSIC canadiense y NCAP es el programa, fundado en 2004, gracias al cual despegó esta tecnología.

Deep Learning Net. Una plataforma muy completa con todo lo relacionado con esta tecnología (incluye un blog).

–un blog de inteligencia artificial  con bastantes entradas sobre Deep Learning. Están en la categoría Deep Belief Networks.

d) Complejidad computacional de la tecnología.

No sé cuan relevante es la teoría de la complejidad computacional para este tipo  de modelos.

On the complexity of shallow and deep neural network classifiers. Abril 2014.

Abstract.

Recently, deep networks were proved to be more effective than shallow architectures to face complex real–world applications. However, theoretical results supporting this claim are still few and incomplete. In this paper, we propose a new topological measure to study how the depth of feedforward networks impacts on their ability of implementing high complexity functions. Upper and lower bounds on network complexity are established, based on the number of hidden units and on their activation functions, showing that deep architectures are able, with the same number of resources, to address more difficult classification problems.

–La tesis de Kearns sobre complejidad computacional del aprendizaje automático. The computational complexity of Machine Learning. Kearns.

El artículo de wikipedia.

Una presentación de 2008 sobre la materia.

e) Temas Relacionados.

Convolutional neural networks. Un tipo de red neuronal utilizado en el reconocimiento visual.

Efficient mapping of the training of Convolutional Neural Networks to a CUDA-based cluster.

Terms and conditions: 1. Any commenter of this blog agrees to transfer the copy right of his comments to the blogger. 2. RSS readers and / or aggregators that captures the content of this blog (posts or comments) are forbidden. These actions will be subject to the DMCA notice-and-takedown rules and will be legally pursued by the proprietor of the blog.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: