Post on 04-Jan-2016
description
1
Antonio G. Thométhome@nce.ufrj.brSala - 1013(021)2598-3268
Os Modelos Os Modelos PerceptronPerceptron, , AdalineAdaline e e MadalineMadaline
Universidade Federal do Rio de Janeiro
PROGRAMA DE MESTRADOIM/DCC - NCE
www.labic.nce.ufrj.br
Fev 20052
Redes Neurais AplicadasRedes Neurais Aplicadas
O Modelo PERCEPTRON
Rosemblat - 1962
2
Fev 20053
Redes Neurais AplicadasRedes Neurais Aplicadas
PERCEPTRON
objetivo:– Atuar como classificador e como gerador de
funções lógicas binárias
características– aprendizado supervisionado– representação binária– apenas uma camada de pesos ajustáveis
Fev 20054
Redes Neurais AplicadasRedes Neurais Aplicadas
AtivaçãoPropagação - degrau
R∈= ∑=
iim
iii xwxwnet ,/
0
≤>
=00
01
netnet
sese
y
onde: é o limiar (threshold)0w
Perceptron - Arquitetura Básica
- também aprendido pela rede
ΣΣ
x1
xm wm
w1
net
w0
+1
y
yd
Xi
iw∆x
erro
esquema aprendizagem
3
Fev 20055
Redes Neurais AplicadasRedes Neurais Aplicadas
Fronteira de Decisão
atribui o ponto representado pelas entradas x1, x2, ..., xn à classe C1 se a saída y do Perceptronfor igual a 1 ou à classe C2 se ela for 0
classe C1
classe C2
x1
x2
fronteira de decisão
w1x1 + w2x2 + b = 0Demo: nnd4dbDecision bounderies
Fev 20056
Redes Neurais AplicadasRedes Neurais Aplicadas
Regra de Aprendizado do Perceptron
wij(k+1) = wij (k) + λ*ei (k)*xjwij(k+1) = wij (k) + λ*ei (k)*xj
xj
yi
• ei(k) = ydi – yi
• λ – taxa de aprendizado
Onde:
Demo: nnd4prPerceptron Learning Rule
4
Fev 20057
Redes Neurais AplicadasRedes Neurais Aplicadas
Treinamento do Perceptron
algoritmo
1 – inicializar λ e o vetor de pesos W
2 – repetir3 – para cada par do conjunto de treinamento
3.1 – atualizar o vetor de pesos para cada um dos nodos da rede segundo a regra
W(k + 1) = W(k) + λ ·e·X(k)4 – até e = 0 para todos os p elementos do conjunto de
treinamento em todos os neurônios da rede
( ){ }p1i
id
i y,xΓ ==
Fev 20058
Redes Neurais AplicadasRedes Neurais Aplicadas
Separabilidade Linear
• Porta “E”
x y0 00 11 01 1
z0001
9
5x
5y
z
y
x
5x + 5y = 9
x
• Porta “OU”
x y0 00 11 01 1
z0111
4
.5
.5
x
y
z
5
5
y
x
5x + 5y = 4
x
Demo: Classif w/ 2 input neurons
5
Fev 20059
Redes Neurais AplicadasRedes Neurais Aplicadas
• Porta “E”
y
x
x
x y0 00 11 01 1
z0001w0
x
y
+1
wx
wyz’
PERCEPTRON
• Passo 1 – iniciar wi e λ (taxa de aprendizado)
• wx = +1; wy = +2; w0 = -1; λ = 1
• Passo 2 – apresenta primeiro padrão de amostra {x1,y1}≡ {0,0}
• net(1)= wx* x1 + wy* y1 + w0* 1 = -1 ⇒ z’(1) = 0 -- correto
≤>
=00
01
'netnet
sese
z
x+2y-1=0
Fev 200510
Redes Neurais AplicadasRedes Neurais Aplicadas
• Porta “E”
y
x
x
x y0 00 11 01 1
z0001w0
x
y
+1
wx
wyz’
PERCEPTRON
• Passo 3 – apresenta segundo padrão de amostra {x2,y2}≡ {0,1}
• net(2)= 1*0 + 2*1 + -1* 1 = +1 ⇒ z’(2) = 1 – incorreto
• adapta os pesos:
• wx(3) = wx(2) + 1*(z(2)-z’(2))*x(2) = 1 + (-1)*0 = 1
• wy(3) = wy(2) + 1*(z(2)-z’(2))*y(2) = 2 + (-1)*1 = 1
• w0(3) = w0(2) + 1*(z(2)-z’(2))*1 = -1 + (-1)*1 = -2
≤>
=00
01
'netnet
sese
z
x+y-2=0
6
Fev 200511
Redes Neurais AplicadasRedes Neurais Aplicadas
• Porta “E”
y
x
x
x y0 00 11 01 1
z0001w0
x
y
+1
wx
wyz’
PERCEPTRON
• Passo 3 – apresenta terceiro padrão de amostra {x3,y3}≡ {1,0}
• net(3)= 1*1 + 1*0 + -2* 1 = -1 ⇒ z’(3) = 0 – correto
• Passo 4 – apresenta quarto padrão de amostra {x4,y4}≡ {1,1}
• net(4)= 1*1 + 1*1 + -2* 1 = 0 ⇒ z’(4) = 0 – incorreto
• wx(4) = 1 + (1)*1 = 2; wy(4) = 1 + (1)*1 = 2; w0(4) = -2 + (1)*1 = -1
≤>
=00
01
'netnet
sese
z
2x+2y-1=0
Fev 200512
Redes Neurais AplicadasRedes Neurais Aplicadas
w1
w2
PERCEPTRON – Capacidade de Classificação
7
Fev 200513
Redes Neurais AplicadasRedes Neurais Aplicadas
Limitações do Perceptron
– não admite mais de uma camada de pesos
ajustáveis
– aprendizado nem sempre ocorre
– as duas classes C1 e C2 devem ser linearmente
separáveis
classeC1 classe
C2
classeC1 classe
C2
Demo: Linearly non separable vectors
Fev 200514
Redes Neurais AplicadasRedes Neurais Aplicadas
Problemas linearmente separáveis são aqueles que podem ser resolvidos utilizando uma reta
ou hiperplano como fronteira de decisão.
X1
X2
X1
X2
Linearmente separável Não-linearmente separável
8
Fev 200515
Redes Neurais AplicadasRedes Neurais Aplicadas
Classificação perfeita quase nunca é possívelNem todos os problemas são linearmente separáveisDifícil validar qual o melhor número de categorias para um determinado problemaGrande sobreposição de classes (???)Causas freqüentes de erros:
– Padrões não podem ser linearmente separados– Características podem ser inadequadas para distinguir as
diferentes classes– Características podem ser muito correlacionadas– Podem haver subclasses distintas nos dados
Realidade
Fev 200516
Redes Neurais AplicadasRedes Neurais Aplicadas
– Combinar CamadasPoderia ser uma solução?
– ProblemaComo treinar as camadas mais internas?
?
PERCEPTRON – 01 camada & linearmente separáveis
9
Fev 200517
Redes Neurais AplicadasRedes Neurais Aplicadas
• Porta “XOR”
y
x
x
x y0 00 11 01 1
z0110w0
x
y
+1
wx
wyz’
PERCEPTRON
≤>
=00
01
'netnet
sese
z
x
+1
PERCEPTRON
yxyxyx •+•=⊕
x
yz’
Fev 200518
Redes Neurais AplicadasRedes Neurais Aplicadas
Exemplo
considere um conjunto de pessoas (4 elementos) formado por homens e mulheres. Treinar uma rede Perceptron, que seja capaz de reconhecer o sexo das pessoas.
1 1XLúcia1 0XMaria0 1XPaulo0 0XJosé
codificaçãomasculinofemininonome
10
Fev 200519
Redes Neurais AplicadasRedes Neurais Aplicadas
Exemplo (cont.)
condições de disparo– se net > 0 y = 1 (feminino)– se net ≤ 0 y = 0 (masculino)
início do treinamento– b = 0– w1 = 0– w2 = 0
Fev 200520
Redes Neurais AplicadasRedes Neurais Aplicadas
Exemplo (cont.)
apresentação do primeiro elemento à rede neural
– net = b ∗ 1 + w1 ∗ 0 + w2 ∗ 0– net = 0 ∗ 1 + 0 ∗ 0 + 0 ∗ 0 = 0– y = 0 e d = 0 (resposta correta)
w1b w2
+1 0 0
11
Fev 200521
Redes Neurais AplicadasRedes Neurais Aplicadas
Exemplo (cont.)
apresentação do segundo elemento à rede neural
– net = b ∗ 1 + w1 ∗ 0 + w2 ∗ 1– net = 0 ∗ 1 + 0 ∗ 0 + 0 ∗ 1 = 0– y = 0 e d = 0 (resposta correta)
w1b w2
+1 0 1
Fev 200522
Redes Neurais AplicadasRedes Neurais Aplicadas
Exemplo (cont.)
– apresentação do terceiro elemento à rede neural
– net = b ∗ 1 + w1 ∗ 1 + w2 ∗ 0– net = 0 ∗ 1 + 0 ∗ 1 + 0 ∗ 0 = 0– y = 0 e d = 1 (resposta incorreta)
– b = b + 1 = 0 + 1 = 1 net = b ∗ 1 + w1 ∗ 1 + w2 ∗ 0– w1 = w1 + 1 = 0 + 1 = 1 net = 1 ∗ 1 + 1 ∗ 1 + 0 ∗ 0 = 2– w2 = w2 + 0 = 0 + 0 = 0 y = 1 e d = 1 (resposta
correta)
w1b w2
+1 1 0
12
Fev 200523
Redes Neurais AplicadasRedes Neurais Aplicadas
Exemplo (cont.)
apresentação do quarto elemento à rede neural
– net = b ∗ 1 + w1 ∗ 1 + w2 ∗ 1– net = 1 ∗ 1 + 1 ∗ 1 + 0 ∗ 1 = 2– y = 1 e d = 1 (resposta correta)
w1b w2
+1 1 1
Fev 200524
Redes Neurais AplicadasRedes Neurais Aplicadas
Modelo ADALINE
Widrow & Hoff - 1963
13
Fev 200525
Redes Neurais AplicadasRedes Neurais Aplicadas
ADALINE
características
– ADALINE e Perceptron surgiram quase que simultaneamente
– tem seus pesos ajustados em função do erro de sua saída
linear, antes da aplicação da função de propagação
– continua com o problema de uma única camada de pesos
ajustáveis
– a função de custo a ser minimizada é quadrática nos pesos de
entrada, e a minimização é feita pelo método do gradiente
Fev 200526
Redes Neurais AplicadasRedes Neurais Aplicadas
Ativação Propagação - degrau
R∈= ∑=
iim
iii xwxwnet ,/
0
≤>
=00
01
netnet
sese
y
onde: é o limiar (threshold)0w
ADALINE - Arquitetura Básica
- também aprendido pela rede
ΣΣ
x1
xm wm
w1
net
w0
+1
y
ydiw∆
Xi
x erro
esquema aprendizagem
Demo:Training w/ Linear neuron
14
Fev 200527
Redes Neurais AplicadasRedes Neurais Aplicadas
atualização dos pesos pelo método do gradiente– o ajuste ocorre quando e ≠ 0 ⇒ ∆W ≠ 0
função de erro a ser minimizada
objetivo– obter a direção do ajuste a ser aplicado ao vetor de pesos de
forma a caminhar de forma incremental em direção à solução ótima
Esquema de Treinamento - Regra Delta
( )2
)(2
)(2
d2 net(k)kye(k)kE −==
Fev 200528
Redes Neurais AplicadasRedes Neurais Aplicadas
Dedução da Regra Delta (dedução)
o ajuste é feito na direção contrária do gradiente
)()1( kEkWi ∇×−≈+∆ λ
)(/)()(
)()(
)()()( itodo
kwknet
knetkE
kwkEkE
i
i
ii ∂∂
∂∂
=∂∂
=∇
)(2
))()((2)(2
))()(()(
)( 2keknetky
knetknetky
knetkE id
i
id
i−=
−−=
∂−∂
=∂∂
)()(
)()()( kx
kwxw
kwknet
ii
jj
i=
∂∑∂
=∂∂
)()()()()1( kxkekxekw iii λλ =−−≈+∆
15
Fev 200529
Redes Neurais AplicadasRedes Neurais Aplicadas
Vantagens e Limitações do ADALINE
• Vantagens:
• Treinamento mais suave que o do Perceptron
• Limitações:
• As mesmas do Perceptron
• O treinamento inclusive pode ser muito mais demorado
(*) muito empregado na área de filtros digitais adaptativos
Demo: nnd4prLinear Class System
Fev 200530
Redes Neurais AplicadasRedes Neurais Aplicadas
Modelo - MADALINE
16
Fev 200531
Redes Neurais AplicadasRedes Neurais Aplicadas
Madaline
uma das primeiras redes neurais em camadas treináveis com múltiplos elementos adaptativos
uma camada composta por ADALINE´s é conectada a um ADALINE com parâmetros fixos
critérios de decisão: “OU” “E” “MAIORIA”
Fev 200532
Redes Neurais AplicadasRedes Neurais Aplicadas
Exemplo - Maioria
majy
• Passo 1 – um padrão é apresentado a cada ADALINE
• Passo 2 – a saída y é calculada em concordância com a maioria
• Passo 3 – a saída gerada é comparada com a desejada
• Passo 4 – se errada, o ADALINE com menor erro é escolhido para treinar
• Passo 1 – um padrão é apresentado a cada ADALINE
• Passo 2 – a saída y é calculada em concordância com a maioria
• Passo 3 – a saída gerada é comparada com a desejada
• Passo 4 – se errada, o ADALINE com menor erro é escolhido para treinar
Desejada
?? erro
A
A
A