Eu tenho construído alguns modelos para um projeto, mas não consigo entender a matemática dos algoritmos Adagrad e Adadelta.
Entendo como funciona a descida do gradiente de baunilha e escrevi um código para fazê-lo funcionar com êxito.
Ficarei grato se alguém me explicar essas duas coisas ou fornecer algum recurso para entendê-las.
machine-learning
gradient-descent
Malaio Hazarika
fonte
fonte
Respostas:
No que diz respeito aos recursos:
Aqui estão algumas citações centrais de ADADELTA: Um método de taxa de aprendizado adaptável , juntamente com alguns exemplos e explicações breves:
ADAGRAD
Ou seja, se os gradientes nas três primeiras etapas sãog1=⎛⎝uma1b1c1⎞⎠,g2=⎛⎝uma2b2c2⎞⎠,g3=⎛⎝uma3b3c3⎞⎠ , então:
Problemas do ADAGRAD que o ADADELTA tenta combater
A segunda desvantagem é bastante auto-explicativa.
Aqui está um exemplo de quando a primeira desvantagem é um problema:g2 é muito maior que o valor absoluto do respectivo componente do gradiente em qualquer outra etapa. t > 2 , sustenta que todos os componentes de ∑tτ= 1g2τ-------√ é maior que o valor absoluto do respectivo componente de g2 . Mas o valor absoluto de cada componente deg2 é muito maior que o valor absoluto do respectivo componente de gt , e entao Δxt é muito pequeno. Δxt torna-se cada vez menor.
considere um caso em que o valor absoluto de cada componente de
Para qualquer
Além disso, à medida que o algoritmo progride, ele se aproxima do mínimo, diminuindo o gradiente e
Assim, pode ser que o algoritmo praticamente pare antes de atingir o mínimo.
ADADELTA
Em vez de considerar todos os gradientes calculados, o ADADELTA considera apenas o últimoW gradientes.
(RMS significa Root Mean Square .)
Similarmente:
Ou seja, se o gradiente na etapar é gr=⎛⎝umarbrcr⎞⎠ e Δxr=⎛⎝Eurjrkr⎞⎠ , então:
Portanto, multiplicando por um alto poder de
Deixei
Agora, podemos aproximar
fonte
No quora, você encontrará um guia mais completo, mas as principais idéias são que o AdaGrad tenta marcar esses problemas na seleção da taxa de aprendizado por gradiente no aprendizado de máquina:
1 Seleção manual da taxa de aprendizado η.
2 O vetor gradiente gt é escalado uniformemente por uma taxa de aprendizado escalar η.
3 A taxa de aprendizado η permanece constante durante todo o processo de aprendizado.
Possui em si os seguintes problemas:
1 Taxa de aprendizado em decadência contínua η.
2 Seleção manual da taxa de aprendizado η.
A solução Concern 2 refere-se à incompatibilidade em unidades de gradiente e, portanto,
O último cálculo precisa ser entendido sobre a teoria do momento e logo foi explicado no artigo.
Minha idéia era fornecer as principais causas por trás do que se pretendia, talvez isso facilite a leitura.
fonte