Anda di halaman 1dari 27

Panorama General:

Aprendizaje Profundo
Dr. Erik Zamora

Objetivo

Conocer los Principios Bsicos y


el Estado del Arte sobre

el Aprendizaje Profundo

Contenido

Motivacin
Qu es el aprendizaje profundo?
Ventajas
Por qu es tan importante?
Para qu sirve?
Mtodos
Pre-entrenamiento
RN convolucionales
RN Recurrentes
Visualizacin
Otros mtodos
Futuro
Libreras
Tarea

Motivacin: Cmo podemos construir sistemas computacionales ms inteligentes?

Necesitamos algoritmos que interpreten y entiendan el mundo:


PERCEPCION COMPUTACIONAL

Esto implica:
Reconocimiento de imgenes y sonido.
Reconocimiento de eventos y acciones en video.
Entendimiento del lenguaje natural (escrito, hablado y corporal).
Traduccin entre lenguajes (idiomas, matemticas, y otros).
Prediccin del comportamiento del usuario.
Abstraccin de conceptos.
Habilidad para interactuar con ambientes no estructurados.

Motivacin: Cmo lo logramos?


Hay dos caminos directos:
Crear algoritmos particulares para cada tarea

[NVIDIA Class 1]

Crear algoritmos generales que aprendan de las


observaciones en cada tarea

[NVIDIA Class 1]

Aprendizaje Profundo

[Jeff Dean 2015]

Qu es el aprendizaje profundo?

Aprendizaje profundo

Aprendizaje poco profundo

[Google]

Modelos Gaussianos Mezclados (GMM)


Campos Aleatorios Condicionales (CRF)
Modelos de Mxima Entropa (MaxEnt)
Maquinas de Soporte Vectorial (SVM)
Regresin Logstica
Regresin por Kernel
Redes Neuronales Monocapa
RN Multicapa de 2 capas
Maquinas de Aprendizaje Extremo

Tienen una o dos capas de


transformaciones no lineales

Pre-Entrenamiento

CNN

RNN

Diseo Manual de Rasgos

Dilema de Invarianza

Tres o ms capas de
transformaciones no lineales
Descubrimiento Automtico de Rasgos
(aprendizaje de representacin)

Ventajas del Aprendizaje Profundo

Extraccin automtica de rasgos (Aprendizaje de Representacin)


Robustez
Escalable
Aprende Relaciones con mayor complejidad
Descubre Estructuras con mayor complejidad
Algoritmo general

Tendencias Histricas del Aprendizaje Automtico


Redes Monocapa

~1950

Retropropagacion

~1980

~1990

SVM

Aprendizaje Profundo

2005

Por qu es tan importante?

[NVIDIA Class 1]

Por qu es tan importante?

Se explota econmicamente

Hay inters por mejorar

[NVIDIA Class 1]

[NVIDIA Class 1]

Ha roto records en:

Krizhevsky et al. 2012

Hinton et al. 2012

Aprender a sujetar objetos a


prueba y error

Para qu sirve el aprendizaje profundo?


Predecir cundo una mutacin en el ADN puede
generar empalmes errneos entre las secuencias de
genes al momento de producir protenas, descifrando
el origen gentico de algunas enfermedades

Xiog et al. 2014

Hacer que una computadora lea


documentos y pueda contestar
preguntas semiabiertas sobre el
texto

Hermann et al. 2015

Reconocer el rostro de personas con una


efectividad ~97% en una base de datos
de 4 millones de imgenes para 4000
identidades
Taigman et al. 2014

Pinto & Gupta 2015

Para qu sirve el aprendizaje profundo?

Lai 2015

Lai 2015

Hacer que una computadora aprenda por si misma a jugar Ajedrez y en


72 horas alcanzar el nivel internacional de maestro

Predecir la actividad de nuevas drogas (Sheridan et al. 2015)


Reconocer decaimientos del boson de Higgs en dos partculas tau con ruido de fondo (Kaggle)
Predecir la expresin de los genes a partir de rasgo genmicos y el contexto celular (Leung et al. 2014)
Construir el mapa circuital de una capa del cerebro de un ratn con 950 neuronas (Helmstaedter et al. 2013)
Entender el lenguaje natural usando computadoras: clasificacin por tema, anlisis de sentimientos, contestando
preguntas (Bordes et al. 2014) y traduccin de idiomas (Jean et al. 2015)
Seleccionar los resultados ms relevantes de los buscadores web (Google, Bing, etc)
Recomendar productos en las pginas de comercio electrnico
Emparejar la oferta de algo con la persona que le interesa (Netflix, Facebook, etc)
Filtrar contenido en las redes sociales (Amazon)

Por qu I+D del aprendizaje profundo estn en auge?

[NVIDIA Class 1]

Mtodos de Aprendizaje Profundo

Pre-entrenamiento

RN Convolucionales

RN Recurrentes

Vyngals et al. 2014


Hinton et al. 2006, Science

Zeigler & Fergus 2014

Visualizacin

Google

Mtodos: Autoencoders

Mtodos: Pre-entrenamiento

Hinton et al. 2006, Science

Deep Autoencoders

Deep Belief Networks

Mtodos: Autoencoders

Hinton et al. 2006, Science

Mtodos: Redes Neuronales Convolucionales

Su alto desempeo se fundamenta en cuatro cosas:


1) el uso eficiente de GPUs (paralelizacin),
2) la funcin de activacin ReLUs,
3) el dropout y
4) tcnicas para generar ms ejemplos de entrenamiento
artificialmente.

Mtodos: Redes Neuronales Recurrentes


Prediccin del siguiente carcter

Diferencias respecto a CNN


Estado interno -> Memoria
Aproximadores de
Programas (vs funciones)
Descripcin automtica de imgenes

Vyngals et al. 2015

Mtodos: Redes Neuronales Recurrentes

Vyngals et al. 2015

Vyngals et al. 2015

Mtodos: Redes Neuronales Recurrentes

Maquina de Turing Neuronal

Redes de Gran Memoria de Corto Plazo (LSTM)

Graves 2014

Redes de Memoria (MemNN)


Aprendizaje+ Inferencia + Memoria

Vyngals et al. 2015

Weston et al. 2015

Mtodos: Visualizacin

Google Inceptionism

Redes Deconvolucionales (Zeiler & Fergus 2014)


Inversin por optimizacin. Trata de hallar una imagen que genere
los mismos rasgos de la imagen original mediante un mtodo de
optimizacin, inicializando con una imagen llena de ruido aleatorio
(Mahendran & Vedaldi 2014, Yosinski et al. 2015). Puede aplicarse a
cualquier tipo de rasgos (SIFT, HOG, etc).

Mtodos: otros

Aprendizaje No Supervisado Profundo

Autoencoder CNN para aprender rasgos de videos suponiendo


que el cambio de frame de frame es pequeo

Redes Estocsticas Generativas (GSM)

LeCun et al. 2015


LeCun et al. 2015

Bengio et al. 2014

Mtodos: otros

Aprendizaje por Refuerzo Profundo

Deep Q Network

Video http://ow.ly/TuiF8
100% Nivel Humano

Futuro del Aprendizaje Profundo

[LeCun, Bengio, Hinton 2015]

Aprendizaje no supervisado (Aun no han roto records en estos benchmarks)


Percepcin activa

Libreras

Deep Learning Libraries by Language


http://www.teglor.com/b/deep-learning-libraries-language-cm569/

Caffe (C++ con interfaces para Matlab y Python) Es la ms popular http://caffe.berkeleyvision.org/


Torch (C y Lua) usado por Facebook Research, Google Deepmind y Twitter http://torch.ch/docs/cvpr15.html
Theano (Python) http://deeplearning.net/software/theano/
Deepleaning4j (Java) http://deeplearning4j.org/
cuDNN (Deep Neural Network library) https://developer.nvidia.com/cudnn
cuBLAS (Basic Linear Algebra Subroutines) https://developer.nvidia.com/cublas

Nvidia Class 1
Nvidia Class 1

Tarea

Resumen

Motivacin
Qu es el aprendizaje profundo?
Ventajas
Por qu es tan importante?
Para qu sirve?
Mtodos
Pre-entrenamiento
RN convolucionales
RN Recurrentes
Visualizacin
Otros mtodos
Futuro
Libreras
Tarea

Anda mungkin juga menyukai