curso introdução às redes neuronais parte 2

26
Curso Introdução às Redes Neuronais Parte 2 Prof. Dr. rer.nat. Aldo von Wangenheim

Upload: flavio

Post on 17-Mar-2016

32 views

Category:

Documents


2 download

DESCRIPTION

Curso Introdução às Redes Neuronais Parte 2. Prof. Dr. rer.nat. Aldo von Wangenheim. Recapitulação : Aspectos Importantes. Modelagem dos Objetos Implementação dos Algoritmos de Treinamento Escolha e Gerência dos exemplos para Treinamento - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Curso Introdução às Redes Neuronais Parte 2

CursoIntrodução às Redes Neuronais

Parte 2

Prof. Dr. rer.nat. Aldo von Wangenheim

Page 2: Curso Introdução às Redes Neuronais Parte 2

Recapitulação: Aspectos Importantes

• Modelagem dos Objetos• Implementação dos Algoritmos de

Treinamento• Escolha e Gerência dos exemplos para

Treinamento

• Estes aspectos são independentes do modelo de rede que se deseja implementar.

Page 3: Curso Introdução às Redes Neuronais Parte 2

Recapitulação: Modelagem dos Objetos

Objetos a serem modelados:

• Rede• Camada (Layer)• Neurônio• Conexão• Neuroreceptor (Site)

Page 4: Curso Introdução às Redes Neuronais Parte 2
Page 5: Curso Introdução às Redes Neuronais Parte 2

1.

0

0.

5

0.

0

Page 6: Curso Introdução às Redes Neuronais Parte 2

1.

0

0.

5

0.

0

Page 7: Curso Introdução às Redes Neuronais Parte 2

1.

0

0.

5

0.

0

Page 8: Curso Introdução às Redes Neuronais Parte 2

1.

0

0.

5

0.

0

1

0

0

Page 9: Curso Introdução às Redes Neuronais Parte 2

Backpropagation

• Modelo mais utilizado atualmente• Baseia-se em uma extensão dos Perceptrons• Utilizado quando queremos “aprender” uma

função y = ?(x) desconhecida entre um conjunto de dados de entrada x e um conjunto de classificações possíveis y para esses. BP é um algoritmo para a implementação de

classificadores de dados. Representa teoricamente qualquer função, desde que

exista.

Page 10: Curso Introdução às Redes Neuronais Parte 2

Perceptrons (1957)

• Redes Feed-Forward Treinamento baseado no Erro entre saída e padrão.

• 2 Camadas Limitado pque não existiam algoritmos de treinamento.

• Dois modelos de Neurônios: Neurônios de Barreira

• Representam dados linearmente separáveis Neurônios Lineares

• Representam dados linearmente independentes.

Page 11: Curso Introdução às Redes Neuronais Parte 2

Aprendizado nos Perceptrons• Através da adaptação dos pesos wik

• Mesmo para os dois tipos de neurônios.Entrada:

Saida:

Valor de entrada:

Desejado:

Quando a entrada for aplicada na entrada, teremos como saida:

u

O =

O = g( h ) = g w

iu

ku

iu

iu

u

iu

iu

kik k

u

k

Page 12: Curso Introdução às Redes Neuronais Parte 2

Perceptron: Regra de Aprendizado

iknovo

ikvelho

ik

ikimy

kmy

iu

imy

ik iu

imy

ku

w = w + w

w = 2 O ;

0

w = - O

onde

caso senao

ou:

e a taxa de aprendizado

:

.

Page 13: Curso Introdução às Redes Neuronais Parte 2

Perceptron: Regra de Aprendizado

• A regra de aprendizado do Perceptron é chamada de Regra-Delta. A cada passo é calculado um novo delta.

• Com a Regra-Delta como foi definida por Rosenblatt havia vários problemas: Só servia para treinar redes onde você pudesse determinar o

erro em todas as camadas. Redes com só duas camadas eram limitadas. Nos neurônios lineares, onde era fácil determinar o erro numa

camada interna, não fazia sentido incluí-la por causa da dependência linear.

Page 14: Curso Introdução às Redes Neuronais Parte 2

Regra de Aprendizado:Minimizar o Erro

• Inicializamos a rede com valores aleatórios para os pesos.

• A Regra Delta aplicada repetidamente produz como resultado e minimização do erro apresentado pela rede:

Page 15: Curso Introdução às Redes Neuronais Parte 2

Erro:

E = 12

- O - w iu

2

iu

iu

iu

2

iu

kik k

u = 12

[w]

Page 16: Curso Introdução às Redes Neuronais Parte 2

Pesos Convergem

para um Ponto de

Erro Mínimo chamado Atrator

Page 17: Curso Introdução às Redes Neuronais Parte 2

Problemas:• As vezes o espaço vetorial definido por um

conjunto de vetores de pesos não basta, não há um atrator (dados linearmente inseparáveis)

• Solução: Rede de mais camadas

• Problema: Como definir o erro já que não podemos usar

neurônios lineares, onde o erro pode ser definido pela derivada parcial de E em relação a w ?

Page 18: Curso Introdução às Redes Neuronais Parte 2

Erro em Camadas Internas

• Com neurônios de McCulloch & Pitts podemos representar qualquer coisa.

• Como perém treiná-los ? Para a camada de saída é fácil determinar o erro, Para outras impossível.

E = 12

- O - w iu

2

iu

iu

iu

2

iu

kik k

u = 12

[w]

Page 19: Curso Introdução às Redes Neuronais Parte 2

Solução (McLelland 1984)

• Usamos uma função não-linear derivável como função de ativação. Uma função assim mantém a característica

provada por McCulloch e Pitts de representação.• Usamos como medida de erro em uma

camada interna, a derivada parcial do erro na camada posterior.

• Propagamos esse erro para trás e repetimos o processo: Error Backpropagation.

Page 20: Curso Introdução às Redes Neuronais Parte 2

Bacpropagation

• Redes de mais de duas camadas.Treinamento:

• 2 Passos: Apresentação de um padrão para

treinamento e propagação da atividade.

Calculo do erro e retropropagação do erro.

Page 21: Curso Introdução às Redes Neuronais Parte 2

Treinamento em BP:

• Padrão de treinamento é apresentado.• Atividade é propagada pelas camadas.• Erro é calculado na saída e vetores de pesos

entrando na última camada são adaptados.• Derivada do erro em relação aos vetores de

pesos (antes da adaptação) é calculada e usada para adaptação dos pesos da camada anterior.

• Processo é repetido até a camada de entrada.

Page 22: Curso Introdução às Redes Neuronais Parte 2

Funções de AtivaçãoQuaselineares:

g(h) = (h)

g (h) = (1 - g )

g(h) = f (h) = [1 + (-2 h) ]

g (h) = 2 g(1 - g)

2

-1

tanh

exp

com

e:

com

Page 23: Curso Introdução às Redes Neuronais Parte 2

i

j

k

w >

w i

j w

k u

k

i

h j

V j

h i

g( )

ij

rec giv

ku

iu

ju

ju

iu

output layer neuron index

hidden layer neuron index

input neuron index

weightreceiving neuron

giving neuron

input at input- neuron for pattern ; the same as activation of neuron

expected output at neuron for given input pattern my

total input of HIDDEN neuron

OUTPUT of neuron

total input of OUTPUT neuron

ACTIVATION FUNCTION of neuron

_

Page 24: Curso Introdução às Redes Neuronais Parte 2

Na apresentaçao de uma padrao a entrada de um neuronio escondido j

e a saida V

a unidade de saida i recebe:

e produz a saida O

u

juh = k

jkw ku

juV = g( juh ) = g k

jkw ku

iuh = j

ijW juV = j

ijW gk

jkw ku

iuO = g( iuh ) = gj

ijW juV = gj

ijW gk

jmy

imy

jkw ku

E[ ]

E[ ] = 12 ui

2iu - iuO

E[ ] = 12 u

2

iu - g

jw g

kjkw k

u

i

ij

O erro w

w

transforma se em:

w .

Page 25: Curso Introdução às Redes Neuronais Parte 2

Dos neuronios de saida para os escondidos a regra e a de sempre:

ijij my

iu

iu

iu

ju

myiu

ju

iu

iu

iu

iu

W = -E

W = - O g ( h )V

= V

= g ( h ) - O

Page 26: Curso Introdução às Redes Neuronais Parte 2

Para os escondidos para outros escondidos ou para os de entrada:

com

e assim aforma geral da regra

w = -Ew

= -EV

Vw

= - O g ( h )W g ( h )

= W g ( h )

=

= g ( h ) W

jkjk my j

uju

jk

myiiu

iu

iu

ij ju

ku

uiiu

ij ju

ku

ju

ku

juy

ju

iij i

u

pq

:

w = * Vpatterns

output input