curso introdução às redes neuronais parte 2 prof. dr. rer.nat. aldo von wangenheim
Post on 17-Apr-2015
106 Views
Preview:
TRANSCRIPT
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 = 1
2 - 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 = 1
2 - 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
weight
receiving 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 =
kjkw k
u
juV = g( j
uh ) = g k
jkw ku
iuh =
jijW j
uV = j
ijW gk
jkw ku
iuO = g( i
uh ) = gj
ijW juV = g
jijW g
k
jmy
imy
jkw ku
E[ ]
E[ ] = 1
2 ui
2iu - i
uO
E[ ] = 1
2 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
my
iu
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 = -E
w = -
E
V
V
w
= - O g ( h )W g ( h )
= W g ( h )
=
= g ( h ) W
jkjk my j
u
ju
jk
myiiu
iu
iu
ij ju
ku
uiiu
ij ju
ku
ju
ku
juy
ju
iij i
u
pq
:
w = * Vpatterns
output input
top related