Introducción a Deep Learning - cs.us.es · Introducción • Se dice que aprendemos de la...
Transcript of Introducción a Deep Learning - cs.us.es · Introducción • Se dice que aprendemos de la...
Introducción a Deep Learning
Miguel A. Gutiérrez Naranjo
Departamento de Ciencias de la Computación e Inteligencia ArtificialUniversidad de Sevilla
May 30, 2018
Introducción
• Se dice que aprendemos de la experiencia a realizar
alguna tarea si la realización de la tarea mejora con la
experiencia respecto a alguna medida de rendimiento
(T. M. Mitchell)
• El Aprendizaje Automático es el área de la Inteligencia
Artificial que construye programas que aprenden de la
experiencia.
Santiago Ramón y Cajal
Santiago Ramón y Cajal (1852 - 1934) Dibujo de una neurona por Ramón y Cajal (1899)
Premio Nobel de Medicina en 1906
McCulloch y Pitts
McCulloch, W. S. and Pitts, W. H. (1943).
A logical calculus of the ideas immanent in nervous activity.
Bulletin of Mathematical Biophysics, 5:115-133.
Deep Learning
• Como una primera aproximación podemos considerar
Deep Learning el área del Aprendizaje Automático con
redes neuronales multicapa con muchas capas
intermedias.
• El tratamiento especial de esas capas intermedias
(conexiones, funciones de activación, interpretación
semántica, . . . ) es lo que diferencia Deep Learning del
estudio de las redes neuronales multicapa tradicionales.
• Según algunos investigadores, el procesado de la
información por etapas y la identificación de
características significativas, se realiza de manera análoga
a como la realiza el cerebro humano (. . . ? . . . )
Deep Learning
• Como una primera aproximación podemos considerar
Deep Learning el área del Aprendizaje Automático con
redes neuronales multicapa con muchas capas
intermedias.
• El tratamiento especial de esas capas intermedias
(conexiones, funciones de activación, interpretación
semántica, . . . ) es lo que diferencia Deep Learning del
estudio de las redes neuronales multicapa tradicionales.
• Según algunos investigadores, el procesado de la
información por etapas y la identificación de
características significativas, se realiza de manera análoga
a como la realiza el cerebro humano (. . . ? . . . )
Deep Learning
• Como una primera aproximación podemos considerar
Deep Learning el área del Aprendizaje Automático con
redes neuronales multicapa con muchas capas
intermedias.
• El tratamiento especial de esas capas intermedias
(conexiones, funciones de activación, interpretación
semántica, . . . ) es lo que diferencia Deep Learning del
estudio de las redes neuronales multicapa tradicionales.
• Según algunos investigadores, el procesado de la
información por etapas y la identificación de
características significativas, se realiza de manera análoga
a como la realiza el cerebro humano (. . . ? . . . )
Deep Learning
• Las redes neuronales multicapa con "muchas" capas
intermedias se estudian desde hace más de 25 años.
• ¿Hay algo nuevo?
Deep Learning
• Las redes neuronales multicapa con "muchas" capas
intermedias se estudian desde hace más de 25 años.
• ¿Hay algo nuevo?
• SI, lo hay:
• La idea de usar aprendizaje no supervisado para el
aprendizaje de características en las capas intermedias.• Nuevos algoritmos eficientes de aprendizaje.
Aprendizaje Supervisado
• En aprendizaje supervisado el punto de partida es un
conjunto de entrenamiento (x , y) donde x son instancias e
y valores de clasificación.
• El objetivo es obtener clasificaciones fiables y de
instancias x ′ que no pertenezcan al conjunto de
entrenamiento.
Aprendizaje Supervisado
• En Aprendizaje Automático clásico, un experto humano
seleccionaba qué atributos eran los apropiados en cada
caso.
• El aprendizaje no se realizaba sobre los datos originales,
sino sobre un conjunto de vectores de valores de los
atributos seleccionados.
ALVINNCoche autónomo de 1989
• https://tinyurl.com/mwxctoo
• Una capa de entrada con 1217 neuronas: 30 × 32 (píxeles
de la video cámara); 8 × 32 (laser range finder); 1 (road
intensity feedback).
• 29 neuronas en la capa oculta.
• 46 neuronas en la capa de salida: 45 para codificar la
curvatura del movimiento y 1 road intensity feedback.
Deep Learning
• ¿Por qué las redes neuronales hacia adelante multicapa
donde cada neurona se conecta con todas las de la capa
anterior no son suficientes?
• Excesivo número de pesos y por tanto, entrenamiento
ineficiente.
Deep Learning
• ¿Por qué las redes neuronales hacia adelante multicapa
donde cada neurona se conecta con todas las de la capa
anterior no son suficientes?
• Excesivo número de pesos y por tanto, entrenamiento
ineficiente.
Deep Learning
• ¿Por qué las redes neuronales hacia adelante multicapa
donde cada neurona se conecta con todas las de la capa
anterior no son suficientes?
• Excesivo número de pesos y por tanto, entrenamiento
ineficiente.
• Falta de generalización:
Aprendizaje Supervisado
En Deep Learning, la extracción de características y el
entrenamiento de la red se hace a la vez, mediante algún
sistema de optimización.
Un ejemplo simple: XOREn cada capa aumentamos los niveles de abstracción
• Usamos la función de activación umbral
• B1: ¿Está el punto por debajo de la recta 3 − 2x1 − 2x2 = 0?
• B1: ¿Está el punto por encima de la recta 1 − 2x1 − 2x2 = 0?
• B3: Puerta lógica AND.
Un ejemplo simple: XOREn cada capa aumentamos los niveles de abstracción
A primera capa B1, B2 transforma los punto de entrada apuntos de un espacio de características que es linealmenteseparable
Entrada Espacio de características
(0,0) → (1,0)
(1,0) → (1,1)(0,1) → (1,1)
(1,1) → (0,1)
Un poco de historia
Fuente:
https://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html
Un poco de historia
• CPU (Central processing unit) ∼ 1960
• GPU (Graphics processing unit) ∼ 1980
• TPU (Tensor processing unit) ∼ 2016 (v3.0 en 2018)
• DPU (Data processing unit) ∼ 2017
Fuente: https://www.bdti.com/InsideDSP/2016/11/17/WaveComputing
Aplicaciones
• Coloración automática de imágenes.
• https://www.youtube.com/watch?v=MfaTOXxA8dM
Aplicaciones
• Producir sonidos realistas en videos sin sonido.
• https://youtu.be/0FW99AQmMc8
Aplicaciones
• Traducción automática
• https://www.deepl.com/translator
Aplicaciones
• Generación automática de texto
• https://tinyurl.com/ydara9yt
David Campion / 11 de Eenro, 2018
Aplicaciones
• Clasificación de tumores cerebrales
• https://tinyurl.com/ycrj5bst
Aplicaciones• Aprender estilos artísticos
• https://www.youtube.com/watch?v=UGAzi1QBVEg
Imagen del Neckarfront en Tübingen, Alemania. La misma imagen al estilo de El Hundimiento del Minotauro
de J.M.W. Turner, 1805; de La noche estrellada de V. van Gogh, 1889; y de El grito de E. Munch, 1893.
Aplicaciones
• Reproducir la voz de alguien
• https://tinyurl.com/y95kgyd3
Aplicaciones
• Crear un entorno visual completo
• https://tinyurl.com/yanyw993
Aplicaciones
• ¿Podemos distinguir videos reales y falsos?
• https://tinyurl.com/y7x7ramq
Aplicaciones
• ¿Podemos distinguir videos reales y falsos?
• https://tinyurl.com/yaqjl3pr
Anaconda
• https://anaconda.org/
• Permite instalar y actualizar paquetes Python muy
fácilmente
• No interfiere con el sistema operativo
Experimentos
• Keras significa cuerno en griego. Es una referencia a una
imagen literaria que hace referencia a los espíritus de los
sueños (Oneiroi), entre los que están los que engañan a
los hombres con falsas visiones y los anuncian un futuro
que se hará realidad.
• Puede usar en backend Tensorflow (Google), Theano
(Universidad de Montreal) o CNTK (Microsoft)
• Muy bien documentado
• Hacer las cosas tan simples como se pueda.
Colab Research
https://colab.research.google.com/
• Acceso gratuito con cuenta en Google.
• Acceso a NVIDIA GPU Tesla K80
• 24 GB de memoria GDDR5• 480 GB/s de ancho de banda de memoria• 4992 núcleos de procesamiento paralelo CUDA
Deep Learning
Miguel A. Gutiérrez Naranjo
http://www.cs.us.es/~naranjo/