Upload
leonardo-goliatt
View
166
Download
12
Embed Size (px)
DESCRIPTION
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
Citation preview
Inteligência ComputacionalUnidade 02 – Redes Neuronais Artificiais
Leonardo Goliatt
PGMC/UFJFPrograma 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 NeuronaisIntrodução
Motivação e ObjetivosCaracterísticas BásicasHistórico
Conceitos BásicosO neurônio artificialEstruturas de interconexão
Processamento NeuronalAprendizado supervisionado e não-supervisionadoRecuperação de Dados
Regras de AprendizadoRegra de HebbPerceptronRegra Delta (Adaline)Retropropagação
Modelos de redes neuronaisExemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 2 / 76
Redes Neuronais Introdução
Programa
1 Redes NeuronaisIntrodução
Motivação e ObjetivosCaracterísticas BásicasHistórico
Conceitos BásicosProcessamento NeuronalRegras de AprendizadoModelos de redes neuronaisExemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 2 / 76
Redes Neuronais Introdução
Redes NeuronaisIntrodução– Motivação e Objetivos
Constatação que o cérebro processa informações deforma diferente dos computadores convencionaisCérebro
velocidade 1 milhão de vezes mais lenta que qualquer “gate”digitalprocessamento extremamente rápido no reconhecimento de padrões
Computadorprocessamento extremamente rápido e preciso na execução de seqüência deinstruçõesmuito 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 NeuronaisIntroduçã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ões60 trilhões de conexões⇒ 1014 sinapses!Cada pessoa pode dedicar 100.000 conexões para armazenar cada segundo deexperiência (65 anos⇒ 2.000.000.000 de segundos)Durante os 2 primeiros anos de vida, 1.000.000 de sinapses são formadas porsegundo.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 3 / 76
Redes Neuronais Introdução
Redes NeuronaisIntrodução– Motivação e Objetivos
ObjetivoEstudar a teoria e a implementação de sistemas massivamente paralelos, que possamprocessar informações com eficiência comparável ao cérebro
DefiniçãoRedes Neurais Artificiais são sistemas inspirados nos neurônios biológicos e naestrutura massivamente paralela do cérebro, com capacidade de adquirir, armazenare utilizar conhecimento experimental.
Idéia básicaSistemas compostos de diversas unidades simples (neurônios artificiais) ligadasde maneira apropriada, podem gerar comportamentos interessantes e complexos..Comportamento é determinado pela estrutura das ligações ( topologia ) e pelosvalores das conexões (pesos sinápticos)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 4 / 76
Redes Neuronais Introdução
Redes NeuronaisIntrodução– Motivação e Objetivos
Aplicações geraisReconhecimento de PadrõesClassificação de PadrõesCorreção de PadrõesPrevisão de Séries TemporaisAproximação de FunçõesSuporte à DecisãoGeração de InformaçãoDescoberta de Conhecimento
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 5 / 76
Redes Neuronais Introdução
Redes NeuronaisIntrodução– Motivação e Objetivos
Exemplo de uso: Sistema de auxílio a diagnóstico de pacientes8 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ósticoS S N S S S N S PneumoniaS N S S N S S S PneumoniaS N S N N S N S GripeS 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ósticoS 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 NeuronaisIntrodução– Características Básicas
Devido à similaridade com a estrutura do cérebro, as Redes Neurais exibemcaracterí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çãosequencialmente
Aprendizado:A rede aprende por experiência , não necessitando explicitar os algoritmos paraexecutar uma determinada tarefa
Associação:A rede é capaz de fazer associações entre padrões diferentesExemplos:
Foto→ PessoaSintomas→ DoençaLeitura de Sensores→ Falha
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 7 / 76
Redes Neuronais Introdução
Redes NeuronaisIntrodução– Características Básicas
GeneralizaçãoRedes Neurais são capazes de generalizar o seu conhecimento a partir de exemplosanterioresHabilidade de lidar com ruídos e distorções, respondendo corretamente a padrõesnovos.
Robustez e Degradação GradualA perda de um conjunto de elementos processadores e/ou conexões sinápticas não causao mal funcionamento da rede neuronal.
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 8 / 76
Redes Neuronais Introdução
Redes NeuronaisIntrodução– Histórico
McCulloch & Pitts (1943):modelo computacional para o neurônio artificial. Não possuía capacidade deaprendizado
Hebb (1949):modelo de aprendizado (Hebbian Learning Rule).
Rosenblatt (1957):modelo Perceptron, com grande sucesso em certas aplicações e problemas emoutras aparentemente similares.
Minsky & Papert (Perceptrons 1969):prova matemática de que as redes Perceptron são incapazes de solucionar problemassimples 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 NeuronaisIntroduçãoConceitos Básicos
O neurônio artificialEstruturas de interconexão
Processamento NeuronalRegras de AprendizadoModelos de redes neuronaisExemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 10 / 76
Redes Neuronais Conceitos Básicos
Redes NeuronaisConceitos Básicos– O neurônio artificial
Comunicação a
O neurônio A recebe o impulso, e oprocessaSe atingido um limiar, A dispara umsinal que se propaga pelo axônioaté a sinapse com o neurônio BO sinal atinge os receptores de B ...
Estrutura do cérebro:
aproximadamente 1010 neurônioscada um conectado com 104 outros
RNAs modelam mecanismos de excitaçãoe inibição interneuronais, que são obtidospelo processamento dos estímulos quechegam a cada neurônio
aMais detalhes no livro Neural Networks and LearnigMachines (Simon Haykin)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 10 / 76
Redes Neuronais Conceitos Básicos
Redes NeuronaisConceitos Básicos– O neurônio artificial
Modelos de unidades lógicas com limiar de ativaçãoUnidade 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 =
1 se (x,w) =∑n
i=1 wixi ≥ θ
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 NeuronaisConceitos 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 y0 0 0 01 0 3 00 1 2 01 1 5 1
Unidade lógica para a implicação x1→ x2
x1
xn
−1
−2
2
y
x1 x2 2x1 − 2x2 y0 0 0 11 0 -2 00 1 2 11 1 0 1
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 12 / 76
Redes Neuronais Conceitos Básicos
Redes NeuronaisConceitos 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 NeuronaisConceitos 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 NeuronaisConceitos Básicos– O neurônio artificial
Unidade lógica para a conjunção (x1 ∧ x2) ∨ (x1 ∨ x3) ∨ (x2 ∧ x3) (OR)
x1
x3
x2 1
2
2
−2 y
x1 x2 x3∑
wixi y0 0 0 0 01 0 0 2 10 1 0 -2 01 1 0 0 00 0 1 2 11 0 1 4 10 1 1 0 01 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 NeuronaisConceitos Básicos– O neurônio artificial
O problema XOR
x1 x2 y0 0 11 0 00 1 01 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çãotemos 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 NeuronaisConceitos 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 NeuronaisConceitos Básicos– O neurônio artificial
Transformando o limiar em um peso sináptico
x1
xn
x2
...
θ
w1
wn
w2 y
n∑i=1
wixi ≤ θ
x1
xn
x2
1 = x0
...
θ
w0 = −θ
w1
wn
w2 y
n∑i=0
wixi ≤ 0
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 17 / 76
Redes Neuronais Conceitos Básicos
Redes NeuronaisConceitos Básicos– O neurônio artificial
O neurônio artificial(x1, x2): sinal de entradawi: pesos sinápticos (determinao efeito da entrada sobre oprocessador)e(·) : função aditivaf (·), ϕ(·): função de ativação(determina o novo valor do estadode 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 NeuronaisConceitos 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 unidadeselementares de computaçãoO neurônio executa uma função lógicaA 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 NeuronaisConceitos Básicos– O neurônio artificial
O neurônio artificial genéricoSaída do neurônio: yk = f (uk) = f
(∑wk jx j + bk
)Função de ativação
1 limitar a saída do neurônio2 introduzir não-linearidade no modelo.
Limiar bk: aumentar ou diminuir a influência do valor da entrada líquida para aativaçã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 NeuronaisConceitos Básicos– O neurônio artificial
A rede e a propagação do sinalOs neurônios são organizados em camadasQuanto mais camadas, mais complexa a redeProblemas de aproximação de funções
Uma camada basta para modelar funções contínuasDuas 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 NeuronaisConceitos Básicos– O neurônio artificial
A rede e a propagação do sinalOs neurônios são organizados em camadasQuanto mais camadas, mais complexa a redeProblemas de aproximação de funções
Uma camada basta para modelar funções contínuasDuas 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 NeuronaisConceitos Básicos– O neurônio artificial
A rede e a propagação do sinalOs neurônios são organizados em camadasQuanto mais camadas, mais complexa a redeProblemas de aproximação de funções
Uma camada basta para modelar funções contínuasDuas 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 NeuronaisConceitos Básicos– O neurônio artificial
A rede e a propagação do sinalOs neurônios são organizados em camadasQuanto mais camadas, mais complexa a redeProblemas de aproximação de funções
Uma camada basta para modelar funções contínuasDuas 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 NeuronaisConceitos Básicos– O neurônio artificial
A rede e a propagação do sinalOs neurônios são organizados em camadasQuanto mais camadas, mais complexa a redeProblemas de aproximação de funções
Uma camada basta para modelar funções contínuasDuas 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 NeuronaisConceitos Básicos– O neurônio artificial
A rede e a propagação do sinalOs neurônios são organizados em camadasQuanto mais camadas, mais complexa a redeProblemas de aproximação de funções
Uma camada basta para modelar funções contínuasDuas 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 NeuronaisConceitos Básicos– O neurônio artificial
A rede e a propagação do sinalOs neurônios são organizados em camadasQuanto mais camadas, mais complexa a redeProblemas de aproximação de funções
Uma camada basta para modelar funções contínuasDuas 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 NeuronaisConceitos Básicos– O neurônio artificial
A rede e a propagação do sinalOs neurônios são organizados em camadasQuanto mais camadas, mais complexa a redeProblemas de aproximação de funções
Uma camada basta para modelar funções contínuasDuas 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 NeuronaisConceitos 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 NeuronaisAplicações
Funções de ativação: localização na rede
x2 w2 Σ f
função deativação
ysaída
x1 w1
x3 w3
pesos
biasb
entradas
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 23 / 76
Redes Neuronais Conceitos Básicos
Redes NeuronaisConceitos Básicos– O neurônio artificial
Funções de ativaçãoSigmoide:
f (t) = 11+e−βt
d f (β,t)dt = β[ f (β, t)[1 − f (β, t)]]
Tangente hiperbólica:
f (t) = tanh(t) = et−e−t
et+e−t
d f (t)dt = 1 − tanh2(t) = sech2(t) = 1 − (et−e−t)2
(et+e−t)2
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 24 / 76
Redes Neuronais Conceitos Básicos
Redes NeuronaisConceitos Básicos– Estruturas de interconexão
Estruturas de interconexãoRedes 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íclicasredes com conexões entre processadores da mesma camada e/ou com processadores dascamadas anteriores (realimentação).
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 25 / 76
Redes Neuronais Conceitos Básicos
Redes NeuronaisConceitos Básicos– Estruturas de interconexão
Redes unidirecionais com camadasSentido de fluxo de sinais: entrada→ saídaNão há conexões intercamadaCamada de entrada: onde ospadrões são apresentadosCamadas escondidas: maior partedo processamento, através deconexões ponderadasCamada 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 NeuronaisConceitos Básicos– Estruturas de interconexão
Redes recorrentesNão há sentido único do fluxo desinaisRetroalimentação, conexões entreneurônios da mesma camada(estímulos laterais), camadasanteriores 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 NeuronaisIntroduçãoConceitos BásicosProcessamento Neuronal
Aprendizado supervisionado e não-supervisionadoRecuperação de Dados
Regras de AprendizadoModelos de redes neuronaisExemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 28 / 76
Redes Neuronais Processamento Neuronal
Redes NeuronaisProcessamento 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizado (ou treinamento)
Processo pelo qual os parâmetros livres - pesos sinápticos - de uma redeneuronal são adaptados através de um processo contínuo de estimulação peloambiente.Paradigmas (3 tipos básicos de aprendizado)
Aprendizado supervisionadoAprendizado não-supervisionadoAprendizado por Reforço
ProtocolosIncrementalBatch ou por Lote
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 29 / 76
Redes Neuronais Processamento Neuronal
Redes NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamentoAjuste dos pesos wi j da redeEstímulo→ Adaptação→ Novo comportamento da redeProcedimento iterativo:
1 Passe o conjunto de entradas pela rede2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti j + ∆wi 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamentoAjuste dos pesos wi j da redeEstímulo→ Adaptação→ Novo comportamento da redeProcedimento iterativo:
1 Passe o conjunto de entradas pela rede2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti j + ∆wi 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamentoAjuste dos pesos wi j da redeEstímulo→ Adaptação→ Novo comportamento da redeProcedimento iterativo:
1 Passe o conjunto de entradas pela rede2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti j + ∆wi 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamentoAjuste dos pesos wi j da redeEstímulo→ Adaptação→ Novo comportamento da redeProcedimento iterativo:
1 Passe o conjunto de entradas pela rede2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti j + ∆wi 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamentoAjuste dos pesos wi j da redeEstímulo→ Adaptação→ Novo comportamento da redeProcedimento iterativo:
1 Passe o conjunto de entradas pela rede2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti j + ∆wi 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamentoAjuste dos pesos wi j da redeEstímulo→ Adaptação→ Novo comportamento da redeProcedimento iterativo:
1 Passe o conjunto de entradas pela rede2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti j + ∆wi 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamentoAjuste dos pesos wi j da redeEstímulo→ Adaptação→ Novo comportamento da redeProcedimento iterativo:
1 Passe o conjunto de entradas pela rede2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti j + ∆wi 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizagem ou treinamentoAjuste dos pesos wi j da redeEstímulo→ Adaptação→ Novo comportamento da redeProcedimento iterativo:
1 Passe o conjunto de entradas pela rede2 Aplique uma regra para atualizar os pesos: wt+1
i j = wti j + ∆wi 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizado supervisionadoA rede é treinada através do fornecimento dos valores de entrada e de seusrespectivos valores desejados de saída (training pair).Problema de otimização: Encontre um conjunto de pesos wi j que minimize
J =12
N∑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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Alguns algoritmos de aprendizado supervisionadoCorreção pelo erro: wt+1
i = wti + αδixi
Regra delta: wt+1i j = wt
i j − η∂J∂wi j
, η é a taxa de aprendizadoRetropropagaçã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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizado não-supervisionadoAuto-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 classesinerentes aos dados.
As modificações nos pesos não usam informações sobre se a resposta da rede foicorreta ou nãoAplicado a problemas de agrupamento (clusterização)Exemplos:
Aprendizado Hebbiano: ajuste o peso da conexão entre o neurônio A e Bproporcionalmente a ativação simultânea dos dois neurônios
∆w = ηx jyi
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 33 / 76
Redes Neuronais Processamento Neuronal
Redes NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Aprendizado por reforçoA rede aprende a realizar uma certa tarefa somente com base nos resultados de suaexperiê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 ruimO objetivo é maximizar a quantidade de reforço positivoExemplos: 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 NeuronaisProcessamento Neuronal– Aprendizado supervisionado e não-supervisionado
Protocolos de aprendizagemIncremental
Pesos atualizados na apresentação de cada amostraMais adequado para aplicações práticas, onde podem ocorrer padrões redundantes
Batch ou por LotePesos atualizados após todas as amostras apresentadasMudanç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 NeuronaisProcessamento Neuronal– Recuperação de Dados
Assumindo que um conjunto de padrões tenha sido armazenado, a Rede Neuralpode executar as seguintes tarefas:
AutoassociaçãoHeteroassociaçãoClassificaçãoPrevisão
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 36 / 76
Redes Neuronais Processamento Neuronal
Redes NeuronaisProcessamento Neuronal– Recuperação de Dados
Autoassociação:A Rede Neural recupera o padrão armazenado mais semelhante ao padrão deentrada apresentado.Recuperação de padrões ruidososPadrão de entrada distorcido → Padrão correto recuperado
Esquema: ∧→ {�∅4♥} → 4Exemplo 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 NeuronaisProcessamento 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 diferentePadrão de entrada com ou sem ruído → Padrão correto recuperado
Esquema: ∧→ {
4 → ©
� → ♦
O → ♥
�∅4♥} → 4
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 38 / 76
Redes Neuronais Processamento Neuronal
Redes NeuronaisProcessamento Neuronal– Recuperação de Dados
Classificação:A Rede Neural responde com a informação relativa à classe (categoria) a qual opadrã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 opadrã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 uminstante de tempo t0 + k, (k > 0), utilizando dados medidos até o instante t0inclusive.
Generalização:A Rede Neural responde corretamente a um padrão de entrada fora do conjunto detreinamentoInterpola 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 NeuronaisIntroduçãoConceitos BásicosProcessamento NeuronalRegras de Aprendizado
Regra de HebbPerceptronRegra Delta (Adaline)Retropropagação
Modelos de redes neuronaisExemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 40 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Regra de Hebb
Regra de HebbDeclaração de Hebb:
“Quando um axônio de uma célula A está próximo o suficiente de excitar a célulaB e repetidamente ou persistentemente participa da ativação desta, um processo decrescimento ou mudança metabólica ocorre em uma ou ambas as células, de tal formaque 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ãoaquela 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 aumentaCorrelação negativa⇒ o valor do peso diminuiA saída é reforçada a cada apresentação do padrão⇒padrões freqüentes terão maiorinfluê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 NeuronaisRegras de Aprendizado– Regra de Hebb
Aprendizado Hebbiano: ajuste o peso da conexão entre o neurônio i e jproporcionalmente a ativação simultânea dos dois neurônios
∆w = ηx jyi
ondex j: atividade pré-sinápticayi: atividade pós-sináptica0 < η < 1: taxa de aprendizado
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 41 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Perceptron
Perceptron simplesPrimeiro modelo de treinamentosupervisionadoÚnica camada de neurônios (topologia)Função de ativação “degrau”Conjunto de padrões (xi,zi), i = 1, . . . ,nPara cada padrão i, calcula-se um erro δi
Treinamento supervisionado, por correçãopelo erro
wt+1i j = wt
i j + ηδixi ( j = 1)δi = zi − yiyi: saída calculada pela redezi: valor desejado
Valores de entrada/saída binários (0,1), (-1,1)
∑x2
x1
1
xn
w0
w1
w2
wn
entradas pesos
soma ponderada função degrau
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 42 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Perceptron
Perceptron simplesUm classificador perceptron é um modelosimples de um neurônio.Tem diferentes entradas (x1, . . . , xn) comdiferentes pesos (w1, . . . ,wn)
s =n∑
i=0
wixi
A soma ponderada s destas entradas é entãopassada através de uma função (de ativação)degrau f (para este problema vamos usar afunção Heaviside)
f (s) =
1 se s ≥ 00 caso contrário
∑x2
x1
1
xn
w0
w1
w2
wn
entradas pesos
soma ponderada função degrau
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 42 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Perceptron
Abaixo um exemplo de como o perceptron aprende a função lógica ORA B A OR B0 0 00 1 11 0 11 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 suainfluê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 NeuronaisRegras de Aprendizado– Perceptron
Código-exemplo:
import numpy as np2 learning_rate , dim = 0.1, 2weights = 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 1while 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)
))Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 44 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Perceptron
Resultado esperado:
(0, 0):0 | -0.92975331882 -> 02 (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 corretacaso contrário, cada peso é incrementado quando a saída é menor que o valor deentrada 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 NeuronaisRegras 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 NeuronaisRegras de Aprendizado– Perceptron
O problema XORTestar o perceptron para o função lógica XOR
A B A XOR B0 0 00 1 11 0 11 1 0
Rosenblatt (1962) provou que uma rede Perceptron é capaz de aprender tudo quepuder 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 deconhecimento (ajuste dos pesos), de forma a produzir a função desejadaMinsky & Papert (Perceptrons 1969) provaram que existem sérias restrições sobre oque as redes Perceptron são capazes de representarAs 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 NeuronaisRegras de Aprendizado– Perceptron
Este problema pode ser solucionado adicionando-se uma outra camadaintermediária de processadores⇒Multi-Layer PerceptronsObservação:
Redes Neurais de múltiplas camadas só oferecem vantagens sobre as de uma únicacamada 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 NeuronaisRegras de Aprendizado– Regra Delta (Adaline)
A Regra Delta é também conhecida como:Algoritmo Least Mean Square (LMS)Regra de Widrow-Hoff
Regra de Adaline (Adaptive Linear Neuron)
É uma generalização do Perceptron, estendendo a técnica para entradas e saídascontínuasSurgiu na literatura quase que simultaneamente com o Perceptron ao final dadécada de 50.Assim como o Perceptron, é um modelo baseado em elementos que executamoperaçõ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 NeuronaisRegras de Aprendizado– Regra Delta (Adaline)
Apesar das semelhanças, os trabalhos que descreveram o Perceptron e o Adalinesurgiram em áreas diferentes e com enfoques diferentes:Frank Rosenblatt, que era psicólogo, enfocou a descrição do Perceptron emaspectos cognitivos do armazenamento da informação e da organização cerebralBernard Widrow e Marcian Hoff enfocaram a descrição do Adaline naconstrução de filtros lineares.
Perceptron = Separador LinearAdaline = Aproximador Linear de Funções
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 50 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Regra Delta (Adaline)
Modelo básico do neurônio adaline artificial:
∑x2
x1
1
xn
w0
w1
w2
wn
entradas pesos
soma ponderada função linear
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 51 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Regra Delta (Adaline)
O algoritmo de treinamento do Adaline utiliza a informação contida no gradientedo erro para obter calcular o ajuste ∆w a ser aplicado ao vetor de pesos.
wt+1i = wt
i + ∆w, ∆w = ηyiδi
O objetivo do treinamento será minimizar a função de custo J(w):
J =12
N∑i=1
δ2i =
12
N∑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 NeuronaisRegras de Aprendizado– Regra Delta (Adaline)
A Regra Delta de WidrowIdé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 vezPartindo-se de um ponto arbitrário w0 pode-se caminhar pela superfície J(w) emdireção ao ponto de mínimo, bastando para isso evoluir sempre no sentido oposto aodo gradiente naquele ponto:
wk+1i j = wk
i j − η∇J(wk) = wki j − η
∂J(wk)
∂wki j
O vetor gradiente aponta para a direção e sentido de maior crescimento dafunção de custo.Portanto, o ajuste dos pesos deve considerar a mesma direção e o sentidocontrário ao do vetor gradiente (método da descida mais íngreme) da funçãode custo J(w)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 53 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Regra Delta (Adaline)
O Algoritmo do Mínimo Quadrado Médio (LMS) considera valores instantâneospara a função de custo:
A atualização dos pesos é realizada após a apresentação de cada padrão detreinamento.
Para o Adaline, teremos6:
J(w) = 12∑N
i=1 δ2i
δi = zi − yiyi =
∑ni=0 xi jwk
i j∂J∂wk
i 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 − yk
i )xi j
6i: exemplo de treinamento, j: dimensão da entrada, N: número de amostrasLeonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 54 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras 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 conjuntode dados, o que o torna um aproximador demasiadamente simplesEmbora simples, a Regra Delta preparou o caminho para que, mais tarde,Rummelhart, Hinton e Williams propusessem o mais poderoso algoritmo quese 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 NeuronaisRegras de Aprendizado– Regra Delta (Adaline)
Utilize a regra delta de Widrow para treinar o neurônio Adaline, de forma queeste 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 NeuronaisRegras 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ídasde ativaçãoPropagação para trás (retropropagação) das amostras através da rede
Atualização dos pesos
É uma generalização da Regra DeltaUsado em redes unidirecionais (não restrito) com múltiplas camadas (entrada,escondida e saída)Requer funções de ativação diferenciáveisAnalogia 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 NeuronaisRegras 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ídasubescrito j denota a camada encondidasubescrito 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 NeuronaisRegras 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ídaw ji: pesos da camada de entrada para a camada escondiday: valor de ativaçãoe =
∑wi jxi j: soma
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 58 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Retropropagação
O erro total de rede é dado por
J =12
∑k
(zk − yk)2
e o objetivo é ajustar os pesos usando
∆w ∝ −∂J∂w
e para um peso na camada escondida temos 7
∆wk j ∝ −∂J∂wk j
Considerando ek =∑
j wk jy j (na camada escondida) e usando a regra da cadeia
∆wk j = −η∂J∂yk
∂yk
∂ek
∂ek
∂wk j
7http://goo.gl/EWn3GrLeonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 59 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Retropropagação
Temos então∆wk j = −η
∂J∂yk
∂yk
∂ek
∂ek
∂wk j
onde
∂J∂yk
= −(zk − yk)
∂yk
∂ek= f ′(ek)
∂ek
∂wk j=∂(
∑k wk jy j)
∂wk j= y j
Se usarmos a função de ativação yk = fk(t) = 11+e−t teremos f ′k (t) =
e−t
(1+e−t)2 =
yk(1 − yk) ou se usarmos yk = fk(t) = tanh(t) teremos f ′k (t) = sech2(t).
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 60 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras 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
∆wk j = η
δk︷ ︸︸ ︷(zk − yk) f ′(ek)y j = ηδky j
Regra similar ao treinamento do percetron, onde a diferença é a inclusão daderivada 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 NeuronaisRegras 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 pelaconexão.A expressão fica
∆w ji ∝ −
[∂J∂y j
]∂y j
∂e j
∂e j
∂w ji
∆w ji ∝ −
∑k
∂J∂yk
∂yk
∂ek
∂ek
∂y j
∂y j
∂e j
∂e j
∂w ji
∆w ji = η
∑
k
δk︷ ︸︸ ︷(zk − yk) f ′(ek)wk j
f ′(e j)xi, com e j =∑
i
w jixi
∆w ji = η
δ j︷ ︸︸ ︷∑k
δkwk j
f ′(e j) xi⇒ ∆w ji = ηδ jxi
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 62 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Treinamento supervisionado usando backpropagationRede 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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Neurônio = uma unidade de ativação e uma unidade de propagaçãoEntradas (x, x2) ; Pesos w1, w2; Sinal de saída: y = f (e)
Treinamento: processo iterativo
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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Conjunto de dados necessário para treinamentoConjunto de sinais (x1, x2) com saidas conhecidas z
Em cada iteração, um sinal “passa” pela redeOs 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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Determinamos a saída para cada neuronioem cada camadaxm : sinais de entradawxi, j : pesos das conexões entre as camadasyn : 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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Determinamos a saída para cada neuronioem cada camadaxm : sinais de entradawxi, j : pesos das conexões entre as camadasyn : 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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Determinamos a saída para cada neuronioem cada camadaxm : sinais de entradawxi, j : pesos das conexões entre as camadasyn : 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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Determinamos a saída para cada neuronioem cada camadaxm : sinais de entradawxi, j : pesos das conexões entre as camadasyn : 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 NeuronaisRegras 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 NeuronaisRegras 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 entradaEm 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 NeuronaisRegras 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 entradaEm seguida: retropropagar o sinal erro δ nos neurônios
8http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.htmlLeonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras 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.htmlLeonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 63 / 76
Redes Neuronais Regras de Aprendizado
Redes NeuronaisRegras 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 NeuronaisRegras 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 NeuronaisRegras 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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Com todos os erros computados, os coeficientes da camada de entrada sãomodificadosd f (e)/de é a derivada da função de propagação
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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Com todos os erros computados, os coeficientes da camada de entrada sãomodificadosd f (e)/de é a derivada da função de propagação
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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Com todos os erros computados, os coeficientes da camada de entrada sãomodificadosd f (e)/de é a derivada da função de propagação
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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Coeficiente η afeta o aprendizado
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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Coeficiente η afeta o aprendizado
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 NeuronaisRegras de Aprendizado– Retropropagação
Exemplo do funcionamento do algoritmo de retropropagação8
———————————————————–
Coeficiente η afeta o aprendizado
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 Modelos de redes neuronais
Programa
1 Redes NeuronaisIntroduçãoConceitos BásicosProcessamento NeuronalRegras de AprendizadoModelos de redes neuronaisExemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 64 / 76
Redes Neuronais Modelos de redes neuronais
Redes NeuronaisModelos de redes neuronais–
Perceptron simplesPerceptron multi-camadasMapas 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 NeuronaisModelos de redes neuronais–
Perceptron simplesPrimeiro modelo de treinamento supervisionadoÚnica camada de neurôniosPara cada padrão i, calculase um erro δiTreinamento supervisionado, por correção pelo erro
wi(t + 1) = wi(t) + ηδixib(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 NeuronaisModelos de redes neuronais–
Perceptron com multi-camadas
Extensão do perceptron simplesCamada oculta/escondidaTreinamento supervisionado: backpropagation (mais usado)
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 64 / 76
Redes Neuronais Modelos de redes neuronais
Redes NeuronaisModelos de redes neuronais–
Redes de HopfieldUsada para classificação ou clusterizaçãoPossui recorrência (as saídas realimentam as entradas) – não possuiautorrecorrência (neurônio não realimenta a si próprio)Divide um certo espaço de dados N em m partesAprendizado Hebbiano
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 64 / 76
Redes Neuronais Modelos de redes neuronais
Redes NeuronaisModelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)Duas camadas: camada de entrada e camada de processamentoA camada de processamento: grid retangular de neurônios equiespaçadosconectados aos seus vizinhos imediatosPreservar a topologia dos padrões de entradaAprendizado competitivo
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 65 / 76
Redes Neuronais Modelos de redes neuronais
Redes NeuronaisModelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Na regra de Hebb vários neurônios podem simultaneamente ser ativados. Nestetipo de aprendizado apenas um neurônio é ativado por vezPropicia descobrir aquelas características estatísticas importantes que podem serusadas 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 = (w j1,w j2, . . . ,w jm), j = 1,2, . . . , lNeurônio vencedor: i = argmin
j||x −w j||
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 NeuronaisModelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)
Os sistemas Self-Organizing Maps (SOM) tem sido muito utilizados paraclusterização de dados e compressão de dados.Existem muitas aplicações interessantes que utilizaram tais sistemas, comsucesso:
Reconhecimento de vozClassificação de padrões
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 67 / 76
Redes Neuronais Modelos de redes neuronais
Redes NeuronaisModelos 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 aprendizagemda rede, a matriz que representa a sua topologia será vista como um subconjuntodiscreto do espaço .
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 68 / 76
Redes Neuronais Modelos de redes neuronais
Redes NeuronaisModelos de redes neuronais–
Mapas auto-organizáveis (Redes de Kohonen)Duas camadas: camada de entrada e camada de processamentoA camada de processamento: grid retangular de neurônios equiespaçadosconectados aos seus vizinhos imediatosExemplo: 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 NeuronaisModelos 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 NeuronaisModelos 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 NeuronaisModelos de redes neuronais–
Projeto de um sistema neuronal:
Coleta de dadosOrigem, forma de coleta, dimensionalidade, confiabilidade
Preparação e adequação dos dadosRepresentação computacional adequada dos dadosTratamento 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 modeloEscolher o modelo adequado ao problemaDefinição da topologia das interconexõesDinâmica de aprendizado (treinamento)
Avaliação dos resultadosAjuste dos parâmetros da redeValidação cruzada
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 71 / 76
Redes Neuronais Modelos de redes neuronais
Redes NeuronaisModelos de redes neuronais–
Estrutura de uma rede neuronal – Parâmetros de projeto:No. de camadasNo. de neurônios por camadaTopologia das interconexõesFunção de ativação/transferênciaRepresentação dos dadosDinâmica de aprendizado
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 72 / 76
Redes Neuronais Exemplos de Aplicação
Programa
1 Redes NeuronaisIntroduçãoConceitos BásicosProcessamento NeuronalRegras de AprendizadoModelos de redes neuronaisExemplos de Aplicação
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 73 / 76
Redes Neuronais Exemplos de Aplicação
Redes NeuronaisExemplos de Aplicação–
Flores Iris3 espécies: setosa, versicolor, virginica150 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
Redes Neuronais Exemplos de Aplicação
Redes NeuronaisExemplos de Aplicação–
Aproximação de funçãoAproximar a função f (x) = 27x4 − 60x3 + 39x2 − 6xDados: 10 pontos onde a abcissa ∈ [0,1]
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 74 / 76
Redes Neuronais Exemplos de Aplicação
Redes NeuronaisExemplos de Aplicação–
Reconhecimento de padrões – Caracteres 0-9Reconhecer uma entrada adicionada de ruído
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 75 / 76
Redes Neuronais Exemplos de Aplicação
Redes NeuronaisExemplos de Aplicação–
Análise geral das redesPotencialidades
Habilidade de tratar sistemas complexosRepresentação de conhecimento quantitativoAprendizadoAdaptabilidadeGeneralização
Limitações“Maldição” da dimensionalidadeOver-fitting (excesso de treinamento)Alta complexidade computacional do treinoMínimos locais
Leonardo Goliatt (PGMC-UFJF) Inteligência Computacional versão 14.03 76 / 76