Introducción a Deep Learning - cs.us.es · Introducción • Se dice que aprendemos de la...

44
Introducción a Deep Learning Miguel A. Gutiérrez Naranjo Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla May 30, 2018

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

Deep Learning

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.

Neurona artificial

Redes multicapaMultilayer Perceptron (MLP)

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

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.

Aprendizaje Supervisado

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 ejemplo simple: ConvoluciónEn cada capa aumentamos los niveles de abstracción

Aprendizaje Supervisado

Un poco de historia

Fuente:

https://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html

Un poco de historia

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

Deep Learning

¿Empezamos?

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.

Keras en arxiv en 2017

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/