AIDive
Назад к глоссарию

Что такое AdaGrad

ГлоссарийМашинное обучение

Адаптивный алгоритм оптимизации, который подстраивает шаг обучения отдельно для каждого параметра модели.

Определение

AdaGrad чаще уменьшает шаг для параметров, которые уже много обновлялись, и сохраняет влияние редких признаков. Это удобно для разреженных данных, например текстов, где многие слова встречаются редко. Алгоритм показывает, как история обучения может влиять на дальнейшие обновления модели.

Пример

В классификаторе текстов редкое, но важное слово может получить достаточный вес, а часто встречающиеся служебные слова не будут чрезмерно доминировать.

Почему важно

Понимание AdaGrad помогает разобраться, почему разные типы данных требуют разных оптимизаторов и почему скорость обучения нельзя всегда задавать одной константой.

Как работает

Алгоритм накапливает квадраты прошлых градиентов для каждого параметра и делит новое обновление на величину этой накопленной истории.

Где применяется

  • обработка текстов
  • обучение на разреженных данных
  • эксперименты с оптимизаторами

Ограничения

Главный недостаток — шаг обучения может со временем стать слишком маленьким, и модель почти перестанет учиться.