Slovník výrazov AI/Optimalizácia a trénovanie

Optimalizácia a trénovanie

AdaGrad

Anglický výraz AdaGrad

základnéheslo č. 3575 otázok a odpovedí2 odborné zdroje

Presná definícia

Čo znamená AdaGrad?

AdaGrad prispôsobuje krok každého parametra delením gradientu odmocninou z kumulatívneho súčtu jeho minulých štvorcov. Parametre s častými veľkými gradientmi sa preto aktualizujú menším efektívnym krokom a zriedkavé príznaky si zachovajú väčší krok. Akumulátor iba rastie, takže efektívna miera učenia môže časom klesnúť príliš blízko k nule.

Skúsenosť a kontext

Ako sa pojem používa v praxi

AdaGrad je užitočný pri riedkych príznakoch a embeddingoch, kde sa jednotlivé parametre aktualizujú nerovnomerne. Tím nastaví počiatočný learning rate, epsilon a prípadný počiatočný akumulátor a sleduje distribúciu efektívnych krokov. Pri dlhom tréningu môže učenie predčasne zamrznúť; vtedy sa porovná RMSProp, AdaDelta alebo Adam, ktoré históriu zabúdajú. Checkpoint musí obsahovať súčet štvorcov pre každý parameter.

Overiteľnosť

Odborné zdroje

  1. Duchi et al. · Adaptive subgradient methodsjmlr.org
  2. PyTorch · Adagraddocs.pytorch.org

Praktické odpovede

Často kladené otázky

Čo sčíta?

Druhé mocniny minulých gradientov pre každý parameter osobitne.

Prečo pomáha zriedkavým príznakom?

Ich akumulátor rastie pomalšie, takže si udržia väčší krok.

Na čo slúži?

Stabilizuje delenie pri malom alebo nulovom akumulátore.

Prečo sa učenie zastaví?

Menovateľ monotónne rastie a efektívny krok iba klesá.

Čo obnoviť z checkpointu?

Parametre aj všetky akumulované súčty štvorcov.