SlideShare une entreprise Scribd logo
1  sur  123
Télécharger pour lire hors ligne
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Redes Neuronais Conceitos Básicos 
Redes Neuronais 
Conceitos Básicos– O neurônio artificial 
Interpretação geométrica 
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 13 / 76
Redes Neuronais Conceitos Básicos 
Redes Neuronais 
Conceitos Básicos– O neurônio artificial 
Interpretação geométrica 
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 13 / 76
Redes Neuronais Conceitos Básicos 
Redes Neuronais 
Conceitos Básicos– O neurônio artificial 
Unidade lógica para a conjunção (x1 ^ x2) _ (x1 _ x3) _ (x2 ^ x3) (OR) 
x1 
2 y 
x2 1 
x3 
2 
2 
x1 x2 x3 
P 
wixi y 
0 0 0 0 0 
1 0 0 2 1 
0 1 0 -2 0 
1 1 0 0 0 
0 0 1 2 1 
1 0 1 4 1 
0 1 1 0 0 
1 1 1 2 1 
Interpretação geométrica 
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 14 / 76
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
Redes Neuronais Conceitos Básicos 
Redes Neuronais 
Conceitos Básicos– O neurônio artificial 
x1 
x2 
1 
2 
1 
1 
1 
1 
1 
1 
1 
2 
1 
XOR(x1, x2) 
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 16 / 76
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
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
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
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
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
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
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
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
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
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
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
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
Redes Neuronais Conceitos Básicos 
Redes Neuronais 
Conceitos Básicos– O neurônio artificial 
Funções de ativação 
Função Limiar Função Sigmoide 
Função Sinal Função Tangente Hiperbólica 
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 22 / 76
Redes Neuronais Conceitos Básicos 
Redes Neuronais 
Aplicações 
Funções de ativação: localização na rede 
função de 
ativação 
x2 w2 S f 
saída 
y 
x1 w1 
x3 w3 
pesos 
bias 
b 
entradas 
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 23 / 76
Redes Neuronais Conceitos Básicos 
Redes Neuronais 
Conceitos Básicos– O neurônio artificial 
Funções de ativação 
Sigmoide: 
f (t) = 1 
1+e
t 
d f (
,t) 
dt =
[ f (
, t)[1  f (
, 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Redes Neuronais Regras de Aprendizado 
Redes Neuronais 
Regras de Aprendizado– Perceptron 
Testar o perceptron com os dados abaixo: 
inputs = [ 
2 [[0.72, 0.82], -1], [[0.91, -0.69], -1], 
[[0.46, 0.80], -1], [[0.03, 0.93], -1], 
4 [[0.12, 0.25], -1], [[0.96, 0.47], -1], 
[[0.8, -0.75], -1], [[0.46, 0.98], -1], 
6 [[0.66, 0.24], -1], [[0.72, -0.15], -1], 
[[0.35, 0.01], -1], [[-0.16, 0.84], -1], 
8 [[-0.04, 0.68],-1], [[-0.11, 0.1], 1], 
[[0.31, -0.96], 1], [[0.0, -0.26], 1], 
10 [[-0.43, -0.65],1], [[0.57, -0.97], 1], 
[[-0.47, -0.03],1], [[-0.72, -0.64], 1], 
12 [[-0.57, 0.15], 1], [[-0.25, -0.43], 1], 
[[0.47, -0.88], 1], [[-0.12, -0.9], 1], 
14 [[-0.58, 0.62], 1], [[-0.48, 0.05], 1], 
[[-0.79, -0.92],1], [[-0.42, -0.09], 1], 
16 [[-0.76, 0.65], 1], [[-0.77, -0.76], 1] 
] 
Discuta as alterações que devem ser feitas no modelo apresentado anteriormente. 
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 46 / 76
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

Tendances

Capitulo 3 redes neurais artificiais
Capitulo 3   redes neurais artificiaisCapitulo 3   redes neurais artificiais
Capitulo 3 redes neurais artificiais
Vânia Moura
 
Redes Neurais Artificiais: Regras de Aprendizado
Redes Neurais Artificiais: Regras de AprendizadoRedes Neurais Artificiais: Regras de Aprendizado
Redes Neurais Artificiais: Regras de Aprendizado
Jackson Daner
 

Tendances (20)

INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNA
 
Capitulo 3 redes neurais artificiais
Capitulo 3   redes neurais artificiaisCapitulo 3   redes neurais artificiais
Capitulo 3 redes neurais artificiais
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
Introdução a redes neurais artificiais com a biblioteca encog
Introdução a redes neurais artificiais com a biblioteca encogIntrodução a redes neurais artificiais com a biblioteca encog
Introdução a redes neurais artificiais com a biblioteca encog
 
Redes Neurais Artificiais: Regras de Aprendizado
Redes Neurais Artificiais: Regras de AprendizadoRedes Neurais Artificiais: Regras de Aprendizado
Redes Neurais Artificiais: Regras de Aprendizado
 
Fatores Humanos
Fatores HumanosFatores Humanos
Fatores Humanos
 
Sistemas Cognitivos
Sistemas CognitivosSistemas Cognitivos
Sistemas Cognitivos
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
Fundamentos De Ia E SbCs
Fundamentos De Ia E SbCsFundamentos De Ia E SbCs
Fundamentos De Ia E SbCs
 
Consciência Artificial
Consciência ArtificialConsciência Artificial
Consciência Artificial
 
Capítulo 1 Inteligência Artificial RUSSELL
Capítulo 1 Inteligência Artificial RUSSELLCapítulo 1 Inteligência Artificial RUSSELL
Capítulo 1 Inteligência Artificial RUSSELL
 
IA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialIA - Introdução Inteligência Artificial
IA - Introdução Inteligência Artificial
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
inteligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãointeligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineração
 
[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP
 
Artificial Intelligence Overview \’09 - Thiago Richter
Artificial Intelligence Overview \’09 - Thiago RichterArtificial Intelligence Overview \’09 - Thiago Richter
Artificial Intelligence Overview \’09 - Thiago Richter
 
sistema
sistemasistema
sistema
 
Aprendizado Profundo & CNNs
Aprendizado Profundo & CNNsAprendizado Profundo & CNNs
Aprendizado Profundo & CNNs
 
Lógica fuzzy e redes neurais na indústria
Lógica fuzzy e redes neurais na indústriaLógica fuzzy e redes neurais na indústria
Lógica fuzzy e redes neurais na indústria
 
Redes neurais
Redes neuraisRedes neurais
Redes neurais
 

Similaire à Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

Aplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturasAplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturas
Família Schmidt
 

Similaire à Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais (11)

Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagensRedes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
 
rn_1_int.pdf
rn_1_int.pdfrn_1_int.pdf
rn_1_int.pdf
 
Introdução à redes neurais artificiais
Introdução à redes neurais artificiaisIntrodução à redes neurais artificiais
Introdução à redes neurais artificiais
 
ArtigoFinal_v02
ArtigoFinal_v02ArtigoFinal_v02
ArtigoFinal_v02
 
Aplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturasAplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturas
 
Palestra simulação3
Palestra simulação3Palestra simulação3
Palestra simulação3
 
Um estudo sobre inteligência artificial e o funcionamento de um agente
Um estudo sobre inteligência artificial e o funcionamento de um agenteUm estudo sobre inteligência artificial e o funcionamento de um agente
Um estudo sobre inteligência artificial e o funcionamento de um agente
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
Apostila redes neurais
Apostila redes neuraisApostila redes neurais
Apostila redes neurais
 

Plus de Leonardo Goliatt

Resistência dos Materiais II - Unidade 02
Resistência dos Materiais II - Unidade 02Resistência dos Materiais II - Unidade 02
Resistência dos Materiais II - Unidade 02
Leonardo Goliatt
 
Resistência dos Materiais II - Unidade 01
Resistência dos Materiais II - Unidade 01Resistência dos Materiais II - Unidade 01
Resistência dos Materiais II - Unidade 01
Leonardo Goliatt
 

Plus de Leonardo Goliatt (13)

Mecânica dos Sólidos - Unidade 03
Mecânica dos Sólidos - Unidade 03Mecânica dos Sólidos - Unidade 03
Mecânica dos Sólidos - Unidade 03
 
Gnuplot
GnuplotGnuplot
Gnuplot
 
Mecânica dos Sólidos - Unidade 02
Mecânica dos Sólidos - Unidade 02Mecânica dos Sólidos - Unidade 02
Mecânica dos Sólidos - Unidade 02
 
Unidade 01 - Fundamentos de Mecânica das Estruturas
Unidade 01 - Fundamentos de Mecânica das EstruturasUnidade 01 - Fundamentos de Mecânica das Estruturas
Unidade 01 - Fundamentos de Mecânica das Estruturas
 
Unidade 00 - Fundamentos de Mecânica das Estruturas
Unidade 00 - Fundamentos de Mecânica das EstruturasUnidade 00 - Fundamentos de Mecânica das Estruturas
Unidade 00 - Fundamentos de Mecânica das Estruturas
 
Unidade 05 - Fundamentos de Mecânica das Estruturas
Unidade 05 - Fundamentos de Mecânica das EstruturasUnidade 05 - Fundamentos de Mecânica das Estruturas
Unidade 05 - Fundamentos de Mecânica das Estruturas
 
Unidade 04 - Fundamentos de Mecânica das Estruturas
Unidade 04 - Fundamentos de Mecânica das EstruturasUnidade 04 - Fundamentos de Mecânica das Estruturas
Unidade 04 - Fundamentos de Mecânica das Estruturas
 
Introdução ao R
Introdução ao RIntrodução ao R
Introdução ao R
 
Mecânica dos Sólidos - Unidade 01
Mecânica dos Sólidos - Unidade 01Mecânica dos Sólidos - Unidade 01
Mecânica dos Sólidos - Unidade 01
 
Unidade 02 - Fundamentos de Mecânica das Estruturas
Unidade 02 - Fundamentos de Mecânica das EstruturasUnidade 02 - Fundamentos de Mecânica das Estruturas
Unidade 02 - Fundamentos de Mecânica das Estruturas
 
Resistência dos Materiais II - Unidade 02
Resistência dos Materiais II - Unidade 02Resistência dos Materiais II - Unidade 02
Resistência dos Materiais II - Unidade 02
 
Resistência dos Materiais II - Unidade 01
Resistência dos Materiais II - Unidade 01Resistência dos Materiais II - Unidade 01
Resistência dos Materiais II - Unidade 01
 
Mini R
Mini R Mini R
Mini R
 

Dernier

atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 

Dernier (20)

Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 

Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

  • 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
  • 16. Redes Neuronais Conceitos Básicos Redes Neuronais Conceitos Básicos– O neurônio artificial Interpretação geométrica Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 13 / 76
  • 17. Redes Neuronais Conceitos Básicos Redes Neuronais Conceitos Básicos– O neurônio artificial Interpretação geométrica Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 13 / 76
  • 18. Redes Neuronais Conceitos Básicos Redes Neuronais Conceitos Básicos– O neurônio artificial Unidade lógica para a conjunção (x1 ^ x2) _ (x1 _ x3) _ (x2 ^ x3) (OR) x1 2 y x2 1 x3 2 2 x1 x2 x3 P wixi y 0 0 0 0 0 1 0 0 2 1 0 1 0 -2 0 1 1 0 0 0 0 0 1 2 1 1 0 1 4 1 0 1 1 0 0 1 1 1 2 1 Interpretação geométrica Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 14 / 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
  • 20. Redes Neuronais Conceitos Básicos Redes Neuronais Conceitos Básicos– O neurônio artificial x1 x2 1 2 1 1 1 1 1 1 1 2 1 XOR(x1, x2) Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 16 / 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
  • 33. Redes Neuronais Conceitos Básicos Redes Neuronais Conceitos Básicos– O neurônio artificial Funções de ativação Função Limiar Função Sigmoide Função Sinal Função Tangente Hiperbólica Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 22 / 76
  • 34. Redes Neuronais Conceitos Básicos Redes Neuronais Aplicações Funções de ativação: localização na rede função de ativação x2 w2 S f saída y x1 w1 x3 w3 pesos bias b entradas Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 23 / 76
  • 35. Redes Neuronais Conceitos Básicos Redes Neuronais Conceitos Básicos– O neurônio artificial Funções de ativação Sigmoide: f (t) = 1 1+e
  • 36. t d f (
  • 38. [ f (
  • 39. , t)[1 f (
  • 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
  • 72. Redes Neuronais Regras de Aprendizado Redes Neuronais Regras de Aprendizado– Perceptron Testar o perceptron com os dados abaixo: inputs = [ 2 [[0.72, 0.82], -1], [[0.91, -0.69], -1], [[0.46, 0.80], -1], [[0.03, 0.93], -1], 4 [[0.12, 0.25], -1], [[0.96, 0.47], -1], [[0.8, -0.75], -1], [[0.46, 0.98], -1], 6 [[0.66, 0.24], -1], [[0.72, -0.15], -1], [[0.35, 0.01], -1], [[-0.16, 0.84], -1], 8 [[-0.04, 0.68],-1], [[-0.11, 0.1], 1], [[0.31, -0.96], 1], [[0.0, -0.26], 1], 10 [[-0.43, -0.65],1], [[0.57, -0.97], 1], [[-0.47, -0.03],1], [[-0.72, -0.64], 1], 12 [[-0.57, 0.15], 1], [[-0.25, -0.43], 1], [[0.47, -0.88], 1], [[-0.12, -0.9], 1], 14 [[-0.58, 0.62], 1], [[-0.48, 0.05], 1], [[-0.79, -0.92],1], [[-0.42, -0.09], 1], 16 [[-0.76, 0.65], 1], [[-0.77, -0.76], 1] ] Discuta as alterações que devem ser feitas no modelo apresentado anteriormente. Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 46 / 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