View
222
Download
7
Category
Preview:
Citation preview
Universidade Federal do Rio Grande do NorteDepartamento de Engenharia de Computação e
Automação
Algoritmo de Treinamento: Regra Delta [Revisão]
DCA0121 – Inteligência Artificial Aplicada
Heitor Medeiros
1
Treinamento da Rede ADALINE
• O treinamento da rede ADALINE ajusta os pesos a partir do erro gerado.
2
+-
y
d
erro
Treinamento da ADALINE: Regra Delta
• Objetivo: Minimizar a função de erro quadrático para cadapadrão de treinamento.
3
𝑥𝑖(Entradas)
𝑑𝑖 (Saídas
desejadas)
𝑥1 𝑑1
𝑥2 𝑑2
... ...
Conjunto de treinamento
𝑥1 = [𝑥11 𝑥2
1] ...
N1
N2
𝑦1
𝑦2
𝑥11
𝑥21
𝑤11𝑥𝑖
𝑤22
𝑤21
𝑤12
𝑒11
𝑒21
𝑑1
𝑑2
𝐸1
Ajuste dospesos
Erro quadrático
Regra Delta
• O treinamento baseado na regra delta calcula, para cadapadrão de treinamento (𝑥𝑖/𝑑𝑖), o vetor gradiente do erroquadrático (𝛻𝐸𝑖) em relação aos pesos para computar oajuste do vetor de pesos.
• Os pesos são ajustados em relação ao sentido oposto dovetor gradiente.
𝑤𝑛𝑜𝑣𝑜 = 𝑤𝑎𝑛𝑡𝑖𝑔𝑜 + 𝜂 ∗ −𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡𝑒 𝐸
𝑤𝑛𝑜𝑣𝑜 = 𝑤𝑎𝑛𝑡𝑖𝑔𝑜 − 𝜂 ∗ 𝛻𝐸𝑖
sendo i a posição do padrão de treinamento.
4
Regra Delta: Dedução
𝑤𝑛𝑜𝑣𝑜 = 𝑤𝑎𝑛𝑡𝑖𝑔𝑜 + 𝜂 ∗ −𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡𝑒 𝐸
𝑤𝑛𝑜𝑣𝑜 = 𝑤𝑎𝑛𝑡𝑖𝑔𝑜 − 𝜂 ∗ 𝛻𝐸𝑖
𝛻𝐸𝑖 =𝜕𝐸𝑖𝜕𝑤11
,𝜕𝐸𝑖𝜕𝑤12
,𝜕𝐸𝑖𝜕𝑤21
,𝜕𝐸𝑖𝜕𝑤22
𝜕𝐸𝑖𝜕𝑤𝑗
= −𝑒𝑖 ∗ 𝑥𝑗𝑖
Ex.:𝜕𝐸𝑖
𝜕𝑤11= −𝑒𝑖 ∗ 𝑥1
𝑖
𝛻𝐸𝑖 = −𝑒𝑖 ∗ 1, 𝑥1𝑖 , 𝑥2
𝑖 = −𝑒𝑖 ∗ 𝑥𝑖
5
Regra Delta
• Para cada padrão de treinamento, existe um ciclode atualização dos pesos seguindo a fórmulaabaixo:
𝑤𝑖𝑎𝑡𝑢𝑎𝑙 = 𝑤𝑖
𝑎𝑛𝑡𝑖𝑔𝑜− 𝜂 ∗ 𝑒𝑖 ∗ 𝑥
𝑖
• O processo de treinamento é repetido até que:o erro seja menor que o erro máximo ou
o número máximo de épocas de execução sejaalcançado
6
Regra delta:Minimizar a função de erro
• Suponha uma rede da ADALINE como abaixo:
7
N1𝑦1
𝑥1
𝑤1𝑥𝑖
𝑒11
𝑑1𝐸1
Ajuste dospesos
Erro quadrático
Bias𝑤0
Regra delta:Minimizar a função de erro
• Gráfico exemplo de uma função de erro de uma redeADALINE com apenas uma entrada (𝑥1).
8
𝑤0𝑤1
Erro
Regra delta:Minimizar a função de erro
• Atualização dos pesos através do sentido inverso dogradiente.
9
Pesosiniciais
Algoritmo de treinamento da ADALINE baseado na Regra Delta
10
Algoritmo de treinamento - ADALINE
11
1. Obter o conjunto de amostras de treinamento {𝑥𝑘}2. Associar a saída desejada {𝑑𝑘} para cada amostra obtida.3. Iniciar o vetor de pesos {𝑤𝑘} com valores aleatórios pequenos.4. Especificar a taxa de aprendizagem {𝜼}, precisão requerida {ε} e o
número máximo de épocas.5. Iniciar o contador do número de épocas {𝑒𝑝𝑜𝑐𝑎 ← 0}6. Repetir as instruções:
1. 𝐸𝑞𝑚𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟 ← 𝐸𝑞𝑚(𝑤);
2. Para todas as amostras de treinamento {𝑥𝑘 , 𝑑𝑘}, faça:1. 𝒖 ← 𝒘𝑻 ∗ 𝒙𝒌
2. 𝒘𝒌+𝟏 ← 𝒘𝒌 + 𝜼 ∗ 𝒅𝒌 − 𝒚 ∗ 𝒙𝒌
3. 𝑒𝑝𝑜𝑐𝑎 ← 𝑒𝑝𝑜𝑐𝑎 + 1;
4. 𝐸𝑞𝑚𝑎𝑡𝑢𝑎𝑙 ← 𝐸𝑞𝑚(𝑤);
Até que: (( 𝑬𝒒𝒎𝒂𝒕𝒖𝒂𝒍 − 𝑬𝒒𝒎
𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓 ≤ 𝝐) ou (epoca >= epocaMaxima)).
7. Final do treinamento.
Exemplo: Treinamento Adaline
• Classificação da porta OU utilizando uma rede neuralAdaline.
Pesos iniciais:
• 𝑤0 = 0.10
• 𝑤1 = 0.10
• 𝑤2 = 0.10
12
E1
E20
1
1-1
-1
Referências
1. Lima, Isaías; Pinheiro, Carlos; OliveiraSantos, Flávia. Inteligência artificial. Riode Janeiro: Elsevier, 2014.
2. Da Silva, Ivan Nunes; Spatti, DaniloHernane; Flauzino, Rogério Andrade.Redes Neurais Artificiais paraengenharia e ciências aplicadas cursoprático. São Paulo: Artliber, 2010.
13
Referências
3. Thomé, Antônio Carlos Gay; Marques, AiramCarlos P. Barreto. Inteligência Computacional.Notas de Aula. Disponível em:http://equipe.nce.ufrj.br/thome/.
14
Recommended