Es posible que te hayas sorprendido a ti mismo últimamente utilizando el traductor de Google con cierta asiduidad, cediendo el manejo de los frenos a tu coche en plena autopista o dictando tus respuestas en ese grupo de WhatsApp y comprobando que, ahora sí, tu móvil te entiende cuando le hablas.
La tecnología detrás de todos estos desarrollos se denomina Deep Learning que está llevando la inteligencia artificial a una nueva generación por los sorprendentes resultados y nuevas aplicaciones que está abriendo.
Es la gran apuesta, no solo de los gigantes tecnológicos como Google, Amazon, Facebook, Baidu o IBM, sino también de todos los grandes fabricantes de coches, empresas de gestión o biotecnológicas, que están realizando inversiones millonarias (6.000 millones de dólares desde 2014 según la revista Fortune).
Hablamos de una tecnología donde, por primera vez, se compara el fichaje de sus referentes tecnológicos con el de las grandes estrellas deportivas. Veamos primero qué se entiende por Deep Learning o aprendizaje profundo. Se trata de un conjunto de métodos de procesamiento de información que se enmarcan dentro de la rama de la inteligencia artificial denominada machine learning (aprendizaje automático). La característica fundamental de las técnicas de Deep Learning consiste en que aprenden una representación jerárquica de los datos observados, dando lugar a modelos compuestos por un número elevado de capas (de ahí el apelativo de deep), que permiten representaciones mucho más ricas que cualquier método clásico.
¿Qué diferencia hay con otros métodos de machine learning (ML)? El enfoque clásico de ML se basa en el diseño manual de los operadores matemáticos (descriptores) para la extracción de esas representaciones que caracterizan cada muestra o elemento observado. En la gran mayoría de los casos dichas variables o descriptores son específicos del proceso o aplicación. Para definirlos es necesario el conocimiento del dominio de aplicación y de las tecnologías que permiten automatizar el cálculo de los mismos. Sin embargo el Deep Learning se extrae el conocimiento directamente de los datos sin necesidad de programar reglas de forma explícita, sino mediante la mera observación de ejemplos (data driven).
Las redes neuronales convencionales vivieron varios periodos de apogeo y posterior olvido en las décadas de los 70 y 90. Ahora han resurgido de forma definitiva de la mano del Deep Learning, gracias a tres conjuntos de circunstancias favorables concurrentes:
- Un conjunto de desarrollos técnicos propicios
- La disponibilidad de millones de datos para el entrenamiento de las redes base
- Aumento de la capacidad de computación, que permite realizar en un tiempo razonable dicho entrenamiento, pasando de tardar años frente a horas.
1. Nuevos desarrollos técnicos
Aunque las técnicas Deep Learning hacen uso de propuestas realizadas desde los años 60, en los últimos se han dado una serie de avances técnicos que han marcado la diferencia desarrolladas por algunos grupos de los que hoy se han convertido en referentes a nivel mundial de las técnicas deep tales como Geoffrey Hinton, Yann LeCun, Yoshua Bengio o Jürgen Schimdhuber:
- las nuevas técnicas para la estabilización del entrenamiento de redes multicapa que solucionan problemas como el de la desaparición o explosión de gradientes durante el entrenamiento mediante el algoritmo de backpropagation
- la propuesta de arquitecturas específicas (redes convolucionales) para el procesamiento de imágenes
- la aparición de técnicas de regularización como el dropout
- las redes con capacidad de memoria
Los desarrollos de este tipo de sistemas no son triviales. La publicación de varias plataformas de desarrollo open source han contribuido enormemente a su popularización. Las principales actualmente son Caffe (Universidad de California Berkeley), Torch/Pytorch (Universidad de Nueva York e IDIAP), Theano (Universidad de Montreal) y Tensorflow (Google) con wrappers como Lassagne (para Theano) y Keras (para Theano y Tensor Flow). Los lenguajes de programación más habituales son Python, C++ y Lua.
2. Datos a Millones
La disponibilidad de grandes cantidades de datos ha sido posible gracias al uso masivo de internet y a la subida de datos por parte de los usuarios. Esto ha permitido recopilar grandes bases de datos siendo los cimientos de las grandes competiciones internacionales de investigación. Fue en ImageNet, dedicada al reconocimiento de objetos en imágenes, cuando, en el año 2012, las técnicas Deep Learning comenzaron su gran expansión. Fue en este año cuando un grupo de la Universidad de Toronto liderado por George Hinton consiguió la victoria por un amplio margen.. Aunque la necesidad de disponer de grandes cantidades anotadas de datos puede parecer a priori un problema insalvable en muchas aplicaciones, se han desarrollado técnicas conocidas como transferencia de aprendizaje (transfer learning) que permiten transferir lo aprendido por la red en un dominio en el que se dispone de cantidades suficientes de datos a otro dominio con un número reducido de datos.
3. Ordenadores más potentes
El tercer ingrediente, el aumento de la capacidad de computación, nos lleva a hablar del hardware natural para este tipo de sistemas: unidades de procesamiento gráfico o GPU que permiten pasar de las limitadas unidades de núcleos de un PC a los varios miles en una GPU.
En este momento el mercado está dominado por Nvidia, que ofrece múltiples modelos de GPU: la serie Titan para uso doméstico, la serie Tesla para uso profesional, Jetson para sistemas embebidos o la serie drive Px para uso en asistencia a la conducción y coche autónomo. Además, existen servicios de computación en la nube y otras empresas están entrando en este campo como soluciones diferentes a las GPUs. Es el caso dell Lake Crest (previsto para el 1er semestre 2017) de Nervana (grupo Intel), el Tensor Processing Unit (TPU) de Google, Intelligent Processor Unit (IPU) de Graphcore, o el EyeQ de mobileye recientemente adquirido por Intel.
Nuevas oportunidades
Bajo el paraguas de la denominación Deep Learning se engloban un conjunto de métodos relacionados entre sí pero independientes que se encuentran especialmente orientados a la resolución de ciertos tipos de problemas, algunos de los cuales era imposible abordar hasta su aparición.
En el procesamiento de imagen que, junto con el resto de tareas relacionadas con la percepción se presenta como un campo natural para estas técnicas, las redes convolucionales (CNN-Convolutional Neural Networks) han permitido por primera vez superar los resultados obtenidos por personas, entre otras, en tareas de identificación de los objetos presentes en imágenes. Estas mejoras se están aplicando en sectores como la fabricación (Surfin), salud (Enlitic, IBM Watson, DeepMind), vehículo autónomo (MobilEye, Tesla) o multimedia (Google image search).
Por su parte, las RNN - Recurrent Neural Networks (especialmente las LSTM- Long Short Term Memory y sus variantes) son propicias para modelar todo tipo de señales de tipo secuencial, siendo los campos más representativos los sistemas de reconocimiento automático del habla (p.ej: Siri, comandos voz X-Box), los sistemas de traducción automática (traductor de Google o de Facebook) o el vídeo.
Ya fuera del aprendizaje puramente supervisado, el Reinforcement Learning (RL) está siendo estudiado en campos como la robótica o en la generación automática de datos adaptados al contexto.
El incipiente despegue de técnicas no supervisadas para el aprendizaje de modelos generativos merece especial mención. Tras haber sido entrenados para capturar la semántica inherente a la variedad de los datos observados, son capaces de generar nuevas muestras realistas y genuinas nunca antes vistas. Así, es posible, generar audios, imágenes, vídeos con aplicaciones evidentes en industrias de entretenimiento, o incluso diseños industriales o farmacológicos (p.ej. generación de moléculas con características que las hacen candidatas a ser probadas como vacuna contra la malaria).
En general, el uso de las técnicas deep se está extendiendo a otras muchas aplicaciones y sectores, que van desde el estudio de moléculas en medicamentos hasta el análisis de los datos del CERN, la estimación de riesgos en aseguradoras, el marketing personalizado, el estudio de mutaciones en ADN, la optimización en la declaración de la renta, sistemas para juegos (como Alpha Go, primer sistema automático en ganar a un maestro del juego chino Go).
¿Significa que las técnicas deep son la solución a todos los procesos que incluyen dar una respuesta o realizar una acción ante unos datos de entrada?
Resulta impactante la versatilidad del Deep Learning y la capacidad de extracción de conocimiento de las redes en dominios desconocidos hasta ahora. Este enorme potencial se recoge en las previsiones de crecimiento donde se estima que el negocio de aplicaciones deep empresariales crecerá de 109 millones de dólares en 2015 a 10.400 millones en 2024, año en el que los ingresos anuales traccionados por las tecnologías deep superarán los 100.000 millones de dólares, especialmente en mercados financieros, clasificación de imagen, análisis biomédico y mantenimiento predictivo.
¿Hasta dónde nos permitirá llegar entonces el Deep Learning?
*Agradecimiento a Aitor Alvarez y Artzai Picón por su colaboración y apoyo en la elaboración de este artículo.