Curso Introdução às Redes Neuronais Parte 2

Post on 17-Mar-2016

32 views 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 of Curso Introdução às Redes Neuronais Parte 2

CursoIntroduçã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

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

Recapitulação: Modelagem dos Objetos

Objetos a serem modelados:

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

1.

0

0.

5

0.

0

1.

0

0.

5

0.

0

1.

0

0.

5

0.

0

1.

0

0.

5

0.

0

1

0

0

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.

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.

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

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

:

.

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.

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:

Erro:

E = 12

- O - w iu

2

iu

iu

iu

2

iu

kik k

u = 12

[w]

Pesos Convergem

para um Ponto de

Erro Mínimo chamado Atrator

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 ?

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]

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.

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.

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.

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

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

_

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 .

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

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