Machine learning y deep learning

Aprender y predecir

6611

Marcos Esteve Casademunt

Cada día millones de personas buscan en Google las diferencias entre machine learning y deep learning. Esto se debe a la excitación que genera una industria muy novedosa, donde la mayoría de los avances vienen acompañados de una nebulosa de dudas generadas por una terminología, en cierto modo, desconocida.

Empecemos por el machine learning o aprendizaje automático. Una de las definiciones que más me gustan fue la presentada por Christopher Bishop, en 2006, en su libro Pattern Recognition and Machine Learning: «El aprendizaje automático se ocupa del descubrimiento automático de regularidades en los datos mediante el uso de programas, y del uso de estas regularidades para emprender acciones como la clasificación de datos en diferentes categorías«. En esencia, podríamos entenderlo como una forma de extraer valor de los datos para predecir eventos futuros con éxito. 

Por su parte, deep learning es un término acuñado por los investigadores Yann LeCun, Yoshua Bengio y Geoffrey Hinton en el artículo titulado «Deep learning«, publicado en la prestigiosa revista Nature en 2015. Es un subconjunto de machine learning y, según su definición, permite a modelos computacionales aprender representaciones de los datos con múltiples niveles de abstracción, con el fin de descubrir patrones intrínsecos en grandes conjuntos de información.

En deep Learning se emplean arquitecturas de redes neuronales profundas, que no son más que una combinación de capas formadas por unas unidades (neuronas) interconectadas entre sí. Básicamente, hay una capa de entrada, que recoge la información; una serie de capas ocultas, donde se realizan diversos procesos con ella; y una capa de salida, que presenta los resultados. Al incrementar el número de capas ocultas se consiguen modelos mucho más profundos y, por lo general, más potentes, capaces de generalizar en eventos futuros.

A partir de grandes cantidades de datos y mucho músculo computacional, estos modelos son capaces de aprender 

Las redes neuronales no son nuevas —ya en 1958 Frank Rosenblatt presentó una red neuronal simple: el Perceptrón—, aunque sí es cierto que, gracias al incremento en las capacidades de cómputo aportadas por las tarjetas gráficas (GPU) y a la mejora en los algoritmos utilizados para el entrenamiento de estos modelos, ha sido posible aplicarlas a tareas de gran complejidad y profundidad. A partir de grandes cantidades de datos y mucho músculo computacional, este tipo de modelos son capaces de aprender, tanto en la parte discriminativa de la tarea como en la representación de la información. 

Aplicaciones

Desde hace años, algunas de las aplicaciones que utilizamos a diario hacen uso de técnicas clásicas de machine learning. Un ejemplo es la detección de spam en los sistemas de correo electrónico.

En cuanto a deep learning, este muestra mejor su potencial cuanto más grande es el conjunto de datos. Uno de los casos de uso más conocido es la competición ImageNET, en la que hay que clasificar millones de imágenes en mil clases o categorías distintas. En los años anteriores a la introducción de estas tecnologías, el error obtenido por los mejores sistemas oscilaba en torno al 30%. A partir del año 2012, con la participación de un equipo que utilizó deep learning, se consiguió reducir las tasas de error por debajo del 15%. En la actualidad, las tasas de error se encuentran por debajo 10%. De hecho, como comentan desde Nvidia, prácticamente el 100% de los competidores en tareas relacionadas con la visión por computador ya hacen uso de técnicas basadas en deep learning y explotan la potencia que proporcionan las GPU para efectuar el cómputo de forma eficiente.

Otra de las áreas donde el deep learning va a desatar una revolución es el procesamiento del lenguaje natural, gracias al uso de potentes modelos capaces de captar relaciones sintácticas y semánticas entre las palabras. Dos ejemplos de estos modelos podrían ser BERT y GPT, presentados por Google y OpenAI respectivamente.