2.6 R ETROPROPAGAÇÃO
2.6.1 Variantes do algoritmo retropropagação Algoritmo BPMO
Visando reduzir as desvantagens mencionadas anteriormente, são várias as variantes do algoritmo retropropagação existentes.
2.6.1 Variantes do algoritmo retropropagação Algoritmo BPMO
Tanto aplicável pelo método de aprendizagem incremental como pelo método de aprendizagem batch, o algoritmo BPMO (BP Momentum) pressupõe um coeficiente adicional γ designado momentum. Além disso, as alterações aos pesos, {k+1}, dependem de várias iterações ou épocas anteriores, consoante o algoritmo de aprendizagem utilizado.
Na sua forma simplificada, as actualizações dos pesos {k+1} dependem das de {k} e {k-1}, conforme se constata pela expressão:
{
1} { }
E{ } {
1}
W k W k k W k
α ∂W γ
+ = − + ∆ −
∂
Pelo que se conclui que o termo momentum tem um efeito de atenuação:
5 Wasserman PD. Neural computing: theory and practice. New York: Van Nostrand-Reinhold, 1989.
{ } { }
(
{ } { }(
{ } { }) )
{ }
0
1 1 1 2 2
K t
E E E
W k k W k k W k k
W W W
t E k t W
α γ α γ α
α γ
=
=
∂ ∂ ∂
∆ + = − + − − − + − − − + ⋅ ⋅ ⋅
∂ ∂ ∂
− ∑ ∂ −
∂
O parâmetro γ é tal que 0≤γ ≤1.
A formalização do algoritmo BPMO de segunda ordem pode ser dada por:
{
1} { }
E{ } {
1} {
2}
W k W k k W k W k
α ∂W γ β
+ = − + ∆ − + ∆ −
∂
em que
3
−1
=γ
β .
De notar que as alterações introduzidas visam diminuir as oscilações. Se o coeficiente γ for elevado, ou seja, γ ≈1, o algoritmo retém informação acerca das iterações anteriores tornando-se estável, no entanto, apresenta-se lento na reacção às alterações introduzidas.
Perante o caso contrário, isto é, γ ≈0, o algoritmo retém pouca informação das iterações anteriores e, como tal, responde mais rapidamente às alterações, no entanto, é menos estável.
As vantagens deste algoritmo, comparativamente ao algoritmo BP, evidenciam-se quando a função erro tem concavidades estreitas entre inclinações acentuadas. Contudo, este algoritmo pressupõe a atribuição de valores aos parâmetros de aprendizagem e de momentum, sendo que esta atribuição condiciona a convergência do próprio algoritmo.
Conforme refere (Rojas, 1996), uma convergência óptima passa pela atribuição de valores assente num processo iterativo “tentativa/ erro” ou procura aleatória. Além disso, note-se que a aplicação de um termo momentum de segunda ordem não aumenta a rapidez de convergência, conforme referido por (Pearlmutter, 1992)6. O mesmo autor indica que o algoritmo BPMO é estável se α < 1 e 0 < γ < 2 (α+1)λmax, em que λmax é o maior valor próprio da matriz hessiana.
Algoritmo BP com Coeficientes de Aprendizagem Variáveis
Uma vez que a função erro pode assumir superfícies muito complexas (declives acentuados ou zonas quase planas), este algoritmo assenta na heurística de que o coeficiente de aprendizagem aumenta nas superfícies com pouco declive e decresce quando a inclinação das mesmas aumenta. Se após a actualização dos pesos a função erro aumentou então, provavelmente, o algoritmo ultrapassou o mínimo, pelo que o coeficiente de aprendizagem deve ser reduzido e as últimas alterações dos pesos devem ser ignoradas. Caso contrário, isto é, a função erro tenha decrescido, as alterações aos pesos são aceites e o coeficiente de aprendizagem aumenta.
{ } { }
{ }
se 0
1 se 0
k E
k k E
α ρ
α α η
× ∆ <
+ =
× ∆ >
O desempenho da fase de aprendizagem aumenta caso:
- o algoritmo seja inicializado com um α0 pequeno;
- haja independência entre os valores dos coeficientes de aprendizagem de cada conexão.
Algoritmo BP Bold Driver
O algoritmo BP Bold Driver é constituído pelos seguintes passos:
1 – Se E{k+1}> E{k}* (1+ζ) então os pesos não são actualizados e α = α*ρ; caso γ = 0;
2 – Se E{k+1}< E{k} aceitam-se os últimos pesos propostos e α = α*η; caso γ = 0;
3 – Se E{k+1}< E{k}* (1+ζ) então aceita-se a actualização dos pesos e mantêm-se os valores dos coeficientes de aprendizagem e momentum.
Onde ζ designa a percentagem de comparação do incremento da função erro (tipicamente, esta variável assume valores entre 1% e 5%) e ρ e η são factores multiplicativos do coeficiente de aprendizagem, em que ρ ∈ ]0,1[ e η > 1, respectivamente.
Este algoritmo resulta da aplicação do método de aprendizagem batch e permite o ajustamento do coeficiente de aprendizagem e a utilização simultânea do coeficiente momentum.
Algoritmo BP Ângulo do gradiente-conexões
Assente na ideia de que o ângulo em épocas sucessivas fornece informação acerca da superfície da função erro, este algoritmo considera o ajuste dos pesos na iteração anterior
∆W{k-1} e o gradiente ∂E/∂W. Caso os dois vectores tenham direcções similares então o coeficiente de aprendizagem pode ser aumentado. No caso oposto, isto é, caso haja uma diferença significativa na direcção dos dois vectores então o coeficiente de aprendizagem deve ser reduzido. O ângulo em causa pode ser calculado através de:
{ } { } { }
{ } { }
1 cos
1
E k W k
k W
E k W k
W θ
∂ ∆ −
= ∂
∂ ∆ −
∂
São vários os ajustes passíveis de se aplicarem ao coeficiente de aprendizagem. Entre eles:
{ }
k{
k 1 1 1/ 2 cos} ( { }
k)
α =α − + θ
Algoritmo BP Search-then-converge
Este algoritmo é constituído por duas etapas: fase de procura da solução e posterior convergência para o mínimo. O coeficiente de aprendizagem é ajustado em cada iteração, pelo que o algoritmo se diz com coeficiente de aprendizagem variável, segundo a expressão:
{ }
0 2 2 01 1
c k
k c k k
α α τ
α τ ττ +
=
+ +
A fase de aprendizagem segue o método incremental e pressupõe a definição inicial de parâmetros c e τ, condicionantes da performance do algoritmo. O parâmetro c pode auxiliar numa aprendizagem rápida na primeira fase e num decréscimo do coeficiente de aprendizagem na segunda fase, enquanto que o parâmetro τ tem impacto no ajuste do coeficiente de aprendizagem em função das iterações totais da fase de aprendizagem. Há resultados que indicam que para se obter uma convergência assimptótica óptima, o valor de c deve ser tal que c>c*, onde c*=1/2λmin é o valor próprio mais pequeno da matriz hessiana (Darken et al., 1992a) (Darken et al., 1992b).
Algoritmo BP Delta-bar-delta
Este algoritmo baseia-se em quatro heurísticas (Reed et al.,1999):
- todos os parâmetros da ANN deverão ter o seu próprio coeficiente de aprendizagem;
- todos os coeficientes de aprendizagem poderão ser alterados individualmente ao longo de iterações sucessivas;
- há um aumento do coeficiente de aprendizagem quando a derivada parcial da função erro tem o mesmo sinal em várias iterações sucessivas;
- há um decréscimo do coeficiente de aprendizagem quando a derivada parcial da função erro tem sinal contrário em iterações sucessivas.
O ajustamento dos pesos segue a formalização do algoritmo BP, no entanto são incluídos coeficientes de aprendizagem para cada parâmetro da ANN:
{
1} { } { } { }
ij ij ij
ij
W k W k k E k
α ∂W
+ = −
∂
Seja:
{ } { }
{ } ( ) { } { }
, e
1 1
ij
ij
ij ij ij
k E k
W
k k k
δ
δ θ δ θδ
= ∂
∂
= − + −
O coeficiente de aprendizagem de uma conexão é ajustado segundo as condições:
{ } { } ( { } { } )
{ } { } { } ( { } { } )
{ } { } { } { }
1 se 1 0
1 se 1 0
1 se 1
ij ij ij ij
ij ij ij ij ij
ij ij ij ij
k k K k k
k k k k k
k k k k
α α δ δ
α α ρα δ δ
α α δ δ
+ = + − >
+ = − − <
+ = = −
Empiricamente, sabe-se que o valor de θ não assume um papel de destaque na performance do algoritmo.
Algoritmo BP SuperSAB
Este algoritmo propõe que o coeficiente de aprendizagem seja aumentado exponencialmente. O seu ajuste depende das seguintes equações:
{ } { } { } { }
{ } { } { } { }
{ } { } { } { }
1 se 1 0
1 se 1 0
1 se 1 0
ij ij
ij ij
ij ij
ij ij
ij ij
ij ij
E E
k k k k
W W
E E
k k k k
W W
E E
k k k k
W W
α η α
α η α
α α
+
−
∂ ∂
+ = ∂ − ∂ >
∂ ∂
+ = ∂ − ∂ <
∂ ∂
+ = ∂ − ∂ =
em que os factores multiplicativos η- e η+ situam-se no intervalo 0 < η- < 1 < η+. Caso o sinal das derivadas em épocas sucessivas seja distinto, não se procede à actualização dos pesos, sendo que este ajuste verifica:
{
1} { } { } { } {
1}
ij ij ij ij
ij
W k W k k E k W k
α ∂W γ
+ = − + ∆ −
∂
Trata-se de um algoritmo que converge rapidamente, no entanto, requer a inicialização correcta (no sentido de uma convergência óptima) de vários parâmetros.
Algoritmo ABP
A designação deste algoritmo advém do termo ‘retropropagação adaptativa’7. Assenta no método de aprendizagem batch e o ajuste dos pesos é dado pela equação:
{ } { } { } { } { }
2
1 E E
W k W k E k k k
W W
α ∂ ∂
+ = −
∂ ∂
Os ajustes dos pesos dependem tanto do erro como do gradiente com o objectivo de evitar a convergência para um mínimo local. Empiricamente verificou-se ser mais rápido e mais robusto que o algoritmo BP, tanto no modo incremental como no batch, e do que o algoritmo BP QuickProp (a definir mais adiante).
Algoritmo BPSA
Este algoritmo é semelhante ao algoritmo Delta-bar-delta, sendo que a diferença assenta no incremento multiplicativo do coeficiente de aprendizagem e no termo adicional momentum. O ajuste dos pesos é dado por:
{ } { } { } { }
{ } { } { }
1
1
ij ij ij ij
ij ij
ij
W k W k k Z k
Z k E k Z k
W
α γ
+ = −
= ∂ + −
∂
em que γ é o coeficiente momentum restrito ao intervalo [0,1].
O coeficiente de aprendizagem é actualizado de acordo com:
7 Do inglês “Adaptative Backpropagation”.
{ } { } { } { }
{ } { } { } { }
{ } { } { } { }
1 se 1 0
1 se 1 0
1 se 1 0
ij ij
ij ij
ij ij
ij ij
ij ij
ij ij
E E
k k k k
W W
E E
k k k k
W W
E E
k k k k
W W
α α µ
α α ν
α α
∂ ∂
+ = ∂ − ∂ >
∂ ∂
+ = ∂ − ∂ <
∂ ∂
+ = ∂ − ∂ =
Os valores de µ e ν estão limitados aos intervalos ]0,∞[ e ]0,1[, respectivamente. Este algoritmo tem uma performance superior nas zonas da superfície da função erro mais planas.
Algoritmo BPRPROP
Este algoritmo, que segue o método de aprendizagem batch, ajusta os pesos apenas com base na variação do sinal do gradiente, de acordo com:
{ } { } { }
{ } { } { }
{ } { }
1 se 0
1 se 0
1 se 0
ij ij ij
ij
ij ij ij
ij
ij ij
ij
W k W k k E
W
W k W k k E
W
W k W k E
W δ
δ
+ = − ∂ >
∂
+ = + ∂ <
∂
+ = ∂ =
∂
No entanto, os ajustes apenas são realizados caso não haja alteração ao sinal das derivadas parciais em épocas sucessivas, ou seja:
{
1} { }
0ij ij
E E
k k
W W
∂ ∂
− ≥
∂ ∂
Em caso contrário, ignora-se a última actualização dos pesos uma vez que se pressupõe que o algoritmo tenha ultrapassado uma zona de mínimo.
{ } {
1 se} {
1} { }
0ij ij
ij ij
E E
W k W K k k
W W
∂ ∂
∆ = −∆ − − <
∂ ∂
Os valores de δij são calculados da seguinte forma:
{ } { } { } { }
{ } { } { } { }
{ } { } { } { }
1 se 1 0
1 se 1 0
1 se 1 0
ij ij
ij ij
ij ij
ij ij
ij ij
ij ij
E E
k k k k
W W
E E
k k k k
W W
E E
k k k k
W W
δ η δ
δ η δ
δ δ
+
−
∂ ∂
= − ∂ − ∂ >
∂ ∂
= − ∂ − ∂ <
∂ ∂
= − ∂ − ∂ =
em que os coeficientes multiplicativos η- e η+ situam-se no intervalo 0 < η- < 1 < η+. O valor de δ0, valor inicial de δ, não é crítico para o desempenho do algoritmo.
Este algoritmo é uma das variantes do algoritmo BP baseado em heurísticas com melhores desempenhos, tanto a nível de performance como de robustez de convergência.
Além de não exigir a definição dos valores para os parâmetros, destaca-se em ANN com mais de duas camadas. Uma vez que o algoritmo BPRPROP ajusta os pesos em função da variação do sinal, todas estas têm igual probabilidade de aprendizagem.
Algoritmo BPVS
Este algoritmo apresenta uma modificação do método do gradiente e utiliza uma aproximação local da constante de Lipschitz K para obter uma estimativa do coeficiente de aprendizagem 0.5K-1 em cada época. Assenta no método de aprendizagem batch e o ajuste dos pesos é dado por:
{
1} { } { }
E{ }
W k W k k k
α ∂W
+ = −
∂
O coeficiente de aprendizagem é calculado através de:
{ } { } { }
{ } { }
{ } { }
0.5 1
1 1
k K k
E E
k k
W W
K k W k W k
α = −
∂ ∂
− −
∂ ∂
= − −
Destaca-se a robustez deste algoritmo e a sua convergência para mínimos globais, quando comparado com os algoritmos BP, BPMO e BP Bold Driver.
Algoritmo BP com Parâmetros Óptimos
Este algoritmo destaca-se pelo facto de não exigir o cálculo explícito de derivadas de segunda ordem, bem como o arquivo de matrizes de O(W2), no entanto, as equações que determinam os valores óptimos para os coeficientes são extensas e requerem uma simbologia que ultrapassa o âmbito do presente estudo. Apesar disso, as condições de optimização são traduzidas nas equações:
( ) ( )
( ) ( )
2 2 2
2
, ,
,
, ,
,
E E
E E
α γ α γ
α α
α γ α γ
λ γ
∂ ∂
∂ ∂
∂ ∂
∂ ∂
Há resultados empíricos que demonstram uma convergência tão ou mais rápida do que o algoritmo BP gradientes conjugados e uma boa robustez.
Algoritmo BP Newton
O algoritmo BP Newton é impraticável em problemas reais devido ao número de operações envolventes e à memorização da matriz hessiana. O ajuste dos pesos é dado por:
{
1} { }
1{ } { }
W k+ =W k −A− k g k
em que A-1{k} é a inversa da matriz hessiana (da função erro em relação aos parâmetros da ANN) para a época k e g{k} é o gradiente.
Além disso, o método de Newton exige uma boa estimativa inicial da solução, sendo especialmente frágil no caso de ANN com várias camadas e funções activação sigmóides.
Algoritmo BP QuickProp
O algoritmo BP QuickProp deriva do método de Newton mas assenta sobretudo em deduções heurísticas. O seu desenvolvimento pressupõe duas condições: a superfície da função erro pode ser aproximada por uma parábola e a alteração da curvatura da função erro para cada conexão não é afectada pelas alterações da curvatura da função erro por outras conexões. O ajuste dos pesos é dado por:
{ } { }
{ }
{ } { } { }
1 . 1
1
ij
ij ij ij
ij ij
E k
W k W k W W k
E E
k k
W W
∂
+ = + ∂ ∆ −
∂ ∂
− −
∂ ∂
Este algoritmo é um dos mais rápidos dentro do conjunto de algoritmos BP com coeficiente de aprendizagem variável. A sua desvantagem assenta na necessidade de ajustar dois coeficientes: ε e ν.
Com o objectivo de contornar esta desvantagem, surgiu uma versão do presente algoritmo em que o ajuste dos pesos é equacionado através de:
{ } { } { }
{ }
{ } { } { }
1 . 1
1
ij
ij ij ij
ij ij
E k
W k W k k W W k
E E
k k
W W
η
∂
+ = + ∂ ∆ −
∂ ∂
− −
∂ ∂
O parâmetro η{k} é ajustado de acordo com as condições de Wolfe, dadas por:
( ) { } ( ) { } { } { } { }
{ } { }
( ) { } ( ) { } { } { }
1
2
1 .
1 .
ij ij
ij
ij ij
ij
E W k E W k k E k k
W
E W k k k E W k E k k
W
σ η ϕ
η ϕ σ ϕ
+ − ≤ ∂
∂
+ + − ≥ ∂
∂
em que 0<σ1< σ2<1 e φ{k} é uma direcção de procura descendente.
Algoritmo BP QRprop
Este algoritmo resultou da combinação dos algoritmos BP QuickProp e BPRPROP, o que deu origem um algoritmo híbrido. A aproximação à região do mínimo do erro segue a estratégia utilizada no algoritmo BPRPROP. Após detectar que está na região do mínimo da função erro, este algoritmo passa a aplicar a estratégia do algoritmo BP QuickProp. Uma descrição mais pormenorizada poderá ser encontrada em (Rojas, 1996).
Algoritmos BPGC
Estes algoritmos utilizam a técnica de optimização numérica dos gradientes conjugados e o ajuste dos pesos é realizado sucessivamente em direcções conjugadas (duas direcções dizem-se conjugadas se cA{k}ν=0).
Mais pormenorizadamente, o primeiro passo deste algoritmo consiste na definição do simétrico do gradiente como primeira direcção de procura:
{ }
0{ }
0d = −g
{ }
E{ }
g k k
W
≡ ∂
∂
De seguida procede-se ao ajuste dos pesos, em que o valor de α{k} minimiza E(W) na direcção de d{k}:
{
1} { } { } { }
W k+ =W k +α k d k
Os valores sucessivos de d{k} são obtidos iterativamente pela equação:
{ } { } { } {
1}
d k = −g k +β k d k−
Das principais vantagens deste algoritmo, cita-se o facto de se evitar o cálculo da matriz hessiana e a obtenção simultânea do valor do coeficiente de aprendizagem α{k}, através da minimização da função erro E(W) na direcção d{k}.
Algoritmo BPGCS
O algoritmo BPGCS (BP Gradientes Conjugados Escalado) evita o processo iterativo inerente à determinação do mínimo de E(W) através do procedimento de procura por recta (descrito no ponto anterior), substituindo-o por uma aproximação Levenberg-Marquardt no ajuste do coeficiente de aprendizagem.
Uma descrição mais pormenorizada deste algoritmo poderá ser encontrada em (Möller, 1990)8.
Algoritmo BP Quasi-Newton
Este algoritmo utiliza o método de Newton mas não requer o cálculo das derivadas de segunda ordem. É construída uma matriz aproximada à inversa da matriz A{k} através de informação do gradiente de primeira ordem.
Dentro do universo de algoritmos BP Quasi-Newton, o mais mencionado e que revela melhor performance é da autoria de Broyden, Fletcher, Goldfarb e Shanno (designado por BFGS) (Reed et al., 1999). O ajuste dos pesos satisfaz as equações:
{
1} { } { } { } { }
W k+ =W k +α k G k g k
8 Möller, M. (1990), A Scaled Conjugate Gradient Algorithm for Fast Supervised Learning, Aarhus:
Computer Science Department, University of Aarhus, Denmark.
em que
{ } { } ( { } ) { }
{ } ( { } )
{ } { }
{ } { }
{ } { }
1 1 1
t t
t
t t
t t
t t
G k v v G k
G k G k dd v G k v uu
d v v G k v
d W k W k
v g k g k
G k v u d
d v v G k v
+ = + − +
= + −
= + −
= −
A aproximação inicial G{0} é a matriz identidade, pelo que a primeira época corresponde ao algoritmo BP e α{k} é obtido por uma minimização ao longo da recta.
Estes algoritmos, tal como os dois anteriores, requerem a minimização da função erro na direcção de procura. No entanto, como a precisão de localização do mínimo não necessita de ser tão eficaz, a exigência computacional é menor.
A sua principal desvantagem é a memorização dos valores da matriz G em cada iteração, sendo esta de dimensão O(W2).
Algoritmo BFGS memória reduzida
Trata-se de uma combinação entre os métodos dos gradientes conjugados e Quasi-Newton. O ajuste dos pesos é realizado à semelhança do algoritmo Quasi-Newton, contudo não requer a memorização da aproximação da inversa da matriz hessiana da iteração anterior, assumindo que se trata da matriz identidade.
Com os algoritmos BP Quasi-Newton e BPGC garante-se que a função erro não cresce quando se ajustam os pesos, o que implica que caso o algoritmo alcance um mínimo local, este será o valor da convergência, dada a incapacidade do algoritmo aumentar temporariamente a função erro para ultrapassar essa concavidade. Ou seja, a inicialização dos pesos defne para que mínimo se converge.
Algoritmo BPLM
Trata-se de uma variante do método de Newton que, como se baseia no método Gauss-Newton, evita o cálculo da matriz hessiana. Para contornar este passo, aproxima a matriz hessiana através da matriz jacobiana.
Note-se que este algoritmo é apenas aplicável caso se utilize a função erro soma do erro quadrado.
Os pesos são ajustados de acordo com:
{
1} { } (
t{ } { } { } )
1 t{ } { }
W k+ =W k − J k J k +µ k I − J k e k
em que J é matriz jacobiana, µ é multiplicado por um factor β quando uma época resulta num aumento do erro e é dividido pelo mesmo factor caso se verifique um decréscimo do erro após uma época.
Algoritmos BP com aprendizagem incremental
Apesar do número de algoritmos com aprendizagem batch ser superior ao número de algoritmos com aprendizagem incremental, estes revelam-se superiores em problemas de grande dimensão.
Tal como o algoritmo com aprendizagem batch, o algoritmo com aprendizagem incremental converge sempre para uma solução óptima caso os vectores sejam linearmente independentes, contudo essa convergência não requer um limite para o valor do coeficiente de aprendizagem.
Estes algoritmos ajustam os pesos através de:
{
1} { } { } ( { }
,( { } { }
,) )
W k+ =W k +α k E W k p i t i
em que E é o valor das conexões, α{k} é o coeficiente de aprendizagem para a iteração k e E é a função ajuste dos pesos. A função E é, na maioria dos casos, uma função relacionada com o gradiente:
{ } ( { } { } )
(
, ,)
EE W k p i t i
W
= ∂
∂
Para que o algoritmo convirja para um mínimo, o coeficiente de aprendizagem tem que variar em cada iteração:
{ } { }
0k k
α =α
Caso esta aprendizagem inclua o termo momentum, a equação de ajuste dos pesos é dada por:
{
1} { } { }
E{
1}
W k W k k W k
α ∂W λ
+ = + + ∆ −
∂
Assimptoticamente, o coeficiente de aprendizagem é dado por:
{ }
0eff 1 α α
= γ
−
O valor óptimo do coeficiente momentum é calculado por γopt = max (0, 1-α{0}λmin).
Contudo, este valor é desconhecido dada a inviabilidade de cálculo da matriz hessiana.
Como alternativa ao ajuste dos pesos, (Orr et al., 1997)9 propõem o algoritmo momentum variável, cuja estimativa da matriz hessiana em cada iteração é dada por:
{
1} { } { }
E{ } ( { } { }
0 ˆ) {
1}
W k W k k k I A k W k
α ∂W α
+ = + + − ∆ −
∂
em que Â{k} é uma estimativa da matriz hessiana em cada iteração e α{0}<1/λmax. Note-se que este algoritmo não requer a memorização da matriz Â{k} nem da sua inversa.
9 Orr, G. B. e T. K. Leen (1997), Using Curvature Information for Fast Stochastic Search, In Press, MIT,
Saliente-se que o ajuste do coeficiente de aprendizagem é fulcral, uma vez que o gradiente calculado é sempre uma estimativa do gradiente exacto. Com o objectivo de evitar ajustes incorrectos, (Almeida et al., 1997) propõem que o ajuste do coeficiente de aprendizagem se faça em função das duas iterações precedentes. Seja d{k}=∂E/∂W+ε{k}, em que ε{k} é uma variável aleatória com média zero e variância
2
σk. O ajuste dos pesos é dado por:
{
1} { } { } { }
W k+ =W k +α k d k
Caso o coeficiente de aprendizagem seja ajustado ligeiramente em função da iteração k, poder-se-á utilizar:
{
k 1} { }
k d k d k{ } {
1}
α + =α +β +
O coeficiente pode ser ajustado exponencialmente segundo:
{
k 1} { }
k eβd k d k{ } { 1}α + =α + +
Contudo os autores recomendam o ajuste do coeficiente de aprendizagem geométrico normalizado:
{ } { }
{ } { } { }
1
1
d k d k
k k e v k
β
α α
+
+ = +
{ } {
1}
(1 )( {
1} )
2v k =γv k− + −γ d k+
Certos algoritmos com método de aprendizagem incremental requerem o cálculo da matriz hessiana, ao contrário da aprendizagem batch, onde é sempre exigida a memorização de uma matriz de dimensão O(W2), em que W designa o número de conexões da ANN.
Além destas variantes do algoritmo BP, existem outras que procuram superar as limitações do dito algoritmo.
A título de exemplo, relembre-se que perante um mínimo local o algoritmo BP produz ajustes dos pesos, ∆W, pouco significativos e o erro permanece superior ao pretendido.
Quando o algoritmo BP encontra uma superfície do erro quase plana, em que o erro é superior ao pretendido, ocorre uma saturação prematura que pode conduzir a uma identificação errada de um mínimo local (mínimo local falso). Para contornar esta dificuldade e melhorar o tempo de convergência, (Fukuoka et al., 1998)10 propuseram a multiplicação das conexões W por um factor multiplicativo β, em que β toma valores no intervalo ]0,1]. O valor de β depende do erro e tende para um quando o erro tende para zero.
Há ainda autores, de que é exemplo (Rubanov, 2000)11, que sugerem que o ajuste dos pesos seja realizado camada a camada, pelo que são necessárias funções erro para cada camada da ANN.
Outro método que visa melhorar a performance de convergência do algoritmo BP consiste na extrapolação dos pesos para iterações futuras.
Contudo, todos os métodos descritos até então requerem o cálculo de derivadas de primeira e, em alguns casos, de segunda ordem da função erro. Como resposta a esta potencial limitação surgem os métodos de relaxação, que consistem nas técnicas que induzem perturbações nos valores das conexões ou nas saídas produzidas pelos neurónios. Após a indução de perturbações confronta-se o novo erro obtido pela ANN com o anterior, sendo que os ajustes dos valores das conexões dependem da diferença entre aqueles erros.
10 Fukuoka, Y., H. Matsuki, H. Minamitani e A.Ishida (1998), A Modified Backpropagation Method to Avoid False Local Mínima, Neural Networks, Nº 11, pp. 1059-1072.
11 Rubanov, N. (2000), The Layer-Wise Nethod and the Backpropagation Hybrid Approach to Learning a
Perturbações dos valores das conexões
A perturbação dos valores das conexões é uma aproximação ao método do gradiente em cada iteração k. Ao peso Wij na iteração k é adicionado uma pequena perturbação βij, sendo calculada uma nova função erro E(W’). Os pesos na iteração k+1 são dados por:
{ } { } ( )
'( )
ij 1 ij
ij
E W E W
w k w k α
β
+ = − −
Trata-se de um processo que é repetido iterativamente e que é especialmente adequado na implementação de algoritmos em lógica binária, conforme refere (Rojas, 1996).
Perturbação dos valores de saída dos neurónios
Esta técnica obtém uma convergência mais rápida. Sejam ain e ∆ain as saída e perturbação de um neurónio, respectivamente. Então, perante uma diferença positiva entre E e E’ conclui-se que o erro diminuiu e que a função erro está mais próxima do mínimo. Logo, pretende-se obter os valores W’ que produzem ain+ ∆ain:
( )
1
1
1 1 1
1 1
1
para 1..
n
n n
i i
n n n
j j S
n n
ij j j
f a a
w w j S
w a
−
−
− − −
− −
=
= + ∆ =
∑
Os detalhes poderão ser encontrados em (Rojas, 1996).