Date post: | 26-Feb-2018 |
Category: |
Documents |
Upload: | erik-zamora |
View: | 229 times |
Download: | 0 times |
of 19
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/SCpir7/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/SCMyB7/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.pdf7/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