Dentro de la Inteligencia Artificial han ido surgiendo nuevas áreas que, en los últimos años, han supuesto un gran avance respecto a las capacidades de las máquinas para aprender por sí mismas. Uno de estos campos en continuo desarrollo es el deep leargning o aprendizaje profundo. En este artículo te contamos en qué consiste, cómo se relaciona con el machine learning y cuáles son sus principales usos y aplicaciones potenciales.
¿Qué es el Deep Learning?
El deep learning es un campo del aprendizaje automático que usa estructuras lógicas que imitan el funcionamiento del sistema nervioso de los seres humanos. Estas redes neuronales son capaces de trabajar a través de capas de información cada vez más profundas para realizar predicciones, solucionar problemas o detectar características en objetos o situaciones.
A la hora de trabajar con máquinas o sistemas informáticos, el ser humano se ha dado cuenta de que es imposible programar reglas para el cada vez mayor volumen de datos o situaciones que se presentan en el mundo real. Por ello, se han creado algoritmos y sistemas capaces de aprender en base a la experiencia. Estas máquinas capaces de auto-programarse definen lo que hoy en día se conoce como machine learning o aprendizaje automático.
Pero, ¿y si vamos todavía un poco más allá? ¿Y si tratamos de conseguir que estos sistemas “razonen” y entiendan el entorno de manera similar a como lo haría un ser humano? Esto nos lleva a hablar de una de las ramas del machine learning, conocida como deep learning o aprendizaje profundo.
Se sabe que el sistema nervioso humano está formado por millones de neuronas que se comunican entre sí. Entre estas neuronas hay diferentes núcleos y áreas diferenciadas que se encargan de tareas específicas. Pues bien, el objetivo del deep learning es acercar el funcionamiento de las máquinas y programas al de una arquitectura con la enorme complejidad del sistema nervioso animal.
En realidad, no existe una definición de deep learning como tal. Básicamente se trata de modelos lógicos que son capaces de entender abstracciones de alto nivel a través de estructuras computacionales que permiten abordar múltiples transformaciones no lineales.
Los sistemas de aprendizaje profundo comparten una serie de características. Por un lado, está su capacidad para procesar múltiples capas de forma no lineal. Por otro, se realiza un aprendizaje supervisado o no supervisado de estas capas para llegar a abstracciones cada vez más complejas. Cada capa ocupa un lugar en la escala jerárquica de la red neuronal, y representa un nivel de complejidad y abstracción más alto.
Breve historia sobre su origen y evolución
La primera mención al deep learning dentro de la inteligencia artificial data del año 1974, cuando Paul Webos introdujo este término para definir el entrenamiento de redes neuronales artificiales mediante retropropagación.
En la década de los 80, el término volvió a ponerse de actualidad gracias a los estudios de Geoffrey E. Hinton, un doctor en ciencias computacionales que trató de aplicar a las máquinas los modelos de aprendizaje usados tradicionalmente en humanos.
En la actualidad, a Hinton se le conoce como el padre del deep learning, pero hay muchos otros investigadores que contribuyeron el desarrollo de esta materia, entre los que destacan David Rumelhart, Ronal Willian, David Parker o Yam Le Cun.
Aunque ya hace casi 50 años que se empezaron a vislumbrar las posibilidades del deep learning en computación, lo cierto es que su verdadero desarrollo llegó a partir del año 2010, ligado al machine learning y al crecimiento de otras tecnologías como el Big Data o el Internet de las Cosas.
Redes neuronales y capas de aprendizaje profundo
El deep learning consiste en un aprendizaje estructurado por capas que emplea redes neuronales artificiales para emular la manera de aprender de los seres humanos. Estas redes están organizadas jerárquicamente, de manera que se realizan procesamientos de información cada vez más profundos. Gracias a la información de entrada, las máquinas dotadas con deep learning son capaces de aprender por por sí mismas, sin necesidad de introducir unas reglas o instrucciones previas.
Las redes neuronales están formadas por varias capas entrelazadas que procesan la información, generalmente para la elaboración de análisis predictivos. Un algoritmo de aprendizaje profundo está formado por tres capas:
- Capa de entrada o Imput Layer: es aquella que recibe los datos de entrada, por ejemplo una fotografía o un vídeo.
- Capa oculta o Hidden Layer: son las capas de neuronas que realizan el procesamiento de información desde niveles más abstractos a más concretos. Cuantas más neuronas formen esta capa, más complejos serán los cálculos que se podrán realizar.
- Capa de salida o Output Layer: en base a los datos de entrada y tras procesar la información, la red neuronal llega a una conclusión o toma una decisión.
Deep Learning vs Machine Learning
Ambos términos son utilizados frecuentemente de forma errónea como sinónimos. Pero, ¿existe alguna diferencia entre deep learning y machine learning?
En primer lugar cabe decir que el deep learning forma parte del machine learning. Es decir, el aprendizaje profundo es un tipo concreto de aprendizaje automático. Ambos se engloban dentro de la inteligencia artificial.
Sin embargo, el machine learning es un concepto más amplio que el deep learning. El aprendizaje automático se refiere a los diferentes métodos a través de los cuáles una máquina puede aprender por sí misma; el aprendizaje profundo no es más que uno de métodos.
Por ello, se puede decir que el deep learning es una técnica de machine learning con la que se trata de llegar a razonamientos más complejos y profundos.
Por ejemplo, imaginemos una máquina dotada con machine learning que está programada para identificar imágenes de perros. A través de códigos y algoritmos, está máquina sería capaz de identificar imágenes de perros una vez que se le ha facilitado la imagen de un perro. Para ello, la máquina debe aprender a tratar con diferentes características visuales que diferencian a los perros de otros animales, para poder identificar a un perro por sí misma.
Si aplicamos esto al deep learning, la máquina funcionaría como una red neuronal en la que la información pasaría por diferentes capas jerárquicas. En la primera capa, la red procesa información muy simple. Esta información pasa a la segunda capa, donde profundiza un poco más. De esta a la tercera capa, donde la información será todavía más compleja, y así sucesivamente.
Si extrapolamos esto al ejemplo del perro, la primera capa podría detectar los bordes de la imagen. La segunda, las zonas más claras u oscuras. La tercera detecta formas simples. La cuarta formas más complejas. La quinta podría combinar estas formas para dar lugar a caras, colas o patas. Y así sucesivamente hasta llegar al nivel jerárquico superior, en el cual la máquina ya habrá aprendido a identificar imágenes de perros.
En este caso, el deep learning permite identificar la imagen del perro con menos datos de entrada, por ejemplo no hace falta que las imágenes tuvieran la etiqueta “perro”.
De este ejemplo también se puede extraer que la principal diferencia entre el deep learning y el machine learning u otros métodos de aprendizaje menos profundo es la cantidad de transformaciones que se aplican a los datos desde la capa de entrada a la de salida, lo cual permite procesar la información de forma más compleja y profunda.
¿Para qué se usa el aprendizaje profundo?
Los usos del deep learning se aplican cada vez en más ámbitos, sobre todo por su capacidad para elaborar modelos predictivos. Por ejemplo:
- Usar imágenes en las búsquedas en lugar de palabras clave.
- Identificar imágenes de marcas o logotipos.
- Reconocimiento facial y biometría para sistemas de acceso.
- Identificación de clientes potenciales según su comportamiento en webs o redes sociales.
- Orientación de publicidad o venta cruzada de productos en base a las preferencias de los clientes.
- Diseñar estrategias en función de las reacciones de los clientes ante el lanzamiento de un nuevo producto o servicio.
- Detección de fraudes online en pasarelas de pago.
- Análisis de imágenes médicas para aumentar la precisión de diagnósticos y tratamientos.
- Identificación de amenazas en tiempo real en el área de la ciberseguridad.
- Desarrollar sistemas de comprensión de textos o reconocimiento por voz más complejos.
- Procesar imágenes o vídeos en base a su contenido a través de la visión computacional para proponer imágenes o vídeos relacionados.
Ventajas del Deep Learning
De todo lo que hemos visto hasta ahora se puede extraer que el deep learning abre un nuevo y enorme abanico de posibilidades en el área de la computación, cuyas aplicaciones prácticas se extienden a numerosos ámbitos.
Por resumir, algunos de los principales beneficios del deep learning son los siguientes:
- Permite trabajar con grandes volúmenes de datos, por lo que es de gran ayuda en campos como el Big Data o el IoT.
- Es capaz de aplicar y descubrir conocimiento a través de escasos datos de entrada.
- En base al análisis de los datos se pueden elaborar modelos predictivos.
- Puede realizar procesos más complejos que otros sistemas de inteligencia artificial, llegando a conclusiones más profundas con menor número de datos de entrada.
- Tiene la capacidad para desarrollar nuevos modelos de aprendizaje no supervisado, en los que la labor humana es cada vez menos necesaria para el correcto funcionamiento de los sistemas.
Ejemplos de Deep Learning
El deep learning se puede aplicar en numerosos campos. Uno de los que más se han beneficiado de este modelo de aprendizaje es la medicina. Un ejemplo de ello es el sistema RADIO, que es capaz de detectar tumores a través del análisis de las radiografías. Una de sus grandes ventajas es su capacidad para analizar más de 10 millones de radiografías en unos pocos segundos.
Otro de los principales usos del deep learning tiene que ver con el reconocimiento facial. Muchos departamento de policía e investigación utilizan este tipo de sistemas para identificar a sospechosos. A través del análisis de los píxeles de las imágenes son capaces de detectar patrones y de reconocer similitudes entre caras que ya están en la base de datos policial.
El deep learning también se está introduciendo en el día a día de las personas, por ejemplo a través de los asistentes virtuales como Alexa, Siri o Cortana. Estos asistentes son capaces de procesar la información de los usuarios para responder a consultas cada vez más complejas.
Es probable que también hayas usado alguna vez Netflix o Amazon. Te habrás dado cuenta de que estos servicios son capaces de ofrecerte contenidos o productos de tu interés, en base a tu comportamiento en la plataforma o al de otros usuarios relacionados. Lo has adivinado, lo consiguen a través de la aplicación del deep learning.
El deep learning también se está introduciendo en otros campos todavía menos desarrollados, como la conducción autónoma. Los coches autónomos deben ser capaces de procesar la información que aparece en la carretera y responder ante ella de la manera adecuada. En este proceso, el deep learning es muy importante para procesar información compleja, por ejemplo, para que el coche sepa que una señal de limite de velocidad sigue siendo una señal de límite de velocidad aunque esté cubierta de nieve.
En definitiva, el deep learning o aprendizaje profundo es un modelo de aprendizaje que acerca cada vez más el funcionamiento de las máquinas al del ser humano. Imagina un robot humanoide dotado son un sistema de aprendizaje profundo muy avanzado. ¿Seríamos capaz de distinguirlo de uno de nosotros?