Download - AULA06-exercícios
![Page 1: AULA06-exercícios](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/1.jpg)
AULA06-exercícios
MLP
![Page 2: AULA06-exercícios](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/3.jpg)
))(())(()()()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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082717/56816833550346895ddde67b/html5/thumbnails/14.jpg)
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