redes neurais artificiais - ufu
TRANSCRIPT
![Page 1: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/1.jpg)
Redes Neurais Artificiais
Marcelo K. Albertini
24 de Julho de 2014
![Page 2: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/2.jpg)
Conteudo
I Perceptron
I Gradiente descendente
I Redes multicamadas
I Retropropagacao de erros
2/34
![Page 3: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/3.jpg)
Modelos conexionistas
Humanos
I Tempo de ativacao neural ∼ 0.001s
I Numero de neuronios ∼ 1010
I Conexoes por neuronio ∼ 104a5
I Tempo de reconhecimento de cenas ∼ 0.1s
Computacao paralela massiva
3/34
![Page 4: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/4.jpg)
Exemplo: carro autonomo
4/34
![Page 5: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/5.jpg)
Propriedades de redes neurais
I Muitas unidades de ativacao
I Muitas conexoes ponderadas entre unidades
I Processo altamente paralelizado
I Enfase no ajuste de pesos automatico
5/34
![Page 6: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/6.jpg)
Perceptron
Funcao deativacao
Saıda: o(x1, . . . , xn)∑
w2x2
......
wnxn
w1x1
w01
entradas pesos
o(x1, . . . , xn) =
{1 se w0 + w1x1 + . . .+ wnxn > 0−1 caso contrario.
Na notacao simplificada vetorial:
o(~x) =
{1 se ~w · ~x > 0−1 caso contrario.
6/34
![Page 7: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/7.jpg)
Superfıcie de decisao de um perceptron
++
+
−
+
+
−
−
−
++
−
−
+
+
+
−
+?
Representa algumas funcoes uteis
I Quais pesos representam g(x1, x2) = AND(x1, x2)?
Mas algumas funcoes nao sao representaveis
I Todas as nao linearmente separaveis
I Portanto, queremos redes de perceptrons para representardados nao linearmente separaveis
7/34
![Page 8: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/8.jpg)
Treino do Perceptron
wi ← wi + ∆wi
onde∆wi = η(t − o)xi
Onde:
I t = c(~x) e valor-alvo
I o e a saıda do perceptron
I η e uma constante pequena (exemplo 0.1) chamada de taxade aprendizado
8/34
![Page 9: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/9.jpg)
Regra de treino do Perceptron
Possıvel provar convergencia se
I Dados de treino sao linearmente separaveis
I η e suficientemente pequeno
9/34
![Page 10: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/10.jpg)
Gradiente descendente
Considere o caso simplificado unidade linear, onde
o = w0 + w1x1 + . . .+ wnxn
Objetivo e aprender wi que minimiza o erro quadratico
E [~w ] ≡ 1
2
∑d∈D
(td − od)2
onde D e conjunto de exemplos de treino, td e o valor de treinopara o exemplo d e od o valor obtido pelo perceptron.
10/34
![Page 11: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/11.jpg)
Figura gradiente descendente
0 0.2
0.4 0.6
0.8 1 0
0.2
0.4
0.6
0.8
1
0
0.1
0.2
0.3
0.4
0.5
E[w]
w0
w1
E[w]
11/34
![Page 12: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/12.jpg)
Calculo do gradiente
Gradiente
∇E [~w ] ≡[∂E
∂w0,∂E
∂w1, . . . ,
∂E
∂wn
]
Regra de treino
∆~w = −η∇E [~w ]
Isto e
∆wi = −η ∂E∂wi
12/34
![Page 13: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/13.jpg)
Gradiente descendente
∂E
∂wi= ∂
∂wi
12
∑d(td − od)2
= 12
∑d
∂∂wi
(td − od)2
= 12
∑d 2(td − od) ∂
∂wi(td − od)
=∑
d(td − od) ∂∂wi
(td − ~w · ~xd)
∂E
∂wi=∑
d(td − od)(−xi ,d)
13/34
![Page 14: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/14.jpg)
Gradiente descendente
∂E
∂wi= ∂
∂wi
12
∑d(td − od)2
= 12
∑d
∂∂wi
(td − od)2
= 12
∑d 2(td − od) ∂
∂wi(td − od)
=∑
d(td − od) ∂∂wi
(td − ~w · ~xd)
∂E
∂wi=∑
d(td − od)(−xi ,d)
13/34
![Page 15: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/15.jpg)
Gradiente descendente
∂E
∂wi= ∂
∂wi
12
∑d(td − od)2
= 12
∑d
∂∂wi
(td − od)2
= 12
∑d 2(td − od) ∂
∂wi(td − od)
=∑
d(td − od) ∂∂wi
(td − ~w · ~xd)
∂E
∂wi=∑
d(td − od)(−xi ,d)
13/34
![Page 16: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/16.jpg)
Gradiente descendente
∂E
∂wi= ∂
∂wi
12
∑d(td − od)2
= 12
∑d
∂∂wi
(td − od)2
= 12
∑d 2(td − od) ∂
∂wi(td − od)
=∑
d(td − od) ∂∂wi
(td − ~w · ~xd)
∂E
∂wi=∑
d(td − od)(−xi ,d)
13/34
![Page 17: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/17.jpg)
Gradiente descendente
Gradiente(exemplosDeTreino, eta)
I Inicializar wi com valor aleatorio pequenoI Fazer ate convergir (ou treinar demais)
1. Inicializar cada ∆wi para zero2. Para cada 〈~x , t〉 de exemplosDeTreino fazer
2.1 Apresentar ~x ao neuronio e calcular a saıda o2.2 Para cada peso wi fazer
∆wi ← ∆wi + η(t − o)xi
3. Para cada wi fazerwi ← wi + ∆wi
14/34
![Page 18: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/18.jpg)
Resumo
Treino do perceptron e garantido se
I Exemplos sao linearmente separaveis
I Taxa de aprendizado η suficientemente pequena e usada
Treino do perceptron com gradiente descendente
I Convergencia para hipotese de menor erro quadratico
I Mesmo quando dados de treino tem ruıdo
I Mesmo quando dados nao sao separaveis por H
15/34
![Page 19: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/19.jpg)
Treino com gradiente: em lote vs. incremental
Modo em lote
Fazer ate convergir
1. Computar o gradiente ∇ED [~w ]2. ~w ← ~w − η∇ED [~w ]
ED [~w ] ≡ 1
2
∑d∈D
(td − od)2
16/34
![Page 20: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/20.jpg)
Gradiente descendente: modo incremental
Modo incremental
Fazer ate convergirI Para cada exemplo de treino d ∈ D
1. Computar o gradiente ∇Ed [~w ]2. ~w ← ~w − η∇Ed [~w ]
Ed [~w ] ≡ 1
2(td − od)2
Gradiente descendente incremental pode aproximar o modo emlote se η for pequeno o suficiente.
17/34
![Page 21: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/21.jpg)
Redes multi-camadas de unidades sigmoides
Neural net and traditional classifiers, WY Huang, RP Lippmann -Neural information processing systems, 1988
18/34
![Page 22: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/22.jpg)
Unidade sigmoide
Funcao deativacaosigmoide
Saıda: o = σ(ganho) = 11+exp−ganho
∑w2x2
......
wnxn
w1x1
w01
entradas pesos
ganho =∑n
t=0 wixiσ(x) = 1
1+exp−x e a funcao de transferencia sigmoide
Propriedade util
∂σ(x)
∂x= σ(x)(1− σ(x))
19/34
![Page 23: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/23.jpg)
Podemos derivar regras de gradiente descendente para
I Uma unidade sigmoideI Rede multi-camadas de unidades sigmoides
I Retroprogacao de erros
20/34
![Page 24: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/24.jpg)
Gradiente de erro para uma unidade sigmoide
I ganho =∑n
t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do
neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td
∂wi= 0
∂E
∂wi= ∂
∂wi
12
∑d∈D(td − od)2 ,usa regra da soma e obtem:
= 12
∑d
∂∂wi
(td − od)2 ,usa regra da cadeia e obtem:
= 12
∑d 2(td − od) ∂
∂wi(td − od) , aplica derivada de constante e obtem:
=∑
d(td − od)(−∂od∂wi
),usa regra da cadeia e obtem:
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi
21/34
![Page 25: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/25.jpg)
Gradiente de erro para uma unidade sigmoide
I ganho =∑n
t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do
neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td
∂wi= 0
∂E
∂wi= ∂
∂wi
12
∑d∈D(td − od)2 ,usa regra da soma e obtem:
= 12
∑d
∂∂wi
(td − od)2 ,usa regra da cadeia e obtem:
= 12
∑d 2(td − od) ∂
∂wi(td − od) , aplica derivada de constante e obtem:
=∑
d(td − od)(−∂od∂wi
),usa regra da cadeia e obtem:
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi
21/34
![Page 26: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/26.jpg)
Gradiente de erro para uma unidade sigmoide
I ganho =∑n
t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do
neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td
∂wi= 0
∂E
∂wi= ∂
∂wi
12
∑d∈D(td − od)2 ,usa regra da soma e obtem:
= 12
∑d
∂∂wi
(td − od)2 ,usa regra da cadeia e obtem:
= 12
∑d 2(td − od) ∂
∂wi(td − od) , aplica derivada de constante e obtem:
=∑
d(td − od)(−∂od∂wi
),usa regra da cadeia e obtem:
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi
21/34
![Page 27: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/27.jpg)
Gradiente de erro para uma unidade sigmoide
I ganho =∑n
t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do
neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td
∂wi= 0
∂E
∂wi= ∂
∂wi
12
∑d∈D(td − od)2 ,usa regra da soma e obtem:
= 12
∑d
∂∂wi
(td − od)2 ,usa regra da cadeia e obtem:
= 12
∑d 2(td − od) ∂
∂wi(td − od) , aplica derivada de constante e obtem:
=∑
d(td − od)(−∂od∂wi
),usa regra da cadeia e obtem:
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi
21/34
![Page 28: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/28.jpg)
Gradiente de erro para uma unidade sigmoide
I ganho =∑n
t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do
neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td
∂wi= 0
∂E
∂wi= ∂
∂wi
12
∑d∈D(td − od)2 ,usa regra da soma e obtem:
= 12
∑d
∂∂wi
(td − od)2 ,usa regra da cadeia e obtem:
= 12
∑d 2(td − od) ∂
∂wi(td − od) , aplica derivada de constante e obtem:
=∑
d(td − od)(−∂od∂wi
),usa regra da cadeia e obtem:
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi21/34
![Page 29: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/29.jpg)
I Da equacao que relaciona o erro E e os pesos da rede wi :
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi
I Falta obter ∂od∂ganhod
e ∂ganhod∂wi
Lembrando que od = σ(ganhod) e ∂σ(x)∂x = σ(x)(1− σ(x)), temos:
∂od
∂ganhod=∂σ(ganhod)
∂ganhod= od(1− od)
E lembrando que ganhod = ~w · ~xd , temos do segundo termo:
∂ganhod
∂wi=∂~w · ~xd∂wi
= xi ,d
Entao, a parte da “culpa” do erro E relativa ao peso wi e
∂E
∂wi= −
∑d∈D
(td − od)od(1− od)xi ,d
22/34
![Page 30: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/30.jpg)
I Da equacao que relaciona o erro E e os pesos da rede wi :
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi
I Falta obter ∂od∂ganhod
e ∂ganhod∂wi
Lembrando que od = σ(ganhod) e ∂σ(x)∂x = σ(x)(1− σ(x)), temos:
∂od
∂ganhod=∂σ(ganhod)
∂ganhod= od(1− od)
E lembrando que ganhod = ~w · ~xd , temos do segundo termo:
∂ganhod
∂wi=∂~w · ~xd∂wi
= xi ,d
Entao, a parte da “culpa” do erro E relativa ao peso wi e
∂E
∂wi= −
∑d∈D
(td − od)od(1− od)xi ,d
22/34
![Page 31: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/31.jpg)
I Da equacao que relaciona o erro E e os pesos da rede wi :
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi
I Falta obter ∂od∂ganhod
e ∂ganhod∂wi
Lembrando que od = σ(ganhod) e ∂σ(x)∂x = σ(x)(1− σ(x)), temos:
∂od
∂ganhod=∂σ(ganhod)
∂ganhod= od(1− od)
E lembrando que ganhod = ~w · ~xd , temos do segundo termo:
∂ganhod
∂wi=∂~w · ~xd∂wi
= xi ,d
Entao, a parte da “culpa” do erro E relativa ao peso wi e
∂E
∂wi= −
∑d∈D
(td − od)od(1− od)xi ,d
22/34
![Page 32: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/32.jpg)
I Da equacao que relaciona o erro E e os pesos da rede wi :
∂E
∂wi= −
∑d
(td − od)∂od
∂ganhod
∂ganhod
∂wi
I Falta obter ∂od∂ganhod
e ∂ganhod∂wi
Lembrando que od = σ(ganhod) e ∂σ(x)∂x = σ(x)(1− σ(x)), temos:
∂od
∂ganhod=∂σ(ganhod)
∂ganhod= od(1− od)
E lembrando que ganhod = ~w · ~xd , temos do segundo termo:
∂ganhod
∂wi=∂~w · ~xd∂wi
= xi ,d
Entao, a parte da “culpa” do erro E relativa ao peso wi e
∂E
∂wi= −
∑d∈D
(td − od)od(1− od)xi ,d
22/34
![Page 33: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/33.jpg)
I Definicao: δk = − ∂E∂ganhok
sera a parte do erro passadaas camadas internas
I δk e obtido desde a ultimacamada ate a de entrada
∂E
∂ganhoj=∑
k∈Saidas(j)∂E
∂ganhok
∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂oj
∂oj∂ganhoj
=∑
k∈Saidas(j)−δkwkj∂oj
∂ganhoj
=∑
k∈Saidas(j)−δkwkjoj(1− oj)
δj = − ∂E
∂ganhoj= oj(1− oj)
∑k∈Saidas(j)
δkwkj
23/34
![Page 34: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/34.jpg)
I Definicao: δk = − ∂E∂ganhok
sera a parte do erro passadaas camadas internas
I δk e obtido desde a ultimacamada ate a de entrada
∂E
∂ganhoj=∑
k∈Saidas(j)∂E
∂ganhok
∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂oj
∂oj∂ganhoj
=∑
k∈Saidas(j)−δkwkj∂oj
∂ganhoj
=∑
k∈Saidas(j)−δkwkjoj(1− oj)
δj = − ∂E
∂ganhoj= oj(1− oj)
∑k∈Saidas(j)
δkwkj
23/34
![Page 35: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/35.jpg)
I Definicao: δk = − ∂E∂ganhok
sera a parte do erro passadaas camadas internas
I δk e obtido desde a ultimacamada ate a de entrada
∂E
∂ganhoj=∑
k∈Saidas(j)∂E
∂ganhok
∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂oj
∂oj∂ganhoj
=∑
k∈Saidas(j)−δkwkj∂oj
∂ganhoj
=∑
k∈Saidas(j)−δkwkjoj(1− oj)
δj = − ∂E
∂ganhoj= oj(1− oj)
∑k∈Saidas(j)
δkwkj
23/34
![Page 36: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/36.jpg)
I Definicao: δk = − ∂E∂ganhok
sera a parte do erro passadaas camadas internas
I δk e obtido desde a ultimacamada ate a de entrada
∂E
∂ganhoj=∑
k∈Saidas(j)∂E
∂ganhok
∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂oj
∂oj∂ganhoj
=∑
k∈Saidas(j)−δkwkj∂oj
∂ganhoj
=∑
k∈Saidas(j)−δkwkjoj(1− oj)
δj = − ∂E
∂ganhoj= oj(1− oj)
∑k∈Saidas(j)
δkwkj
23/34
![Page 37: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/37.jpg)
I Definicao: δk = − ∂E∂ganhok
sera a parte do erro passadaas camadas internas
I δk e obtido desde a ultimacamada ate a de entrada
∂E
∂ganhoj=∑
k∈Saidas(j)∂E
∂ganhok
∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂oj
∂oj∂ganhoj
=∑
k∈Saidas(j)−δkwkj∂oj
∂ganhoj
=∑
k∈Saidas(j)−δkwkjoj(1− oj)
δj = − ∂E
∂ganhoj= oj(1− oj)
∑k∈Saidas(j)
δkwkj
23/34
![Page 38: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/38.jpg)
I Definicao: δk = − ∂E∂ganhok
sera a parte do erro passadaas camadas internas
I δk e obtido desde a ultimacamada ate a de entrada
∂E
∂ganhoj=∑
k∈Saidas(j)∂E
∂ganhok
∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂ganhoj
=∑
k∈Saidas(j)−δk∂ganhok∂oj
∂oj∂ganhoj
=∑
k∈Saidas(j)−δkwkj∂oj
∂ganhoj
=∑
k∈Saidas(j)−δkwkjoj(1− oj)
δj = − ∂E
∂ganhoj= oj(1− oj)
∑k∈Saidas(j)
δkwkj
23/34
![Page 39: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/39.jpg)
Algoritmo de retropagacao
I Inicializar todos os pesos para valores aleatorios pequenos.I Ate convergencia, faca para cada exemplo de treino
1. Apresente exemplo a rede e compute a saıda da rede2. Para cada unidade de saıda k
δk ← ok(1− ok)(tk − ok)
3. Para cada unidade interna h
δh ← oh(1− oh)∑
k∈saidas
δkwhk
4. Atualizar cada peso da rede wij
wij ← wij + ∆wij
onde ∆wij = ηδjxij
24/34
![Page 40: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/40.jpg)
Mais em retroprogacao
I Gradiente descendente sobre toda rede de vetores de pesos
I Generalizavel para grafos direcionados (redes neuraisrecorrentes)
I Encontra mınimo local
I Funciona bem na pratica ao rodar varias vezes
I Frequentemente inclui um momentum do peso α
∆wi ,j(n) = ηδjxi ,j + α∆wi ,j(n − 1)I Minimiza erro nos exemplos de treino
I necessario cuidado para evitar overfitting
I Treino pode ser lento, mas usar a rede treinada e rapido
25/34
![Page 41: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/41.jpg)
Capacidade de representacao de redes neurais
Funcoes booleanas
I Toda funcao booleana pode ser representada por uma redecom apenas uma camada interna
I Mas pode ser necessario um numero exponencial de unidadesinternas em relacao ao numero de entradas
Funcoes contınuas
I Toda funcao contınua compacta pode ser aproximada comerro arbitrariamente pequeno por rede com uma camadainterna
I Qualquer funcao pode ser aproximada com acuracia arbitrariapor uma rede com duas camadas internas
26/34
![Page 42: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/42.jpg)
Evitando overfitting: opcoes
I Penalizar pesos grandes:
E (~w) ≡ 1
2
∑d∈D
∑k∈saidas
(tkd − okd)2 + γ∑i ,j
w2ji
I Treino em inclinacoes alvo e em valores:
E (~w) ≡ 1
2
∑d∈D
∑k∈saidas
(tkd − o + kd)2 + µ∑
j∈entradas(∂tkd
∂x jd− ∂okd
∂x jd)2
I Compartilhamento de pesos
I Criterio de parada prematura
27/34
![Page 43: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/43.jpg)
Precursor de deep learning
Figura: Fonte: Neural net and traditional classifiers de Huang& Lippmann (1988).
28/34
![Page 44: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/44.jpg)
Deep learning
I Redes com varias camadas intermediarias
I Objetivo: atingir nıveis mais “profundos” de abstracao
I Custo de treino relativamente alto
I Uso com grandes bases de dados
I Resultados empıricos e pouco teoricos
I Referencia: Deep Learning Tutorial:deeplearning.net/tutorial/deeplearning.pdf
1. Para cada camada
1.1 Pre-treinar separadamente com algoritmo nao supervisionado1.2 Empilhar nas camadas previamente treinadas e refinar com
retropropagacao
I Uso de tecnicas para melhoria do aprendizado.
29/34
![Page 45: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/45.jpg)
Tecnicas: inicializacao
Para usar tanh como funcao de ativacao, inicializar pesos noseguinte intervalo:
[−√
6
fanin + fanout,
√6
fanin + fanout]
Facilita propagacao e correcao de erros.
30/34
![Page 46: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/46.jpg)
Tecnicas: taxa de aprendizado
I Varredura em 10−1, 10−2, . . . , e concentrar no intervalo demenor erro de validacao
I Descrescente µ01+d×t , com µ0 inicial e d sendo uma constante
de decrescimo
31/34
![Page 47: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/47.jpg)
Tecnicas: atualizacao de pesos em minibatch
I Intermediario entre estocastico e em lote.
I Estimativa grosseira do gradiente.
I Ajuda a reduzir custo computacional.
I Varia de acordo com o numero de epocas usado.
32/34
![Page 48: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/48.jpg)
Parada antes de overfitting
I Usar conjunto de validacao.
I Verificar periodicamente o desempenho no conjunto devalidacao. Quando piorar, para.
I Verificar pode envolver usar teste de hipotese ou uma simplescomparacao.
33/34
![Page 49: Redes Neurais Artificiais - UFU](https://reader033.vdocuments.site/reader033/viewer/2022052514/628bf965a5c8a3022b1b0107/html5/thumbnails/49.jpg)
Redes neurais: sumario
I Perceptrons
I Gradiente descendente
I Redes multi-camadas
I Retroprogacao de erros
I Deep learning
34/34