AULA 03
PERCEPTRON SIMPLES
Perceptron Clássico – Rosenblatt (1958)
área de
projeção
área de
associação
retina
conexões
locais
conexões
aleatórias
respostas
Embora essa topologia possua 3 níveis, é
conhecida como perceptron de uma
camada, pois somente as unidades de
saída possuem propriedades adaptativas.
As unidades intermediárias, possuem
pesos fixos, definidos antes do período de
treinamento.
associação
retina
 
resposta
 
 
 
Perceptron
• Basicamente o perceptron consiste de uma única camada de neurônios com
com pesos sinápticos e bias ajustáveis.
• Se os padrões de entrada forem linearmente separáveis, o algoritmo de treinamento
possui convergência garantida, i.é, tem capacidade para encontrar um conjunto de
pesos que classifica corretamente os dados.
• Os neurônios do perceptron são similares ao de McCulloch-Pitts, por terem a função
de ativação do tipo degrau, mas possuem pesos associados e bias.
wk0=bk (bias)
entrada fixa
x0=+1
wk0
x1
wk1
x2
wk2
sinais
de
entrada
função
de ativação

uk
yk
f(uk)
saída
junção
aditiva
xm
wkm
pesos
sinápticos
Função
degrau
Treinamento de um único neurônio
O algoritmo do perceptron:
para cada padrão de treinamento xi, a saída da rede yi é calculada.
determina-se o erro ei entre a saída desejada para esse padrão di e a
saída da rede yi, (ei = di – yi).
O vetor de pesos e o bias são atualizados de acordo com as regras:
w i (t  1)  w i (t )  ei x i
b(t  1)  b(t )  ei
onde w  1 x m ,
x  1 x m , e b  1 x1 .
entrada fixa
x0=+1
sinais
de
entrada
w0=b (bias)
w0
x1
w1
x2
w2
função
de ativação
degrau
u

y
f(u)
saída
junção
somadora
xm
wm
pesos
sinápticos
Algoritmo de treinamento de um único
neurônio
Para classificação padrões de entrada como pertencentes ou não a uma dada classe,
seja o conjunto de treinamento formado por N amostras {x1,d1}, {x2,d2}, ..., {xN,dN},
onde xj é o vetor de entradas e dj a saída desejada, que em notação vetorial tem-se
X   mxN e d  1xN
{X,d}, onde:
Procedure [w] = perceptron (max_it, E, , X,d)
inicializar w // para simplicidade, com zeros
inicializar b
// para simplicidade, com zero
t 1
while t < max_it & E > 0 do
for i from 1 to N do
// para cada padrão de entrada
yi  f(w xi + b)
// determinar a saída
ei  di – yi
// determinar o erro
w  w +  ei xi
// atualizar o vetor peso
b  b +  ei
// atualizar o bias
end for
E  sum (ei)
//quantidade de erros
t t+1
end while
end procedure
Exemplo: função AND
w0=b
x0=+1
w0
u
x1
w1
y

x2
x2
w2
3
Temos como vetores de entrada e saída desejada:
2
0
X
0
1
0
1
1 1
0 1
d  [0 0 0 1]
Entrada
(1,1)
0
Iniciando os pesos e o limiar em zero
w = [0 0], b = 0 e  = 1, tem-se
w1 = 2, w2 = 1, b = -3 e a equação da
reta 2x1 + 1x2 – 3 = 0.
0
1
2
3
x1
Algoritmo de treinamento para perceptron
de múltiplos neurônios
Nesse caso, para cada vetor de entradas tem-se um vetor de saída:
y i  f (Wxi  b); W  oxm ; xi  mx1 , i  1,...,N; y i  ox1 , b  ox1 e D  oxN
Procedure [W] = perceptron (max_it, , X,D)
inicializar W // para simplicidade, com zeros
inicializar b // para simplicidade, com zero
t 1
while t < max_it do
for i from 1 to N do
// para cada padrão de entrada
yi  f(W xi + b)
// determinar a saída
ei  di – yi
// determinar o erro
W  W +  ei xiT
// atualizar a matriz peso
b  b +  ei
// atualizar o vetor bias
end for
t t+1
end while
end procedure
Adaline
• Na mesma époce em que Rosenblatt propôs o perceptron, Widrow e Hoff
propuseram o algoritmo dos mínimos quadrados (regra delta) para a rede
Adaline (Adaptive Linear Element), similar ao perceptron, porém com função
de ativação linear ao invés de função degrau.
• O objetivo do algoritmo de treinamento é minimizar o erro quadrático médio
(MSE) entre a saída de rede e a saída desejada.
• A soma dos erros quadráticos para um determinado padrão é dada por:
o
o
   e   (d i  y i ) 2
i 1
2
i
i 1
• O gradiente de  , também denominado de índice de desempenho ou função
custo, fornece a direção de crescimento mais rápido de  .
• Portanto, a direção oposta ao gradiente de  é a direção de maior decrescimento
Adaline (cont.)
O erro pode ser reduzido ajustando-se os pesos da rede de acordo com
wIJ  wIJ  

wIJ
onde wIJ é o peso específico para o neurônio pós-sináptico I, da entrada J, e
 é a taxa de aprendizagem .
Como wIJ influencia apenas o neurônio I,



wIJ wIJ
Como
o
2
(
d

y
)
 i i 
i 1

(d I  y I ) 2
wIJ
y I  f (w I .x)  f ( wIj x j )   wIj x j
j
j
y

 2(d I  y I ) I  2(d I  y I ) x J
wIJ
wIJ
regra delta
Portanto a regra delta para o adaline resume-se em:
wIJ  wIJ   (d I  y I ) x J
bI  bI   (d I  y I )
Em notação vetorial tem-se:
W  W  e i x i
T
b  b  e i
onde W   oxm , x i   mx 1 , i  1,..., N , e i   ox1 , e b   ox1
Download

a = 1