Vous êtes sur la page 1sur 89

Introduo Back-propagation (BP) MLPs Convoluo

SCC-5809 - Captulo 5
Perceptron Multicamadas
Joo Lus Garcia Rosa
1
1
SCC-ICMC-USP - joaoluis@icmc.usp.br
2011
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 1/89
Introduo Back-propagation (BP) MLPs Convoluo
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 2/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 3/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
O perceptron
Como j visto, o primeiro modelo matemtico do neurnio
foi proposto por McCulloch & Pitts em 1943 [3].
Mais tarde em 1957, Rosenblatt [5] criou o modelo do
perceptron.
Um perceptron modela um neurnio tomando uma soma
ponderada de suas entradas e enviando a sada 1 (spike)
se esta soma maior que um determinado limiar de
ativao.
O perceptron, com funo de ativao linear, pode ser
modelado como um discriminador linear:
dados 2 pontos, uma reta capaz de discriminar esses 2
pontos,
para algumas conguraes de m pontos, uma reta
capaz de separar estes pontos em 2 classes.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 4/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
Limitaes do perceptron de camada nica
O perceptron uma rede feedforward (no recorrente) de
uma nica camada.
O perceptron s capaz de aprender a soluo de
problemas linearmente separveis.
O algoritmo de aprendizagem do perceptron (regra delta)
no funciona com redes de mais de uma camada.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 5/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 6/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
Mais camadas
Redes Neurais alimentadas frente com mltiplas
camadas:
Um conjunto de unidades sensoriais (ns fonte): camada
de entrada.
Uma ou mais camadas escondidas de ns computacionais.
Uma camada de sada de ns computacionais.
O sinal de entrada se propaga atravs da rede numa
direo s frente, camada por camada.
Essas redes so conhecidas como perceptrons
multicamadas (MLP), uma generalizao do perceptron de
camada nica.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 7/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
Perceptrons Multicamadas
MLP tm sido aplicados com sucesso para resolver
diversos e difceis problemas.
Treinados de forma supervisionada
Algoritmo muito popular: error back-propagation [1, 6],
baseado na regra de aprendizado de correo de erro:
Generalizao do algoritmo do ltro adaptativo: LMS.
Duas fases: um passo frente e um passo para trs.
No passo frente, um padro de atividade (vetor de
entrada) aplicado aos ns sensoriais da rede e seu efeito
propagado atravs da rede camada por camada.
Por m, um conjunto de sadas produzido como resposta
real da rede.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 8/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
Perceptrons Multicamadas
BP:
Durante o passo frente, os pesos sinpticos so xos.
Durante o passo para trs, os pesos sinpticos so
ajustados de acordo com uma regra de correo de erro.
Especicamente, a resposta real subtrada da resposta
desejada para produzir um sinal de erro.
Este sinal de erro propagado de volta atravs da rede,
em sentido contrrio aos estmulos.
Os pesos so ajustados para fazer a resposta real se
aproximar da resposta desejada, de uma forma estatstica.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 9/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
Caractersticas do MLP
Caractersticas do MLP:
1
O modelo de cada neurnio da rede inclui uma funo de
ativao no-linear, a no-linearidade sigmoidal denida
pela funo logstica:
y
j
=
1
1 + exp(v
j
)
(1)
onde v
j
o campo local induzido (isto , a soma ponderada
das entradas mais o bias) do neurnio j e y
j
a sada.
2
A rede contm uma ou mais camadas de neurnios
escondidos, que no so parte da entrada nem da sada.
3
A rede exibe um alto grau de conectividade, determinado
pelas sinapses.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 10/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
MLP
A gura 6 abaixo [2] mostra um grafo arquitetural de um
perceptron multi-camadas com duas camadas escondidas
e uma camada de sada.
Esta rede totalmente conectada.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 11/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
MLP
A gura 7 abaixo [2] mostra uma poro de um MLP.
Dois tipos de sinais so identicados:
1
Sinais de funo: sinal de entrada (estmulo) que chega na
entrada, propaga-se para frente (neurnio por neurnio)
atravs da rede e emerge na sada da rede como um sinal
de sada. Tambm conhecido como sinais de entrada.
2
Sinais de erro: origina em um neurnio de sada da rede e
propaga-se de volta (camada por camada) atravs da rede.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 12/89
Introduo Back-propagation (BP) MLPs Convoluo O Perceptron de camada nica O Perceptron Multicamadas
MLP
Cada neurnio escondido ou de sada de um MLP realiza
duas computaes:
1
Sinal de funo que aparece na sada de um neurnio,
expresso como um funo no-linear contnua do sinal de
entrada e pesos associados.
2
Estimativa do vetor gradiente (isto , os gradientes da
superfcie de erro com respeito aos pesos conectados s
entradas de um neurnio), necessria para o passo para
trs atravs da rede.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 13/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 14/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Algoritmo de aprendizagem LMS
Algoritmo de aprendizagem usado por perceptrons de uma
nica camada.
LMS = Least-Mean-Square.
Seja um conjunto de treinamento composto de l padres
de entrada/sada desejada.
Como a rede tem m unidades de entrada x e n unidades
de sada desejada d, cada um dos l padres do tipo:
((x
1
, ..., x
m
), (d
1
, ..., d
n
))
Uma vez que se apresenta rede os l padres de
treinamento, pode-se obter uma medida do erro produzido
pela rede.
O erro funo:
de cada padro, e
do erro produzido em cada unidade de sada, quando cada
padro apresentado.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 15/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Treinamento Supervisionado: Regra delta
Figure: A direo do gradiente negativo a de descida mais ngreme
(steepest descent).
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 16/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Algoritmo de aprendizagem LMS
Se...
a rede aprende perfeitamente os padres de treinamento, e
os padres de treinamento reetem perfeitamente a tarefa
que se quer aprender
Ento...
aps o treinamento, o erro ser zero.
A principal causa do erro vem das diferenas entre sada
real e sada desejada, que decorre da sada produzida por
pesos (e biases) incorretos.
Aprender signica achar os pesos que tornem mnimo o
erro.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 17/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Algoritmo de aprendizagem LMS
O erro total aps o treinamento :
(w) =
l

p=1

p
(2)
onde
p
o erro produzido quando o p-simo padro de
treinamento apresentado rede.
O erro
p
pode ser medido de vrias maneiras, mas a
medida mais usada o erro quadrtico mdio:

p
=
1
2
n

k=1
(d
k
y
k
)
2
(3)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 18/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Back-propagation
A diculdade de aplicar a regra delta: como calcular o erro
para uma unidade da camada escondida?
Soluo: (Error) Back-propagation Generalizao da
regra delta.
Back-propagation um algoritmo supervisionado, que
requer duas fases:
propagao da ativao, e
retropropagao do erro.
permite calcular o erro baseado s em informao local:
disponvel nos pesos e unidades prximas ao peso que
est sendo modicado (como no SNC).
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 19/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Error Back-propagation
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 20/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Gradiente [4]
Gradiente:
f (x, y) = (

x
f (x, y),

y
f (x, y)) (4)
Derivada direcional:
D
u
f (x, y) = f (x, y).u = f (x, y) u cos (5)
D
u
f (x, y) = f (x, y) cos (6)
D
u
f (x, y) a taxa de variao de f (x, y) na direo
denida por u.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 21/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Gradiente [4]
Teorema do gradiente: Seja f uma funo de duas
variveis diferencivel no ponto P(x, y).
O mximo de D
u
f (x, y) em P(x, y) f (x, y) .
O mximo da taxa de crescimento de f (x, y) em P(x, y)
ocorre na direo de f (x, y).
Corolrio: Seja f uma funo de duas variveis,
diferencivel no ponto P(x, y).
O mnimo de D
u
f (x, y) em P(x, y) f (x, y) .
O mximo da taxa de decrescimento de f (x, y) em P(x, y)
ocorre na direo de f (x, y).
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 22/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Gradiente [4]
Mtodo do Gradiente Descendente (GD):
w
ij
=

j
w
ij
(7)
Cada peso sinptico i do elemento processador j
atualizado proporcionalmente ao negativo da derivada
parcial do erro deste processador com relao ao peso.
Logo
w
ij
=

j
w
ij
=

j
y
j
y
j
w
ij
(8)
Como
j
=
1
2
(d
j
y
j
)
2
,

j
y
j
= 2.
1
2
(d
j
y
j
).(1).
Como y
j
=

x
i
w
ij
+
j
,
y
j
w
ij
= x
i
Assim, w
ij
= x
i
(d
j
y
j
)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 23/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Energia do erro
O sinal de erro na sada do neurnio j na iterao n (isto ,
apresentao do n-simo exemplo de treinamento)
denido por:
e
j
(n) = d
j
(n) y
j
(n) (9)
Dene-se o valor instantneo da energia do erro para o
neurnio j como
1
2
e
2
j
(n).
O valor instantneo (n) da energia do erro total obtida
somando
1
2
e
2
j
(n) de todos os neurnios da camada de
sada:
(n) =
1
2

j C
e
2
j
(n) (10)
onde o conjunto C inclui todos os neurnios da camada de
sada.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 24/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Energia do erro
A energia do erro quadrtico mdio obtida somando (n)
de todo n e normalizando em relao a N, o nmero total
de padres (exemplos) do conjunto de treinamento:

av
=
1
N
N

n=1
(n) (11)
(n), e portanto
av
, funo de todos os parmetros
livres (pesos sinpticos e biases).

av
representa a funo custo como uma medida da
performance do aprendizado.
O objetivo minimizar
av
, sendo para isso, usada uma
aproximao similar adotada para a derivao do
algoritmo LMS.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 25/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
Considera-se um mtodo onde os pesos so atualizados
numa base padro a padro at que uma poca tenha
acontecido, isto , at que todo o conjunto de treinamento
tenha sido apresentado rede.
Os ajustes aos pesos so feitos de acordo com os
respectivos erros computados para cada padro
apresentado rede.
A mdia aritmtica destas mudanas de peso uma
estimativa da mudana real resultante da modicao dos
pesos baseada na minimizao da funo custo
av
sobre
todo o conjunto de treinamento.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 26/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Campo local induzido
O campo local induzido v
j
(n) produzido na entrada da
funo de ativao associada com o neurnio j :
v
j
(n) =
m

i =0
w
ji
(n)y
i
(n) (12)
onde m o nmero total de entradas (excluindo o bias)
aplicadas ao neurnio j .
O peso sinptico w
j 0
(correspondendo entrada xa
y
0
= +1) igual ao bias b
j
aplicado ao neurnio j .
Portanto o sinal de funo y
j
(n) que aparece na sada do
neurnio j na iterao n
y
j
(n) =
j
(v
j
(n)) (13)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 27/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
Similarmente ao algoritmo LMS, BP aplica uma correo
w
ji
(n) ao peso sinptico w
ji
(n) proporcional derivada
parcial (n)/w
ji
(n). De acordo com a regra da cadeia,
este gradiente pode ser expresso:
(n)
w
ji
(n)
=
(n)
e
j
(n)
e
j
(n)
y
j
(n)
y
j
(n)
v
j
(n)
v
j
(n)
w
ji
(n)
(14)
A derivada parcial (n)/w
ji
(n) representa um fator de
sensibilidade. que determina a direo da busca no
espao de pesos para o peso sinptico w
ji
.
Diferenciando ambos os lados da equao 10 com
respeito a e
j
(n):
(n)
e
j
(n)
= e
j
(n) (15)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 28/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
Diferenciando ambos os lados da equao 9 com respeito
a y
j
(n):
e
j
(n)
y
j
(n)
= 1 (16)
Agora diferenciando a equao 13 com respeito a v
j
(n):
y
j
(n)
v
j
(n)
=

j
(v
j
(n)) (17)
Finalmente, diferenciando a equao 12 com respeito a
w
ji
(n):
v
j
(n)
w
ji
(n)
= y
i
(n) (18)
O uso das equaes 15 a 18 em 14:
(n)
w
ji
(n)
= e
j
(n)

j
(v
j
(n))y
i
(n) (19)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 29/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 30/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Gradiente descendente
A correo w
ji
(n) aplicada a w
ji
(n) denida pela regra
delta:
w
ji
(n) =
(n)
w
ji
(n)
(20)
O uso de sinal de menos justica o gradiente
descendente no espao de pesos (isto , a busca de uma
direo para a mudana do peso que reduza o valor de
(n)).
Assim, o uso das equaes 19 em 20:
w
ji
(n) =
j
(n)y
i
(n) (21)
onde o gradiente local
j
(n) denido por

j
(n) =
(n)
v
j
(n)
=
(n)
e
j
(n)
e
j
(n)
y
j
(n)
y
j
(n)
v
j
(n)
= e
j
(n)

j
(v
j
(n))
(22)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 31/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Gradiente local
De acordo com a equao 22, o gradiente local
j
(n) para
o neurnio de sada j igual ao produto do sinal de erro
correspondente e
j
(n) para esse neurnio e a derivada

j
(v
j
(n)) da funo de ativao associada.
Observe que, a partir das equaes 21 e 22, o sinal de
erro e
j
(n) um fator chave no ajuste de pesos w
ji
(n).
Dois casos distintos:
1
neurnio j sada: simples, pois h uma resposta
desejada. Usa-se a equao 9 para computar o sinal de
erro e
j
(n) associado a este neurnio; veja gura 2.
Determinado e
j
(n), fcil computar o gradiente local
j
(n)
usando a equao 22.
2
neurnio j escondido: como penalizar ou recompensar
neurnios escondidos?
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 32/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Neurnio de sada
Figure: Grafo do uxo de sinal mostrando os detalhes do neurnio de
sada j [2].
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 33/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Neurnio escondido
Caso 2: Neurnio j escondido:
Neste caso, no h resposta desejada para este neurnio.
O sinal de erro deve ser determinado recursivamente em
termos dos sinais de erro de todos os neurnios aos quais
o neurnio escondido est diretamente conectado: BP
torna-se complicado!
Veja a situao retratada na gura 3, que mostra o
neurnio j como um n escondido da rede.
De acordo com a equao 22, pode-se redenir o gradiente
local
j
(n) para o neurnio escondido j como

j
(n) =
(n)
y
j
(n)
y
j
(n)
v
j
(n)
=
(n)
y
j
(n)

j
(v
j
(n)) (23)
onde na segunda parte foi usada a equao 17.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 34/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Neurnio de sada conectado ao neurnio escondido
Figure: Grafo do uxo de sinal mostrando os detalhes do neurnio de
sada k conectado ao neurnio escondido j [2].
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 35/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
Para calcular a derivada parcial
(n)
y
j
(n)
, da gura 3, v-se
que:
(n) =
1
2

kC
e
2
k
(n) (24)
que a equao 10 com o k no lugar do j .
Diferenciando a equao 24 com respeito ao sinal de
funo y
j
(n) tem-se
(n)
y
j
(n)
=

k
e
k
e
k
(n)
y
j
(n)
(25)
Depois, usa-se a regra da cadeia para a derivada parcial
e
k
(n)
y
j
(n)
, re-escrevendo a equao 25 na forma equivalente:
(n)
y
j
(n)
=

k
e
k
e
k
(n)
v
k
(n)
v
k
(n)
y
j
(n)
(26)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 36/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
Entretanto, da gura 3, nota-se que:
e
k
(n) = d
k
(n) y
k
(n) = d
k
(n)
k
(v
k
(n)) (27)
Portanto,
e
k
(n)
v
k
(n)
=

k
(v
k
(n)) (28)
Nota-se da gura 3 que, para o neurnio de sada k, o
campo local induzido
v
k
(n) =
m

j =0
w
kj
(n)y
j
(n) (29)
onde m o nmero total de entradas (excluindo o bias)
aplicadas ao neurnio k.
De novo, w
k0
(n) = b
k
(n) e a entrada correspondente xa
em +1.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 37/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Frmula do BP
Diferenciando a equao 29 com respeito a y
j
(n):
v
k
(n)
y
j
(n)
= w
kj
(n) (30)
Usando as equaes 28 e 30 em 26:
(n)
y
j
(n)
=

k
e
k
(n)

k
(v
k
(n))w
kj
(n) =

k
(n)w
kj
(n)
(31)
onde, na segunda parte, foi usada a denio de gradiente
local
k
(n) da equao 22.
Finalmente, usando a equao 31 em 23, tem-se a
frmula do back-propagation para o gradiente local
j
(n):

j
(n) =

j
(v
j
(n))

k
(n)w
kj
(n) (32)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 38/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
A gura 10 abaixo [2] mostra a representao do grafo do
uxo de sinal da equao 32, assumindo que a camada de
sada contm m
L
neurnios.
A correo w
ji
(n) aplicada ao peso sinptico entre os
neurnios i e j denida pela regra delta:
w
ji
(n) = .
j
(n).y
i
(n) (33)
onde y
i
(n) o sinal de entrada do neurnio j .
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 39/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
O gradiente local
j
(n) depende se o neurnio j um
neurnio de sada ou escondido:
1
Se j de sada,
j
(n) igual ao produto da derivada

j
(v
j
(n)) e o sinal de erro e
j
(n), ambos associados ao
neurnio j (vide equao 22).
2
Se j escondido,
j
(n) igual ao produto da derivada
associada

j
(v
j
(n)) e a soma ponderada dos s computada
para os neurnios da prxima camada escondida ou de
sada que esto conectados ao neurnio j (vide
equao 32).
A aplicao do BP requer dois passos de computao:
1
Passo para frente: os pesos mantm-se xos e os sinais
de funo so computados neurnio por neurnio.
2
Passo para trs: os pesos so alterados, atravs do clculo
do gradiente local para cada neurnio, da camada de sada
para a entrada.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 40/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
Passo para frente:
Sinal de funo:
y
j
(n) = (v
j
(n)) (34)
onde
v
j
(n) =
m

i =0
w
ji
(n)y
i
(n) (35)
Se j est na primeira camada escondida, m = m
0
e o
ndice i refere-se ao i -simo terminal de entrada da rede:
y
i
(n) = x
i
(n) (36)
onde x
i
(n) o i -simo elemento do vetor (padro) de
entrada.
Se j est na camada de sada, m = m
L
e j refere-se ao
j -simo terminal de sada:
y
j
(n) = o
j
(n) (37)
onde o
j
(n) o j -simo elemento do vetor (padro) de
sada.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 41/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
BP
Passo para frente (cont.):
o
j
(n) comparada resposta desejada d
j
(n), obtendo-se o
sinal de erro e
j
(n) para o j -simo neurnio de sada.
Portanto, a fase para frente comea na primeira camada
escondida atravs da apresentao do vetor de entrada e
termina na camada de sada computando o sinal de erro
para cada neurnio desta camada.
Passo para trs:
Comea na camada de sada passando os sinais de erro
para trs na rede, camada por camada, recursivamente
computando o (gradiente local) para cada neurnio.
Esse processo recursivo permite mudanas nos pesos
sinpticos de acordo com a regra delta da equao 33.
Para um neurnio localizado na camada de sada, igual
ao sinal de erro multiplicado pela primeira derivada de sua
no-linearidade (gura 10).
Para as outras camadas, calcula-se o atravs da
equao 32.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 42/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 43/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Funo de Ativao
Para a computao do de cada neurnio do MLP h a
necessidade de se conhecer a derivada da funo de
ativao () associada ao neurnio.
Para que exista a derivada, () deve ser contnua
(diferencivel).
No-linearidade sigmoidal:
1
Funo logstica:

j
(v
j
(n)) =
1
1 + exp(av
j
(n))
, a > 0, < v
j
(n) <
(38)
2
Funo tangente hiperblica:

j
(v
j
(n)) = a tanh(bv
j
(n)), (a, b) > 0 (39)
onde a e b so constantes.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 44/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Funo de Ativao
1 Funo logstica:
De acordo com esta no-linearidade, a amplitude da sada
ca 0 y
j
1.
Diferenciando a equao 38 com respeito a v
j
(n):

j
(v
j
(n)) =
a exp(av
j
(n))
(1 + exp(av
j
(n)))
2
(40)
Com y
j
(n) =
j
(v
j
(n)), elimina-se o termo exponencial:

j
(v
j
(n)) = a y
j
(n)(1 y
j
(n)) (41)
Para um neurnio j da camada de sada, y
j
(n) = o
j
(n):

j
(n) = e
j
(n)

j
(v
j
(n)) = a(d
j
(n) o
j
(n))o
j
(n)(1 o
j
(n)) (42)
Por outro lado, para j escondido:

j
(n) =

j
(v
j
(n))

k
(n)w
kj
(n) = ay
j
(n)(1y
j
(n))

k
(n)w
kj
(n)
(43)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 45/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Funo de Ativao
1 Funo logstica (cont.):
Note, a partir da equao 41, que a derivada

j
(v
j
(n)) tem
seu valor mximo em y
j
(n) = 0.5 e seu valor mnimo (zero)
em y
j
(n) = 0 ou y
j
(n) = 1.
Como a quantidade de mudana em um peso sinptico
proporcional derivada

j
(v
j
(n)), segue que os pesos so
mudados o mximo onde os sinais de funo esto na
metade: caracterstica do aprendizado do BP que contribui
para sua estabilidade [6].
2 Funo tangente hiperblica:
A derivada de 39 com respeito a v
j
(n):

j
(v
j
(n)) = ab sech
2
(bv
j
(n)) = ab(1 tanh
2
(bv
j
(n))) (44)

j
(v
j
(n)) =
b
a
(a y
j
(n))(a + y
j
(n)) (45)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 46/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Funo de Ativao
2 Funo tangente hiperblica (cont.):
Para j na sada:

j
(n) = e
j
(n)

j
(v
j
(n)) =
b
a
(d
j
(n) o
j
(n))(a o
j
(n))(a + o
j
(n))
(46)
Para j na escondida:

j
(n) =

j
(v
j
(n))

k
(n)w
kj
(n) (47)

j
(n) =
b
a
(a y
j
(n))(a + y
j
(n))

k
(n)w
kj
(n) (48)
Usando as equaes 42 e 43 para a funo logstica e as
equaes 46, 47 e 48 para a tanh, pode-se calcular
j
sem
conhecimento explcito da funo de ativao.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 47/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Taxa de aprendizado
BP prov uma aproximao trajetria no espao de
pesos computado pelo mtodo do steepest descent.
Quanto menor for , menores as mudanas nos pesos
sinpticos entre duas iteraes e mais suave a trajetria
no espao de pesos.
O custo um aprendizado mais lento.
Para muito grande, a rede pode car instvel.
Uma forma de aumentar sem o perigo da instabilidade
modicar a regra delta da equao 21 incluindo um termo
momentum [6]:
w
ji
(n) = w
ji
(n 1) +
j
(n)y
i
(n) (49)
onde , nmero positivo, chamado de constante
momentum, que controla o loop de retro-alimentao que
age em volta de w
ji
(n) (gura 7 [2]).
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 48/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Taxa de aprendizado
A equao 49 chamada de regra delta generalizada,
que inclui a regra delta da equao 21 como um caso
especial ( = 0).
Re-escrevendo a equao 49 como uma srie temporal: o
ndice t vai de 0 a n.
w
ji
(n) =
n

t =0

nt

j
(t )y
i
(t ) (50)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 49/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Taxa de aprendizado
Das equaes 19 e 22 nota-se que

j
(n)y
i
(n) =
(n)
w
ji
(n)
(51)
Assim
w
ji
(n) =
n

t =0

nt
(t )
w
ji
(t )
(52)
3 observaes:
1
w
ji
(n) representa a soma de uma srie temporal
exponencialmente ponderada. Para que seja convergente:
0 | |< 1.
2
Quando
(n)
w
ji
(n)
tem o mesmo sinal algbrico em iteraes
consecutivas, w
ji
(n) cresce em magnitude.
3
Quando
(n)
w
ji
(n)
tem sinais opostos em iteraes
consecutivas, w
ji
(n) encolhe em magnitude.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 50/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Critrios de parada
No se pode provar que BP converge.
Assim, no h critrios bem denidos de parada.
A ideia considerar as propriedades dos mnimos locais
ou globais da superfcie do erro.
Seja o vetor de peso w

denotando um mnimo, seja local


ou global.
Uma condio necessria para w

ser mnimo que o


vetor gradiente g(w) (derivada parcial de primeira ordem)
da superfcie do erro com relao ao vetor de pesos w
seja zero em w = w

.
Critrio 1: O algoritmo BP converge quando a
norma Euclidiana do vetor gradiente alcana um
limiar de gradiente sucientemente pequeno.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 51/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Critrios de parada
A desvantagem do critrio 1 que, para tentativas bem
sucedidas, os tempos de aprendizado podem ser longos.
Alm disso, requer a computao do vetor gradiente g(w).
Outro ponto a se considerar que a funo custo ou
medida de erro
av
(w) estacionria no ponto w = w

:
Critrio 2: O algoritmo BP converge quando a
taxa absoluta de mudana no erro quadrtico
mdio por poca suciente pequeno.
Essa taxa considerada pequena na faixa de 0.1 a 1%
por poca (as vezes, 0.01%).
Este critrio pode resultar numa terminao prematura do
processo de aprendizado.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 52/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Back-propagation
O algoritmo supervisionado back-propagation pode ser
resumido:
1
Propague a ativao
da camada de entrada para a escondida,
da camada escondida para a de sada.
2
Calcule o erro.
para as unidades de sada,
Retropropague o erro para as unidades escondidas e para
as de entrada.
Os passos 1 e 2 constituem um ciclo de ativao.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 53/89
Introduo Back-propagation (BP) MLPs Convoluo Algoritmo LMS Gradientes Funo de Ativao
Back-propagation
Os problemas do back-propagation:
bastante caro computacionalmente (lento),
No resolve bem problemas de grande porte,
s vezes, a soluo encontrada um mnimo local - um
valor localmente mnimo para a funo erro.
Vantagens do back-propagation:
poder de aproximao universal:
dada uma funo contnua, existe uma rede de duas
camadas (uma escondida) que pode ser treinada por
back-propagation de modo a aproximar o quanto se queira
essa funo.
algoritmo mais usado.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 54/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 55/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Problema XOR
No perceptron de nica camada no h neurnio
escondido, porisso no possvel classicar padres de
entrada que no so linearmente separveis.
Entretanto, padres no linearmente separveis so
comuns.
Por exemplo, o problema do ou-exclusivo (XOR), que pode
ser visto como um caso especial de um problema mais
geral, a classicao de pontos no hipercubo unitrio.
Cada ponto no hipercubo ou da classe 0 ou da classe 1.
Porm, no caso do XOR, precisa-se considerar apenas os
quatro cantos do quadrado unitrio, que correspondem
aos padres de entrada (0,0), (0,1), (1,1) e (1,0).
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 56/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Conjunto de pontos linearmente separveis
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 57/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Conjunto de pontos no-linearmente separveis (por 1 reta)
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 58/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
OU Exclusivo
{(0, 0), 0; (0, 1), 1; (1, 0), 1; (1, 1), 0}
E por n retas?
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 59/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
OU Exclusivo
Pode-se resolver o problema XOR usando uma nica
camada escondida com dois neurnios (veja gura 7a [2]).
O grafo do uxo de sinal mostrado na gura 7b [2].
Assume-se:
Cada neurnio representado por um modelo de
McCulloch-Pitts [3], que usa uma funo limiar como
funo de ativao.
Os bits 0 e 1 so representados pelos nveis 0 e +1,
respectivamente.
O neurnio 1 da camada escondida caracterizado como:
w
11
= w
12
= +1 b
1
=
3
2
(53)
A inclinao do limite de deciso construdo por esse
neurnio escondido igual a -1 (veja gura 8a [2]).
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 60/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
OU Exclusivo
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 61/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
OU Exclusivo
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 62/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
OU Exclusivo
O neurnio 2 da camada escondida caracterizado por:
w
21
= w
22
= +1 b
2
=
1
2
(54)
A orientao e posio do limite de deciso construdo
pelo segundo neurnio so mostrados na gura 8b [2].
O neurnio de sada 3 caracterizado como:
w
31
= 2 w
32
= +1 b
3
=
1
2
(55)
A funo desse neurnio de sada construir uma
combinao linear dos limites de deciso formados pelos
dois neurnios escondidos (gura 8c [2]).
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 63/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 64/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Generalizao
No aprendizado BP, comea-se com uma amostra de
treinamento e usa-se o algoritmo BP para computar os
pesos sinpticos de um MLP carregando (codicando) o
mximo possvel de exemplos de treinamento na rede.
A esperana que a RNA projetada generalize: quando
os mapeamentos entrada-sada computados pela rede
so corretos (ou prximos) para dados de teste nunca
usados na criao ou no treinamento da rede.
Assume-se que os dados de teste so retirados da mesma
populao usada para gerar o conjunto de treinamento.
O processo de aprendizado (treinamento de uma rede
neural) pode ser visto como um problema de
preenchimento de curva.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 65/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Generalizao
Veja na gura 4a [2] como a generalizao pode ocorrer
em uma rede hipottica.
O mapeamento de entrada-sada no linear representado
pela curva computado pela rede como um resultado do
aprendizado dos pontos training data.
O ponto generalization o resultado da interpolao feita
pela rede.
Problema: quando a rede aprende muitos exemplos de
entrada-sada pode terminar memorizando os dados de
treinamento.
Isso pode fazer com que a RNA ache uma caracterstica
(devido ao rudo) que est presente nos dados de
treinamento, mas que no verdadeira para a funo
modelada: overtting ou overtraining.
Quando uma rede overtrained, perde a habilidade de
generalizar.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 66/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Generalizao
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 67/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Generalizao
Um exemplo de como a generalizao pobre devido
memorizao em uma RNA pode ocorrer ilustrada na
gura 4b [2], para os mesmos dados da gura 4a.
Memorizao essencialmente uma look-up table, que
implica que o mapeamento de entrada-sada computado
pela rede no suave.
A suavidade do mapeamento entrada-sada relacionada
aos critrios de seleo de modelo como a navalha de
Occam
1
: selecionar a funo mais simples na ausncia
de qualquer conhecimento prvio.
Aqui, a funo mais simples signica a funo mais suave
que aproxima o mapeamento para um dado critrio de
erro, porque isso acarreta menos recursos
computacionais.
1
Lei da Economia: a explicao mais simples a correta.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 68/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 69/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Aproximaes de funes
Um MLP treinado com BP pode realizar um mapeamento
de entrada-sada no-linear.
Seja m
0
o nmero de ns de entrada de um MLP e
M = m
L
o nmero de neurnios na camada de sada.
O relacionamento entrada-sada da rede dene um
mapeamento de um espao de entrada Euclidiano
m
0
-dimensional para um espao de sada Euclidiano
M-dimensional, que innitamente continuamente
diferencivel quando a funo de ativao tambm .
Ao avaliar a capacidade de um MLP a partir desse ponto
de vista de mapeamento entrada-sada, surge a seguinte
questo fundamental:
Qual o nmero mnimo de camadas escondidas em um
MLP com um mapeamento entrada-sada que prov uma
realizao aproximada de qualquer mapeamento contnuo?
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 70/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Teorema da Aproximao Universal
A resposta a essa pergunta (Teorema da Aproximao
Universal):
Seja () uma funo no-constante, limitada,
monotnica-crescente e contnua. Seja I
m
0
o hipercubo
unitrio m
0
-dimensional [0, 1]
m
0
. O espao de funes
contnuas em I
m
0
denotado por C(I
m
0
). Ento, dada
qualquer funo f C(I
m
0
) e > 0, existe um inteiro M e
conjuntos de constantes reais
i
, b
i
e w
ij
, onde i = 1, ..., m
1
e j = 1, ..., m
0
tais que pode-se denir
F(x
1
, ..., x
m
0
) =
m
1

i =1

i
(
m
0

j =1
w
ij
x
j
+ b
i
) (56)
como uma realizao aproximada da funo f (), ou seja,
| F(x
1
, ..., x
m
0
) f (x
1
, ..., x
m
0
) |< (57)
para todos x
1
, x
2
, ..., x
m
0
que esto no espao de entrada.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 71/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Teorema da Aproximao Universal
O TAU diretamente aplicvel ao MLP.
A funo logstica
1
(1+exp(v))
usada como a
no-linearidade do MLP no-constante, limitada e
monotnica-crescente.
A equao 56 representa a sada de um MLP descrito
como:
1
A rede tem m
0
ns de entrada x
1
, ..., x
m
0
e uma nica
camada escondida com m
1
neurnios;
2
O neurnio escondido i tem pesos sinpticos w
i
1
, ..., w
m
0
, e
bias b
i
;
3
A sada da rede uma combinao linear das sadas dos
neurnios escondidos, com
1
, ...,
m
1
denindo os pesos
sinpticos da camada de sada.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 72/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Teorema da Aproximao Universal
O TAU um teorema de existncia, j que prov a
justicativa matemtica para a aproximao de uma
funo contnua arbitrria.
A equao 56 generaliza aproximaes por sries nitas
de Fourier.
Estabelece que uma nica camada escondida suciente
para um MLP computar uma aproximao uniforme para
um dado conjunto de treinamento representado pelo
conjunto de entradas x
1
, ..., x
m
0
e uma sada desejada
f (x
1
, ..., x
m
0
).
No entanto, o teorema no diz que uma nica camada
escondida tima no sentido de tempo de aprendizado,
facilidade de implementao ou (mais importante)
generalizao.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 73/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 74/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Validao cruzada
A essncia do aprendizado BP codicar o mapeamento
entrada-sada (representado por um conjunto de exemplos
rotulados) nos pesos sinpticos e limiares de um MLP.
A esperana que a rede seja bem treinada, tal que
aprenda o suciente do passado para generalizar no
futuro.
Pode-se ver o problema de seleo da rede como a
escolha, dentro de um conjunto de estruturas de modelos
candidatos (parametrizao), da melhor estrutura de
acordo com certo critrio.
Nesse contexto, uma ferramenta da estatstica conhecida
como validao cruzada pode ajudar.
Primeiro, o conjunto de dados disponvel particionado
aleatoriamente em um conjunto de treinamento e um
conjunto de teste.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 75/89
Introduo Back-propagation (BP) MLPs Convoluo XOR Generalizao Aproximao de Funes Validao
Validao cruzada
O conjunto de treinamento ento dividido em:
1
Subconjunto de estimativa: usado para selecionar o
modelo.
2
Subconjunto de validao: usado para testar ou validar o
modelo.
A motivao aqui validar o modelo em um conjunto de
dados diferente do usado para a estimativa de
parmetros.
Dessa forma, utiliza-se o conjunto de treinamento para
avaliar a performance de vrios modelos candidatos e da
escolher o melhor.
possvel, no entanto, que o modelo com valores de
parmetros de melhor performance termine overtting o
subconjunto de validao.
Nesse caso, a performance da generalizao medida no
conjunto de teste, diferente do subconjunto de validao.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 76/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Sumrio
1
Introduo
O Perceptron de camada nica
O Perceptron Multicamadas
2
Back-propagation (BP)
Algoritmo LMS
Gradientes
Funo de Ativao
3
MLPs
XOR
Generalizao
Aproximao de Funes
Validao
4
Convoluo
Redes Convolucionais
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 77/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Como incluir informao prvia no projeto de uma RNA
Procedimento ad-hoc para construir informao prvia no
design de uma RNA:
1
Restringir a arquitetura da rede atravs do uso de
conexes locais conhecidas como campos receptivos.
2
Limitar a escolha dos pesos sinpticos atravs do uso do
compartilhamento de pesos.
Essas duas tcnicas, especialmente a segunda, tm um
efeito colateral benco: o nmero de parmetros livres na
rede reduzido signicativamente.
Considere a rede feedforward parcialmente conectada da
gura 4.
Essa rede apresenta uma arquitetura restringida por
construo.
Os seis ns fonte superiores constituem o campo
receptivo para o neurnio escondido 1.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 78/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Como incluir informao prvia no projeto de uma RNA
Figure: Ilustrao do uso combinado do campo receptivo e
compartilhamento de pesos [2].
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 79/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Como incluir informao prvia no projeto de uma RNA
Para satisfazer a restrio do compartilhamento de pesos,
deve-se usar o mesmo conjunto de pesos sinpticos para
cada um dos neurnios da camada escondida.
Portanto, para seis conexes locais por neurnio
escondido e um total de quatro neurnios escondidos
(gura 4), pode-se expressar o campo local induzido do
neurnio escondido j como (soma de convoluo):
v
j
=
6

i =1
w
i
x
i +j 1
, j = 1, 2, 3, 4 (58)
onde {w
i
}
6
i =1
constitui o mesmo conjunto de pesos
compartilhados por todos os quatro neurnios escondidos
e x
k
o sinal do n fonte k = i + j 1.
por essa razo que uma rede feedforward usando
conexes locais e compartilhamento de pesos na forma
descrita conhecida como rede convolucional.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 80/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Convoluo
Foco no layout estrutural do MLP: classe especial
chamada redes convolucionais.
Uma rede convolucional um MLP projetado para
reconhecer formas bi-dimensionais com um alto grau de
invarincia para translao, mudana de escala, e outras
formas de distoro.
Esta tarefa difcil aprendida de uma maneira
supervisionada por uma rede cuja estrutura inclui as
seguintes formas de restries:
1
Extrao de caractersticas,
2
Mapeamento de caractersticas,
3
Sub-amostragem.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 81/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Convoluo
Restries:
1 Extrao de caractersticas: Cada neurnio obtm suas
entradas sinpticas de um campo receptivo local da
camada anterior, forando-o a extrair caractersticas locais.
A posio relativa de uma caracterstica extrada em
relao s outras preservada.
2 Mapeamento de caractersticas: Cada camada
computacional da rede composta de mltiplos mapas de
caractersticas, onde cada mapa tem a forma de um plano
no qual os neurnios individuais so restringidos para
compartilhar o mesmo conjunto de pesos sinpticos.
Efeitos bencos:
Invarincia de deslocamento: uso da convoluo seguido de
uma funo sigmoide (achatamento).
Reduo no nmero de parmetros livres, acompanhado de
compartilhamento de pesos.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 82/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Convoluo
Restries (cont.):
3 Sub-amostragem: cada camada convolucional seguida
por uma camada computacional que realiza clculo da
mdia local e sub-amostragem, onde a resoluo do mapa
de caractersticas reduzida. Tem o efeito de reduzir a
sensibilidade da sada do mapa a deslocamentos e outras
formas de distoro.
Todos os pesos em todas as camadas de uma rede
convolucional so aprendidos atravs do treinamento.
No entanto, a rede aprende a extrair suas prprias
caractersticas automaticamente.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 83/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Convoluo
A gura 8 abaixo [2] mostra um layout arquitetural de uma
rede convolucional com uma camada de entrada, quatro
camadas escondidas e uma camada de sada.
Esta rede foi projetada para realizar processamento de
imagem: reconhecimento de caracteres manuscritos.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 84/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Convoluo
A camada de entrada, com 28 28 ns sensoriais, recebe
as imagens de diferentes caracteres, centralizados e
normalizados.
Ento, a computao alterna entre convoluo e
sub-amostragem:
1
a
escondida: convoluo. 4 mapas de caractersticas com
cada mapa consistindo de 24 24 neurnios. Cada
neurnio tem um campo receptivo de tamanho 5 5.
2
a
escondida: sub-amostragem e mdia local. 4 mapas de
caractersticas com cada mapa consistindo de 12 12
neurnios. Cada neurnio tem um campo receptivo de
tamanho 2 2, um coeciente treinvel, um bias treinvel
e uma funo de ativao sigmoide.
3
a
escondida: convoluo. 12 mapas de caractersticas
com cada mapa consistindo de 8 8 neurnios. Cada
neurnio tem conexes sinpticas com vrios mapas de
caractersticas das camadas escondidas anteriores.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 85/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Convoluo
Computao (cont.):
4
a
escondida: sub-amostragem e mdia local. 12 mapas
de caractersticas com cada mapa consistindo de 4 4
neurnios.
A camada de sada realiza um estgio nal da convoluo.
Consiste de 26 neurnios, atribudos a um dos 26
caracteres possveis. Cada neurnio tem um campo
receptivo de tamanho 4 4.
Efeito bipiramidal: a cada camada convolucional ou de
sub-amostragem, o nmero de mapas de caractersticas
aumentado enquanto que a resoluo espacial reduzida,
comparada a camada anterior correspondente.
O MLP da gura 8 contm 100.000 conexes sinpticas
mas apenas 2.600 parmetros livres.
Esta reduo dramtica conseguida atravs do uso de
compartilhamento de pesos.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 86/89
Introduo Back-propagation (BP) MLPs Convoluo Redes Convolucionais
Convoluo
A capacidade da mquina de aprendizado reduzida, que
por sua vez, aumenta sua habilidade de generalizao.
Os ajustes dos parmetros livres so feitos usando uma
forma estocstica (sequencial) do aprendizado
back-propagation.
O uso de compartilhamento de pesos torna possvel
implementar a rede convolucional de forma paralela: outra
vantagem sobre o MLP totalmente conectado.
Duas lies (gura 8):
1
Um MLP de tamanho gerencivel capaz de aprender um
mapeamento complexo, de alta dimenso e no-linear
restringindo seu projeto atravs da incorporao de
conhecimento prvio sobre a tarefa.
2
Os nveis dos pesos sinpticos e bias podem ser
aprendidos repetindo o algoritmo BP simples atravs do
conjunto de treinamento.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 87/89
Apndice Bibliograa
Bibliograa I
[1] A. E. Bryson and Y.-C. Ho
Applied Optimal Control.
Blaisdell, New York, 1969.
[2] S. Haykin
Neural networks - a comprehensive foundation.
2nd. edition. Prentice Hall, 1999.
[3] W. S. McCulloch and W. Pitts
A logical calculus of the ideas immanent in nervous activity
Bulletin of Mathematical Biophysics, 5, pp. 115-133, 1943.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 88/89
Apndice Bibliograa
Bibliograa II
[4] R. A. F. Romero
SCC-5809 Redes Neurais.
Slides e listas de exerccios. Programa de Ps-Graduao
em Cincia de Computao e Matemtica Computacional.
ICMC/USP, 2010.
[5] F. Rosenblatt
The perceptron: A perceiving and recognizing automaton.
Report 85-460-1, Project PARA, Cornell Aeronautical Lab.,
Ithaca, NY, 1957.
[6] D. E. Rumelhart, G. E. Hinton, and R. J. Williams
Learning representations of back-propagation errors.
Nature (London), vol. 323, pp. 533536, 1986.
Joo Lus G. Rosa c 2011 - SCC-5809: Redes Neurais 89/89

Vous aimerez peut-être aussi