El concepto de aprendizaje profundo, o Deep Learning, DL, por sus siglas en inglés, ha tenido diferentes interpretaciones en los últimos años. A menudo DL se emplea simplemente para referirse a un subconjunto específico de Redes Neuronales Artificiales, o ANN por sus siglas en inglés, una familia de modelos de Aprendizaje Automático, o Machine Learning, ML, que pueden utilizarse tanto para tareas de clasificación como de regresión. En concreto, se utiliza para denominar a las ANN con un gran número de lo que se denominan capas ocultas.
Un modelo de ANN está formado por un conjunto de unidades conectadas llamadas neuronas, donde la salida de cada neurona se calcula mediante alguna función no lineal, llamada función de activación, aplicada a la suma ponderada de sus entradas. Las conexiones neuronales tienen pesos o coeficientes asociadas, por lo que las activaciones de distintas neuronas pueden tener mayor impacto que otras. Las neuronas de una capa pueden conectarse a neuronas de las capas anterior y posterior. La capa que recibe los datos externos es la capa de entrada y la última capa, la que produce el resultado final, es la capa de salida. Entre dichas capas de entrada y salida hay cero o más capas ocultas. Cuando el número de estas capas ocultas es grande, se habla de Redes Neuronales Artificiales Profundas. Un ejemplo de este tipo de modelos se muestra en la siguiente imagen.
Sin embargo, la denominación DL también se ha utilizado para referirse a cualquier tipo de marco de modelos de Aprendizaje Automático que consistan en un esquema de entrenamiento que contiene varias capas de optimización, cada una de las cuales afecta al resultado del modelo final. Un ejemplo ejemplo de ello son las Deep Belief Networks, un tipo de modelos de Aprendizaje Automático que se utilizan para el aprendizaje no supervisado y se basan en múltiples capas, y que presentan diferencias significativas respecto al esquema estándar de una ANN que hemos descrito anteriormente.
No obstante, es cierto que el vínculo entre DL y las ANN profundas es fuerte y casi omnipresente en la actualidad. Probablemente han influido en ello varios factores, entre ellos el hecho de que el esquema de las ANN se adapta casi a la perfección al concepto de Aprendizaje Profundo, y que algunos de los primeros avances pioneros en DL corresponden en efecto a este tipo de estructuras.
Teniendo en cuenta lo anterior, debemos tener claro que, aunque a menudo se considera un campo independiente, el Aprendizaje Profundo no es ni más ni menos que otra familia de modelos de Machine Learning. Sin embargo, es una familia de modelos con algunas propiedades extremadamente relevantes, destacando las dos siguientes:
Con el auge de los marcos de Deep Learning se ha demostrado que estos modelos DL son capaces de lograr un rendimiento superior que los modelos clásicos como SVM cuando se entrenan con conjuntos de datos que son suficientemente grandes. Este hecho es probablemente el principal factor por el que esta familia de modelos se está convirtiendo en la elección preferida para resolver una gran variedad de tareas de aprendizaje supervisado.
Sin embargo, debido a la naturaleza específica de los marcos de Aprendizaje Profundo, que constan de varias capas que llevan a cabo tareas intermedias necesarias para resolver problemas de ML, estos pasos de preprocesado pueden dejar de ser necesarios al aplicar modelos de DL, ya que son las capas iniciales las que realizarán ese proceso de extracción de patrones relevantes a ser empleados por las capas posteriores. Simplificando, el concepto de profundidad en estas estructuras se basa en el hecho de que la estructura del modelo debe constar de múltiples capas que representen el nivel de abstracción, y cada capa debe adaptarse al entrenamiento del modelo. Las características de los niveles o capas inferiores del modelo deben combinarse progresivamente para formar características de nivel superior en las capas posteriores Esta propiedad suele denominarse aprendizaje End-to-End y permite a los investigadores y científicos de datos evitar pasos complejos y lentos que antes eran necesarios y que habitualmente requerían de la ayuda de expertos humanos en el campo correspondiente a la tarea en cuestión.
Un ejemplo ilustrativo puede encontrarse en el reconocimiento de voz, donde el objetivo es tomar una entrada, como un clip de audio, y asignarla a una salida, que sería una transcripción del clip de audio. Tradicionalmente, el reconocimiento de voz requería más de una etapa de procesamiento. Primero había que extraer algunas características del audio con métodos de preprocesamiento, como los Coeficientes Cepstrales en las Frecuencias de Mel o MFCCs, que son coeficientes para la representación del habla basados en la percepción auditiva humana. Después, una vez extraídas algunas características de bajo nivel, se podía aplicar un algoritmo de Aprendizaje Automático para encontrar, por ejemplo, los fonemas básicos del sonido en el clip de audio.
Cuando se utilizan marcos DL, este proceso de múltiples etapas puede sustituirse directamente por el entrenamiento de una Red Neuronal Profunda, lo que permite introducir el clip de audio y obtener directamente la transcripción como salida.
Estas y otras características especiales han hecho de los modelos de Deep Learning una de las técnicas más populares en los últimos años dentro del campo del Aprendizaje Automático y, en general, de la Inteligencia Artificial. En particular, este tipo de modelos se han convertido claramente en el estado del arte en problemas en los que se trabaja con datos no estructurados, es decir, datos que no están representados en forma de tablas o estructuras matriciales, como por ejemplo el reconocimiento de imágenes o el procesamiento de lenguaje natural. En concreto, DL cuenta con diferentes estructuras propuestas según el tipo de problema a resolver. Cuando se trabaja con datos estructurados, la opción estándar es emplear una Fully Connected Neural Network, FCNN. Sin embargo, existen distintas estructuras de DL especializadas en trabajar con distintos tipos de datos no estructurados:
· Redes Neuronales Convolucionales, o CNN: Fueron introducidas por primera vez en la década de 1980 por Yann LeCun, un investigador postdoctoral de informática. Estos modelos están especialmente diseñados para un funcionamiento óptimo sobre datos con una estructura espacial, como imágenes. Existen variaciones de estas estructuras para su uso sobre vídeos.
· Redes Neuronales Recurrentes, o RNN: Las redes neuronales recurrentes se basaron en los trabajos de David Rumelhart en 1986. La famosa arquitectura Long Short-Term Memory, LSTM, que ha sido durante muchos años el estado del arte en lo relativo a este tipo de estructuras, se inventó en 1997. Estos modelos de DL están especializados en datos temporales, como series numéricas temporales o tareas de procesamiento de lenguaje natural, NLP por sus siglas en inglés, como por ejemplo traducción de un idioma a otro. Pueden emplearse en combinación con una estructura CNN para su empleo sobre vídeos.
· Transformers: Fueron introducidos en 2017 por un equipo de Google Brain y son cada vez más el modelo de elección para problemas de NLP, sustituyendo a los modelos de RNN. Además, aunque inicialmente no se diseñaron con este objetivo, se ha observado que estas estructuras pueden adaptarse a ser empleadas sobre imágenes, donde han mostrado un gran potencial, incluso sobrepasando los resultados obtenidos por las CNNs, el estado del arte hasta este momento. Sin embargo, su capacidad de reemplazar a las CNNs como modelo de elección en este tipo de tareas aún requiere de una investigación en más profundidad.
En resumen, la enorme cantidad de datos no estructurados de los que ya se dispone y que se prevé que aumente en el futuro, con especial importancia en el entorno sanitario, significa que el Deep Learning es la solución óptima para muchas tareas de Machine Learning. Además, la potencia de cálculo, especialmente a través de la computación en la nube, proporciona la plataforma para el rápido entrenamiento de modelos de aprendizaje profundo.
Si estás interesado en conocer los proyectos desarrollados por Horus ML mediante el uso de técnicas de Deep Learning, no dudes en ponerte en contacto con nosotros.