Académique Documents
Professionnel Documents
Culture Documents
APRENDIZAGEM PROFUNDA
Eduardo Bezerra (CEFET/RJ)
ebezerra@cefet-rj.br
Sobre mim
2
¤ teóricos
¤ de implementação
Visão geral
4
John
Composição de características
9
Jayme
Por que Aprendizagem Profunda?
10
y
10
x2
11
Por que Aprendizagem Profunda?
12
Expressividade
Fonte: http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
13
Por que Aprendizagem Profunda?
14
http://www.npr.org/2012/06/26/155792609/a-massive-google-network-learns-to-identify Andrew Ng 14
Por que Aprendizagem Profunda?
15
Geoffrey Hinton
Por que Aprendizagem Profunda?
16
Fonte: https://wikimedia.org 19
Neurônio artificial
20
Neurônio artificial - pré-ativação
21
Neurônio artificial - pré-ativação
22
Neurônio artificial - pré-ativação
23
Neurônio artificial - ativação (não-linearidade)
“A composição de
transformações lineares
também é uma
Não linearidades são necessárias para que a rede transformação linear”
aprenda representações complexas dos dados. 24
Neurônio artificial - ativação (não-linearidade)
25
Rede neural artificial
27
Fonte: https://www.tensorflow.org/versions/r0.9/tutorials/mnist/beginners/index.html
softmax
¨ Permite interpretar os valores da camada de saída
como uma distribuição de probabilidades.
3 0,7
2 0,2
0,4 0,1
28
29
Treinamento Supervisionado
Aprendizagem de máquinas (em uma página!)
Dados de “sistema” de
treinamento aprendizado
Modelo
Novos dados predição
aprendido
30
Treinamento em redes neurais
31
32
Função de custo J
¨ Função
de
custo:
erro
come0do
pela
rede.
¨ Θ é conjunto de todos os pesos e bias.
Fonte: http://sebastianruder.com/optimizing-gradient-descent/
Retropropagação do erro (error back-propagation)
36
x1 h31
31
h11 h21
21
x2 h32
32 y
h12 h22
x3 h33
33
Retropropagação do erro (error back-propagation)
¨ passo 1: propagar o sinal de entrada por todas as
camadas até a saída.
¨ passo 2: atualizar os pesos de modo que a saída
38
MNIST (handwritten digits dataset)
¨ Conjunto de dados com 70k exemplos
¤ Treinamento: 60k
¤ Teste: 10k
¨ Cada exemplo: 28 x 28 pixels
¨ Melhores desempenhos:
¤ classificador
linear : 12% error
¤ (Gaussian) SVM 1.4% error
¤ ConvNets <1% error
[http://yann.lecun.com/exdb/mnist/]
40
Redes Autocodificadoras
Redes autocodificadoras (autoencoders)
¨ Podem aprender a estrutura subjacente ao conjunto
de dados de forma não supervisionada.
¤ Permiteo aprendizado de representações mais concisas.
¤ Características identificadas são úteis para uso posterior
em tarefas de aprendizado supervisionado.
41
Transformações realizadas
¨ Transformações são aplicadas na entrada de acordo com
dois tipos de funções.
¤ Afunção de extração de características (encoder) mapeia o
conjunto de treinamento para uma representação latente.
42
Esquema da arquitetura
43
meio de uma redução de dimensionalidade, ao mesmo tempo em que man
de informação acerca da distribuição de entrada. Considere que a repres
descoberta por uma autocodificadora tenha dimensão D0 . No caso em que
¤ com
o cuidado de substituir os valores-alvo desejados
pela própria entrada x.
Treinamento
45
exemplo.
Caso K < D (bottleneck)
48
K = 30
D = 2000
PCA Autocodificadora
(k=2) (2000-500-250-125-2)
Autocodificadora 2000
(2000-500-250-125-2) 500
250
125
125
250
500
Reducing the Dimensionality of Data with Neural Networks (Science, 2006) 2000
Aplicações (II) – aprendizado de conceitos
57
Uma
descoberta
fortuita!
Hubel, D. and Wiesel, T. (1968). Receptive fields and functional architecture of monkey striate cortex. Journal of Physiology.
Redes Convolucionais
60
ConvNet
hierarquia de 5
detectores de características
ImageNet: taxas de erro (2010-2014)
61
¨ Suponha
¤ uma rede completamente conectada com uma camada
oculta para o MNIST (imgs 28x28);
¤ essa única camada oculta tenha o dobro de unidades
da camada de entrada.
¨ Nesse caso, teríamos da ordem de 106 parâmetros
para ajustar durante o treinamento!
Redes completamente conectadas
64
camada
camada
camada
Campos receptivos locais
67
detecção de característica
mapa de característica (filtro) independente de sua posição
eficiência do aprendizado
camada m
camada m-1
21 8 8 12 avg pooling 15 9
12 19 9 7 12 7
8 10 4 3
18 12 9 10
21 12
max pooling 18 10
9%
Aplicações (II) – AlexNet, 2012
79
“Inception modules”
¤ Vídeo
¤ Áudio
¤ ...
Unidade de recorrência
84
Desdobramento no tempo (unfolding in time)
85
Bengio, et al., Learning Long-Term dependencies with Gradient Descent is Difficult, IEEE Transaction on Neural Networks, Vol. 5, No.2, 1994.
Pascanu, et al., On the difficulty of training Recurrent Neural Networks.
LSTMs e GRUs
90
Juergen Schmidhuber
https://scholar.google.de
Aplicações (I) – geração de texto
91
Sutskever, Martens, and Hinton: "Generating Text with Recurrent Neural Networks.
Aplicações (II) – legendas automáticas
92
Long-term Recurrent Convolutional Networks for Visual Recognition and Description, 2016.
93
Aplicações (III) – geração de imagens
Dropout - A Simple Way to Prevent Neural Networks from Overfitting (JMLR, 2014)
Desligamento (dropout)
104
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, ICML, 2015
106
Considerações Finais
Fatores para o sucesso
Mais poder
computacional
$
(GPUs)
APRENDIZAGEM
PROFUNDA
(DEEP LEARNING)
Maior
disponibilidade
30 anos de
de dados
perseverança!
107
Yoshua
Yann Geoff Bengio Andrew Ng
Lecun Hinton
Ferramentas
109
OBRIGADO!
Eduardo Bezerra (ebezerra@cefet-rj.br)