O documento discute redes neurais artificiais, incluindo: (1) Neurônios artificiais e como são implementados, (2) Redes de Hopfield que são usadas para reconstrução de padrões e segmentação de imagens, (3) Mapas auto-organizáveis de Kohonen que realizam classificação não supervisionada.
2. 2
Sumário
• Introdução a Redes Neurais Artificiais
• Neurônio artificial
• Redes de Hopfield
• Mapas Auto Organizáveis de Kohonen
• Vantagens e desvantagens dos modelos
• Bibliografia
3. 3
Introdução a Redes Neurais Artificiais
• Abstração das redes neurais biológicas
• Características:
• Processamento paralelo
• Tolerância a falhas
• Aprendizagem e Generalização a partir de experiências
5. 5
Neurônio artificial
Dendritos Núcleo Axônio
e0 p0
... ! f saída ..
en pn
n
sa´ = f
ıda (ei pi )
i=0
6. 6
Neurônio artificial
Dendritos Núcleo Axônio
e0 p0
... ! f saída ..
en pn
Exemplos para f (x):
n
x , sin(x) , cos(x),
sa´ = f
ıda (ei pi ) tanh(x), sgn(x) ,
i=0 (x−b)2 ,
1
ae 2c2 1 + e−kx
7. 7
Redes de Hopfield
• Desenvolvido em 1982 por ..
• Ligação com a biologia: Memória
Auto-associativa
• Característica principais:
• Recorrência
• Simetria
John J. Hopfield
• Não faz uso de camadas
escondidas
8. 8
Redes de Hopfield
• Usos principais:
• Reconstrução de padrões
• Segmentação de imagens
9. 9
Redes de Hopfield
• Usos principais:
• Reconstrução de padrões
• Segmentação de imagens
10. 10
Redes de Hopfield
• Usos principais:
• Reconstrução de padrões
• Segmentação de imagens
11. 11
Redes de Hopfield
• Usos principais:
• Reconstrução de padrões
• Segmentação de imagens
12. 12
Redes de Hopfield
• Usos principais:
• Reconstrução de padrões
• Segmentação de imagens
13. 13
Redes de Hopfield
• Funcionamento:
• Síncrono: Todos neurônios avaliam suas entradas e
produzem saídas ao mesmo tempo
• Assíncrono: Um neurônio é selecionado aleatoriamente,
avalia sua entrada e produz uma saída
• Convergência:
• Simetria + Funcionamento Assíncrono - Laços
14. 14
Redes de Hopfield
• Representação com 3 neurônios:
Saída após
convergência
B
Neurônios
A C
Entradas
15. 15
Redes de Hopfield
• Implementação para caso discreto e bipolar:
• Sinais de entrada: -1 ou 1
• Função de ativação: sgn(x)
• Aprendizagem :)
p
1
κv κv
i j se i = j
wij = N v=1
0 se i = j
16. 16
Redes de Hopfield
• Implementação para caso discreto e bipolar:
• Sinais de entrada: -1 ou 1
• Função de ativação: sgn(x)
• Aprendizagem
• Execução: repeat
i = RANDOM(N )
N
saida i = sgn wij × saidaj
j=0,j=i
until sistema estabilizar
17. 17
Mapas Auto Organizáveis de Kohonen
• Desenvolvido em 1982 por ..
• Segue princípio da formação de
mapas topográficos
• Exemplos de uso:
• Visualização de dados
n-dimensionais
• Pré-processamento de padrões Teuvo Kohonen
para reconhecimento
• Mineração de dados
18. 18
Mapas Auto Organizáveis de Kohonen
• Características principais:
• Treinamento por aprendizagem competitiva
• Comumente realiza classificação não supervisionada
• Não faz uso de camadas escondidas
19. 19
Mapas Auto Organizáveis de Kohonen
• Formando um mapa auto organizável:
1. Inicializar pesos sinápticos
2. Realizar processo de competição
3. Determinar vizinhança topológica
4. Aplicar processo adaptativo
5. Voltar para o passo 2 se ainda
estiver treinando
20. 20
Mapas Auto Organizáveis de Kohonen
• Formando um mapa auto organizável:
Ex.: Um peso em (0, 0, 0), demais em (1, 1, 1)
1. Inicializar pesos sinápticos
2. Realizar processo de competição
3. Determinar vizinhança topológica
4. Aplicar processo adaptativo
5. Voltar para o passo 2 se ainda
estiver treinando
21. 21
Mapas Auto Organizáveis de Kohonen
• Formando um mapa auto organizável:
Ex.: Padrão de entrada (0, 0, 0)
1. Inicializar pesos sinápticos
2. Realizar processo de competição
• Apresentar entrada à rede
Entrada
3. Determinar vizinhança topológica
4. Aplicar processo adaptativo
5. Voltar para o passo 2 se ainda
estiver treinando
22. 22
Mapas Auto Organizáveis de Kohonen
• Formando um mapa auto organizável:
w = argmin entrada − pi (t) , i = 0 . . . n
1. Inicializar pesos sinápticos i
2. Realizar processo de competição
• Determinar neurônio vencedor (w)
Entrada
3. Determinar vizinhança topológica
4. Aplicar processo adaptativo
5. Voltar para o passo 2 se ainda
estiver treinando
23. 23
Mapas Auto Organizáveis de Kohonen
• Formando um mapa auto organizável:
1. Inicializar pesos sinápticos
2. Realizar processo de competição Vencedor
3. Determinar vizinhança topológica
Entrada
4. Aplicar processo adaptativo
5. Voltar para o passo 2 se ainda
estiver treinando
24. 24
Mapas Auto Organizáveis de Kohonen
• Formando um mapa auto organizável:
1. Inicializar pesos sinápticos
2. Realizar processo de competição Vencedor
3. Determinar vizinhança topológica
Entrada
4. Aplicar processo adaptativo
5. Voltar para o passo 2 se ainda
estiver treinando
25. 25
Mapas Auto Organizáveis de Kohonen
• Formando um mapa auto organizável:
1. Inicializar pesos sinápticos
2. Realizar processo de competição
3. Determinar vizinhança topológica
Entrada
4. Aplicar processo adaptativo
5. Voltar para o passo 2 se ainda
estiver treinando
26. 26
Mapas Auto Organizáveis de Kohonen
• Formando um mapa auto organizável:
1. Inicializar pesos sinápticos
2. Realizar processo de competição
3. Determinar vizinhança topológica
4. Aplicar processo adaptativo
5. Voltar para o passo 2 se ainda
estiver treinando
27. 27
Mapas Auto Organizáveis de Kohonen
• Determinação de vizinhança
• Função comumente utilizada para escolha de vizinhança:
lw −li 2
− 2σ 2 (t)
hwi (t) = α(t)e
28. 27
Mapas Auto Organizáveis de Kohonen
• Determinação de vizinhança
• Função comumente utilizada para escolha de vizinhança:
lw −li 2
− 2σ 2 (t)
tempo discreto hwi (t) = α(t)e
29. 27
Mapas Auto Organizáveis de Kohonen
• Determinação de vizinhança
• Função comumente utilizada para escolha de vizinhança:
lw −li 2
− 2σ 2 (t)
tempo discreto hwi (t) = α(t)e
taxa de aprendizagem (0, 1)
30. 27
Mapas Auto Organizáveis de Kohonen
• Determinação de vizinhança
• Função comumente utilizada para escolha de vizinhança:
lw −li 2
− 2σ 2 (t)
tempo discreto hwi (t) = α(t)e
taxa de aprendizagem (0, 1)
t
α(t) = 0.9 1 − , t < Niter
Niter
31. 27
Mapas Auto Organizáveis de Kohonen
• Determinação de vizinhança
• Função comumente utilizada para escolha de vizinhança:
lw −li 2
− 2σ 2 (t)
tempo discreto hwi (t) = α(t)e
raio da região
taxa de aprendizagem (0, 1)
t
α(t) = 0.9 1 − , t < Niter
Niter
32. 27
Mapas Auto Organizáveis de Kohonen
• Determinação de vizinhança
• Função comumente utilizada para escolha de vizinhança:
lw −li 2
− 2σ 2 (t)
tempo discreto hwi (t) = α(t)e
raio da região
taxa de aprendizagem (0, 1) t
σ(t) = R 1 − + 1 , t < Niter
t Niter
α(t) = 0.9 1 − , t < Niter
Niter
33. 27
Mapas Auto Organizáveis de Kohonen
• Determinação de vizinhança
• Função comumente utilizada para escolha de vizinhança:
lw −li 2
− 2σ 2 (t)
tempo discreto hwi (t) = α(t)e posição do nó
raio da região
taxa de aprendizagem (0, 1) t
σ(t) = R 1 − + 1 , t < Niter
t Niter
α(t) = 0.9 1 − , t < Niter
Niter
34. 28
Mapas Auto Organizáveis de Kohonen
• Ajustando pesos no processo adaptativo
pi (t + 1) = pi (t) + hwi (t)(entrada − pi (t))
• Quando parar de treinar ?
• Teuvo Kohonen (por volta de):
• 1000 iterações para ordenar
• Para acurácia estatística, pelo menos 500n
41. 34
Vantagens e Desvantagens dos modelos
• Redes de Hopfield:
Simples de implementar
Capacidade de armazenamento baixo:
N
Pmax ≈
2 ln N
42. 35
Vantagens e Desvantagens dos modelos
• Mapas auto organizáveis:
Podem ser treinadas rapidamente
Treinamento é computacionalmente leve (Kohonen)
Requer informações a nível global
43. 36
Referências
• de Wilde, P. (1997). Neural Network Models. Springer.
• Haykin, S. (2000). Redes Neurais – Princípios e Práticas. Bookman.
• Hopfield, J. J. (1982). Neural networks and physical systems with emergent collective
computational abilities. Proceedings of the National Academy of Sciences of the United States of
America.
• Kohonen, T. (1982). Self-organized formation of topologically correct feature maps.
Biological Cybernetics.
• Kohonen, T. (2000). Self-Organizing Maps. Springer.
• Priddy, K. L. and Keller, P. E. (2005). Artificial neural networks: an introduction. SPIE Publications.
• Zupan, J. and Gasteiger, J. (1999). Neural Networks in Chemistry and Drug Design. Wiley-VCH.
Notas del editor
Entender &#x201C;redes neurais&#x201D; como &#x201C;redes neurais artificiais&#x201D;.
O modelo original proposto por Hopfield utiliza sinais de entrada bipolar
O modelo original proposto por Hopfield utiliza sinais de entrada bipolar
Durante essa fase de aprendizagem, os n&#xF3;s que est&#xE3;o topograficamente pr&#xF3;ximos no array (bidimensional) at&#xE9; uma certa dist&#xE2;ncia geom&#xE9;trica ir&#xE3;o se ativar para aprender algo da mesma entrada apresentada. Isso resultar&#xE1; numa relaxa&#xE7;&#xE3;o local, ou efeito suavizante, nos pesos dos neur&#xF4;nios nessa vizinhan&#xE7;a que tende a levar a uma ordena&#xE7;&#xE3;o (orderingXXX) global.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.
N_{iter} &#xE9; o n&#xFA;mero m&#xE1;ximo de itera&#xE7;&#xF5;es planejada, Kohonen descreve que 1000 &#xE9; uma quantidade boa para treinamento.
Exemplo da regi&#xE3;o eu chutei baseado na f&#xF3;rmula para aprendizado do exemplo do Kohonen.
R pode ser o tamanho de uma linha na representa&#xE7;&#xE3;o bidimensional.