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