redes neuronales convolucionales - diapositivas

Upload: erik-zamora

Post on 26-Feb-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    1/19

    Redes Neuronales ConvolucioDr. Erik Zamora

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    2/19

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    3/19

    Para qu sirve una CNN?

    Especializada para datos 2D: imgenes

    o espectrogramas de sonido

    Menos parmetros, ms velocidad de aprendiz

    Proporciona invarianza a la traslacin

    Ventajas:

    Aplicaciones comerciales:

    LeNet: Lector de cheques automtico usado en U.SA. y Europa en los 90s en un DSP por A

    http://ow.ly/SCpir LeCun 98, Gradient-based learning)

    Reconocimiento de caracteres arbigos y chinos por Microsoft (Abdulkader 06, Chellapilla

    Simardvideos 06, http://ow.ly/SCtEX, http://ow.ly/SCri0)

    Deteccin y borrado automtico de rostros y placas vehicularespara proteccin de la priv

    Google Street View (Frome et al. 09, Large-scale Privacy Protection) Identificacin del gnero y la edadde los usuarios de mquinas expendedoras por la emp

    Labs en Japn (http://ow.ly/SCKhe)

    Deteccin y seguimiento de clientesen supermercados por NEC Labs (Fan et al. 10, Huma

    using video http://ow.ly/SFqFs)

    Deteccin de intrusos y ladronespor la empresa AgilityVideo (http://www.agilityvideo.co

    http://ow.ly/SCpirhttp://ow.ly/SCtEXhttp://ow.ly/SCri0http://ow.ly/SCKhehttp://ow.ly/SFqFshttp://www.agilityvideo.com/http://www.agilityvideo.com/http://ow.ly/SFqFshttp://ow.ly/SCKhehttp://ow.ly/SCri0http://ow.ly/SCtEXhttp://ow.ly/SCpirhttp://ow.ly/SCpir
  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    4/19

    Para que sirve una CNN?

    Aplicaciones experimentales:

    Deteccin de rostros con record en velocidad y precisin (Nasse et al. 09 Face Detection u

    Identificacin de expresiones faciales (video http://ow.ly/SCMyBKahou et al. 13, Combin Evasin de obstculos para robots mviles usando visin (video http://ow.ly/SCN0SHassel

    09)

    Deteccin de obstculosa gran distancia (Hassell, LeCun et al. 09)

    Segmentacin de imgenes biolgicas(Ning 08 Toward automatic phenotyping video

    http://ow.ly/SFqxg)

    Restauracin de imgenes (eliminacin del ruido) (Jain et al. 08 Natural image denoising

    Reconstruccin de circuitos neuronalesa partir de imgenes transversales del cerebro con

    nanomtrico (Jain et al.. 2007 Supervised learning of image restoration ) Y cuando combinan las redes neuronales con algoritmos evolutivos, una computadora pued

    jugar Mario Bros (video http://ow.ly/SDKApStanley y Miikkulainen Evolving Neural Netwo

    Robot que aprende a hacer tareas (video http://ow.ly/SP3y2Levine et al. 2015 End-to-End

    http://ow.ly/SCMyBhttp://ow.ly/SCN0Shttp://ow.ly/SFqxghttp://ow.ly/SDKAphttp://ow.ly/SP3y2http://ow.ly/SP3y2http://ow.ly/SDKAphttp://ow.ly/SFqxghttp://ow.ly/SCN0Shttp://ow.ly/SCMyB
  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    5/19

    Arquitectura

    No-linealidadesConvolucin Agrupam

    [Le

    [LeC

    [UFLDL Tutorial]

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    6/19

    Arquitectura: Convolucin

    Mapas de Rasgos

    [UFLDL Tutorial]

    [A. Dundar 2013]

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    7/19

    Arquitectura: No linealidades (funciones de activacin)

    Qu funcin debera usar? Use ReLU (puede intentar con Leaky ReLu o Maxout). Nunca use la

    logstica. Puede intentarlo con tanh, pero espere peores resultados.

    Sigmoide Logistica +

    Sigmoide Hiperbolica tanh Sigmoide rectificada abs (gi tanh ) (normalizacin de contraste local)

    ReLU(Rectified linear unit) max 0,

    Funcin Softplus ln 1 Leaky ReLUs > 00.01 Noisy ReLUs max 0, 0, ()

    Neurona Maxoutmax , (Goodfeloow et al. 2013)

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    8/19

    Arquitectura: Agrupamiento (pooling)

    Tipo de Agrupamiento

    Promedio

    Max

    Desventaja: varias capas desvanece la informac

    la localizacin del rasgo, provocand

    e.g. se pueda reconocer rostros, pe

    de quien pertenece.Divide el mapa de rasgos en regiones

    sin traslape

    Ventajas:

    reduce el nmero de rasgos y redu

    sobreajuste.

    Invarianza la traslacin

    [UFLDL Tutorial]

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    9/19

    Aprendizaje

    ?Datos de

    Entrada

    Datos de

    Salida

    Supervisado

    No Supervisado

    ?Datos de

    Entrada

    Por reforzamiento

    ?Datos de

    Entrada

    Criterios de Reforzamiento

    Usa el conjunto de validacin par

    hiperparametros del algoritmo dprevenir el sobreajuste.

    Usa el conjunto de prueba para m

    desempeo final del modelo; solExploracin-

    Explotacin

    Descubrir

    Estructura

    de Datos

    Ejemplos

    Entrenamiento

    Entrenamiento Val

    80%/20%

    80%/20%

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    10/19

    Aprendizaje: Descenso por gradiente estocstico

    Inicializacin aleatoria , Desde 1a repetir

    Fin

    Problema: Hallarque minimiza (o maximiza) la funcin .Solucin:

    -10 -5 0 5 100

    20

    40

    60

    80

    100

    -10 -5 0 5 100

    20

    40

    60

    80

    100

    -10 -5 0 5 0

    20

    40

    60

    80

    100

    pequeo mediano grande

    : ;

    ,

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    11/19

    Aprendizaje: Estrategias adicionales (buenas prcticas)

    3. Adaptacin del ndice de aprendizaje 4. M

    : :

    2. Aleatoriedad

    1. Subconjuntos

    de ejemplos

    Todos Ejemplos de Entrenamiento

    Iteracin

    Calcular el gradiente

    estocstico

    Subconjunto aleatorio,

    No solo un ejemplo por

    iteracin

    La dificultad de usar SGD es

    hallar un adecuado

    Comnmente, se necesita

    un gran a inicio y uno grande al final

    [CS231n Stanford]

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    12/19

    Aprendizaje: Estrategias adicionales (buenas prcticas)

    5. Pre-procesamiento

    2rand randn

    Polarizaciones

    Normalizacin

    Sustraccin de

    la media

    PCA Blanqueado

    6. Inicializa

    Pesos

    0

    0.01

    [CS231n Stanford]

    [CS231n Stanford]

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    13/19

    Aprendizaje: Estrategias adicionales (buenas prcticas)

    L2

    L1

    Norma mxima

    Dropout (apagado aleatorio)

    Regularizacin de polarizacio

    7. Regularizacin

    1

    2

    <

    Consejo: usar la regularizacin L2 junto con Dropout, y ajustar y p mediante los ejemplos de va

    Problema: Sobreajuste

    Error de Validacin

    Error de Entrenamiento

    Modelo

    muy

    simple

    Modelo

    muy

    complejo

    [CS231n Stanford]

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    14/19

    Aprendizaje: retro-propagacin

    +

    , ; , +

    , ; , +

    upsample

    +

    , ; , rot9

    = , ; ,

    + ,,

    Para capas conectividad total

    Para capas convolutivas y de agru

    Inicializacin , Desde 1a repetir

    1.- Propagar hacia adelante(calcular el error)

    2.- Propagar hacia atrs

    (calcular el gradiente)

    3.- Actualizar parmetros

    : ; , Fin

    Algoritmo de Retropropagacin

    Calculo del Gradiente

    3

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    15/19

    Aprendizaje: Funcin Objetivo

    Nombre Expresin Matemtica Para qu sirve?

    Norma L2 RegresinEuclideana (L1) SVM Multiclase

    max 0, 1

    Clasificacin

    excluyente

    Clasificador

    Softmax (entropa

    cruzada)

    log

    Clasificacin

    excluyente

    Softmax

    Jerrquico

    (Mikolov et al. 2013) Clasificacin de un

    gran nmero de

    clases.

    max 0,1

    Clasificacin no

    excluyente

    Regresin

    logstica binaria log 1 l o g 1

    Clasificacin no

    excluyente

    http://arxiv.org/pdf/1310.4546.pdfhttp://arxiv.org/pdf/1310.4546.pdf
  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    16/19

    Libreras

    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/

    MatConvnet (Matlab) http://www.vlfeat.org/matconvnet/

    Cuda-convnet (CUDA) https://code.google.com/p/cuda-convnet2/

    Deepleaning4j (Java) http://deeplearning4j.org/

    A Modern Computer Vision Library - ConvNet: Deep Convolutional Networks

    http://libccv.org/doc/doc-convnet/

    Deep Learning Libraries by Language

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

    http://caffe.berkeleyvision.org/http://torch.ch/docs/cvpr15.htmlhttps://en.wikipedia.org/wiki/Theano_(software)http://deeplearning.net/software/theano/http://www.vlfeat.org/matconvnet/https://code.google.com/p/cuda-convnet2/http://libccv.org/doc/doc-convnet/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://www.teglor.com/b/deep-learning-libraries-language-cm569/http://libccv.org/doc/doc-convnet/http://libccv.org/doc/doc-convnet/http://libccv.org/doc/doc-convnet/https://code.google.com/p/cuda-convnet2/https://code.google.com/p/cuda-convnet2/https://code.google.com/p/cuda-convnet2/http://www.vlfeat.org/matconvnet/http://deeplearning.net/software/theano/https://en.wikipedia.org/wiki/Theano_(software)http://torch.ch/docs/cvpr15.htmlhttp://caffe.berkeleyvision.org/
  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    17/19

    Demostracin en Matlab

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    18/19

    Tarea

  • 7/25/2019 Redes Neuronales Convolucionales - Diapositivas

    19/19

    Resumen

    Para qu sirve?

    Arquitectura

    Convolucin

    No-linealidades

    Agrupamiento (Pooling)

    Aprendizaje

    Descenso por gradiente estocstico

    Estrategias adicionales (buenas prcticas)

    Retro-propagacin

    Funcin Objetivo Libreras

    Demostracin en Matlab

    Tarea