AULA06-exercícios

14
AULA06-exercícios MLP

description

AULA06-exercícios. MLP. exercício1. Definir os pesos iniciais e aplicar o algoritmo do gradiente (backpropagation com atualização em lote) para a função XOR, com entradas binárias e funções de ativação sigmoidais. Algoritmo de primeira ordem: gradiente. - PowerPoint PPT Presentation

Transcript of AULA06-exercícios

Page 1: AULA06-exercícios

AULA06-exercícios

MLP

Page 2: AULA06-exercícios

exercício1

f1

f2

f

x1

x2

w1

w2

w3

w4

w5

w6

w7

w8

w9

y

y1

y2

Definir os pesos iniciais e aplicar o algoritmo do gradiente (backpropagation com atualização em lote) para a função XOR, com entradas binárias e funções de ativação sigmoidais.

Page 3: AULA06-exercícios

))(())(()()()1(ttttt

wwww

)()(wwd

T

nwwwgrad

)(...)()()())((21

wwwww

Algoritmo de primeira ordem: gradienteDado o gradiente da soma dos quadrados dos erros por:

a direção de maior decrescimento é dada por

e o ajuste do peso é dado por:

Page 4: AULA06-exercícios

Programa – gradiente1 • Os seguintes arquivos constituem o programa do gradiente binário:

– Inicializa – deve ser executado primeiro para inicializar os pesos e parametros

– Continua100 – executa 100 épocas – Continua1000– executa 1000 épocas

• Subprogramas– Passo1 – calcula o passo do cálculo da saida– Passo2 – calcula o passo da retro-propagação do erro– Erromed – calcula o erro medio quadrático– Atualizarpesos – atualiza os pesos– Epoca – calcula e ajusta os pesos para uma época– Plotag – plota o erro medio quadrático para todas as épocas– Plotatodos – plota as saídas dos neurônios para todas as épocas e

entradas– Saídas – mostra as saídas atuais para todas as entradas

Page 5: AULA06-exercícios

exercício2

Definir os pesos iniciais e aplicar o algoritmo do gradiente com momento para a função XOR, com entradas binárias e funções de ativação sigmoidais

f1

f2

f

x1

x2

w1

w2

w3

w4

w5

w6

w7

w8

w9

y

y1

y2

Page 6: AULA06-exercícios

Momentum• As fórmulas de atualização são

ou

onde o parâmetro de momentum é restrito ao intervalo (0,1).

• O momentum permite à rede realizar ajustes de peso razoavelmente grande enquanto as correções forem na mesma direção para vários padrões, e uma pequena taxa de aprendizado para quaisquer erros de padrão de treinamento.

• Exemplo: Usando os mesmos pesos iniciais e arquitetura para os exemplos de aplicação para o problema do Xor e valores desejados +1 e -1, adicionando momentum (parâmetro = 0.9) com a taxa de aprendizado como antes (0.02) reduz o número de épocas de 387 para 38.

)]1()([)()1( twtwytwtw jijiijjiji

)()1( twytw jiijji

Page 7: AULA06-exercícios

Programa – momento1 • Os seguintes arquivos constituem o programa do gradiente binário:

– Inicializa – deve ser executado primeiro para inicializar os pesos e parametros

– Continua100 – executa 100 épocas – Continua1000– executa 1000 épocas

• Subprogramas– Passo1 – calcula o passo do cálculo da saida– Passo2 – calcula o passo da retro-propagação do erro– Erromed – calcula o erro medio quadrático– Atualizarpesos – atualiza os pesos– Epoca – calcula e ajusta os pesos para uma época– Plotag – plota o erro medio quadrático para todas as épocas– Plotatodos – plota as saídas dos neurônios para todas as épocas e

entradas– Saídas – mostra as saídas atuais para todas as entradas

Page 8: AULA06-exercícios

exercício3

Definir os pesos iniciais e aplicar o algoritmo do gradiente com delta-bar-delta para a função XOR, com entradas binárias e funções de ativação sigmoidais.

f1

f2

f

x1

x2

w1

w2

w3

w4

w5

w6

w7

w8

w9

y

y1

y2

Page 9: AULA06-exercícios

Delta-bar-delta

• A regra delta-bar-delta muda os pesos conforme:

• Cada peso muda numa taxa de aprendizado individual.

jijijiji wttwtw

)1()()1(

ijjiji yttw )1()(

• Seja wji (t) um peso arbitrário no tempo t, e ji (t) a respectiva taxa de treinamento, e a soma dos quadrados dos erros para o padrão apresentado nesse tempo t.

Page 10: AULA06-exercícios

Delta-bar-delta (cont.)• Se, para regra delta convencional,

• a regra delta-bar-delta usa uma combinação da informação sobre a derivada atual e passada para formar um novo delta, ou delta-bar, para cada unidade:

onde o valor do parâmetro deve ser especificado pelo usuário (0< <1). Assim a nova taxa de aprendizado é dada por

ijji

ji yw

)1()()1()(__

ttt jijiji

contráriocasot

ttsetttset

t

ji

jijiji

jijiji

ji

)(0)()1()()1(0)()1()(

)1(

Page 11: AULA06-exercícios

Programa – deltabardelta1 • Os seguintes arquivos constituem o programa do gradiente binário:

– Inicializa – deve ser executado primeiro para inicializar os pesos e parametros

– Continua100 – executa 100 épocas – Continua1000– executa 1000 épocas

• Subprogramas– Passo1 – calcula o passo do cálculo da saida– Passo2 – calcula o passo da retro-propagação do erro– Erromed – calcula o erro medio quadrático– Atualizarpesos – atualiza os pesos– Epoca – calcula e ajusta os pesos para uma época– Plotag – plota o erro medio quadrático para todas as épocas– Plotatodos – plota as saídas dos neurônios para todas as épocas e

entradas– Saídas – mostra as saídas atuais para todas as entradas

Page 12: AULA06-exercícios

exercício4

Definir os pesos iniciais e aplicar o algoritmo do gradiente conjugado para a função XOR, com entradas binárias e funções de ativação sigmoidais.

f1

f2

f

x1

x2

w1

w2

w3

w4

w5

w6

w7

w8

w9

y

y1

y2

Page 13: AULA06-exercícios

Resumo do Algoritmo de Gradiente Conjugado

1. Iniciar os valores de w(0) 2. Para w(0) usar o back-propagation para computar o gradiente g(0).3. Fazer s(0)=r(0)=-g(0)4. No passo n, usar a busca em linha para encontrar (n) que minimiza .5. Testar se a norma euclidiana do residual r(n) caiu num valor abaixo do

especificado, ou seja numa pequena fração do valor inicial r(0).6. Atualizar o vetor peso:

7. Para w(n+1) usar back-propagation para computar o vetor gradiente g(n+1)8. Fazer r(n+1) = - g(n+1)9. Usar o método de Polak-Ribiére para calcular

10. Atualizar a direção conjugada

11. Fazer n = n + 1 e ir para o passo 4.

)()()()1( nnnn sww

0,)()(

))()1()(1(max)1(nn

nnnn T

T

rrrrr

)()1()1()1( nnnn srs

Page 14: AULA06-exercícios

Programa – gradienteconjugado1 • Os seguintes arquivos constituem o programa do gradiente binário:

– Inicializa – deve ser executado primeiro para inicializar os pesos e parametros

– Continua– executa até minimizar o MSE, 100 épocas

• Subprogramas– Passo1 – calcula o passo do cálculo da saida– Passo2 – calcula o passo da retro-propagação do erro– polak– calcula a direção conjugada s(n), a partir de n = 2– Calculalinha– faz a busca em linha para a obtenção de (n)– Linha – calcula o valor do erro médio quadratico na linha– Erromed – calcula o erro medio quadrático para a época– Atualizarpesos – atualiza os pesos– Epoca – calcula e ajusta os pesos para uma época– Plotagc – plota o erro medio quadrático para todas as épocas– Plotatodos – plota as saídas dos neurônios para todas as épocas e entradas– Saídas – mostra as saídas atuais para todas as entradas