Algoritmo Silva-Almeida

No âmbito da Redes Neuronais Artificiais (RNA), o algoritmo Silva-Almeida é um algoritmo metaheurístico que se utiliza para acelerar a convergência durante o processo de Backpropagation numa RNA[1]. É uma modificação do método do gradiente.

Formulação

editar

Este método, dentro de certas condições, tem convergência garantida. Consiste, essencialmente, em modificar step size parameter, η, a cada iteração e de cada peso dos ramos do perceptrão multicamada, dependendo da variação do gradiente da função de custo.

A equação para a atualização de η:

 

Onde o sobrescrito indica o número da iteração. Os parâmetros a serem definidos para o método são   .

Estes indicam se o tamanho do passo do algoritmo deve diminuir d (down) ou aumentar u (up).

Funcionamento

editar

Com uma simples análise a fórmula que calcula o step size parameter a cada iteração repara-se que, se o gradiente tiver a mesma direção duas iterações consecutivas, então, deseja-se que o algoritmo acelere e prossiga nessa direção mais rapidamente. Caso contrário, em duas iterações seguidas, o gradiente mudar de direção, vamos querer que o método abrande pois podemos estar perto de uma região que force a divergência do algoritmo.

Valores típicos,  

Referências

editar
  1. «Fast Learning Algorithms» (PDF). Consultado em 30 Dezembro de 2015