Algoritmos de Aprendizadomauro.roisenberg/ine5377/Cursos-ICA/RN-Hopfield... · 3 Redes de Hopfield...

26
1 Algoritmos de Aprendizado Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Back Propagation Hopfield Competitive Learning Radial Basis Function (RBFs) Redes de Redes de Hopfield Hopfield Entradas realimentadas dos outros processadores vetor S s 1 s 2 s i s j net j w 1j w 2j w ij Bias = θ j +1 Modelo básico do Neurônio Artificial : ou

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

1

Iterações X RuídoIterações X RuídoRede com 120 processadores - HD = 45

Valor médio de 20 amostras