Redes Neuronais - Hélia Guerra

Propaganda
Competição
•
Na classificação de padrões (e.g., caracteres), quando existem duas
ou mais categorias de padrões, pode acontecer que ao apresentar
um padrão, mais do que um neurónio responda afirmativamente.
•
Na prática, pretendemos que apenas um único neurónio da rede
responda afirmativamente.
•
Quando se pretende a resposta afirmativa de apenas um dos
neurónios, é possível adicionar informação à rede para que esta seja
“forçada” a tomar uma decisão – mecanismo de COMPETIÇÃO
•
A forma mais extrema de competição é designada “winner take all”
•
A arquitectura da rede é enriquecida com uma estrutura adicional
que na presença de um neurónio dominante iniba todos os outros
neurónios da rede.
Redes Neuronais
Competição
Hélia Guerra
Departamento de Matemática
Universidade dos Açores
[email protected]
http://www.uac.pt/~hguerra/Teaching/RN/RN.html
DM / UAç
Competição
Redes Neuronais
2
Arquitectura da rede Maxnet
Lippmann 1987
•
Pode ser usada como parte
integrante de outra rede
para encontrar o neurónio
com maior activação
•
Cada neurónio está ligado
a todos os outros, inclusive
com ele próprio
1
•
1
• Redes baseadas na competição
– Sem aprendizagem (ie, pesos fixos)
• MaxNet
• Chapéu mexicano (Mexican Hat)
1
m
i
j
– Com aprendizagem (não supervisionada)
• Kohonen
•
• Learning Vector Quantization (LVQ)
Matriz de pesos é simétrica
1
– Com aprendizagem supervisionada
1
• Rede de Hamming
• Contrapropagação
DM / UAç
Redes Neuronais
3
DM / UAç
Redes Neuronais
4
Maxnet
•
Algoritmo Maxnet
0. Atribuir valores iniciais aos pesos (0<ε<1/m) e aos estímulos xi(0),
i=1,…,m
wij=- ε, i≠j
wii=1
Estímulo recebido por cada unidade
xini = xivelho − ε ∑ xkvelho
1. Repetir os passos I-II enquanto dois ou mais neurónios estejam
sujeitos a estímulo total diferente de zero
I. Actualizar a actividade de cada neurónio, i=1,…,m
k ≠i
•
Função de activação de cada unidade
⎞
⎛
x innovo
= f ⎜ xivelho − ε ∑ xkvelho ⎟
i
k ≠i
⎠
⎝
1
0.8
⎧ xin
xi = f ( xini ) = ⎨ i
⎩0
se xini > 0
0.6
c.c.
0.4
II. Guardar os valores da actividade para próxima iteração
x velho
= xinovo
in
0.2
i
-1
DM / UAç
-0.5
0.5
Redes Neuronais
1
Exemplo
•
DM / UAç
5
Redes Neuronais
6
Chapéu Mexicano (Mexican Hat)
Considere uma rede Maxnet com 4 neurónios, pesos inibitórios -0.2 com
•
Kohonen 1989
•
Noção de vizinhança para os neurónios mais próximos que
activações iniciais [0.2 0.4 0.6 0.8]
Iteração
x1
x2
x3
x4
0
0,200
0,400
0,600
0,800
1
0,000
0,080
0,320
0,560
2
0,000
0,000
0,192
0,480
3
0,000
0,000
0,096
0,442
4
0,000
0,000
0,008
0,422
5
0,000
0,000
0,000
0,421
– Ajudam (cooperativos)
– Inibem (competitivos)
– não fazem nada
•
– “positivos” (excitatórios)
– “negativos” (inibitórios)
– nulos (sem ligação)
•
DM / UAç
Redes Neuronais
Cada neurónio tem pesos
7
Pode ser usada como parte integrante de outra rede para encontrar o
neurónio com maior activação
DM / UAç
Redes Neuronais
8
Chapéu Mexicano (Mexican Hat)
Notação
• À volta de cada neurónio (xi), existem duas regiões simétricas
– Neurónios cooperativos
• estão mais próximos, têm pesos positivos e geralmente iguais
(w1, …,wk)
– Neurónios competitivos
• estão mais afastados e têm pesos negativos (wk+1,…,wk+m)
– Pode haver neurónios que não estão ligados (xi±(k+m+1))
DM / UAç
Redes Neuronais
9
Algoritmo do Chapéu Mexicano (Mexican Hat)
0. Atribuir valores a tmax, R1 e R2.
• R1
alcance para neurónios cooperativos
• R2
alcance para neurónios competitivos (R1<R2)
• wk
peso entre os neurónios xi e xi±k
• x
vector de activações
• xvelho
vector de activações do tempo anterior
• tmax
número total de iterações
• s
sinal exterior
DM / UAç
Redes Neuronais
10
Algoritmo do Chapéu Mexicano (Mexican Hat)
2. Repetir enquanto t<tmax
I. Actualizar estímulo recebido por cada neurónio, i=1,…,n
Atribuir valores iniciais aos pesos
wk=C2(<0), k=R1+1,…,R2
wk=C1(>0), k=1,…,R1
xi = C1
Atribuir valores iniciais aos estímulos
xi(0)=0, i=1,…,n
R1
− R1 −1
k = − R1
k = − R2
+ C2
∑ xinvelho
i+k
+ C2
∑ xinvelho
i+k
R2
∑x
k = R1 +1
velho
ini + k
II. Actualizar actividade de cada neurónio , i=1,…,n
( )
1. Activar
xi=si, i=1,…,n
xi = f xini
III. Guardar os valores da actividade para próxima iteração
t=1
x velho = xinovo
i
IV. t=t+1
DM / UAç
Redes Neuronais
11
DM / UAç
Redes Neuronais
12
Exemplo
•
Exemplo
X1
X2
X3
X4
X5
X6
X7
0,000
0,500
0,800
1,000
0,800
0,500
0,000
1,160
1,060
0,380
-0,020
0,000
0,380
1,060
1,160
1,060
0,380
0,000
-0,196
0,400
1,136
1,664
1,136
0,400
-0,196
0,000
0,400
1,136
1,664
1,136
Considere uma rede Chapéu Mexicano com 7 neurónios; R1=1, R2=2;
C1=0.6, C2=-0.4; s=[0.0 0.5 0.8 1.0 0.8
0.0] 1,060
-0,0200.50,380
X1
X2
X3
X4
0,000
0,500
0,800
1,000-0,214 0,800
0,256
1,4660,500
2,042
-0,020
0,380
1,060
0,256
1,1600,000 1,060
1,466
0,000
0,380
1,060
1,160
1,060
-0,196
0,400
1,136
1,664
1,136
-0,433
X5
0,233
X6
2,000
0,380
1,647
2,754
0,380
0,400
X7
0,400
0,000
0,0000,256
1,466
-0,214
-0,0200,256
0,000
1,466
1,647
0,000
0,233
2,500
2,000
1,500
t=0
t=1
-0,433
t=2
1,000
t=3
-0,196
0,000
0,400
1,136
1,664
1,136
0,400
0,000
-0,214
0,256
1,466
2,042
1,466
0,256
-0,214
0,000
0,256
1,466
2,000
1,466
0,256
0,000
0,500
0,000
X1
DM / UAç
Redes Neuronais
X4
X5
X6
X7
Redes Neuronais
14
Rede de Hamming
•
•
X3
DM / UAç
13
Rede de Hamming
X2
Lippmann 1987, DARPA 1988
A medida de semelhança entre dois vectores x e y de dimensão n é
dada por
n-H(x,y),
onde H(x,y) é a distância de Hamming
•
Rede classificadora de máxima verosimilhança
•
Encontra, entre vários padrões memorizados, o padrão mais
parecido com determinado padrão
•
Padrões memorizados determinam os pesos da rede
DM / UAç
Redes Neuronais
15
•
Distância de Hamming entre dois vectores binários ou bipolares,
denotada por H(x,y), corresponde ao número de componentes
homólogas dos vectores que são diferentes.
•
A distância média de Hamming é dada por H(x,y)/n
DM / UAç
Redes Neuronais
16
Arquitectura da rede de Hamming
Algoritmo de Hamming
0. Atribuir valores iniciais aos pesos e pendores
wij=0.5xi(j) i=1,…,n, j=1,…,m
bj=0.5n
j=1,…,m
2. Repetir para todo o vector de estímulos x
I. Actualizar estímulo recebido por cada neurónio yj, j=1,…,m
n
yin j = ∑ xi wij + b j
i =11
II. Inicializar activações para a MaxNet, j=1,…,m
y j (0) = yin j
III. Executar algoritmo Maxnet para encontrar o vector
memorizado mais parecido com o vector de estímulos
DM / UAç
Redes Neuronais
Exemplo
•
e(1)= [1 -1 -1 -1]
e(2)= [-1 -1 -1 1].
•
b = [2 2]
Classificar os vectores [1 1 -1 -1] , [1 -1 -1 -1] , [-1 -1 -1 1] e [-1 -1 1 1]
DM / UAç
Redes Neuronais
18
Mapas auto-organizáveis de Kohonen
Considere uma rede de Hamming. Memorize os seguintes vectores
⎡ 0.5 − 0.5⎤
⎢− 0.5 − 0.5⎥
⎥
W =⎢
⎢− 0.5 − 0.5⎥
⎥
⎢
0.5⎦
⎣− 0.5
DM / UAç
17
Redes Neuronais
19
•
Kohonen 1989
•
Aprendizagem não supervisionada e competitiva
•
Agrupamento de padrões
•
Neurónios classificadores organizados em grelha unidimensional ou
bidimensional
•
Durante a aprendizagem
– Neurónio com pesos mais próximos do vector de treino é o
vencedor
– Grau de proximidade entre neurónios é medido através do
quadrado da distância Euclideana
– Os pesos do neurónio vencedor e seus vizinhos são
actualizados.
DM / UAç
Redes Neuronais
20
Arquitectura de Kohonen
Aprendizagem de Kohonen
•
Os pesos do neurónio vencedor (yj) são ajustados de acordo com a seguinte
regra
w .novo
= w .velho
+ α (x − w .velho
)
j
j
j
= α x + (1 − α )w .velho
j
onde
– x denota o vector de entrada para ser classificado
– w.j denota o vector de pesos para a unidade yj
– α denota o coeficiente de aprendizagem
DM / UAç
Redes Neuronais
21
DM / UAç
Xi
Xn
Redes Neuronais
Redes Neuronais
22
Arquitectura de Kohonen (topologia rectangular com
vizinhança de raio R=0,1,2,3)
Arquitectura de Kohonen (topologia rectangular)
X1
DM / UAç
X1
23
DM / UAç
Xi
Xn
Redes Neuronais
24
Arquitectura de Kohonen (topologia haxagonal com
vizinhança de raio R=0,1,2)
Algoritmo de kohonen
0. Atribuir valores iniciais aos pesos
Definir vizinhança V
Atribuir valor inicial ao coeficiente de aprendizagem
1. Repetir até se verificar a condição de paragem
I. Repetir para todo o vector de estímulos
x
m
a)
D( j ) = ∑ ( wij − xi ) 2 , j=1,…m
i =1
b) Encontrar índice J de neurónio com o menor quadrado da
distância Euclideana, ie, D(J)=min{D(j):j=1,…,m}
c) Actualizar pesos para todo j∈V(J)
w .novo
= α x + (1 − α )w .velho
J
J
II. Reduzir o coeficiente de aprendizagem
III. Reduzir o raio da vizinhança (opção)
DM / UAç
Redes Neuronais
DM / UAç
25
Algoritmo de kohonen
valores iniciais dos pesos podem ser aleatórios
•
Coeficiente de aprendizagem é função decrescente no tempo (número de
épocas)
•
O raio da vizinhança também pode decrescer à medida que o processo
progride
•
A evolução do coeficiente de aprendizagem e do raio da vizinhança é feita
de forma heurística
•
A aprendizagem pode exigir centenas de épocas
•
Agrupe os seguintes vectores em dois aglomerados (clusters)
[1 0 0 0] , [0 0 0 1], [1 0 0 0] e [0 0 1 1]
Considere
– topologia linear com raio 0
– α(n+1)=0.5α(n); α(0)=0.6
–
Redes Neuronais
26
Exemplo
•
DM / UAç
Redes Neuronais
27
⎡0.2
⎢0.6
W =⎢
⎢0.5
⎢
⎣0.9
DM / UAç
0.8⎤
0.4⎥⎥
0.7 ⎥
⎥
0.3⎦
Redes Neuronais
28
O problema do caixeiro viajante
O problema do caixeiro viajante
Cidades
1,0000
Cidade
A
Cidade
B
Cidade
C
Cidade
D
Cidade
E
Cidade
F
Cidade
G
Cidade
H
Cidade
I
Cidade
J
E
0,9000
0,8000
D
0,7000
0,4000
0,2439
0,1707
0,2293
0,5171
0,8732
0,6878
0,8488
0,6683
0,6195
0,4439
0,1463
0,2293
0,7610
0,9414
0,6536
0,5219
0,3609
0,2536
0,2634
F
0,6000
G
0,5000
A
0,4000
0,3000
0,2000
H
C
B
0,1000
0,0000
0,0000
DM / UAç
Redes Neuronais
29
O problema do caixeiro viajante
A
B
C
D
E
F
G
H
I
J
A
0,0000
0,3361
0,3141
0,3601
0,5111
0,5176
0,2982
0,4564
0,3289
0,2842
B
0,3361
0,0000
0,1107
0,6149
0,8407
0,8083
0,5815
0,6418
0,4378
0,3934
C
0,3141
0,1107
0,0000
0,5349
0,7919
0,8207
0,5941
0,6908
0,4982
0,4501
D
0,3601
0,6149
0,5349
0,0000
0,3397
0,6528
0,5171
0,7375
0,6710
0,6323
E
0,5111
0,8407
0,7919
0,3397
0,0000
0,4579
0,4529
0,6686
0,7042
0,6857
F
0,5176
0,8083
0,8207
0,6528
0,4579
0,0000
0,2274
0,2937
0,4494
0,4654
G
0,2982
0,5815
0,5941
0,5171
0,4529
0,2274
0,0000
0,2277
0,2690
0,2674
H
0,4564
0,6418
0,6908
0,7375
0,6686
0,2937
0,2277
0,0000
0,2100
0,2492
I
0,3289
0,4378
0,4982
0,6710
0,7042
0,4494
0,2690
0,2100
0,0000
0,0498
J
0,2842
0,3934
0,4501
0,6323
0,6857
0,4654
0,2674
0,2492
0,0498
0,0000
Redes Neuronais
0,2000
0,4000
DM / UAç
0,6000
Redes Neuronais
0,8000
1,0000
30
O problema do caixeiro viajante
Distância
DM / UAç
J I
31
X1
DM / UAç
X2
Redes Neuronais
32
O problema do caixeiro viajante
O problema do caixeiro viajante
Posição inicial dos aglom erados e localização das
cidades
1ª época ( α =0.5, R=1)
1,0000
1,2000
E
0,9000
1,0000
0,8000
E
0,8000
D
0,6000
C
0,2000
0,0000
-0,2000
0,0000
-0,2000
A
0,4000
H
J I
G
0,5000
G
A
F
0,6000
F
0,4000
D
0,7000
0,3000
B
0,2000
H
C
B
0,1000
0,2000
DM / UAç
0,4000
0,6000
0,8000
1,0000
Redes Neuronais
0,0000
0,0000
33
O problema do caixeiro viajante
0,2000
1,0000
0,8000
0,8000
0,0000
0,0000
DM / UAç
A
0,4000
0,3000
J I
0,2000
B
0,2000
G
0,5000
H
0,1000
F
0,6000
G
C
D
0,7000
A
0,3000
H
0,6000
Redes Neuronais
0,8000
0,0000
0,0000
1,0000
35
DM / UAç
J I
C
B
0,1000
0,4000
34
E
0,9000
0,6000
0,4000
1,0000
Redes Neuronais
1,0000
F
0,5000
0,8000
50ª época (α =0.067649, R=1)
D
0,7000
0,6000
O problema do caixeiro viajante
E
0,9000
0,4000
DM / UAç
10ª época (α =0.34627, R=1)
0,2000
J I
0,2000
0,4000
0,6000
Redes Neuronais
0,8000
1,0000
36
O problema do caixeiro viajante
O problema do caixeiro viajante
100ª época (α =0.00879, R=1)
100ª época (α =0.40205, R=1)
1,0000
1,0000
E
0,9000
0,8000
0,8000
D
0,7000
G
0,2000
C
0,0000
0,0000
0,2000
0,6000
0,8000
0,0000
0,0000
1,0000
Redes Neuronais
37
O problema do caixeiro viajante
200ª época ( α =0.20012, R=0)
1,0000
E
0,9000
0,8000
D
0,7000
F
0,6000
G
0,5000
A
0,4000
0,3000
0,2000
H
C
B
0,1000
0,0000
0,0000
DM / UAç
J I
0,2000
0,4000
0,6000
Redes Neuronais
0,8000
1,0000
39
DM / UAç
J I
C
B
0,1000
0,4000
DM / UAç
H
0,3000
B
0,2000
A
0,4000
J I
0,1000
G
0,5000
H
0,3000
F
0,6000
A
0,4000
D
0,7000
F
0,6000
0,5000
E
0,9000
0,2000
0,4000
0,6000
Redes Neuronais
0,8000
1,0000
38
Download