Algoritmos de Aprendizadomauro.roisenberg/ine5377/Cursos-ICA/RN-Hopfield... · 3 Redes de Hopfield...
Transcript of Algoritmos de Aprendizadomauro.roisenberg/ine5377/Cursos-ICA/RN-Hopfield... · 3 Redes de Hopfield...
1
Algoritmos de AprendizadoAlgoritmos de Aprendizado•Regra de Hebb•Perceptron•Delta Rule (Least Mean Square)•Back Propagation•Hopfield•Competitive Learning•Radial Basis Function (RBFs)
Redes de Redes de HopfieldHopfield
Entradasrealimentadas
dos outrosprocessadores
vetor S
s1
s2
si
sj
netj
w1j
w2j
wij
Bias = θ j+1
Modelo básico do Neurônio Artificial:
ou
2
TopologiaTopologia
I n p u tI n p u t
O u t p u tO u t p u tRReeaallii
mmeennttaaççããoo
Redes de Redes de HopfieldHopfield
•• Características Básicas:Características Básicas:– Regra de Propagação netj = Σ si.wij + Ij - θj– Função de Ativação Degrau ou sigmoid
• sj(t) = 1 se netj > θ (atualização assíncrona)-1 se netj < θsj(t-1) se netj = θ
– Topologia Uma camada de processadores com realimentação.
– Algoritmo de Aprendizado depende da aplicação– Valores de Entrada/Saída Binários/contínuos
3
Redes de Redes de HopfieldHopfield
•• Questões básicas:Questões básicas:
Como saber se a Rede é ESTÁVELESTÁVEL?
Como estabelecer os pontos pontos atratoresatratores?
Critério de EstabilidadeCritério de Estabilidade• Cohen & Grossberg demonstraram que
esta rede é estável estável se a matriz de pesosmatriz de pesosfor:– simétrica– com diagonal zero (não existe realimentação
de um processador para ele próprio)
wwijij = = wwjij iwwiiii = 0= 0
4
Critério de EstabilidadeCritério de Estabilidade• Demonstração através da
Função Energia ComputacionalFunção Energia Computacional
Função Função LiapunovLiapunov(forma vetorial e quadrática)E = E = --1 S1 Stt.W.S .W.S -- IItt.S + .S + ΘΘ tt.S.S
22
As variaçõesvariações de uma certa função energiafunção energialimitadalimitada devem ser nãonão--positivaspositivas
Redes de Redes de HopfieldHopfield
•• Questões básicas:Questões básicas:
Como saber se a Rede é ESTÁVELESTÁVEL?
Como estabelecer os pontos pontos atratoresatratores?
5
Redes de Redes de HopfieldHopfield
•• AtratoresAtratores definidos pelos pesos, threshold e vetor de entrada.
Método de AprendizadoMétodo de Aprendizado
dependente da aplicaçãodependente da aplicação
Redes de Redes de HopfieldHopfield
•• Aplicações:Aplicações:
Memória Associativa Função Degrau(“Content Address Memory”)
Otimização Função Contínua (sigmoide)
6
Redes de Redes de HopfieldHopfield
•• Problema:Problema:Armazene um conjunto de p padrões
sp de tal forma que quando apresentado um novo padrão y, a rede responda produzindo aquele padrão armazenado mais próximo do padrão y. Memória endereçada pelo conteúdo
Memórias AssociativasMemórias Associativas
•• Recuperação da InformaçãoRecuperação da Informação::
Memória Associativa
InformaçãoRecuperadaInformaçãoRecuperada
PadrãoChavePadrãoChave
Contém uma porção da informação sobre o padrão armazenado
7
Memórias AssociativasMemórias Associativas
•• AprendizadoAprendizado::
–– Treinamento em “Treinamento em “BatchBatch””⇒ Os pesos são calculados em um único passo
AutoassociativaAutoassociativaA ⇒ A
HeteroassociativaHeteroassociativaA ⇒ B
Memórias AssociativasMemórias Associativas
Redes Recorrentes Redes Recorrentes AutoassociativasAutoassociativas
Vetor deVetor deEntradaEntrada
II00Vetor deVetor deEstadoEstado
sstt
Memória Autoassociativa
MemMemóória ria AutoassociativaAutoassociativa
8
Memórias AssociativasMemórias Associativas
Redes Recorrentes Redes Recorrentes AutoassociativasAutoassociativas
Vetor deVetor deEstadoEstado
sstt
∆∆∆
Vetor deVetor deEstadoEstado
sstt--11
Memória Autoassociativa
MemMemóória ria AutoassociativaAutoassociativa
Memórias AssociativasMemórias Associativas
Redes RecorrentesRedes Recorrentes HeteroassociativasHeteroassociativas
MM
∆∆
MM’’Vetor de EstadoVetor de Estado
xxtt
Vetor de EstadoVetor de Estadosstt
Vetor de EstadoVetor de Estadosstt--11
Vetor de EntradaVetor de EntradaII00
9
Memórias AssociativasMemórias Associativas
Redes RecorrentesRedes Recorrentes HeteroassociativasHeteroassociativas
∆∆
Vetor de EstadoVetor de Estadoxxtt--11
MM
∆∆
MM’’Vetor de EstadoVetor de Estado
xxtt
Vetor de EstadoVetor de Estadosstt
Vetor de EstadoVetor de Estadosstt--11
Memórias AssociativasMemórias AssociativasEspaço esquemático de um modelo com Espaço esquemático de um modelo com 3 3 atratoresatratores
ss11
ss22
ss33
10
Memórias Memórias AutoassociativasAutoassociativas
Memórias Memórias AutoassociativasAutoassociativas• Rede de uma camadauma camada, com realimentação• Modo de atualização assíncronoassíncrono e randômicorandômico• Processadores bipolaresbipolares {-1, 1}
• Função de Ativação degraudegrau bipolarsj
k+1= sgn(Σn wij . s ik) k = índice de recursão
• Função Energia o complementocomplemento de um padrão também tem energia menergia míínimanima
i=1
E(s) = -1 stWs ⇒ E(s) = E(-s)2
11
Memórias Memórias AutoassociativasAutoassociativas
+1
-1
sgn (x)
x
Memória Memória AutoassociativaAutoassociativa
1
2
n
w21
wn1
wn2
w12
w1n
w2n
sk1
sk2
skn
Rede de uma camada, com realimentaçãoRede de uma camadauma camada, com realimentação
atrasoatrasoatrasoatraso
atrasoatraso
12
Memória Memória AutoassociativaAutoassociativa
1
2
n
w21
wn1
wn2
w12
w1n
w2n
sk1
sk2
skn
Modo de atualização assíncrono e randômicoModo de atualização assíncronoassíncrono e randômicorandômico
atrasoatrasoatrasoatraso
atrasoatraso
Memória Memória AutoassociativaAutoassociativa
1
2
n
w21
wn1
wn2
w12
w1n
w2n
sk1
sk2
skn
Modo de atualização assíncrono e randômicoModo de atualização assíncronoassíncrono e randômicorandômico
atrasoatrasoatrasoatraso
atrasoatraso
13
Memória Memória AutoassociativaAutoassociativa
1
2
n
w21
wn1
wn2
w12
w1n
w2n
sk1
sk2
skn
Modo de atualização assíncrono e randômicoModo de atualização assíncronoassíncrono e randômicorandômico
atrasoatrasoatrasoatraso
atrasoatraso
Memória Memória AutoassociativaAutoassociativaAprendizadoAprendizado
• Os pesos são selecionados de forma a minimizar a energia
wij = Σp xi,d xj,d wii = 0, i = j
wij = (1 - δ ij) Σp xi,d xj ,d δij = função de Kronecker
wij = Σp xi,d xj,d wii = 0, i = j
wij = (1 - δ ij) Σp xi,d xj ,d δij = função de Kronecker
d=1
d=1
d = índice do padrão
14
Memória Memória AutoassociativaAutoassociativaAprendizadoAprendizado
• Os pesos são selecionados de forma a minimizar a energia
wij = Σp xi,d xj,d wii = 0, i = j
wij = (1 - δ ij) Σp xi,d xj ,d δij = função de Kronecker
wij = Σp xi,d xj,d wii = 0, i = j
wij = (1 - δ ij) Σp xi,d xj ,d δij = função de Kronecker
d=1
d=1
d = índice do padrão
Semelhante à matrizde autocorrelaçãoobtida usando aRegra de Hebb!
Semelhante à matrizde autocorrelaçãoobtida usando aRegra de Hebb!
Semelhante à matrizde autocorrelaçãoobtida usando aRegra de Hebb!
Semelhante à matrizde autocorrelaçãoobtida usando aRegra de Hebb!
Memória Memória AutoassociativaAutoassociativa
•• Exemplo 1:Exemplo 1:dd11 = {1 = {1 --1 1 --1 1 --1 1 1 1 --1}1}dd22 = {1 1 1 1 1 1}= {1 1 1 1 1 1}dd33 = {= {--1 1 1 1 1 1 --1 1 --1 1 --1}1} 0 -1 -1 1 3 1
-1 0 3 1 -1 1-1 3 0 1 -1 11 1 1 0 1 33 -1 -1 1 0 11 1 1 3 1 0
15
Memória Memória AutoassociativaAutoassociativaAprendizadoAprendizado
• Os pesos são selecionados de forma a minimizar a energia
• pesos são determinados a priori ⇒ treinamento em treinamento em batchbatch•• novas associaçõesnovas associações podem ser inseridas a qualquer
momento, sem “esquecer” os padrões anteriores;• a regra de aprendizado é invariante com respeito
à seqüência de armazenamento.à seqüência de armazenamento.
wij = Σp xi,d xj,d wii = 0, i = j
wij = (1 - δ ij) Σp xi,d xj ,d δij = função de Kronecker
wij = Σp xi,d xj,d wii = 0, i = j
wij = (1 - δ ij) Σp xi,d xj ,d δij = função de Kronecker
d=1
d=1
d = índice do padrão
Memória Memória AutoassociativaAutoassociativaAprendizadoAprendizado
• Caso simples em que apenas um padrão é armazenado:
deseja-se que o padrão sjp seja estável, isto é:
como si s i = 1 , se:
ESTÁVEL!!Mesmo que um número (menor do que a metade) de bits seja diferente (ruído), os bits corretos farão com que o somatório acima permaneça com o mesmo sinal.
pj
pi
iij ssw =∑ )sgn(
jiij ssw ∝
16
Memória Memória AutoassociativaAutoassociativa•• Exemplo 2:Exemplo 2:
–– Atualização assíncronaAtualização assíncrona–– Rede de 120 processadoresRede de 120 processadores
Padrãode entrada
Padrãode entrada 1° ciclo1° ciclo 2° ciclo2° ciclo 3° ciclo
- estável -3° ciclo
- estável -
Considerações de Considerações de DesempenhoDesempenho
⇒As Redes de Hopfield apresentam bom desempenho como memória associativa imune à ruído quando:– o tamanho da rede é grande (n >>);– padrões de entrada são ortogonais.
17
Considerações de Considerações de DesempenhoDesempenho
•• Caso 1:Caso 1: Vetores OrtogonaisVetores Ortogonaisseja s(m’) um padrão armazenado
netj(m’) = Σn si
(m’) wij como wij = Σp si(m). sj
(m)
netj(m’) = Σn si
(m’) Σp si(m). sj
(m)
netj(m’) = Σn Σp si
(m). sj(m) si
(m’)
netj(m’) = Σp sj
(m) Σn si(m). si
(m’)
i=1 m=1
i=1 m=1
i=1 m=1
i=1m=1
Considerações de Considerações de DesempenhoDesempenho
•• Caso 1:Caso 1: Vetores OrtogonaisVetores Ortogonaisseja s(m’) um padrão armazenado
netj(m’) = Σp sj
(m) Σn si(m). si
(m’)
netj(m’) = n . sj
(m’) ESTESTÁÁVEL VEL ((netj e e sj possuem o mesmo sinal)possuem o mesmo sinal)
i=1m=1Se os padrões
forem ortogonais:m = m’ ⇒ Σ = nm ≠ m’⇒ Σ = 0
Se os padrões forem ortogonais:
m = m’ m = m’ ⇒⇒ ΣΣ = n= nm m ≠≠ mm’’⇒⇒ ΣΣ = 0= 0
18
Considerações de Considerações de DesempenhoDesempenho
•• Observação:Observação:– Se o padrão for distorcido de uma
percentagem pequena de bits diferentes, a rede também permanece estávelestável
netj(m’) ≈ x . sj
(m’)
x = número de bits iguais
Considerações de Considerações de DesempenhoDesempenho
•• Caso 2:Caso 2: Vetores NãoVetores Não--OrtogonaisOrtogonaisseja s(m’) um padrão armazenado
Forma vetorial: NET = (Σp s(m). s(m)t - pI) s(m’)
netortogonais = (n - p) s(m’) n>p equilíbrionetnão-ortogonais = n.s(m’) - p.s(m’) + Σp(s(m) s(m)) s(m’)
m=1
m≠ m’
equação de W para garantir wii = 0
Equilíbrio Ruído ⇒ aumenta com p
Para o caso de vetores ortogonais
19
Considerações de Considerações de DesempenhoDesempenho
•• Conclusões:Conclusões:
Se (nSe (n--p) é muito grande p) é muito grande ⇒ o ruído fica desprezível
Se (nSe (n--p) diminui p) diminui ⇒ o ruído fica mais significativo
Considerações de Considerações de DesempenhoDesempenho
• A memória associativa recupera o padrão que exibe maior similaridade com o padrão de entrada (key pattern)
• Medida de Similaridade - Hamming Distance:– HD(x,y) = 1 Σn | xi - yi | 0≤ HD ≤ n
2 i=1
Proporcional à dissimilaridade entre os vetores ⇒ número de bits diferentes
20
Considerações de Considerações de DesempenhoDesempenho
Exemplo:
s(1) = [-1 -1 1 1]s(2) = [-1 1 1 -1]
0 0 -2 00 0 0 -2-2 0 0 00 -2 0 0
W=
E(s) = -1stWs ⇒ 2(s1s3+s2s4)2
s(2)
Diagrama de Transição de EstadosDiagrama de Transição de Estados
Considerações de Considerações de DesempenhoDesempenho
Exemplo:
s(1) = [-1 -1 1 1]s(2) = [-1 1 1 -1]
0 0 -2 00 0 0 -2-2 0 0 00 -2 0 0
W=
E(s) = -1stWs ⇒ 2(s1s3+s2s4)2
s(2)
HD(s0,s1)=1HD(s0,s2)=1
Diagrama de Transição de EstadosDiagrama de Transição de Estados
21
Considerações de Considerações de DesempenhoDesempenho
Atualização crescenteAtualização decrescente
Exemplo:
s(1) = [-1 -1 1 1]s(2) = [-1 1 1 -1]
0 0 -2 00 0 0 -2-2 0 0 00 -2 0 0
W=
E(s) = -1stWs ⇒ 2(s1s3+s2s4)2
HD(s0,s1)=1HD(s0,s2)=1
Diagrama de Transição de EstadosDiagrama de Transição de Estados
Considerações de Considerações de DesempenhoDesempenho
Atualização crescenteAtualização crescenteAtualização decrescente
Exemplo:
s(1) = [-1 -1 1 1]s(2) = [-1 1 1 -1]
0 0 -2 00 0 0 -2-2 0 0 00 -2 0 0
W=
E(s) = -1stWs ⇒ 2(s1s3+s2s4)2
HD(s0,s1)=2HD(s0,s2)=2
HD(s0,s1)=1HD(s0,s2)=1
s(2)
Diagrama de Transição de EstadosDiagrama de Transição de Estados
22
Considerações de Considerações de DesempenhoDesempenho
•• Problemas:Problemas:– sobrecarga de padrões p/n = 50%p/n = 50%
– apresenta estados espúrios de equilíbrio– possibilidade de convergir para padrões
diferentes do desejado
Considerações de Considerações de DesempenhoDesempenho
23
Considerações de Considerações de DesempenhoDesempenho
Considerações de Considerações de DesempenhoDesempenho
24
Considerações de Considerações de DesempenhoDesempenho
Considerações de Considerações de DesempenhoDesempenho
•• Capacidade da RedeCapacidade da Rede::• c = (1-2ρ)2 n
4 ln n
• n < c < n 0 < ρ < 1/24 ln n 2 ln n
• c ≤ 0.14n
Exemplo:Exemplo: Rede com n = 1005.4 < c < 10.8
onde ρ é o raio de atraraio de atraççãoão definido em função da distância distância ρρnn de um estado estável s s tal que qualquer vetor dentro desta distância estabil iza no estado s s
25
Convergência X RuídoConvergência X RuídoRede com 120 processadores - HD = 45
Convergência X RuídoConvergência X RuídoRede com 120 processadores - padrões = 4
75% bits em comum