inteligência computacional unidade 02 – redes neuronais artificiais

123
InteligOEncia Computacional Unidade 02 Redes Neuronais Articiais Leonardo Goliatt PGMC/UFJF Programa de Ps-Graduaªo em Modelagem Computacional Universidade Federal de Juiz de Fora versªo 14.03 Leonardo Goliatt (PGMC-UFJF) InteligOEncia Computacional versªo 14.03 1/76

Upload: leonardo-goliatt

Post on 14-Jun-2015

166 views

Category:

Education


12 download

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

TRANSCRIPT

Page 1: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 2: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 3: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 4: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 5: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 6: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 7: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 8: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 9: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 10: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 11: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 12: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 13: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 14: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 15: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 16: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 17: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 18: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 19: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 20: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 21: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 22: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 23: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 24: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 25: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 26: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 27: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 28: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 29: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 30: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 31: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 32: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 33: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 34: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 35: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 36: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 37: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 38: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 39: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 40: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 41: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 42: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 43: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 44: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 45: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 46: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 47: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 48: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 49: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 50: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 51: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 52: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 53: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 54: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 55: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 56: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 57: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 58: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 59: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 60: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 61: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 62: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 63: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 64: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 65: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 66: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 67: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 68: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 69: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 70: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 71: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 72: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 73: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 74: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 75: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 76: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 77: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 78: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 79: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 80: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 81: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 82: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 83: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 84: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 85: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 86: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 87: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 88: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 89: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 90: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 91: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 92: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 93: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 94: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 95: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 96: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 97: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 98: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 99: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 100: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 101: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 102: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 103: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 104: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 105: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 106: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 107: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 108: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 109: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 110: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 111: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 112: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 113: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 114: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 115: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 116: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 117: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 118: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 119: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 120: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 121: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 122: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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

Page 123: Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais

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