• Nenhum resultado encontrado

Perceptron de Múltiplas Camadas (MultiLayer Perceptron-MLP) com algoritmo de treinamento por RetroPropagação de Erros (Error BackPropagation)

N/A
N/A
Protected

Academic year: 2021

Share "Perceptron de Múltiplas Camadas (MultiLayer Perceptron-MLP) com algoritmo de treinamento por RetroPropagação de Erros (Error BackPropagation)"

Copied!
26
0
0

Texto

(1)

Perceptron de Múltiplas

Camadas (MultiLayer

Perceptron-MLP)

com algoritmo de treinamento

por RetroPropagação de Erros

(Error BackPropagation)

IF67D – Sistemas Inteligentes 1

UTFPR - 2015

(2)

Perceptron de Múltiplas Camadas

(MultiLayer Perceptron-MLP)

..

. ... ...

(3)

Perceptron de Múltiplas Camadas

(MultiLayer Perceptron-MLP)

 Características da Arquitetura MLP:

 A camada de entrada apenas reproduz as

entradas para todos os neurônios da camada intermediária - NÃO possui processamento!!!

 Deve existir pelo menos uma camada

intermediária (denominada camada

escondida-HIDDEN LAYER), e uma camada de saída (OUTPUT LAYER)

 Foi provado matematicamente que “TODO”

mapeamento entrada/saída, linearmente

separável ou não, pode ser treinado em um MLP com apenas uma camada escondida, com a

(4)
(5)

Perceptron de Múltiplas Camadas

(MultiLayer Perceptron-MLP)

y= f

i=1 n xiwi

= f  xt w  x1 x2 xn w1 w2 wn + y . . . vetor de

entrada peso daconexão

somador função de

(6)

Perceptron de Múltiplas Camadas

(MultiLayer Perceptron-MLP)

 Função de Ativação:

(7)

Perceptron de Múltiplas Camadas

(MultiLayer Perceptron-MLP)

 Função de Ativação:

 Não Linear e Diferenciável

(8)

Algoritmo de treinamento

BackPropagation

 O Perceptron de uma camada possui um

algoritmo de treinamento bem definido(delta)

 Entretanto, com apenas uma camada, só é

possível treinar para reconhecimento padrões que sejam linearmente separáveis

Isto é uma grave limitação (prova matemática)

 Concluiu-se que somente uma rede com mais

(9)

Algoritmo de treinamento

BackPropagation

 Solução: A generalização da regra Delta para

redes com múltiplas camadas!(MLP)

 Várias derivações do algoritmo básico:

 Bryson e Ho (69), Werbos (74), Parker e Le Cun (85)

 Idéia básica:

1. Propagam-se as entradas, obtendo as saídas

2. Encontram-se os erros (saídas obtidas-desejadas) 3. Retropropagam-se os erros (via regra delta

GENERALIZADA)

(10)

Algoritmo de treinamento

BackPropagation

 Primeira Fase: Propagação das Entradas

 Apresentar a entrada à primeira camada da rede  Calcular a saída de cada neurônio-

modelo matemático do Perceptron:

Subtrair das saídas obtidas com as saídas desejadas=erro!

 Segunda Fase: Retropropagação dos Erros

 Calcular a atualização dos pesos da camada de

saída, proporcionalmente ao erro obtido (regra D-gen)

 Atualizar os pesos da camada intermediária,

proporcionalmente à estimativa da contribuição de cada neurônio com o erro na saída! (regra D-gen)

 Após isto, basta atualizar os pesos, fazendo isto

até que o erro global seja pequeno o suficiente.

y= f

i=1

n

(11)

Algoritmo de treinamento

BackPropagation - Derivação

 A proposta de Widrow(Adaline) é utilizada, porém

de forma generalizada, para obter um conjunto de pesos que forneça um erro(e) mínimo, para um

conjunto de padrões de treinamento {xl, yl} l=1..L

 Para isto, foi calculado o erro quadrático global E

para um conjunto de pesos

 Podemos simplificar isto para um único neurônio:

(12)

Algoritmo de treinamento

BackPropagation - Derivação

 Agora precisamos achar o gradiente desta

função em relação ao vetor de pesos, para podermos aplicar a fórmula de atualização:

(13)

Algoritmo de treinamento

BackPropagation - Derivação

 Isolando apenas o segundo termo, e continuando a

derivação pela regra da cadeia, temos:

(14)

Algoritmo de treinamento

BackPropagation - Derivação

 Agora podemos montar a regra de atualização de

pesos:

, com

 Agora, basta definir a função de ativação:

, e derivar

, tendo a fórmula completa!

(15)

Algoritmo de treinamento

BackPropagation - Derivação

 Assim, temos a fórmula completa:

 Com e

Fazendo = 1/2, temos a fórmula final

(16)

Algoritmo de treinamento

BackPropagation - Derivação

 E para o caso em que a rede possui mais

neurônios????

 Se os neurônios formarem apenas uma

camada, a generalização é trivial!!!(óbvia!)

 Basta aplicar a regra para cada neurônio

individualmente!

 Mas e se houver mais de uma camada????

(este é o caso interessante, que pode ser

(17)

Algoritmo de treinamento

BackPropagation - Derivação

 Neste caso, precisamos modificar a regra de

aprendizado(regra Delta Generalizada!)

 Supondo um conjunto de padrões com:

 L padrões

 cada padrão com N entradas e M saídas

 e uma camada intermediária com H nodos

(18)
(19)

Algoritmo de treinamento

BackPropagation - Derivação

 Dado o cjto de padrões de treinamento {xl, yl} l=1..LDeve-se calcular o erro quadrático global E

 Especificando para cada neurônio da camada de saída:

Mas sabemos que a saída de um neurônio é dada por:

(20)

Algoritmo de treinamento

BackPropagation – Derivação

 Deste modo, podemos reescrever a equação do erro:

 De maneira similar, as saídas dos neurônios da primeira

camada (y1,j,l) podem ser calculadas:

 Assim, temos a equação completa do Erro da Rede:

(21)

Algoritmo de treinamento

BackPropagation – Derivação

 Com a equação do erro:

 Podemos achar os gradientes para minimizar esta função

de erro! Para a camada de saída, derivamos em relação ao vetor de pesos w2,kj:

Assim, obtemos o gradiente:

(22)

Algoritmo de treinamento

BackPropagation – Derivação

 Obtemos:

 Que é exatamente a mesma equação já obtida

anteriormente(a famosa regra delta!). Fazendo: e com

obtemos a fórmula final de atualização de pesos:

(23)

Algoritmo de treinamento

BackPropagation – Derivação

 Mas e para a camada intermediária? Fazemos a mesma

derivação, porém em relação aos pesos desta camada. Partindo da equação global do erro:

 Fazemos o cálculo do gradiente:  A segunda parte é simples:

(24)

Algoritmo de treinamento

BackPropagation – Derivação

Mas a primeira parte é mais delicada

Fazendo para cada padrão de treinamento L temos

(25)

Algoritmo de treinamento

BackPropagation – Derivação

 Continuando, temos que

e também temos que

 Então

Agora temos que:

(26)

Algoritmo de treinamento

BackPropagation – Derivação

 Agora podemos obter a fórmula completa do gradiente:

 Fazendo:

Ficamos com

Ou para cada padrão:

Referências

Documentos relacionados

Apesar de ainda possuírem baixa autonomia, em média entre 100 e 120km sem necessidade de recarga, os veículos elétricos podem ser grandes aliados dos grandes

Beatriz Martins Costa Conforme a maneira de encadear o mote e as voltas, assim se distinguiam diversas formas métricas: o vilancete, constituido por um mote de dois ou três versos

Após a emergência a fêmea do mosquito copula e inicia a procura por um hospedeiro para se alimentar e assim iniciar o ciclo reprodutivo colocando cerca de 30 a 100

O conto "Ivan, o Imbecil", do renomado e brilhante autor russo Léon Tolstoi, é interpretado pelo Mestre da União do Vegetal, Joaquim José de Andrade Neto, à luz

Quando você cria um novo domínio de classe de serviço e especificar as suas entidades no novo domínio, o framework RIA Services cria automaticamente um método de consulta para cada

Tecemos esta abordagem porque o Projeto Pedagógico do Curso de Direito que contempla este ementário não traz Saussure (2012) nem como bibliografia básica,

Assim, as classes foram nomeadas pelo pesquisador compondo a classe 1: Condutas a serem tomadas diante das três principais intercorrências; a classe 2: Intercorrências

Torque máximo de aperto aço carbono: 100kgf.cm Torque máximo de aperto aço inox: 100kgf.cm Largura da fita aço carbono e inox: 20mm Espessura da fita aço carbono e inox: 0,7mm *