Anda di halaman 1dari 22

Modelos e Aplicações de Redes Neurais

Artificiais (Parte II)


Baseado em Notas de Aula da disciplina de pós-graduação IA353 – Redes Neurais (FEEC/Unicamp)

1 Aprendizado em redes neurais ......................................................................................................... 2


2 Aprendizado supervisionado............................................................................................................ 4
3 Aprendizado supervisionado em RBF ........................................................................................... 11
3.1 Aproximação usando rede neural RBF................................................................................. 12
4 Aprendizado supervisionado em MLP........................................................................................... 14
4.1 O problema do OU-exclusivo............................................................................................... 14
4.2 Um problema mais geral de mapeamento não-linear ........................................................... 21
4.3 Mapeamentos não-lineares genéricos................................................................................... 23
4.4 O papel dos pesos................................................................................................................. 24
4.5 Produto interno e ridge functions ......................................................................................... 27
4.6 O treinamento de um neurônio ............................................................................................. 28
4.7 O treinamento de uma rede neural com uma camada intermediária..................................... 31
4.8 Algoritmos de treinamento ................................................................................................... 35
4.9 Processo Iterativo I – Método Padrão-a-Padrão ................................................................... 36
4.10 Processo Iterativo I – Método em Lote ou Batelada............................................................. 37
4.11 Processo Iterativo II – Método Padrão-a-Padrão.................................................................. 38
4.12 Processo Iterativo II – Método em Lote ou Batelada ........................................................... 39
5 Referências bibliográficas.............................................................................................................. 41

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

1 Aprendizado em redes neurais


• aprendizado é um processo no qual os parâmetros livres de uma rede neural
artificial são alterados pela estimulação contínua causada pelo ambiente no qual a
rede está inserida, na forma:
estímulo → adaptação → novo comportamento da rede

• dada uma rede neural artificial, seja w(k) um peso sináptico de um dado neurônio,
no instante de tempo k. O ajuste ∆w(k) é aplicado ao peso sináptico w(k) no
instante k, gerando o valor corrigido w(k+1), na forma:
w(k+1) = w(k) + ∆w(k)

• a obtenção de ∆w(k) pode ser feita de diversas formas. O tipo de aprendizado é


determinado pela técnica empregada no processo de ajuste dos pesos sinápticos
(parâmetros da rede neural).

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 2


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• um conjunto bem definido de regras para obtê-los é denominado um algoritmo de


aprendizagem. Exemplos de alguns algoritmos: lei de Hebb, algoritmo de
backpropagation, estratégias de competição, máquina de Boltzmann.
• a maneira pela qual o ambiente influencia a rede em seu aprendizado define o
paradigma de aprendizagem.
• exemplos de paradigmas de aprendizagem:
 aprendizado supervisionado: é baseado em um conjunto de exemplos de
estímulo-resposta, ou em algum outro tipo de informação, que represente o
comportamento que deve ser apresentado pela rede neural;
 aprendizado por reforço: o comportamento da rede é avaliado apenas com base
em alguma critério numérico, fornecido em instantes espaçados de tempo;
 aprendizado não-supervisionado ou auto-organização: é baseado apenas nos
estímulos recebidos pela rede neural. Basicamente, a rede deve aprender a
“categorizar” os estímulos.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 3

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• iremos nos ocupar aqui com o desenvolvimento de técnicas para aprendizado


supervisionado e não-supervisionado em redes neurais artificiais;
• pelo fato de serem mais intuitivas, técnicas de aprendizado supervisionado serão
abordadas primeiro.

2 Aprendizado supervisionado
• exemplos de problemas de engenharia que podem ser apresentados na forma de
um problema de aprendizado supervisionado:
 classificação e reconhecimento de padrões
 predição de séries temporais
 identificação de sistemas
 controle de processos
 projeto de filtros em processamento de sinais

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 4


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• a presença de não-linearidade e a questão do mapeamento não-linear


• aprendizado supervisionado → capacidade de aproximação universal de
mapeamentos não-lineares multidimensionais contínuos e definidos em regiões
compactas (fechadas e limitadas) do espaço de aproximação.
• o aprendizado supervisionado visto como um problema de otimização não-linear
• a função objetivo (critério de desempenho a ser otimizado) e os parâmetros
ajustáveis:
r
min
r J ( w)
w

• formalização matemática do que se quer otimizar + método de solução


• solução na forma fechada × busca iterativa
• os dados de entrada/saída e a questão dos 3 mapeamentos envolvidos no processo:
1. o mapeamento a ser aproximado (do qual se conhece apenas dados
amostrados)
2. o mapeamento resultante do processo de aproximação
3. o mapeamento entre cada vetor de parâmetros e o erro: superfície de erro

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 5

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Figura 1– Mapeamento desconhecido a ser aproximado

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 6


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

Figura 2 – Exemplo de região de operação.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 7

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Figura 3 – Amostras expressando o comportamento da função para pontos


específicos da região de operação.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 8


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

(a) (b)

(c) (d)

Figura 4 – (a) Função a ser aproximada; (b) Amostras disponíveis; (c) Resultado de
um processo de interpolação; (d) Resultado de um processo de aproximação.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 9

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

(a) (b)

Figura 5 – Comparação de desempenho para dados de treinamento e teste, de modo a


medir a capacidade de generalização dos mapeamentos produzidos.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 10


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

3 Aprendizado supervisionado em RBF


{(xi , si )}iN=1

n n
f (w, x) = w0 + ∑ w j h j (x) = ∑ w j h j (x) , com h0(x) = 1.
j =1 j =0

 h0 (x1 ) h1 (x1 ) L hn ( x1 ) 
 h (x ) h (x ) L hn (x 2 ) 
H = [h 0 h1 L hn ] =  0 2 1 2 
 M M O M 
 
h0 ( x N ) h1 (x N ) L hn (x N )

Hw = s com w = [w0 w1 L wn ]T

H T Hw = H T s ⇒ w = H T H ( )
−1
HT s

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 11

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp
3.1 Aproximação usando rede neural RBF
1
Caso 1: n = N
0.8 Pontos amostrados: (1,2); (3,7); (5,6)
0.6 1  2 0.945
 
c = 3 ; σ = 1 ; w = 2.850
 
0.4      
5 3 5.930
0.2
Obs: As funções de base radial têm centros nos
0 valores de x e dispersões arbitrárias.
0 2 4 6 8 10
8
6
7
5 6

4 5

4
3
3
2
2

1 1

0
0 0 2 4 6 8 10
0 2 4 6 8 10

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 12


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
1
Caso 2: n < N
0.8
Pontos amostrados: (1,2); (3,7); (5,6); (8,1)
0.6
1  2 1.012 
    
c = 3 ; σ = 1 ; w = 3.084
0.4
     
5 3 5.538
0.2

Obs: As funções de base radial são as mesmas do


0
0 2 4 6 8 10 Caso 1.
6 8

5 7

6
4
5
3
4
2 3

1 2

1
0
0 2 4 6 8 10
0
0 2 4 6 8 10

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 13

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

4 Aprendizado supervisionado em MLP


4.1 O problema do OU-exclusivo
• considere os pontos (0,0),(0,1),(1,0) e (1,1) no plano ℜ2, conforme apresentado na
Figura 6. O objetivo é determinar uma rede com duas entradas xi ∈ {0,1} (i=1,2),
( x , x ) = (0,0) ou (1,1) ⇒ y = 0
e uma saída y ∈ {0,1} de maneira que:  1 2
 ( x 1 , x 2 ) = (1,0) ou (0,1) ⇒ y = 1
x
2

(1,0) (1,1)
y=0

y=1

x
1
(0,0) (0,1)

Figura 6 – O problema do OU-exclusivo

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 14


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• inicialmente será analisado o comportamento de um neurônio tipo perceptron


(veja Figura 7) no processo de solução do problema exposto acima. A saída y
pode ser representada na forma:
 g(u) = 1 se u ≥ 0
y = g(w1x1 + w2x2 + w0) onde 
g(u) = 0 se u < 0

1 w0

u y
x1 w1 g

x2 w2

Figura 7 – Neurônio tipo perceptron, com duas entradas (mais a polarização)

• para qualquer valor dos parâmetros w0 , w1 e w2, a função g(u) separa o espaço de
entradas em duas regiões, sendo que a curva de separação é uma linha reta.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 15

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

0.5

0
5
5
0
0
x2 -5 -5 x1
Figura 8 – Mapeamento de entrada-saída para o perceptron da Figura 7,
com w0 = −6, w1 = 4 e w2 = 3

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 16


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• no problema do OU-exclusivo (Figura 6), pode-se constatar que não existe uma
única linha reta divisória de forma que os pontos (0,0) e (1,1) se posicionem de
um lado enquanto que (0,1) e (1,0) permaneçam do outro lado da linha.
• logo, pode-se imediatamente concluir que um neurônio tipo perceptron não
apresenta grau de liberdade suficiente para resolver o problema proposto, o que foi
corretamente constatado por Minsky & Papert, em 1969.
• no entanto, esses autores também acreditavam que não havia razão para supor que
redes multicamadas pudessem conduzir a uma solução para o problema proposto.
Esta hipótese só foi definitivamente rejeitada com o desenvolvimento do
algoritmo de retro-propagação (back-propagation), já nos anos 80, o qual permite
o ajuste automático de pesos para redes neurais multicamadas, arquitetura
necessária para a realização de mapeamentos não-lineares, como será verificado
mais adiante.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 17

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• considere o problema de mapeamento de uma rede neural tipo perceptron, com


uma camada intermediária (Figura 9), aplicada ao problema do OU-exclusivo.

w10 1 w0

1 w11
z1 y
g w1 g
w12
x1
w20 z2
g w2

x2 w21

w22

Figura 9 – Perceptron de três camadas (uma camada intermediária)


• a camada de entrada fornece um vetor de entrada (x1,x2) para a camada
intermediária, enquanto que a camada intermediária produz duas saídas
z1=sgn(w10+w11x1+w12x2) e z2=sgn(w20+w21x1+w22x2). Na camada de saída, o sinal
de saída da rede neural é dado por y=sgn(w0+w1z1+w2z2).

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 18


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• surge uma questão: existem parâmetros wij (i=1,2; j=0,1,2) e wk (k = 0,1,2) tais
que y = 0 para as entradas (0,0) e (1,1) e y = 1 para as entradas (1,0) e (0,1)?
• as saídas da primeira camada (z1 e z2) podem ser consideradas como variáveis
intermediárias utilizadas na geração da saída y.
• do que já foi visto a respeito de um neurônio tipo perceptron, sabe-se que existem
pesos w1j (j=0,1,2) tais que (veja curva de separação L1 na Figura 10(a)):

(0,1) produza z1 = 1
(0,0),(1,0),(1,1) produza z1 = 0.

• de forma similar, existem pesos w2j (j=0,1,2) tais que (veja curva de separação L2
na Figura 10(a)):

(0,1),(0,0),(1,1) produza z2 = 1
(1,0) produza z2 = 0

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 19

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp
x z
2 2
L1 L3

(0,1) (1,1) (0,1) (1,1)

L2

x z
1 1
(0,0) (1,0) (0,0)

(a) (b)

Figura 10 – Realização da função OU-exclusivo


• a discussão acima mostra que existem pesos wij (i=1,2; j=0,1,2) de maneira que a
entrada (0,1) resulte em z1 = 1, z2 = 1, e a entrada (1,0) resulte em z1 = 0, z2 = 0,
enquanto que (0,0) e (1,1) produzam z1 = 0, z2 = 1. Já que (0,0) e (1,1) podem ser
separados linearmente de (0,1), como mostrado na figura 10(b) pela curva de
separação L3, pode-se concluir que a função booleana desejada pode ser obtida
utilizando-se perceptrons em cascata, ou seja, um perceptron de três camadas.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 20


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

4.2 Um problema mais geral de mapeamento não-linear


• considere, agora, um problema mais geral de classificação de padrões em um
espaço de dimensão finita. Com base na Figura 11, assume-se que a região
triangular (conjunto A) corresponde a uma classe 1, enquanto que o complemento
desta região (conjunto B) corresponde a uma classe 2. O objetivo é determinar os
pesos de uma rede neural cuja saída é 1 (simbolizando a classe 1) quando a entrada
(x1,x2) ∈ A e 0 (simbolizando a classe 2) quando (x1,x2) ∈ B.
x
2

x
1

Figura 11 – Um problema de reconhecimento de padrões

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 21

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• partindo das conclusões extraídas da seção anterior, é possível afirmar que cada
um dos três segmentos de reta que delimitam a região A pode ser representado por
um neurônio tipo perceptron. Tomando-se a função booleana AND das saídas
destes três perceptrons, a saída y pode ser feita 1 quando (x1,x2) ∈ A e 0 quando
(x1,x2) ∈ B. A estrutura desta rede é apresentada na Figura 12.
w10

w11

w12
1 g
w20

x1 w21 g AND y

w22
x2 g
w30

w31

w32

Figura 12 – Estrutura da rede para a solução do problema da Figura 11

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 22


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

4.3 Mapeamentos não-lineares genéricos

x
2

x
1

Figura 13 – Padrões separáveis por uma circunferência

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 23

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

4.4 O papel dos pesos


p
y = c0 + ∑ cn g (bn x + a n )
n =1
1
a1

u1 y1
g
1
c0
x
b1
c1
y
1
a2
c2
u2 y2
g

x
b2

a : deslocamento no eixo x

y = c0 + c1 g (b1 x + a1 ) + c2 g (b2 x + a 2 ) ⇒ b : inclinação da sigmóide
c : amplitude da sigmóide

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 24
EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

Exemplo: Forma “construtiva” de aproximação de um mapeamento não-linear

a b c d e

1 1 1 1 1

f (w ) = c1 g (b1 x + a1 ) + c2 g (b2 x + a2 ) + c3 g (b3 x + a3 ) + c4 g (b4 x + a4 ) + c5 g (b5 x + a5 ) + c0


142 4 43 4 14 4244 3 142 4 43 4 14 4244 3 142 4 43 4 {
a b c d e bias

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 25

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp
0.6 0.6

0.4 0.4
a
0.2 0.2
b e
0 0

-0.2 -0.2

-0.4 -0.4

-0.6 -0.6 a+b+c+d


-0.8 -0.8

-1 0 1 -1 0 1

0.6 0.6

0.4 0.4 bias


0.2 0.2
c
0 0

-0.2 -0.2

-0.4 -0.4
a+b
-0.6 -0.6
a+b+c+d+e
-0.8 -0.8

-1 0 1 -1 0 1

0.6 0.6

0.4 0.4

0.2 0.2
d
0 0

-0.2 -0.2

-0.4 -0.4

-0.6 a+b+c -0.6


a+b+c+d+e+bias
-0.8 -0.8

-1 0 1 -1 0 1

Figura 14 – Composição aditiva de ativações na reprodução de um mapeamento não-linear

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 26


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

4.5 Produto interno e ridge functions

1
1

0.8 0.8

0.6
0.6 f (vTx)
f ( x) j 0.4
j
0.4 0.2

0
0.2 4
2 4
0 2
0
0 -2
-4 -2 0 2 4 x2 -2
-4 -4 x1
x

2
 x 
− 0 , 5 ⋅  [1 0 ] 1  
− 0 , 5⋅ x 2
(a) f j ( x) = e (b) f j ( v T x ) = e   x2  

Figura 15 – Função de expansão ortogonal em que v = [1 0]T e x = [x1 x2 ]T

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 27

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

4.6 O treinamento de um neurônio


• na Figura 16, é apresentado um neurônio do tipo perceptron, unidade de
processamento básica das redes neurais a serem utilizadas neste tópico do curso.

w0 onde
1
x = [x0 x1 ... xn]T, x0 = 1
w1
x w = [w0 w1 ... wn]T
1
u
g y n
wn u(w) = wTx = ∑ wi xi
i =0
xn

y(w) = g(u(w))
Figura 16 – Neurônio do tipo perceptron

• assumindo que os componentes do vetor de parâmetros w, denominados pesos do


neurônio, são os únicos parâmetros ajustáveis, pode-se formular o seguinte
problema:

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 28


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

 Dado um estado inicial w0, conduzir o neurônio para um estado final wf tal que,
para um determinado conjunto de dados de entrada-saída x l , yd l ( )lN=1 , a saída y do
neurônio assuma valores os mais próximos possíveis das saídas desejadas yd l ,

l=1, ..., N, quando na entrada do neurônio são apresentados os correspondentes


valores xl , l=1, ..., N.

• este problema pode ser reformulado como segue:

 Dado um estado inicial w0, conduzir o neurônio para um estado final wf tal que,
para um determinado conjunto de dados de entrada-saída x l , yd l ( )lN=1 , a função erro
quadrático:

( )2 = ∑ 12 (g (ul (w)) − yd )2 = ∑ J l (w)


N N N
1
J (w ) = ∑ 2 yl (w ) − yd l l
l =1 l =1 l =1

seja minimizada.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 29

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• como não existe uma solução na forma fechada para o problema de otimização
min J (w ) , deve-se recorrer a um processo de busca iterativo.
w

Solução proposta: Para encontrar a seqüência de direções de ajuste que conduza o


estado do neurônio de w0 a wf, é necessário conhecer os valores das derivadas
parciais de J(w) em relação aos valores atuais de wi, i = 0, ..., n, dadas na forma:
∂J ∂ N  N ∂J l N
∂J l ∂g (ul ( w ) )
= ∑
∂wi ∂wi  l =1
J ( w )  = ∑ = ∑ ⋅ =
 l =1 ∂wi l =1 ∂g (ul ( w ) ) ∂wi
l

∂J l ∂g (ul ( w ) ) ∂ul ( w ) N ∂g (ul ( w ) )


= ∑ (g (ul ( w ) ) − y d l )⋅
N
=∑ ⋅ ⋅ ⋅ xli , i = 0, ..., n
l =1 ∂g (ul ( w ) ) ∂ul ( w ) ∂wi l =1 ∂ul ( w )
∂J
• sabendo-se que w = [w0 w1 ... wn]T, as derivadas parciais , i = 0, ..., n, podem
∂wi
ser arranjadas de modo a produzir o vetor gradiente associado à função objetivo
J(w), na forma (Obs: O gradiente é calculado para o valor atual do vetor w):
T
 ∂J (w ) ∂J (w ) ∂J (w ) 
∇J ( w ) =  L
 ∂w0 ∂w1 ∂wn 

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 30


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• com o conhecimento do vetor gradiente, o processo iterativo de solução se resume


a ajustar os pesos wi (i = 0, ..., n) no sentido oposto ao do vetor gradiente
(recalculado a cada iteração), com um passo α denominado taxa de aprendizado:

w (k + 1) = w (k ) − α∇J ( w (k ))
∂J ∂g (ul ( w ( k )) )
=wi(k) − α ∑ (g (ul ( w ( k )) ) − yd l ) ⋅
N
wi(k+1 )=wi(k) − α ⋅ xli , i=0,...,n (1)
∂wi (k ) l =1 ∂ul ( w ( k ))

4.7 O treinamento de uma rede neural com uma camada intermediária


• considere, agora, uma rede neural com uma camada intermediária, conforme
apresentado na Figura 17. Esta rede neural tem as seguintes características de
processamento:

1. cada camada contém um determinado número de neurônios do tipo perceptron


(Figura 16), onde todos possuem a entrada adicional de polarização x0 = 1.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 31

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

2. o vetor de entrada de cada camada da rede neural é distribuído a todos os


neurônios da mesma camada.

3. as saídas de todos os neurônios de uma camada formam o vetor de entrada para a


camada seguinte.
e
w10 s s
w10
e x
x10 10
1
e
w11 ws
11

ue1 y1e us1


g g ys
1
e
w1n s
w1m

1
x1
.
.. e e
wm s
x m0 0
xsp0 wp0
xn 1
e
wm s
1 wp1

e
um yme ups
g g ys
p
e
wm s
n wpm

Figura 17 – Rede neural tipo perceptron com uma camada intermediária


Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 32
EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• considere, então, o seguinte problema:


 Ajustar os pesos da rede neural da Figura 17 de forma a minimizar a função:
1N p s
( ) 1N p
(( ) )
N N p
2 2
J (w) = ∑∑ yli (w) − yd li
2 l =1 i =1
= ∑∑
2 l =1 i =1
g ulis (w) − yd li = ∑ J l (w) = ∑∑ J li (w) (2)
l =1 l =1 i =1

Solução proposta: Neste caso, a solução também pode ser obtida com o auxílio da
equação:
w (k+1) = w (k ) − α∇J (w (k ) ) (3)
• para aplicar a equação (3) no processo de ajuste dos pesos da rede neural, basta
calcular ∇J (w (k ) ) , associado ao valor do vetor de pesos w no instante k:

Camada de saída: wijs (i=1,...,p; j=0,...,m)

= (g (ulis (w ) ) − yd li ) s xlijs
∂J N ∂J l ∂ulis N ∂J li dg ∂ulis N dg
s ∑
= =∑ s ∑
∂wij l =1 ∂uli ∂wij l =1 ∂g duli ∂wij l =1
s s s
duli

Camada intermediária: wejk (j=1,...,m; k=0,...,n)

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 33

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Primeiramente, é necessário calcular as derivadas parciais de J li (w ) em relação a


xlijs , (l=1,...,N; i=1,...,p; j=1,...,m):

=(g (ulis ( w ) ) − yd li ) s wijs


∂J li ∂J li ∂ulis ∂J li dg ∂ulis dg
= s s =
∂xlij ∂uli ∂xlij ∂g duli ∂xlij
s s s
duli

e então obtém-se:

∂J N ∂J l ∂ulj ∂J l dg ∂ulj N  p
∂J  dg e
e N e
= ∑ = ∑ = ∑ ∑ sli  e xljk=
∂w jk l =1 ∂ulj ∂w jk l =1 ∂g dulj ∂w jk l =1  i=1 ∂xlij  dulj
e e e e e

(( ) )
N  p
dg s  dg e
= ∑ ∑ g ulis (w ) − yd li wij  xljk
l =1  i=1 dulis  dulje

• se, na rede neural da Figura 17, forem incluídas múltiplas camadas entre as
camadas de entrada e saída, o procedimento de obtenção das derivadas parciais vai
ser o mesmo empregado acima, apenas exigindo um maior número de aplicações
da regra da cadeia. Logo, a extensão para mais de uma camada intermediária é
sempre possível.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 34


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• este método de obtenção das derivadas parciais é conhecido como algoritmo de


retro-propagação (backpropagation), porque, como pode ser verificado, a
aplicação da regra da cadeia vai ‘propagar’ cada derivada parcial da função J,
definida na saída da rede neural, pelo caminho inverso, até a entrada da rede.

4.8 Algoritmos de treinamento

• conjunto de treinamento

Dados de Entrada Saída Desejada


⊗ ⊗ ⊗ ⊗ ⊗ ∇ ∇ ∇
N amostras M M
⊗ ⊗ ⊗ ⊗ ⊗ ∇ ∇ ∇

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 35

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

4.9 Processo Iterativo I – Método Padrão-a-Padrão


• defina uma condição inicial para o vetor de pesos w
• defina um escalar ε > 0 arbitrariamente pequeno;
• faça k = 0 e calcule J(VW);
• enquanto 2 J (w ( k ) ) N ≥ ε, faça:

♦ ordene aleatoriamente os padrões de entrada-saída;


♦ para l variando de 1 até N, faça:
apresente o padrão l de entrada à rede;
calcule J l (w (k ) ) e ∇J l (w (k ) );
w (k + 1) = w (k ) − α∇J l (w (k ) );
♦ k = k + 1;
♦ calcule J (w (k ) ) ;

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 36


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

4.10 Processo Iterativo I – Método em Lote ou Batelada


• defina uma condição inicial w(0) para o vetor de parâmetros (w ∈ ℜNp);
• atribua um valor fixo para α e defina um escalar ε > 0 arbitrariamente pequeno;
• faça k = 0 e calcule J (w (k ) ) ;
• enquanto 2 J (w ( k ) ) N ≥ ε, faça:

♦ para l variando de 1 até N, faça:


apresente o padrão l de entrada à rede;
calcule J l (w (k ) ) e ∇J l (w (k ) );
α N
♦ w (k + 1) = w (k ) −
N
∑ ∇J l (w (k ) );
l =1

♦ k = k + 1;
♦ calcule J (w (k ) ) ;

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 37

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

4.11 Processo Iterativo II – Método Padrão-a-Padrão


• defina uma condição inicial w(0) para o vetor de parâmetros (w ∈ ℜNp);
• defina um escalar ε > 0 arbitrariamente pequeno, 0 < r < 1 e q > 1;
• faça k = 0 e α = 1. Calcule J (w (k ) ) ;
• enquanto 2 J (w ( k ) ) N ≥ ε, faça:
♦ ordene aleatoriamente os padrões de entrada-saída;
♦ para l variando de 1 até N, faça:
apresente o padrão l de entrada à rede e calcule J l (w (k ) ) e ∇J l (w (k ) );
∇J l (w (k ) )
w prov (k + 1) = w ( k ) − α
∇J l (w (k ) )
(
; calcule J l w prov ( k + 1) ; )
( )
enquanto J l w prov ( k + 1) ≥ J l (w ( k ) ) faça:
α = rα ;
∇J l (w (k ) )
w prov (k + 1) = w ( k ) − α
∇J l (w (k ) )
(
; calcule J l w prov ( k + 1) ; )
w (k + 1) = w prov ( k + 1) ;
α = qα ;
♦ k = k + 1;
♦ calcule J (w (k ) ) ;

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 38


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

4.12 Processo Iterativo II – Método em Lote ou Batelada


• defina uma condição inicial w(0) para o vetor de parâmetros (w ∈ ℜNp);
• defina um escalar ε > 0 arbitrariamente pequeno, 0 < r < 1 e q > 1;
• faça k = 0, faça α = 1 e calcule J (w (k ) ) ;
• enquanto 2 J (w ( k ) ) N ≥ ε, faça:
♦ para l variando de 1 até N, faça:
apresente o padrão l de entrada à rede e calcule ∇J l (w (k ) );
N
∑ ∇J l (w (k ) )
♦w prov
(k + 1) = w (k ) − α l =1
N
(
; calcule J w prov ( k + 1) ; )
∑ ∇J l (w (k ) )
l =1
♦ enquanto J w ( )
(k + 1) ≥ J (w (k ) ) faça:
prov

α = rα ;
N
∑ ∇J l (w (k ) )
w prov
(k + 1) = w (k ) − α l =1
N
(
; calcule J w prov ( k + 1) ; )
∑ ∇J l (w (k ) )
l =1
♦ k = k + 1; w(k ) = w prov
( )
(k ) ; J (w(k )) = J w prov(k ) ; α = qα ; calcule J (w (k ) ) ;

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 39

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• o Processo Iterativo II fornece uma solução aproximada para o problema


 ∇J (w (k ) ) 
min J  w (k ) − α 
α >0
 ∇J (w (k ) ) 

• não se busca a solução exata deste problema por duas razões:

1. por estar associado apenas a um passo do processo iterativo de treinamento, o fato


de se chegar à solução exata não vai contribuir significativamente para o aumento
da eficiência do processo (redução no número de iterações);

2. encontrar a solução exata deste problema é uma tarefa muito mais custosa
computacionalmente que o método aproximado empregado acima.

Obs: Os algoritmos apresentados acima utilizam leis de ajuste que não empregam o
termo de momento e também não aplicam a normalização sobre α, os quais podem
ser prontamente incorporados.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 40


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

5 Referências bibliográficas
GERAIS
HAYKIN, S. “Neural Networks: A Comprehensive Foundation”, 2nd edition, Prentice Hall, 1999.
HECHT-NIELSEN, R. “Neurocomputing”, Addison-Wesley Publishing Company, 1990.
HERTZ, J., KROGH, A. & PALMER, R.G. “Introduction to the Theory of Neural Computation”, Addison-Wesley Publishing Company, 1991.
SCHALKOFF, R.J. “Artificial Neural Networks”, The McGraw-Hill Companies, 1997.
REDES MLP
BARRON, A.R. “Universal approximation bounds for superpositions of a sigmoidal function”, IEEE Transactions on Information Theory,
vol. 39, no. 3, pp. 930-945, 1993.
COTTER, N.E. “The Stone-Weierstrass Theorem and Its Application to Neural Networks”, IEEE Transactions on Neural Networks, vol. 1,
no. 4, pp. 290-295, 1990.
CYBENKO, G. “Approximation by superposition of sigmoidal functions”, Mathematics of Control, Signals and Systems, vol. 2, no. 4, pp.
303-314, 1989.
FUNAHASHI, K.-I. “On the approximate realization of continuous mappings by neural networks”, Neural Networks, vol. 2, no. 3, pp. 183-
192, 1989.
HORNIK, K. “Approximation capabilities of multilayer feedforward networks”, Neural Networks, vol. 4, no. 2, pp. 251-257, 1991.
HORNIK, K., STINCHCOMBE, M., WHITE, H. “Universal approximation of an unknown function and its derivatives using multilayer
feedforward networks”, Neural Networks, vol. 3, no. 5, pp. 551-560, 1990.
HORNIK, K., STINCHCOMBE, M., WHITE, H., AUER, P. “Degree of Approximation Results for Feedforward Networks Approximating
Unknown Mappings and Their Derivatives”, Neural Computation, vol. 6, no. 6, pp. 1262-1275, 1994.
HORNIK, K., STINCHCOMBE, M., WHITE, H. “Multi-layer feedforward networks are universal approximators”, Neural Networks, vol. 2, no.
5, pp. 359-366, 1989.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 41

EA072 – Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp
JONES, L.K. “Constructive Approximations for Neural Networks by Sigmoidal Functions”, Proceedings of the IEEE, vol. 78, no. 10, 1990.
LAPEDES, A.S., FARBER, R.M. “Nonlinear Signal Processing Using Neural Networks: Prediction and System Modeling”, Technical Report
LA-UR-87-2662, Los Alamos National Laboratory, 1987.
REDES RBF
BISHOP, C.M. “Improving the generalisation properties of radial basis function neural networks”, Neural Networks, 3(4): 579-
588, 1991.
BISHOP, C.M. “Neural Networks for Pattern Recognition”, Clarendon Press, 1995.
CHEN, C.-L., CHEN, W.-C. & CHANG, F.-Y. “Hybrid learning algorithm for Gaussian potential function networks”, IEE
Proceedings D, 140(6): 442-448, 1993.
CHEN, S., CHNG, E.S. & ALKADHIMI, K. “Regularized Orthogonal Least Squares Algorithm for Constructing Radial Basis
Function Networks”, International Journal of Control, 64(5): 829-837, 1996.
DE CASTRO, L.N. & VON ZUBEN, F.J. Automatic Determination of Radial Basis Functions: An Immunity-Based Approach.
International Journal of Neural Systems, vol. 11, no. 6, pp. 523-535, 2001.
FREEMAN, J.A.S. & SAAD, D. “Learning and Generalization in Radial Basis Function Networks”, Neural Computation, 7: 1000-
1020, 1995.
FRITZKE, B. “Fast learning with incremental RBF Networks”, Neural Processing Letters, 1(1): 2-5, 1994.
GOMM, J.B. & YU, D.L. “Selecting Radial Basis Function Network Centers with Recursive Orthogonal Least Squares
Training”, IEEE Transactions on Neural Networks, 11(2):306-314, 2000.
HWANG, Y.-S. & BANG, S.-Y. “An Efficient Method to Construct a Radial Basis Function Neural Network Classifier”, Neural
Networks, 10(8): 1495-1503, 1997.
KARAYIANNIS, N.B. “Gradient Descent Learning of Radial Basis Neural Networks”, Proceedings of the IEEE International
Conference on Neural Networks, pp. 1815-1820, 1997.
KARAYIANNIS, N.B. & MI, G.W. “Growing Radial Basis Neural Networks: Merging Supervised and Unsupervised Learning
with Network Growth Techniques”, IEEE Transactions on Neural Networks, 8(6): 1492-1506, 1997.
KUBAT, M. “Decision trees can initialize radial-basis function networks”, IEEE Transactions on Neural Networks, 9(5): 813-
821, 1998.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 42


EA072 – Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
LIPPMANN, R.P. “Pattern Classification Using Neural Networks”, IEEE Communications Magazine, November, pp. 47-63,
1989.
MICCHELLI, C.A. “Interpolation of Scattered Data: Distance Matrices and Conditionally Positive Definite Functions”,
Constructive Approximation, 2: 11-22, 1986.
MOODY, J. & DARKEN, C. “Fast Learning in Networks of Locally-Tuned Processing Units”, Neural Computation, 1: 281-294,
1989.
MULGREW, B. “Applying Radial Basis Functions”, IEEE Signal Processing Magazine, pp. 50-66, March 1996.
ORR, M.J.L. “Regularisation in the Selection of Radial Basis Function Centres”, Neural Computation, 7(3): 606-623, 1995.
ORR, M.J.L. “Optimising the widths of radial basis functions”, Proceedings of the Fifth Brazilian Symposium on Neural
Networks, Belo Horizonte, Brazil, 1998.
ORR, M.J.L. “Recent Advances in Radial Basis Function Networks”, Technical Report, Institute for Adaptive and Neural
Computation, University of Edinburgh, Scotland, 1999. (http://www.anc.ed.ac.uk/~mjo/papers/recad.ps)
POGGIO, T. & GIROSI, F. “Networks for Approximation and Learning”, Proceedings of the IEEE, 78(9): 1481-1497, 1990.
SUTANTO, E.L., MASON, J.D. & WARWICK, K. “Mean-tracking clustering algorithm for radial basis function centre selection.
International Journal of Control, 67(6): 961-977, 1997.
WANG, Z. & ZHU, T. “An Efficient Learning Algorithm for Improving Generalization Performance of Radial Basis Function
Neural Networks”, Neural Networks, 13(4-5): 545-553, 2000.
WETTSCHERECK, D. & DIETTERICH, T. “Improving the Performance of Radial Basis Function Networks by Learning Center
Locations”, Advances in Neural Information Processing Systems, 4:1133-1140, 1992.
WHITEHEAD, B.A. & CHOATE, T.D. “Cooperative-Competitive Genetic Evolution of Radial Basis Function Centers and Widths
for Time Series Prediction”, IEEE Transactions on Neural Networks, 7(4): 869-880, 1996.
WHITEHEAD, B.A. & CHOATE, T.D. “Evolving Space-Filling Curves to Distribute Radial Basis Functions Over an Input Space”,
IEEE Transactions on Neural Networks, 5(1): 15-23, 1994.
YINGWEI, L., SUNDARARAJAN, N. & SARATCHANDRAN, P. “A Sequential Learning Scheme for Function Approximation Using
Minimal Radial Basis Function Neural Networks”, Neural Computation, pp. 461-478, 1996.

Tópico 1.2: Modelos e Aplicações de Redes Neurais Artificiais (Parte II) 43