Você está na página 1de 16

IA353 – Profs. Fernando J. Von Zuben & Romis R. F.

Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

Perceptron de Múltiplas Camadas*


Conteúdo
1. Introdução ............................................................................................................................2
2. Derivação do Algoritmo de Backpropagation......................................................................7
2.1 Capacidade de Aproximação Universal ........................................................................14
3. Aspectos Práticos do Treinamento de Redes MLP ............................................................18
3.1 Treinamento Local ou em Lote .....................................................................................18
3.2 Critérios de Parada ........................................................................................................20
3.3 Arquitetura da Rede.......................................................................................................24
3.4 Normalização dos Dados de Entrada.............................................................................27
3.5 Inicialização dos Vetores de Pesos e Limiares (Bias) ...................................................27

* Versões anteriores deste material foram elaboradas pelos Profs. Leandro N. de Castro e Fernando J. Von
Zuben.

Tópico 5: Perceptron de Múltiplas Camadas 1

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

1. Introdução
• Como o erro é função indireta dos pesos nas camadas intermediárias, a regra da
cadeia deverá ser usada para o cálculo das derivadas.
• O perceptron de múltiplas camadas (multi-layer perceptron) é uma rede do tipo
perceptron com, pelo menos, uma camada intermediária.
• Trata-se de uma generalização do perceptron simples discutido em aula.
• Com a publicação do livro Perceptrons (Minsky & Papert, 1969) no final da
década de 1960, foi proposta a rede perceptron com múltiplas camadas como uma
tentativa de superar as limitações encontradas no perceptron simples.
• Tornou-se então necessário desenvolver um algoritmo de treinamento mais
sofisticado capaz de definir de forma automática os pesos para este tipo de rede.
• Como será detalhado a seguir, o algoritmo de treinamento desta rede é uma
generalização da regra delta proposta por Widrow & Hoff para o treinamento da
Adaline.

Tópico 5: Perceptron de Múltiplas Camadas 2


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• O treinamento da rede MLP foi feito originalmente utilizando-se um algoritmo


denominado de retropropagação do erro, conhecido como backpropagation.
• Este algoritmo consiste basicamente de dois passos:
o Propagação positiva do sinal funcional: durante este processo todos os pesos da
rede são mantidos fixos; e
o Retropropagação do erro: durante este processo os pesos da rede são ajustados
tendo por base uma medida de erro por base.
• O sinal de erro é propagado em sentido oposto ao de propagação do sinal
funcional, por isso o nome de retro-propagação do erro.
• Uma rede MLP típica possui três características principais:
o Os neurônios das camadas intermediárias (e, eventualmente, os da camada de
saída) possuem uma função de ativação não-linear do tipo sigmoidal (e.g.
função logística ou tangente hiperbólica).
o A rede possui uma ou mais camadas intermediárias.
o A rede possui um alto grau de conectividade.

Tópico 5: Perceptron de Múltiplas Camadas 3

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

+1 +1 +1

x1

x2 y1

x3 y2

yo
… …
Functional signal propagation
xm Error backpropagation

Input layer
First hidden Second Output layer
layer hidden layer

• A regra delta generalizada será utilizada para ajustar os pesos e limiares (bias) da
rede de forma a minimizar o erro entre a saída da rede e a saída desejada para
todos os padrões de treinamento.

Tópico 5: Perceptron de Múltiplas Camadas 4


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Para isso, serão utilizadas informações sobre o gradiente do erro em relação aos
pesos e limiares da rede, pois já sabemos que, atualizando os pesos da rede na
direção oposta à do vetor gradiente, estamos minimizando o erro entre a saída da
rede e a saída desejada.
• Entretanto, o erro é calculado diretamente apenas para a camada de saída. A
pergunta que o algoritmo de retropropagação do erro responde é: como determinar
a influência do erro nas camadas intermediárias da rede?
∂ℑ(t ) ∂ℑ(t )
wim, j (t + 1) = wim, j (t ) − α , bim (t + 1) = bim (t ) − α
∂wim, j ∂bim

• A derivação do algoritmo de backpropagation será apresentada e resumida em


notação matricial:

Tópico 5: Perceptron de Múltiplas Camadas 5

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

Primeira camada Segunda camada Terceira camada

x 1 y1 2 y2 3 y3
W W W
u1 u2 u3
∑ f1 ∑ f2 ∑ f3
1 1 1 2 1 3
b b b

y 1 = f1 (W1x + b1) y2 = f2 (W2y1 + b2) y 3 = f3 (W3y2 + b3)

• A saída de cada camada da rede torna-se a entrada para a camada seguinte:


ym + 1 = fm + 1 (Wm + 1ym + bm + 1), para m = 0, 1, …, M – 1,
onde M é o número de camadas da rede; y0 = x, ou seja, a entrada da primeira
camada é o vetor de entradas; e y = yM é a saída da última camada (ou da rede como
um todo).
• Para a rede apresentada na figura acima, tem-se:
y3 = f3(W3f2(W2f1(W1x + b1)+b2)+b3).

Tópico 5: Perceptron de Múltiplas Camadas 6


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

2. Derivação do Algoritmo de Backpropagation


• Como o erro é função indireta dos pesos nas camadas intermediárias, a regra da
cadeia deverá ser usada para o cálculo das derivadas.
∂ℑ ∂ℑ ∂uim ∂ℑ ∂ℑ ∂uim
= × , = × .
∂wim, j ∂uim ∂wim, j ∂bim ∂uim ∂bim

• O segundo termo de cada uma das equações acima pode ser facilmente calculado,
uma vez que a entrada líquida da camada m é uma função explícita dos pesos e
limiares nesta camada (Sm é a quantidade de neurônios na camada m):
S m −1
u = ∑ wim, j y mj−1 + bim .
m
i
j =1

∂uim m −1 ∂u i
m
= y , = 1.
∂wim, j ∂bim
j

• Definindo agora a sensibilidade de ℑ a mudanças na entrada líquida do i-ésimo


neurônio da camada m como sendo:
Tópico 5: Perceptron de Múltiplas Camadas 7

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

∂ℑ
δ im ≡ ,
∂uim
então:
∂ℑ ∂ℑ
= δ im y mj−1 , = δ im .
∂wi , j
m
∂bim

• As equações para atualização de pesos em qualquer camada podem então ser


expressas da seguinte forma:
wim, j (t + 1) = wim, j (t ) − αδ im y mj−1 , bim (t + 1) = bim (t ) − αδim .
• Em notação matricial temos:
W m (t + 1) = W m (t ) − αδ m (y m−1 )T , b m (t + 1) = b m (t ) − αδ m ,
T
∂ℑ  ∂ℑ ∂ℑ ∂ℑ 
onde δ ≡ ∂u m =  ∂u m
m
L  .
 1 ∂u 2m ∂u Smm 

Tópico 5: Perceptron de Múltiplas Camadas 8


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Ainda é necessário calcular as sensibilidades δm, o que requer outra aplicação da


regra da cadeia. É este processo que dá origem ao termo retro-propagação, pois
descreve a relação de recorrência na qual a sensibilidade na camada m é calculada
a partir da sensibilidade na camada m + 1.
• Para derivar a relação de recorrência das sensibilidades, utilizaremos a seguinte
matriz jacobiana:
 ∂u1m+1 ∂u1m+1 ∂u1m+1 
 m L 
 ∂u1 ∂u 2m ∂u Smm 
 ∂u 2m+1 ∂u 2m+1 ∂u 2m+1 
∂u m+1 L
=  ∂u1m ∂u 2m ∂u Smm .
∂u m 
 Mm+1 M O M 
 ∂u S m+1 ∂u Smm++11 ∂u Smm++11 
 m L 
 ∂u1 ∂u 2m ∂u Smm 

Tópico 5: Perceptron de Múltiplas Camadas 9

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Considere um elemento i, j qualquer desta matriz:

∂uim+1 ∂y mj ∂f m (u mj )
m +1
= wi , j m +1
= wi , j = wim, j+1 f& m (u mj ),
∂u j
m
∂u jm
∂u jm

&f m (u m ) = ∂f (u j ) .
m m

onde ∂u mj
j

• Em notação matricial:
∂u m+1
= W m+1F& m (u m ),
∂u m

 f& m (u1m ) 0 L 0 
 
&F m (u m ) =  0 f& (u 2m )
m
L 0 
.
onde  M M O M 
 
 0 0 L f& m (u Smm )

• Agora podemos escrever a relação de recorrência para a sensibilidade utilizando a


regra da cadeia em forma matricial:

Tópico 5: Perceptron de Múltiplas Camadas 10


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

m +1 T
∂ℑ  ∂u  ∂ℑ ∂ℑ
δ = m =
m
= F& m (u m )( W m+1 )T = F& m (u m )( W m+1 )T δ m+1 .
∂u  ∂u  ∂u
m m +1
∂u m +1
 
• Observe que as sensibilidades são propagadas da última para a primeira camada
através da rede:
δM → δM – 1 → …→ δ2 → δ1
• Ainda existe um último passo a ser executado para que o algoritmo de retro-
propagação fique completo. Precisamos do ponto de partida, δM, para a relação de
recorrência da equação acima. Este ponto é obtido na última camada:
SM
∂∑ (s j − y j ) 2
∂J ∂(s − y ) (s − y )
T
j =1 ∂yi
δ iM = = = = −2( si − yi ) .
∂uiM
∂uiM ∂u i
M
∂uiM

• Como:

∂yi ∂yiM ∂f (u j ) & M M


M M

= = = f (u j ), &
então δ i = −2( si − yi ) f
M M
(u Mj ).
∂uiM ∂uiM ∂uiM

Tópico 5: Perceptron de Múltiplas Camadas 11

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

&M M
• Em notação matricial: δ = −2F (u )(s − y ).
M

Propagação dos sinais


x y1 y2 y3
W1 W2 W3
u1 1
u2 2
u3
∑ f ∑ f ∑ f3
1 1 1
b1 b2 b3

Retro-propagação
das sensibilidades

. . .
F1 F2 F3
(W2)T (W3)T

π π δ2
π π δ3
π 2 (y – s)

δ1 δ2 δ3

Tópico 5: Perceptron de Múltiplas Camadas 12


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

procedure [W] = backprop(max_it,min_err,α,X,D)


for m from 1 to M do,
initialize Wm //small random values
initialize bm //small random values
end for
t ← 1
while t < max_it & MSE > min_err do,
for i from 1 to N do, //for each training pattern
//forward propagation of the functional signal
y0 ← xi
yim + 1 ← fm + 1 (Wm + 1yim + bm + 1), m = 0, 1, …, M – 1,
//backpropagation of sensitivities
δ iM ← −2F& M (u iM )(d i − y i )
δ im ← F& m (u im )( W m+1 )T δ im+1 , m = M – 1, …,2,1,
//update weights and biases
W m ← W m − αδ im (y im−1 )T , m = 1, …, M ,
b m ← b m − αδ im , m = 1, …, M ,
Ei ← eiTei = (di − yi)T (di − yi) //calculate the error for pattern i
end for
MSE ← (1/N).sum(Ei) //MSE
t ← t + 1
end while
end procedure

Tópico 5: Perceptron de Múltiplas Camadas 13

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

2.1 Capacidade de Aproximação Universal


• Uma arquitetura do tipo MLP pode ser vista como uma ferramenta prática geral
para fazer um mapeamento não-linear de entrada-saída.
• Especificamente, seja m o número de entradas da rede e o o número de saídas. A
relação entrada-saída da rede define um mapeamento de um espaço euclidiano de
entrada m-dimensional para um espaço euclidiano de saída o-dimensional, que é
infinitamente continuamente diferenciável.
• CYBENKO (1989) foi o primeiro pesquisador a demonstrar rigorosamente que uma
rede MLP com uma única camada intermediária é suficiente para aproximar
uniformemente qualquer função contínua que encaixe em um hipercubo unitário.
• O teorema da aproximação universal aplicável a redes MLP é descrito abaixo:

Tópico 5: Perceptron de Múltiplas Camadas 14


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Teorema: Seja f(.) uma função contínua não-constante, limitada, e


monotonicamente crescente. Seja Im um hipercubo unitário m-dimensional (0,1)m.
O espaço das funções contínuas em Im é denominado C(Im). Então, dada qualquer
função g ∈ C(Im) e ε > 0, existe um inteiro M e conjuntos de constantes reais αi e
wij, onde i = 1, …, M e j = 1, …, m, tais que pode-se definir
M  m 
F ( x1 , x2 ,..., xm ) = ∑ α i f  ∑ wij x j −w0i 
i =1  j =1 
como uma aproximação da função g(.) tal que,
F ( x1 , x2 ,..., xm ) − g ( x1 , x2 ,..., xm ) < ε

Para todo {x1,…, xm} ∈ Im.


• Este teorema é diretamente aplicável aos perceptrons de múltiplas camadas:
o Percebemos que a função logística (ou a tangente hiperbólica) utilizada como
não-linearidade de um neurônio é contínua, não-constante, limitada e
monotonicamente crescente, o que satisfaz as condições impostas à função f(.).

Tópico 5: Perceptron de Múltiplas Camadas 15

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

o Verificamos também que a equação para a função F(⋅) representa as saídas de


uma rede MLP descrita como segue:
 a rede possui m nós de entrada e uma única camada intermediária com M
unidades; o conjunto de entradas é {x1,…, xm}
 o neurônio intermediário i possui pesos wi1, …, wim e limiar w0i
 a saída da rede é uma combinação linear das saídas das unidades
intermediárias, com α1, …, αM definindo os coeficientes dessa combinação.
• O teorema afirma que um perceptron de múltiplas camadas com uma única
camada intermediária é capaz de realizar uma aproximação uniforme, dado um
conjunto de treinamento suficientemente significativo para representar a função.
• Note que este teorema é um teorema de existência. Nada garante que um MLP com
uma única camada seja ótimo no sentido de tempo de processamento, facilidade de
implementação e eficiência na representação.

Tópico 5: Perceptron de Múltiplas Camadas 16


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

1 w01

w11
+ f

w1m

1 w02 1
α0
xl1
w21
α1
+ f Fl
+
α2
xlm
w2m

αM

1 w0

wM1
+ f

wMm

Tópico 5: Perceptron de Múltiplas Camadas 17

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

3. Aspectos Práticos do Treinamento de Redes MLP

3.1 Treinamento Local ou em Lote


• Em aplicações práticas do algoritmo de retro-propagação, o aprendizado é
resultado de apresentações repetidas de todas as amostras do conjunto de
treinamento ao MLP.
• Cada apresentação de todo o conjunto de treinamento durante o processo de
aprendizagem é chamada de época.
• O processo de aprendizagem é repetido época após época, até que um determinado
critério de parada seja atingido (próxima seção).
• É uma boa prática fazer com que a ordem de apresentação das amostras seja feita
aleatoriamente de uma época para a outra. Esta aleatoriedade tende a fazer com
que a busca no espaço de pesos tenha um caráter estocástico ao longo dos ciclos de
treinamento.

Tópico 5: Perceptron de Múltiplas Camadas 18


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Para um dado conjunto de treinamento, a atualização dos pesos pode ser feita de
duas maneiras básicas:
o Atualização local: neste método, a atualização dos pesos é feita imediatamente
após a apresentação de cada amostra de treinamento. Especificamente, considere
uma época consistindo de N padrões de treinamento arbitrariamente ordenados
{(x1 , s1 ),..., (x N , s N )}. A primeira amostra (x1 , s1 ) da época é apresentada à rede, e
são efetuados o passo positivo e a retro-propagação do erro, resultando em um
ajuste dos pesos das conexões. Em seguida, a próxima amostra (x 2 ,s 2 ) é
apresentada à rede e o passo positivo e a retro-propagação do erro são efetuados,
resultando em mais um ajuste do conjunto de pesos. Este processo é repetido até
que a última amostra seja apresentada à rede. Este método também é conhecido
como método de atualização online ou padrão a padrão.
o Atualização em lote: no método em lote, a atualização dos pesos só é feita após
a apresentação de todas as amostras de treinamento que constituem uma época.

Tópico 5: Perceptron de Múltiplas Camadas 19

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

O ajuste relativo a cada padrão é acumulado (somado). Este método também é


conhecido como método de atualização offline ou batch.
• Do ponto de vista operacional, o método local de treinamento é preferível, pois
requer um menor armazenamento local para cada conexão.
• O caráter “mais marcadamente estocástico” da atualização padrão por padrão pode
reduzir a possibilidade de o algoritmo ficar preso em um mínimo local.
• Por outro lado, a utilização do método em lote fornece uma estimativa mais precisa
do vetor gradiente.
• Numa análise final, entretanto, a eficiência dos dois métodos depende do problema
a ser tratado (HAYKIN, 1994).

3.2 Critérios de Parada


• O processo de minimização do MSE (ou da função custo), em geral, não tem
convergência garantida e não possui um critério de parada bem definido.

Tópico 5: Perceptron de Múltiplas Camadas 20


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Um critério de parada não recomendável, por não levar em conta o estado do


processo iterativo de treinamento, é interromper o treinamento após um número
fixo (definido previamente) de iterações.
• Serão discutidos aqui critérios de parada que levam em conta alguma informação a
respeito do estado do processo iterativo, cada qual com seu mérito prático.
• Para formular tal critério, deve-se considerar a possibilidade de existência de
mínimos locais.
• Seja θ* o vetor de parâmetros (pesos) que denota um ponto de mínimo, seja ele
local ou global.
• Uma condição necessária para que θ* seja um mínimo é que o vetor gradiente
∇ℑ(θ ) (ou seja, a derivada parcial de primeira ordem) da superfície de erro em
relação ao vetor de pesos θ seja zero em θ = θ*.
• Sendo assim, é possível formular critérios de convergência (ou parada) como o
seguinte:

Tópico 5: Perceptron de Múltiplas Camadas 21

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

o é considerado que o algoritmo de retro-propagação convergiu quando a norma

Euclidiana da estimativa do vetor gradiente (|| ∇ℑ(θ ) ||) atingiu um valor


suficientemente pequeno.
Obs.: o problema deste critério de parada é que, para simulações bem sucedidas,
o tempo de treinamento pode ser muito longo. Este critério também requer o
cálculo da norma do vetor gradiente. O Tópico 9 fará um estudo sobre técnicas
de aceleração da convergência deste algoritmo.
o é considerado que o algoritmo de retro-propagação convergiu quando a
variação do erro quadrático de uma época para a outra atingir um valor
suficientemente pequeno.
Obs.: esse critério é proposto devido a uma outra propriedade única de um
mínimo: o fato de que a função custo, ou medida de erro, ℑmed(θ) é estacionária
no ponto θ = θ*.

Tópico 5: Perceptron de Múltiplas Camadas 22


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

o é considerado que o algoritmo de retro-propagação convergiu quando o erro


quadrático médio atingir um valor suficientemente pequeno, ou seja,
ℑmed(θ) ≤ ε, onde ε é um valor suficientemente pequeno.
Obs.: este critério é uma variação do critério anterior.
• Se o critério de parada é, por exemplo, um valor mínimo para o MSE, então não
podemos garantir que o algoritmo será capaz de atingir o valor desejado.
• Por outro lado, ao tomarmos como critério de parada um valor mínimo para a
norma do vetor gradiente, devemos estar conscientes de que o algoritmo,
provavelmente, irá produzir como resultado o mínimo local mais próximo da
condição inicial.
• Atualmente existe uma grande quantidade de pesquisadores procurando funções de
erro (custo) alternativas, com o objetivo de melhorar as características de
convergência dos perceptrons de múltiplas camadas.

Tópico 5: Perceptron de Múltiplas Camadas 23

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Um exemplo disso é a função de custo chamada de entropia cruzada (cross-


entropy) (SHEPHERD, 1997), dada por:
N Sm
ℑ = −∑∑ ln yiM,n
n =1 i =1
[( ) (1 − y )
si , n M 1− si , n
i ,n ],
onde N é o número de amostras, M é o número de camadas, Sm é a dimensão de
cada camada e y são as saídas da rede.
• Outro critério de parada bastante útil, e geralmente utilizado em conjunto com
algum dos critérios anteriores, é a avaliação da capacidade de generalização da
rede após cada época de treinamento. O processo de treinamento é interrompido
antes que a capacidade de generalização da rede seja deteriorada.

3.3 Arquitetura da Rede


• A quantidade de neurônios na camada de entrada da rede é geralmente dada pelo
problema ser abordado.

Tópico 5: Perceptron de Múltiplas Camadas 24


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Entretanto, a quantidade de neurônios nas camadas intermediárias e de saída são


características de projeto.
• Aumentando-se a quantidade de neurônios na camada intermediária, aumenta-se a
capacidade de mapeamento não-linear da rede MLP.
• Porém, é preciso tomar cuidado para que o modelo não se sobre-ajuste aos dados,
pois então surge a possibilidade de que a rede esteja sujeita ao chamado sobre-
treinamento (overfitting).
• Uma rede com poucos neurônios na camada intermediária pode não ser capaz de
aproximar o mapeamento desejado, o que causa underfitting.

Tópico 5: Perceptron de Múltiplas Camadas 25

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

1.0 1.0
0.8 0.8

0.6 0.6
0.4 0.4

0.2 0.2

0.0 0.0

-0.2 -0.2

-0.4 -0.4

-0.6 -0.6

-0.8 -0.8
-1.0 -1.0

-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3

1.0 1.0
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0.0 0.0
-0.2 -0.2
-0.4 -0.4
-0.6 -0.6

-0.8 -0.8
-1.0 -1.0

-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3

Tópico 5: Perceptron de Múltiplas Camadas 26


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• O underfitting também pode ser causado caso o treinamento seja interrompido


prematuramente.

3.4 Normalização dos Dados de Entrada


• Uma das características importantes de uma função sigmoidal é a presença de
saturação para valores muito grandes de seu argumento.
• Por esse motivo, é importante fazer com que os valores dos atributos dos dados de
entrada estejam contidos em um intervalo pré-definido, por exemplo, [0,1] ou
[−1,1].

3.5 Inicialização dos Vetores de Pesos e Limiares (Bias)


• A qualidade e a eficiência do aprendizado supervisionado em redes multicamadas
dependem fortemente da especificação da arquitetura da rede, da função de
ativação dos neurônios, da regra de aprendizagem e dos valores iniciais do vetor de
parâmetros (pesos).

Tópico 5: Perceptron de Múltiplas Camadas 27

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Valores ótimos destes itens são desconhecidos a priori, pois dependem


principalmente do conjunto de treinamento e da natureza da solução (THIMM &
FIESLER, 1997).
• Assumimos aqui que a arquitetura da rede, as funções de ativação dos neurônios e
a regra de aprendizado já tenham sido determinadas adequadamente, embora não
necessariamente de maneira ótima. Sob essas considerações, um processo de
treinamento bem sucedido passa a depender somente de uma definição do
conjunto inicial de pesos que guie o processo de treinamento para uma solução
satisfatória, fora de mínimos locais pobres e problemas de instabilidade numérica.
• Logo, o conjunto inicial de pesos a ser utilizado no treinamento supervisionado de
redes multicamadas possui grande influência na velocidade do aprendizado e na
qualidade da solução obtida após a convergência.
• Uma escolha inicial inadequada para os valores dos pesos pode fazer com que o
treinamento não conduza a modelos de aproximação satisfatórios (mesmo que o

Tópico 5: Perceptron de Múltiplas Camadas 28


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

processo de otimização seja bem-sucedido) ou apresente problemas numéricos


que, de outro modo, poderiam ser evitados.
• Atualmente, existem várias técnicas propostas no sentido de definir
adequadamente o conjunto de pesos iniciais.
• A importância de uma boa escolha do conjunto de pesos iniciais é enfatizada por
KOLEN & POLLAK (1990). Eles mostraram que uma busca global pelo conjunto
ótimo de pesos não é factível. Assim, por motivações práticas, a regra de
aprendizagem deve ser baseada em técnicas de otimização com busca local.
• Por outro lado, a busca local implica que a solução a ser obtida está fortemente
relacionada à condição inicial, pois cada condição inicial pertence à base de
atração de um mínimo local particular, o qual atrairá a solução (HERTZ et al.,
1991).
• Conseqüentemente, apenas mínimos locais podem ser produzidos, na prática,
como resultados de um processo de treinamento supervisionado bem-sucedido. Se

Tópico 5: Perceptron de Múltiplas Camadas 29

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

este mínimo for o mínimo global, ou um bom mínimo local da superfície de erro,
então a rede neural estará em, ou próxima de, seu limite de desempenho. Caso
contrário, quanto pior for o mínimo local, pior o desempenho da rede treinada.
• Diversas estratégias de inicialização dos pesos já foram sugeridas. Os métodos
mais simples baseiam-se em uma distribuição uniforme aleatória (KOLEN &
POLLAK 1990), representando a ausência total de conhecimento sobre o conjunto
amostral.
• Há abordagens mais sólidas, como os dois paradigmas alternativos para busca do
melhor conjunto inicial de pesos via treinamento supervisionado que exporemos a
seguir:
• Paradigma do caminho mais fácil: não é tão comum na literatura. A idéia básica é
fornecer uma condição inicial não necessariamente próxima da solução ótima, mas
que seja tal que o processo de treinamento possa, a partir da condição inicial,
evoluir mais rapidamente (em média) e mais eficientemente. A estratégia mais

Tópico 5: Perceptron de Múltiplas Camadas 30


IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

simples é definir automaticamente um intervalo de inicialização para os pesos e


utilizar uma distribuição uniforme neste intervalo.
• Paradigma do caminho mais curto: é a abordagem geralmente empregada na
literatura. A idéia básica é fornecer uma condição inicial tão próxima quanto
possível da solução ótima, ainda desconhecida. A idéia intuitiva desta abordagem é
que, quanto mais próxima da solução ótima estiver a condição inicial, menor será a
probabilidade de existência de mínimos locais no caminho até esta solução, e mais
eficiente se tornaria o processo de treinamento. Duas estratégias podem ser
consideradas: extração de conhecimento do conjunto de treinamento com o
objetivo de descobrir peculiaridades da superfície de otimização (baseado em
aspectos teóricos), ou exploração da superfície de otimização para aumentar as
chances de se encontrar uma região promissora na busca pelo ótimo (baseada em
aspectos heurísticos).

Tópico 5: Perceptron de Múltiplas Camadas 31

IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux


DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• O paradigma do caminho mais fácil geralmente ignora o conjunto de treinamento


na tentativa de definir um bom intervalo de valores para os pesos. Como
conseqüência, o caminho entre a condição inicial e a solução ótima, embora fácil
de ser percorrido, pode ser muito longo.
• Por outro lado, o paradigma do caminho mais curto considera todo o conjunto de
treinamento, mas geralmente ignora as conseqüências da combinação 〈dados de
entrada-saída〉 + 〈pesos〉 no processamento de sinais da rede neural. Como
conseqüência, o caminho entre a condição inicial e a solução ótima, embora curto,
pode ser muito difícil de ser percorrido.
• Exemplos destes paradigmas e pontos de partida para uma pesquisa mais avançada
envolvendo técnicas para geração de condições iniciais podem ser encontrados em:
NGUYEN & WIDROW (1990), KIM & RA (1991), LEHTOKANGAS et al. (1995) e DE
CASTRO, L.N. & VON ZUBEN (1998).

Tópico 5: Perceptron de Múltiplas Camadas 32

Você também pode gostar