Escolar Documentos
Profissional Documentos
Cultura Documentos
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 Compreendendo o gradiente
2 Funções de ativação
3 Superficies de decisão
4 Treinamento de rede multicamadas
Retropropagação e regra da cadeia
5 Considerações sobre a função de custo
6 Considerações - Problemas e limitações
7 Dicas de implementações
8 Conclusão
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Funções de ativação
Importância:
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Funções de ativação:
f (x) = x
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Funções de ativação:
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Funções de ativação:
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Funções de ativação:
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Funções de ativação:
2
σ(x) = tanh(x) = −1
1 + e−2x
tanh(x) = 2 ∗ sigmoid(2x) − 1
Saída do corpo:
x∗w x∗w σ(x ∗ w) var(x ∗ w) var(σ(x ∗ w))
Função de -2 0,12 - -
ativação: σ(x ∗ w) -1,5 0,18 25% 50%
-1 0,27 33% 50%
Note relação não
-0,5 0,38 50% 41%
linear entre a saída
0 0,50 100% 32%
do corpo do
0,5 0,62 - -
neurônio e a saída
1 0,73 100% 18%
da função de
1,5 0,82 50% 12%
ativação.
2 0,88 33% 7%
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Relembrando o xor:
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Relembrando o xor:
Relembrando o xor:
Tabela: Padrões
Parametrizando:
Usaremos em todos os neurônios a função de ativação
hiperbólica;
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
1 1
g(h2) = g(uh2 ) = = = 0, 596884378
1 + euh2 1 + e−0,3925
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 1 - Propagação
Fase 2 - Retropropagação
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
dy dy du
=
dx du dx
dy d
= (f (g(x))) = f ′ (g(x))g ′ (x)
dx dx
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
dy dy du
=
dx du dx
dy dy
= 7u6 (3 − 10x) = 7(3x − 2x2 )6 (3 − 10x)
dx dx
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
∂Etotal
: Gradiente com respeito a w5
∂w5
∂Etotal ∂Etotal ∂go1 ∂uo1
Segundo a regra da cadeia: = ∗ ∗
∂w5 ∂go1 ∂uo1 ∂w5
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
∂Etotal
: Gradiente com respeito a w5
∂w5
∂Etotal ∂Etotal ∂go1 ∂uo1
Segundo a regra da cadeia: = ∗ ∗
∂w5 ∂go1 ∂uo1 ∂w5
Agora basta aplicar essa regra das derivadas parciais e está tudo
resolvido. Lista de exercícios para a próxima semana.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
∂Etotal
: Gradiente com respeito a w5
∂w5
∂Etotal ∂Etotal ∂go1 ∂uo1
Segundo a regra da cadeia: = ∗ ∗
∂w5 ∂go1 ∂uo1 ∂w5
Vamos ilustrar para ver o quanto pode ser fácil...
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
∂Etotal
: Gradiente com respeito a w5
∂w5
∂Etotal ∂Etotal ∂go1 ∂uo1
= ∗ ∗
∂w5 ∂go1 ∂uo1 ∂w5
O ponto principal na
retropropagação é “desmantelar”
ou “quebrar” o processo usando a
regra da cadeia para torná-lo o
mais modular possível e usar a
descida do gradiente para
atualizar os pesos.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
1 1
Etotal = ∗ (y1 − go1 )2 + ∗ (y2 − go2 )2
2 2
∂Etotal 1
= 2 ∗ (yo1 − go1 ) 2−1
∗ −1 + 0(Constante na derivada em
∂go1 2
relação a go1 )
∂Etotal
= −(y1 − go1 ) = 0, 01 − 0, 75136507 = 0, 74136507
∂go1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
∂go1
Agora a parcela
∂uo1
1
go1 = =saída da função de ativação
1 + e−uo1
∂go1
= go1 (1 − go1 ) = 0, 75136507 ∗ (1 − 0, 75136507) =
∂uo1
0, 186815602
∂uo1
Agora a parcela
∂w5
uo1 = w5 ∗ gh1 + w6 ∗ gh2 + b2 ∗ 1
∂uo1
= 1 ∗ gh1 ∗ w51−1 + 0 + 0 = gh1 = 0, 59326992
∂w5 . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
Finalmente nós temos todas as parcelas
∂Etotal ∂Etotal ∂go1 ∂uo1
= ∗ ∗
∂w5 ∂go1 ∂uo1 ∂w5
∂Etotal
= 0, 74136507 ∗ 0, 186815602 ∗ 0, 593269992 = 0, 0822167041
∂w5
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
Finalmente nós temos todas as parcelas
∂Etotal ∂Etotal ∂go1 ∂uo1
= ∗ ∗
∂w5 ∂go1 ∂uo1 ∂w5
∂Etotal
= 0, 74136507 ∗ 0, 186815602 ∗ 0, 593269992 = 0, 0822167041
∂w5
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fase 2 - Retropropagação
Corrigindo w5 : queremos estimar o quanto w5 afeta o erro total (E)
Finalmente nós temos todas as parcelas
∂Etotal ∂Etotal ∂go1 ∂uo1
= ∗ ∗
∂w5 ∂go1 ∂uo1 ∂w5
∂Etotal
= 0, 74136507 ∗ 0, 186815602 ∗ 0, 593269992 = 0, 0822167041
∂w5
Fase 2 - Retropropagação
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Resumindo:
w6 (t + 1) = w6 (t) − δo1 ∗ gh1
δo1 = −(do1 − go1 ) ∗ go1 (1 − go1 )
δo2 = −(do2 − go2 ) ∗ go2 (1 − go2 )
w2 (t + 1) = w2 (t) − δh1 ∗ i1
δh1 = (w5 ∗ δo1 + w2 ∗ δo1 ) ∗ gh1 ∗ (1 − gh1 )
δh2 = (w6 ∗ δo1 + w8 ∗ δo2 ) ∗ gh2 ∗ (1 − gh2 )
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
(mini-batch). . . . . . . . . . . . . . . . . . . . .
“Two layer network with sigmoid units in the hidden layer and
(unthresholded) linear units in the output layer - Any bounded
continuous function.” (Cybenko 1989, Hornik et. al. 1989)
“A network of three layers, where the output layer again has linear
units - Any function.” (Cybenko 1988).
Então podemos concluir que sigmóides empilhadas são a última
fronteira no aprendizado supervisionado? Certo?
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Considerações - Problemas
Gradiente diminui exponencialmente em relação ao número de
camadas.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Considerações - Problemas
Gradiente diminui exponencialmente em relação ao número de
camadas.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Considerações - Problemas
Gradiente diminui exponencialmente em relação ao número de
camadas.
Efeitos da aplicação de uma função sigmoide em cascata. Não há
inclinação detectável.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Figura: http://playground.tensorflow.org
. . . . . . . . . . . . . . . . . . . .
Considerações - TensorBoard
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Ferramentas úteis
Explicando...
A última linha cria um objeto que grava as operações em um log.
1 $ python [meuprimeirotensorboard.py]
2 $ tensorboard --logdir="./graphs"
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Ferramentas úteis
Abra seu navegador em http://localhost:6006/
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Conclusão
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .