Aprendizaje profundo
Una breve introducción
Luis Manuel Román García
Contenidos
- Introducción al aprendizaje profundo
- Teoría detrás de las redes neuronales profundas
- Manos a la obra
Introducción al aprendizaje profundo
- Contexto histórico
- Poder de las redes neuronales
- Resultados notables
La evolución del aprendizaje profundo
1958
Rosenblatt desarrolla el primer modelo de aprendizaje estadístico, constituido por una función que se activa al recibir una señal de un modelo lineal en los parámetros.
Combinación lineal parámetros
Función de activación
Salida
Error
Actualización parámetros
Desafortunadamente, este algoritmo solo puede clasificar adecuadamente clases que son linealmente separables.
1960
Bernard Widrow y Tedd Hoff mejoran el perceptrón al utilizar la salida de una función lineal como criterio de decisión para actualizar los parámetros en lugar de la salida de la función escalonada. Este modelo fue conocido como ADALINE
Error
Actualización parámetros
Salida
Función de activación
Función de decisión
Combinación lineal parámetros
Gradiente
Función de costo global
Costo inicial de los parámetros
1969
Marvin Minsky y Seymour Papert dan el golpe de gracia al Perceptrón, mostrando todas las carencias del mismo en su famoso libro Perceptrons: an introduction to computational geometry
Función XOR
Uno de los primeros ejemplos que mostraban la falibilidad del perceptrón como modelo de aprendizaje fue la función XOR
Lo que queremos es un modelo que sea capaz de identificar la región amarilla.
Función XOR
1974
Se desarrolla el método a través del cual sería posible extraer los gradientes de modelos de mayor profundidad, sentando así las bases para la factibilidad del aprendizaje profundo.
Error en el nodo de salida
Gradiente en capas ocultas
Error en capas ocultas
Entrada
Predicción
Objetivo
1986
Se desarrolla el Perceptrón de múltiples capas. Se resuelven la mayor parte de los problemas de clasificación que el Perceptrón era incapaz de resolver.
Perceptrón multicapas
Surgen cuando apilamos múltiples niveles de perceptrones que se encuentran conectados entre sí y retroalimentados por funciones de activación.
¿Recuerdan este problema?
Función XOR
Función XOR
Propuesta de solución
Función XOR
Función XOR | solución
Función XOR | solución
2012
El renacer de las redes neuronales profundas
Imágenes
Audio
Lenguaje
efectividad drogas | acelerador de partículas |reconstrucción cerebral | mutaciones genéticas | clasificación de temas |
análisis de sentimientos | pregunta respuesta | procesamiento de video | cómputo creativo | traducción de lenguaje
2011
Watson compite en Jeopardy! contra los campeones Brad Rutter y Ken Jennings. Watson recibe el primer premio de $1 million de dólares.
2010
2011
2012
2013
2014
2015
70%
75%
80%
85%
90%
95%
CNN
Tradicional
Precisión histórica del modelo ganador del desafío anual ImageNet
2016
Alphago es el primer algoritmo computacional capaz de derrotar al campeón del mundo en el juego de GO.
2016
El sistema ConceptNet es sometido a una prueba verbal de IQ, obtiene el "desempeño promedio de un niño de 4 años”.
Poema 1
And lying sleeping on an open bed.
And I remember having started tripping,
Or any angel hanging overhead,
Without another cup of coffee dripping.
Surrounded by a pretty little sergeant,
Another morning at an early crawl.
And from the other side of my apartment,
An empty room behind the inner wall.
Poema 2
A green nub pushes up from moist, dark soil.
Three weeks without stirring, now without strife
From the unknown depths of a thumbpot life
In patient rhythm slides forth without turmoil,
A tiny green thing poking through its sheath.
Shall I see the world? Yes, it is bright.
Silent and slow it stretches for the light
And opens, uncurling, above and beneath.
¿Cuál es el humano?
2018
Se llega a un nuevo hito en Video-to-video Synthesis, ahora es posible generar videos completamente falsos que emulen a la realidad. Esto abrió la puerta a toda una serie de modelos generativos.
2019
AlphaStar derrota a los mejores jugadores del mundo en StarcraftII
Teoría detrás de las redes neuronales profundas
- Definición y arquitectura
- Entrenar una red neuronal
- Diferentes arquitecturas
Hemos visto que las redes neuronales tienen propiedades interesantes. De hecho hay un par de resultados que nos aseguran que una red con dos niveles ocultos es un aproximador universal.
Redes neuronales y aprendizaje profundo
Salida ponderada RN
Salida ponderada capa oculta
Cuál es la ventaja de apilar una gran cantidad de capas en lugar de buscar la mejor combinación de parámetros en redes 'anchas'.
Redes neuronales y aprendizaje profundo
Redes neuronales y aprendizaje profundo
Eficiencia
Aprender representaciones
Las redes neuronales profundas son capaces de aprender representaciones más complejas de los parámetros sin incluir el sesgo del modelador.
Redes neuronales y aprendizaje profundo
La composición de múltiples capas hace que se puedan aprender estas representaciones de manera eficiente.
Redes neuronales y aprendizaje profundo
Sin embargo, al ser modelos tan complejos, hay que tener en consideración varios aspectos técnicos con tal de evitar utilizar estos modelos como cajas negras y caer en errores de interpretación y diseño.
Redes neuronales y aprendizaje profundo
El componente más básico de una red neuronal es la unidad de activación.
- Insumos (que pueden ser provistos por capas previas)
- El sesgo u ordenada
- Función de activación (que puede ser diferente en las capas ocultas y la de salida dependiendo el problema.
Funciones de activación
Funciones de activación
Actualmente no es muy claro qué es lo que determina que función de activación es mejor que otra para cierta aplicación.
Sin embargo, la unidad lineal rectificada tiende a ser preferida en muchas situaciones y es una buena primera opción.
Algo que vale la pena notar es que las ReLu son buenas para propagar información hacia atrás pues el modelo es lineal.
En caso de que se quieran usar activaciones sigmoidales la tangente hiperbólica tiende a ser mejor que la logística pues se satura menos en los extremos.
Funciones de activación
Funciones de activación
Funciones de activación
Epocas
Error
Propagación hacia atrás
Ahora una pregunta relevante es, cómo podemos actualizar los pesos de las capas ocultas y de la capa de entrada, cuando solo tenemos retroalimentación con respecto al error en la capa de salida.
Propagación hacia atrás
Por ejemplo, supongamos que tenemos la siguiente arquitectura.
¿Cómo podríamos actualizar ?
Propagación hacia atrás
Afortunadamente, frameworks como Tensorflow y Theano nos permiten llevar a cabo diferenciación automática!
Propagación hacia atrás
Descenso por gradiente estocástico
Cumpliendo con todos los supuestos de regularidad, lo mejor que podemos esperar es convergencia sublineal:
Mejor escenario
Esto se debe a que estos modelos presentan no convexidad y no linealidad en sus curvas de error.
Métodos de segundo orden
Cumpliendo con todos los supuestos de regularidad, lo mejor que podemos esperar es convergencia superlineal:
Mejor escenario
Múltiples arquitecturas
Manos a la obra
Deep Learning
By Luis Roman
Deep Learning
- 815