1. Inteligência Computacional
Unidade 02 – Redes Neuronais Artificiais
Leonardo Goliatt
PGMC/UFJF
Programa de Pós-Graduação em Modelagem Computacional
Universidade Federal de Juiz de Fora
versão 14.03
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 1 / 76
2. Redes Neuronais
Programa
1 Redes Neuronais
Introdução
Motivação e Objetivos
Características Básicas
Histórico
Conceitos Básicos
O neurônio artificial
Estruturas de interconexão
Processamento Neuronal
Aprendizado supervisionado e não-supervisionado
Recuperação de Dados
Regras de Aprendizado
Regra de Hebb
Perceptron
Regra Delta (Adaline)
Retropropagação
Modelos de redes neuronais
Exemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 2 / 76
3. Redes Neuronais Introdução
Programa
1 Redes Neuronais
Introdução
Motivação e Objetivos
Características Básicas
Histórico
Conceitos Básicos
Processamento Neuronal
Regras de Aprendizado
Modelos de redes neuronais
Exemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 2 / 76
4. Redes Neuronais Introdução
Redes Neuronais
Introdução– Motivação e Objetivos
Constatação que o cérebro processa informações de
forma diferente dos computadores convencionais
Cérebro
velocidade 1 milhão de vezes mais lenta que qualquer “gate”digital
processamento extremamente rápido no reconhecimento de padrões
Computador
processamento extremamente rápido e preciso na execução de seqüência de
instruções
muito mais lento no reconhecimento de padrões
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 2 / 76
5. Redes Neuronais Introdução
Redes Neuronais
Introdução– Motivação e Objetivos
Observações:
O cérebro tem 10 bilhões de neurônios.
Cada neurônio tem 1.000 a 10.000 conexões
60 trilhões de conexões ) 1014 sinapses!
Cada pessoa pode dedicar 100.000 conexões para armazenar cada segundo de
experiência (65 anos ) 2.000.000.000 de segundos)
Durante os 2 primeiros anos de vida, 1.000.000 de sinapses são formadas por
segundo.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 3 / 76
6. Redes Neuronais Introdução
Redes Neuronais
Introdução– Motivação e Objetivos
Objetivo
Estudar a teoria e a implementação de sistemas massivamente paralelos, que possam
processar informações com eficiência comparável ao cérebro
Definição
Redes Neurais Artificiais são sistemas inspirados nos neurônios biológicos e na
estrutura massivamente paralela do cérebro, com capacidade de adquirir, armazenar
e utilizar conhecimento experimental.
Idéia básica
Sistemas compostos de diversas unidades simples (neurônios artificiais) ligadas
de maneira apropriada, podem gerar comportamentos interessantes e complexos..
Comportamento é determinado pela estrutura das ligações ( topologia ) e pelos
valores das conexões (pesos sinápticos)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 4 / 76
7. Redes Neuronais Introdução
Redes Neuronais
Introdução– Motivação e Objetivos
Aplicações gerais
Reconhecimento de Padrões
Classificação de Padrões
Correção de Padrões
Previsão de Séries Temporais
Aproximação de Funções
Suporte à Decisão
Geração de Informação
Descoberta de Conhecimento
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 5 / 76
8. Redes Neuronais Introdução
Redes Neuronais
Introdução– Motivação e Objetivos
Exemplo de uso: Sistema de auxílio a diagnóstico de pacientes
8 perguntas: simtomas do pacientes (resposta: S ou N)
Sintomas: 1 – dor de cabeça, 2 – febre, 3 – náuseas, ...
1 2 3 4 5 6 7 8 Diagnóstico
S S N S S S N S Pneumonia
S N S S N S S S Pneumonia
S N S N N S N S Gripe
S N N S S N N N Gripe
Consulta ao sistema: realizar diagnóstico baseado em conhecimentos prévios
1 2 3 4 5 6 7 8 Diagnóstico
S N S N S N S N ?
S N ? ? S N S N ?
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 6 / 76
9. Redes Neuronais Introdução
Redes Neuronais
Introdução– Características Básicas
Devido à similaridade com a estrutura do cérebro, as Redes Neurais exibem
características similares ao do comportamento humano, tais como:
Procura paralela e endereçamento pelo conteúdo:
O cérebro não possui endereço de memória e não procura a informação
sequencialmente
Aprendizado:
A rede aprende por experiência , não necessitando explicitar os algoritmos para
executar uma determinada tarefa
Associação:
A rede é capaz de fazer associações entre padrões diferentes
Exemplos:
Foto ! Pessoa
Sintomas ! Doença
Leitura de Sensores ! Falha
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 7 / 76
10. Redes Neuronais Introdução
Redes Neuronais
Introdução– Características Básicas
Generalização
Redes Neurais são capazes de generalizar o seu conhecimento a partir de exemplos
anteriores
Habilidade de lidar com ruídos e distorções, respondendo corretamente a padrões
novos.
Robustez e Degradação Gradual
A perda de um conjunto de elementos processadores e/ou conexões sinápticas não causa
o mal funcionamento da rede neuronal.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 8 / 76
11. Redes Neuronais Introdução
Redes Neuronais
Introdução– Histórico
McCulloch Pitts (1943):
modelo computacional para o neurônio artificial. Não possuía capacidade de
aprendizado
Hebb (1949):
modelo de aprendizado (Hebbian Learning Rule).
Rosenblatt (1957):
modelo Perceptron, com grande sucesso em certas aplicações e problemas em
outras aparentemente similares.
Minsky Papert (Perceptrons 1969):
prova matemática de que as redes Perceptron são incapazes de solucionar problemas
simples tipo OU-EXCLUSIVO
Rumelhart (início da década de 80):
novos modelos que superaram os problemas dos Perceptrons
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 9 / 76
12. Redes Neuronais Conceitos Básicos
Programa
1 Redes Neuronais
Introdução
Conceitos Básicos
O neurônio artificial
Estruturas de interconexão
Processamento Neuronal
Regras de Aprendizado
Modelos de redes neuronais
Exemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 10 / 76
13. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
Comunicação a
O neurônio A recebe o impulso, e o
processa
Se atingido um limiar, A dispara um
sinal que se propaga pelo axônio
até a sinapse com o neurônio B
O sinal atinge os receptores de B ...
Estrutura do cérebro:
aproximadamente 1010 neurônios
cada um conectado com 104 outros
RNAs modelam mecanismos de excitação
e inibição interneuronais, que são obtidos
pelo processamento dos estímulos que
chegam a cada neurônio
aMais detalhes no livro Neural Networks and Learnig
Machines (Simon Haykin)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 10 / 76
14. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
Modelos de unidades lógicas com limiar de ativação
Unidade de processamento de vetores com n entradas x1, : : : , xn e uma saída y.
A unidade tpossui um limiar e cada entrada xi está associada com um peso
(sináptico) wi.
A unidade lógica computa a função
y =
8:
1 se (x,w) =
Pni
=1wixi
0, caso contrário
x1
...
xn
...
w1
wn
y
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 11 / 76
15. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
Unidade lógica para a conjunção x1 ^ x2 (AND)
x1
xn
4
3
2
y
x1 x2 3x1 + 2x2 y
0 0 0 0
1 0 3 0
0 1 2 0
1 1 5 1
Unidade lógica para a implicação x1 ! x2
x1
xn
1
2
2
y
x1 x2 2x1 2x2 y
0 0 0 1
1 0 -2 0
0 1 2 1
1 1 0 1
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 12 / 76
19. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
O problema XOR
x1 x2 y
0 0 1
1 0 0
0 1 0
1 1 1
Prova por absurdo
(0,0)7! 1 : 0
(1,0)7! 0 : w1
(0,1)7! 0 : w2
(1,1)7! 1 : w1 + w2
Somando a segunda e terceira equações, w1 + w2 2, mas da última equação
temos que w1 + w2 ). Com isso temos que 2 , o que só ocorre se 0.
Mas pela primeira equação 0.
Observe que o problema acima não tem solução para w1 e w2.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 15 / 76
21. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
Transformando o limiar em um peso sináptico
x1
x2
...
xn
w2 y
w1
wn
Xn
i=1
wixi
1 = x0
x1
x2
...
xn
w0 =
w1
w2 y
wn
Xn
i=0
wixi 0
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 17 / 76
22. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
O neurônio artificial
(x1, x2): sinal de entrada
wi: pesos sinápticos (determina
o efeito da entrada sobre o
processador)
e() : função aditiva
f (), '(): função de ativação
(determina o novo valor do estado
de ativaçãodo processador)
y: sinal de saída
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 18 / 76
23. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
Modelo matemático do neurônio: o neurônio de McCulloch-Pitts (1943)
Primeira tentativa de entender a atividade neuronal baseado em unidades
elementares de computação
O neurônio executa uma função lógica
A atividade do neurônio é binária (0–1)
1
1www.natcomp.com.br/lvcon/web/imagens/temas/2/id436.jpg
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 19 / 76
24. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
O neurônio artificial genérico
Saída do neurônio: yk = f (uk) = f
P
wk jx j + bk
Função de ativação
1 limitar a saída do neurônio
2 introduzir não-linearidade no modelo.
Limiar bk: aumentar ou diminuir a influência do valor da entrada líquida para a
ativação do neurônio k
2
2http://www.natcomp.com.br/lvcon/web/imagens/temas/2/id172.jpg
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 20 / 76
25. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
A rede e a propagação do sinal
Os neurônios são organizados em camadas
Quanto mais camadas, mais complexa a rede
Problemas de aproximação de funções
Uma camada basta para modelar funções contínuas
Duas bastam para modelar qualquer função existente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 21 / 76
26. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
A rede e a propagação do sinal
Os neurônios são organizados em camadas
Quanto mais camadas, mais complexa a rede
Problemas de aproximação de funções
Uma camada basta para modelar funções contínuas
Duas bastam para modelar qualquer função existente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 21 / 76
27. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
A rede e a propagação do sinal
Os neurônios são organizados em camadas
Quanto mais camadas, mais complexa a rede
Problemas de aproximação de funções
Uma camada basta para modelar funções contínuas
Duas bastam para modelar qualquer função existente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 21 / 76
28. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
A rede e a propagação do sinal
Os neurônios são organizados em camadas
Quanto mais camadas, mais complexa a rede
Problemas de aproximação de funções
Uma camada basta para modelar funções contínuas
Duas bastam para modelar qualquer função existente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 21 / 76
29. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
A rede e a propagação do sinal
Os neurônios são organizados em camadas
Quanto mais camadas, mais complexa a rede
Problemas de aproximação de funções
Uma camada basta para modelar funções contínuas
Duas bastam para modelar qualquer função existente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 21 / 76
30. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
A rede e a propagação do sinal
Os neurônios são organizados em camadas
Quanto mais camadas, mais complexa a rede
Problemas de aproximação de funções
Uma camada basta para modelar funções contínuas
Duas bastam para modelar qualquer função existente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 21 / 76
31. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
A rede e a propagação do sinal
Os neurônios são organizados em camadas
Quanto mais camadas, mais complexa a rede
Problemas de aproximação de funções
Uma camada basta para modelar funções contínuas
Duas bastam para modelar qualquer função existente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 21 / 76
32. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– O neurônio artificial
A rede e a propagação do sinal
Os neurônios são organizados em camadas
Quanto mais camadas, mais complexa a rede
Problemas de aproximação de funções
Uma camada basta para modelar funções contínuas
Duas bastam para modelar qualquer função existente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 21 / 76
40. , t)]]
Tangente hiperbólica:
f (t) = tanh(t) = etet
et+et
d f (t)
dt = 1 tanh2(t) = sech2(t) = 1
(etet)2
(et+et)2
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 24 / 76
41. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– Estruturas de interconexão
Estruturas de interconexão
Redes unidirecionais com camadas (feed-forward networks) ou acíclica
redes de uma ou mais camadas de processadores, cujo fluxo de dados é sempre em uma
única direção , isto é, não existe realimentação.
Redes Recorrentes (recurrent networks) ou cíclicas
redes com conexões entre processadores da mesma camada e/ou com processadores das
camadas anteriores (realimentação).
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 25 / 76
42. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– Estruturas de interconexão
Redes unidirecionais com camadas
Sentido de fluxo de sinais: entrada
! saída
Não há conexões intercamada
Camada de entrada: onde os
padrões são apresentados
Camadas escondidas: maior parte
do processamento, através de
conexões ponderadas
Camada de saída: onde o resultado é
concluído e apresentado
3
3Adaptado de: E. R. Jones, Neuronal Networks’ Role in Predictive Analytics, Information Management Special Reports, Feb 12, 2008
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 26 / 76
43. Redes Neuronais Conceitos Básicos
Redes Neuronais
Conceitos Básicos– Estruturas de interconexão
Redes recorrentes
Não há sentido único do fluxo de
sinais
Retroalimentação, conexões entre
neurônios da mesma camada
(estímulos laterais), camadas
anteriores ou posteriores
4
4Adaptado de: E. R. Jones, Neuronal Networks’ Role in Predictive Analytics, Information Management Special Reports, Feb 12, 2008
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 27 / 76
44. Redes Neuronais Processamento Neuronal
Programa
1 Redes Neuronais
Introdução
Conceitos Básicos
Processamento Neuronal
Aprendizado supervisionado e não-supervisionado
Recuperação de Dados
Regras de Aprendizado
Modelos de redes neuronais
Exemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 28 / 76
45. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
O processamento de uma Rede Neural pode ser dividido em duas fases:
Aquisição da informação (Learning)
Processo de atualização dos pesos sinápticos para a aquisição do conhecimento
Recuperação da Informação (Recall)
Processo de cálculo da saída da rede, dado um certo padrão de entrada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 28 / 76
46. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizado (ou treinamento)
Processo pelo qual os parâmetros livres - pesos sinápticos - de uma rede
neuronal são adaptados através de um processo contínuo de estimulação pelo
ambiente.
Paradigmas (3 tipos básicos de aprendizado)
Aprendizado supervisionado
Aprendizado não-supervisionado
Aprendizado por Reforço
Protocolos
Incremental
Batch ou por Lote
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 29 / 76
47. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamento
Ajuste dos pesos wi j da rede
Estímulo ! Adaptação ! Novo comportamento da rede
Procedimento iterativo:
1 Passe o conjunto de entradas pela rede
2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti
j + Dwi j
3 Volte ao passo 1 até atingir um critério de parada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 30 / 76
48. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamento
Ajuste dos pesos wi j da rede
Estímulo ! Adaptação ! Novo comportamento da rede
Procedimento iterativo:
1 Passe o conjunto de entradas pela rede
2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti
j + Dwi j
3 Volte ao passo 1 até atingir um critério de parada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 30 / 76
49. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamento
Ajuste dos pesos wi j da rede
Estímulo ! Adaptação ! Novo comportamento da rede
Procedimento iterativo:
1 Passe o conjunto de entradas pela rede
2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti
j + Dwi j
3 Volte ao passo 1 até atingir um critério de parada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 30 / 76
50. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamento
Ajuste dos pesos wi j da rede
Estímulo ! Adaptação ! Novo comportamento da rede
Procedimento iterativo:
1 Passe o conjunto de entradas pela rede
2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti
j + Dwi j
3 Volte ao passo 1 até atingir um critério de parada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 30 / 76
51. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamento
Ajuste dos pesos wi j da rede
Estímulo ! Adaptação ! Novo comportamento da rede
Procedimento iterativo:
1 Passe o conjunto de entradas pela rede
2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti
j + Dwi j
3 Volte ao passo 1 até atingir um critério de parada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 30 / 76
52. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamento
Ajuste dos pesos wi j da rede
Estímulo ! Adaptação ! Novo comportamento da rede
Procedimento iterativo:
1 Passe o conjunto de entradas pela rede
2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti
j + Dwi j
3 Volte ao passo 1 até atingir um critério de parada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 30 / 76
53. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamento
Ajuste dos pesos wi j da rede
Estímulo ! Adaptação ! Novo comportamento da rede
Procedimento iterativo:
1 Passe o conjunto de entradas pela rede
2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti
j + Dwi j
3 Volte ao passo 1 até atingir um critério de parada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 30 / 76
54. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamento
Ajuste dos pesos wi j da rede
Estímulo ! Adaptação ! Novo comportamento da rede
Procedimento iterativo:
1 Passe o conjunto de entradas pela rede
2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti
j + Dwi j
3 Volte ao passo 1 até atingir um critério de parada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 30 / 76
55. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizado supervisionado
A rede é treinada através do fornecimento dos valores de entrada e de seus
respectivos valores desejados de saída (training pair).
Problema de otimização: Encontre um conjunto de pesos wi j que minimize
J =
1
2
XN
i=1
(zi yi)2, N é o número de pares de amostras do tipo (xi, yi)
Encontrar o mínimo de uma (hiper)superfície de erro
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 31 / 76
56. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Alguns algoritmos de aprendizado supervisionado
Correção pelo erro: wt+1
i = wti
+ ixi
Regra delta: wt+1
i j = wti
j @J
@wi j
, é a taxa de aprendizado
Retropropagação: visto em detalhes mais a frente
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 32 / 76
57. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizado não-supervisionado
Auto-organização (“Self-Organization”):
Não requer o valor desejado de saída da rede.
O sistema extrai as características do conjunto de padrões, agrupando-os em classes
inerentes aos dados.
As modificações nos pesos não usam informações sobre se a resposta da rede foi
correta ou não
Aplicado a problemas de agrupamento (clusterização)
Exemplos:
Aprendizado Hebbiano: ajuste o peso da conexão entre o neurônio A e B
proporcionalmente a ativação simultânea dos dois neurônios
Dw = x jyi
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 33 / 76
58. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizado por reforço
A rede aprende a realizar uma certa tarefa somente com base nos resultados de sua
experiência com uma interação com o ambiente.
Semelhante ao Treinamento Supervisionado (existe um objetivo)
NÃO existe um alvo para cada padrão;
Existe uma realimentação (sinal de reforço) que avalia a resposta como boa ou ruim
O objetivo é maximizar a quantidade de reforço positivo
Exemplos: aprendizado de jogos, robôs autômatos
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 34 / 76
59. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Aprendizado supervisionado e não-supervisionado
Protocolos de aprendizagem
Incremental
Pesos atualizados na apresentação de cada amostra
Mais adequado para aplicações práticas, onde podem ocorrer padrões redundantes
Batch ou por Lote
Pesos atualizados após todas as amostras apresentadas
Mudanças são acumuladas até que todas as amostras sejam apresentadas
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 35 / 76
60. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Recuperação de Dados
Assumindo que um conjunto de padrões tenha sido armazenado, a Rede Neural
pode executar as seguintes tarefas:
Autoassociação
Heteroassociação
Classificação
Previsão
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 36 / 76
61. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Recuperação de Dados
Autoassociação:
A Rede Neural recupera o padrão armazenado mais semelhante ao padrão de
entrada apresentado.
Recuperação de padrões ruidosos
Padrão de entrada distorcido ! Padrão correto recuperado
Esquema: ^! f?4~g !4
Exemplo de reconhecimento de caracteres: (armazenado ! amostra ! recuperado)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 37 / 76
62. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Recuperação de Dados
Heteroassociação:
A Rede Neural armazena a associação entre um par de padrões.
Recuperação de um padrão diferente do da entrada.
A Rede Neural mapeia um certo vetor de entrada em um padrão de saída diferente
Padrão de entrada com ou sem ruído ! Padrão correto recuperado
4 !
! }
O ! ~
Esquema: ^! f
?4~g !4
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 38 / 76
63. Redes Neuronais Processamento Neuronal
Redes Neuronais
Processamento Neuronal– Recuperação de Dados
Classificação:
A Rede Neural responde com a informação relativa à classe (categoria) a qual o
padrão de entrada pertence (dentro de um conjunto de classes pré- determinado).
Ex: Padrões de entrada divididos em 3 classes distintas.
Caso especial de Heteroassociação (também chamado Pattern Recognition)
A Rede Neural responde com a informação relativa à classe (categoria) a qual o
padrão de entrada pertence (dentro de um conjunto de classes pré-determinado).
Previsão:
O objetivo é determinar qual será o valor de uma determinada quantidade em um
instante de tempo t0 + k, (k 0), utilizando dados medidos até o instante t0
inclusive.
Generalização:
A Rede Neural responde corretamente a um padrão de entrada fora do conjunto de
treinamento
Interpola corretamente os novos pontos apresentados
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 39 / 76
64. Redes Neuronais Regras de Aprendizado
Programa
1 Redes Neuronais
Introdução
Conceitos Básicos
Processamento Neuronal
Regras de Aprendizado
Regra de Hebb
Perceptron
Regra Delta (Adaline)
Retropropagação
Modelos de redes neuronais
Exemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 40 / 76
65. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra de Hebb
Regra de Hebb
Declaração de Hebb:
“Quando um axônio de uma célula A está próximo o suficiente de excitar a célula
B e repetidamente ou persistentemente participa da ativação desta, um processo de
crescimento ou mudança metabólica ocorre em uma ou ambas as células, de tal forma
que a eficiência de A em ativar B é aumentada”
Em termos práticos:
Se dois neurônios em cada lado de uma sinapse (conexão) são ativados simultaneamente
(sincronamente), então a “força” daquela sinapse deve ser aumentada.
Se dois neurônios em cada lado de uma sinapse são ativados assincronamente , então
aquela sinapse dever ser enfraquecida.
Conclusão:
A modificação na sinápse tem relação com a correlação entre as atividades pré-sinápticas
e pós-sinápticas.
Correlação positiva ) o valor do peso aumenta
Correlação negativa ) o valor do peso diminui
A saída é reforçada a cada apresentação do padrão )padrões freqüentes terão maior
influência no vetor de pesos do neurônio.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 40 / 76
66. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra de Hebb
Aprendizado Hebbiano: ajuste o peso da conexão entre o neurônio i e j
proporcionalmente a ativação simultânea dos dois neurônios
Dw = x jyi
onde
x j: atividade pré-sináptica
yi: atividade pós-sináptica
0 1: taxa de aprendizado
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 41 / 76
67. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Perceptron
Perceptron simples
Primeiro modelo de treinamento
supervisionado
Única camada de neurônios (topologia)
Função de ativação “degrau”
Conjunto de padrões (xi, zi), i = 1, : : : ,n
Para cada padrão i, calcula-se um erro i
Treinamento supervisionado, por correção
pelo erro
wt+1
i j = wtij + ixi ( j = 1)
i = zi yi
yi: saída calculada pela rede
zi: valor desejado
Valores de entrada/saída binários (0,1), (-1,1)
P
entradas pesos
1
x1
x2
xn
w0
w1
w2
wn
soma ponderada função degrau
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 42 / 76
68. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Perceptron
Perceptron simples
Um classificador perceptron é um modelo
simples de um neurônio.
Tem diferentes entradas (x1, : : : , xn) com
diferentes pesos (w1, : : : ,wn)
s =
Xn
i=0
wixi
A soma ponderada s destas entradas é então
passada através de uma função (de ativação)
degrau f (para este problema vamos usar a
função Heaviside)
f (s) =
8:
1 se s 0
0 caso contrário
P
entradas pesos
1
x1
x2
xn
w0
w1
w2
wn
soma ponderada função degrau
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 42 / 76
69. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Perceptron
Abaixo um exemplo de como o perceptron aprende a função lógica OR
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
Os dados de entrada podem ser representados segundo o código abaixo
1 training_set = [
((0, 0, 1), 0),
3 ((0, 1, 1), 1),
((1, 0, 1), 1),
5 ((1, 1, 1), 1)
]
A terceira variável é chamada de “bias” (viés) e é necessária para mover o limiar
(limite de decisão) da função de ativação.
Seu valor é sempre 1 (ou -1, dependendo do autor e referência), de modo que sua
influência pode ser controlada pelo seu peso sinaptico.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 43 / 76
70. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Perceptron
Código-exemplo:
import numpy as np
2 learning_rate , dim = 0.1, 2
weights = np.random.randn(dim+1)
4 training_set = [ [[0, 0, 1], 0], [[0, 1, 1], 1], [[1, 0, 1], 1], [[1, 1, 1], 1] ]
6 activation_function = lambda x: 0 if x 0 else 1
while True:
8 print('-' * 60)
error_count = 0
10 for input_vector , desired_output in training_set:
result = np.dot(input_vector , weights)
12 error = desired_output - activation_function(result)
print(weights),'t', error
14 if error != 0:
error_count += 1
16 for index in range(len(input_vector)):
weights[index] += learning_rate * error * input_vector[index]
18 if error_count == 0:
break
20
print 'n'
22 for x, z in training_set:
result = np.dot(x, weights)
24 print({}:{} | {} - {}.format(x[:2], z, result , activation_function(result)
Le)o)nardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 44 / 76
71. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Perceptron
Resultado esperado:
(0, 0):0 | -0.92975331882 - 0
2 (0, 1):1 | 0.08178547784 - 1
(1, 0):1 | 0.30731479314 - 1
4 (1, 1):1 | 1.31885358981 - 1
Algoritmo de aprendizado:
não ocorre variação no peso se a saída estiver correta
caso contrário, cada peso é incrementado quando a saída é menor que o valor de
entrada e decrementado quando a saída é maior que o valor de entrada.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 45 / 76
73. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Perceptron
O problema XOR
Testar o perceptron para o função lógica XOR
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
Rosenblatt (1962) provou que uma rede Perceptron é capaz de aprender tudo que
puder representar.
Representação refere-se à habilidade do sistema neuronal de representar (simular)
uma função específica.
Aprendizado refere-se à existência de um procedimento sistemático de aquisição de
conhecimento (ajuste dos pesos), de forma a produzir a função desejada
Minsky Papert (Perceptrons 1969) provaram que existem sérias restrições sobre o
que as redes Perceptron são capazes de representar
As redes Perceptron NÃO são capazes de representar 5 a função XOR
5Redes de 1 única camada só representam funções linearmente separáveis!
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 47 / 76
74. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Perceptron
Este problema pode ser solucionado adicionando-se uma outra camada
intermediária de processadores ) Multi-Layer Perceptrons
Observação:
Redes Neurais de múltiplas camadas só oferecem vantagens sobre as de uma única
camada se existir uma função de ativação não–linear entre as camadas
Discutir uma implementação de uma rede com múltiplas camadas.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 48 / 76
75. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra Delta (Adaline)
A Regra Delta é também conhecida como:
Algoritmo Least Mean Square (LMS)
Regra de Widrow-Ho
Regra de Adaline (Adaptive Linear Neuron)
É uma generalização do Perceptron, estendendo a técnica para entradas e saídas
contínuas
Surgiu na literatura quase que simultaneamente com o Perceptron ao final da
década de 50.
Assim como o Perceptron, é um modelo baseado em elementos que executam
operações sobre a soma ponderada de suas entradas.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 49 / 76
76. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra Delta (Adaline)
Apesar das semelhanças, os trabalhos que descreveram o Perceptron e o Adaline
surgiram em áreas diferentes e com enfoques diferentes:
Frank Rosenblatt, que era psicólogo, enfocou a descrição do Perceptron em
aspectos cognitivos do armazenamento da informação e da organização cerebral
Bernard Widrow e Marcian Ho enfocaram a descrição do Adaline na
construção de filtros lineares.
Perceptron = Separador Linear
Adaline = Aproximador Linear de Funções
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 50 / 76
77. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra Delta (Adaline)
Modelo básico do neurônio adaline artificial:
P
entradas pesos
1
x1
x2
xn
w0
w1
w2
wn
soma ponderada função linear
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 51 / 76
78. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra Delta (Adaline)
O algoritmo de treinamento do Adaline utiliza a informação contida no gradiente
do erro para obter calcular o ajuste Dw a ser aplicado ao vetor de pesos.
wt+1
i = wti
+ Dw, Dw = yii
O objetivo do treinamento será minimizar a função de custo J(w):
J =
1
2
XN
i=1
2i
=
1
2
XN
i=1
(zi yi)2, N é o número de pares de amostras do tipo (xi, zi)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 52 / 76
79. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra Delta (Adaline)
A Regra Delta de Widrow
Idéia básica: obter o ponto de mínimo através de um processo de iteração local,
utilizando um exemplo do conjunto de treinamento por vez
Partindo-se de um ponto arbitrário w0 pode-se caminhar pela superfície J(w) em
direção ao ponto de mínimo, bastando para isso evoluir sempre no sentido oposto ao
do gradiente naquele ponto:
j rJ(wk) = wki
j @J(wk)
wk+1
i j = wki
@wki
j
O vetor gradiente aponta para a direção e sentido de maior crescimento da
função de custo.
Portanto, o ajuste dos pesos deve considerar a mesma direção e o sentido
contrário ao do vetor gradiente (método da descida mais íngreme) da função
de custo J(w)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 53 / 76
80. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra Delta (Adaline)
O Algoritmo do Mínimo Quadrado Médio (LMS) considera valores instantâneos
para a função de custo:
A atualização dos pesos é realizada após a apresentação de cada padrão de
treinamento.
Para o Adaline, teremos6:
J(w) = 1
2
PN
i=1 2i
i = zi yi
yi =
Pni
=0 xi jwki
j
@J
@wki
j
= @J
@ki
@ki
@yki
@yki
@wki
j
= ki
(1)xi j
= (zi yki
)xi j
Resultando em:
wk+1
i j = wki
j + (zi yki
)xi j
6i: exemplo de treinamento, j: dimensão da entrada, N: número de amostras
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 54 / 76
81. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra Delta (Adaline)
Critérios de parada:
1 Limitar o número de iterações a um certo valor máximo (pouco usual, pois não
garante o sucesso no treinamento)
2 Interromper o treinamento quando o erro quadrático de um passo para a iteração
seguinte decrescer menos do que um valor pré-estabelecido (mais comum)
O método do gradiente determina a melhor aproximação linear de um conjunto
de dados, o que o torna um aproximador demasiadamente simples
Embora simples, a Regra Delta preparou o caminho para que, mais tarde,
Rummelhart, Hinton e Williams propusessem o mais poderoso algoritmo que
se conhece para o treinamento de redes neuronais (a retropropagação do erro)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 55 / 76
82. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Regra Delta (Adaline)
Utilize a regra delta de Widrow para treinar o neurônio Adaline, de forma que
este aprenda a função representada pelos dados abaixo:
1 inputs = [
[[0.4],0.7],
3 [[0.9],1.0],
[[1.5],0.8],
5 [[2.3],0.9],
[[2.9],1.4],
7 [[3.1],2.1],
[[3.7],2.4]
9 ]
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 56 / 76
83. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
O algoritmo de retropropagação pode ser dividido em duas fases:
Propagação
Propagação (para frente) das amostras através da rede com o objetivo de gerar as saídas
de ativação
Propagação para trás (retropropagação) das amostras através da rede
Atualização dos pesos
É uma generalização da Regra Delta
Usado em redes unidirecionais (não restrito) com múltiplas camadas (entrada,
escondida e saída)
Requer funções de ativação diferenciáveis
Analogia com o método Gradiente Descendente Estocástico
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 57 / 76
84. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Vamos considerar uma rede com uma camada escondida
xi1
xi2
xi3
xi4
yi
Camada
Escondida ( j)
Camada de
Entrada (i)
Camada de
saída (k)
Notação:
subescrito k denota a camada de saída
subescrito j denota a camada encondida
subescrito i denota a camada de entrada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 58 / 76
85. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Vamos considerar uma rede com uma camada escondida
xi1
xi2
xi3
xi4
yi
Camada
Escondida ( j)
Camada de
Entrada (i)
Camada de
saída (k)
wk j: pesos da camada escondida para a camada de saída
wji: pesos da camada de entrada para a camada escondida
y: valor de ativação
e =
P
wi jxi j: soma
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 58 / 76
86. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
O erro total de rede é dado por
J =
1
2
X
k
(zk yk)2
e o objetivo é ajustar os pesos usando
Dw /
@J
@w
e para um peso na camada escondida temos 7
Dwk j /
@J
@wk j
Considerando ek =
P
jwk jy j (na camada escondida) e usando a regra da cadeia
Dwk j =
@J
@yk
@yk
@ek
@ek
@wk j
7http://goo.gl/EWn3Gr
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 59 / 76
87. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Temos então
Dwk j =
@J
@yk
@yk
@ek
@ek
@wk j
onde
@J
@yk
= (zk yk)
@yk
@ek
= f 0(ek)
@ek
@wk j
=
@(
P
k wk jy j)
@wk j
= y j
Se usarmos a função de ativação yk = fk(t) = 1
k (t) = et
1+et teremos f 0
(1+et)2 =
k (t) = sech2(t).
yk(1 yk) ou se usarmos yk = fk(t) = tanh(t) teremos f 0
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 60 / 76
88. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Alteração nos pesos das conexões entre a camada escondida e a camada de saída:
Substituindo os valores na equação original vem
Dwk j =
z }|k {
(zk yk) f 0(ek) y j = ky j
Regra similar ao treinamento do percetron, onde a diferença é a inclusão da
derivada da função de ativação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 61 / 76
89. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Alteração nos pesos das conexões entre a camada de entrada e a camada escondida:
Mais complicada pois depende do erro em todos os neurônios interligados pela
conexão.
A expressão fica
Dwji /
@J
@y j
#
@y j
@e j
@e j
@wji
Dwji /
26666664
X
k
@J
@yk
@yk
@ek
@ek
@y j
37777775
@y j
@e j
@e j
@wji
Dwji =
266666666664
X
k
z }|k {
(zk yk) f 0(ek)wk j
377777777775
f 0(e j)xi, com e j =
X
i
wjixi
Dwji =
26666664
z }| { j X
k
kwk j
37777775
f 0(e j) xi )Dwji = jxi
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 62 / 76
90. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Treinamento supervisionado usando backpropagation
Rede com 3 camadas, 2 entradas e uma saída
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
91. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Neurônio = uma unidade de ativação e uma unidade de propagação
Entradas (x, x2) ; Pesos w1, w2; Sinal de saída: y = f (e)
Treinamento: processo iterativo
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
92. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Conjunto de dados necessário para treinamento
Conjunto de sinais (x1, x2) com saidas conhecidas z
Em cada iteração, um sinal “passa” pela rede
Os pesos wxi, j são modificados
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
93. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Determinamos a saída para cada neuronioem cada camada
xm : sinais de entrada
wxi, j : pesos das conexões entre as camadas
yn : sinal de saíad no neurônio n
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
94. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Determinamos a saída para cada neuronioem cada camada
xm : sinais de entrada
wxi, j : pesos das conexões entre as camadas
yn : sinal de saíad no neurônio n
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
95. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Determinamos a saída para cada neuronioem cada camada
xm : sinais de entrada
wxi, j : pesos das conexões entre as camadas
yn : sinal de saíad no neurônio n
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
96. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Determinamos a saída para cada neuronioem cada camada
xm : sinais de entrada
wxi, j : pesos das conexões entre as camadas
yn : sinal de saíad no neurônio n
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
97. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Propagação na camada de saída
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
98. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
A saída da rede é comparada com a saída desejada z
é o erro da rede para o sinal de entrada
Em seguida: retropropagar o sinal erro nos neurônios
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
99. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
A saída da rede é comparada com a saída desejada z
é o erro da rede para o sinal de entrada
Em seguida: retropropagar o sinal erro nos neurônios
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
100. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
A direção do fluxo de dados muda
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
101. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
A direção do fluxo de dados muda
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
102. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
A direção do fluxo de dados muda
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
103. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
A direção do fluxo de dados muda
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
104. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Com todos os erros computados, os coeficientes da camada de entrada são
modificados
d f (e)/de é a derivada da função de propagação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
105. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Com todos os erros computados, os coeficientes da camada de entrada são
modificados
d f (e)/de é a derivada da função de propagação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
106. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Com todos os erros computados, os coeficientes da camada de entrada são
modificados
d f (e)/de é a derivada da função de propagação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
107. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Coeficiente afeta o aprendizado
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
108. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Coeficiente afeta o aprendizado
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
109. Redes Neuronais Regras de Aprendizado
Redes Neuronais
Regras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Coeficiente afeta o aprendizado
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
110. Redes Neuronais Modelos de redes neuronais
Programa
1 Redes Neuronais
Introdução
Conceitos Básicos
Processamento Neuronal
Regras de Aprendizado
Modelos de redes neuronais
Exemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 64 / 76
111. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Perceptron simples
Perceptron multi-camadas
Mapas auto-organizáveis (Redes de Kohonen)
Redes de Hopfield
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 64 / 76
112. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Perceptron simples
Primeiro modelo de treinamento supervisionado
Única camada de neurônios
Para cada padrão i, calculase um erro i
Treinamento supervisionado, por correção pelo erro
wi(t + 1) = wi(t) + ixi
b(t + 1) = b(t) + i
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 64 / 76
113. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Perceptron com multi-camadas
Extensão do perceptron simples
Camada oculta/escondida
Treinamento supervisionado: backpropagation (mais usado)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 64 / 76
114. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Redes de Hopfield
Usada para classificação ou clusterização
Possui recorrência (as saídas realimentam as entradas) – não possui
autorrecorrência (neurônio não realimenta a si próprio)
Divide um certo espaço de dados N em m partes
Aprendizado Hebbiano
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 64 / 76
115. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Duas camadas: camada de entrada e camada de processamento
A camada de processamento: grid retangular de neurônios equiespaçados
conectados aos seus vizinhos imediatos
Preservar a topologia dos padrões de entrada
Aprendizado competitivo
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 65 / 76
116. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Na regra de Hebb vários neurônios podem simultaneamente ser ativados. Neste
tipo de aprendizado apenas um neurônio é ativado por vez
Propicia descobrir aquelas características estatísticas importantes que podem ser
usadas para classificar um conjunto de dados.
Aprendizado competitivo (neurônio que responde mais forte atualiza seus pesos,
e opcionalmente os da vizinhança)
x = (x1, x2, : : : , xm)
w = (wj1,wj2, : : : ,wjm), j = 1, 2, : : : , l
Neurônio vencedor: i = argmin
j
jjx wjjj
O vencedor determina a localização dos neurônios treinados
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 66 / 76
117. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Os sistemas Self-Organizing Maps (SOM) tem sido muito utilizados para
clusterização de dados e compressão de dados.
Existem muitas aplicações interessantes que utilizaram tais sistemas, com
sucesso:
Reconhecimento de voz
Classificação de padrões
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 67 / 76
118. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Duas habilidades fundamentais:
1 Modelar a Distribuição das Entradas: a rede modela a função distribuição de
probabilidade dos vetores entrada usados durante o treinamento. Este modelo é
representado através da separação dos vetores-peso em diferentes agrupamentos.
Cada agrupamento (ou classe) representa entradas que são similares.
2 Criar Mapas que Preservam a Topologia da Rede: após o processo de aprendizagem
da rede, a matriz que representa a sua topologia será vista como um subconjunto
discreto do espaço .
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 68 / 76
119. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Duas camadas: camada de entrada e camada de processamento
A camada de processamento: grid retangular de neurônios equiespaçados
conectados aos seus vizinhos imediatos
Exemplo: Agrupamento de 16 animais em 3 categorias (caçadores, pássaros,
espécies pacíficas) em uma rede 10x10 (dados omitidos)
Preservar a topologia dos padrões de entrada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 69 / 76
120. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Exemplos
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 70 / 76
121. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Exemplos
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 70 / 76
122. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Projeto de um sistema neuronal:
Coleta de dados
Origem, forma de coleta, dimensionalidade, confiabilidade
Preparação e adequação dos dados
Representação computacional adequada dos dados
Tratamento de ruído (se for o caso)
Normalização (média zero e desvio padrão unitário)
Separação em conjunto de testes e de treinamento (se for o caso)
Escolha do modelo
Escolher o modelo adequado ao problema
Definição da topologia das interconexões
Dinâmica de aprendizado (treinamento)
Avaliação dos resultados
Ajuste dos parâmetros da rede
Validação cruzada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 71 / 76
123. Redes Neuronais Modelos de redes neuronais
Redes Neuronais
Modelos de redes neuronais–
Estrutura de uma rede neuronal – Parâmetros de projeto:
No. de camadas
No. de neurônios por camada
Topologia das interconexões
Função de ativação/transferência
Representação dos dados
Dinâmica de aprendizado
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 72 / 76
124. Redes Neuronais Exemplos de Aplicação
Programa
1 Redes Neuronais
Introdução
Conceitos Básicos
Processamento Neuronal
Regras de Aprendizado
Modelos de redes neuronais
Exemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 73 / 76
125. Redes Neuronais Exemplos de Aplicação
Redes Neuronais
Exemplos de Aplicação–
Flores Iris
3 espécies: setosa, versicolor, virginica
150 amostras (50 amostras de cada espécie)
Informações: comprimento e largura da sépala e pétala
Iris setosa Iris versicolor Iris virginica
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 73 / 76
126. Redes Neuronais Exemplos de Aplicação
Redes Neuronais
Exemplos de Aplicação–
Aproximação de função
Aproximar a função f (x) = 27x4 60x3 + 39x2 6x
Dados: 10 pontos onde a abcissa 2 [0,1]
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 74 / 76
127. Redes Neuronais Exemplos de Aplicação
Redes Neuronais
Exemplos de Aplicação–
Reconhecimento de padrões – Caracteres 0-9
Reconhecer uma entrada adicionada de ruído
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 75 / 76
128. Redes Neuronais Exemplos de Aplicação
Redes Neuronais
Exemplos de Aplicação–
Análise geral das redes
Potencialidades
Habilidade de tratar sistemas complexos
Representação de conhecimento quantitativo
Aprendizado
Adaptabilidade
Generalização
Limitações
“Maldição” da dimensionalidade
Over-fitting (excesso de treinamento)
Alta complexidade computacional do treino
Mínimos locais
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 76 / 76