Что такое AdaGrad
Адаптивный алгоритм оптимизации, который подстраивает шаг обучения отдельно для каждого параметра модели.
Определение
AdaGrad чаще уменьшает шаг для параметров, которые уже много обновлялись, и сохраняет влияние редких признаков. Это удобно для разреженных данных, например текстов, где многие слова встречаются редко. Алгоритм показывает, как история обучения может влиять на дальнейшие обновления модели.
Пример
В классификаторе текстов редкое, но важное слово может получить достаточный вес, а часто встречающиеся служебные слова не будут чрезмерно доминировать.
Почему важно
Понимание AdaGrad помогает разобраться, почему разные типы данных требуют разных оптимизаторов и почему скорость обучения нельзя всегда задавать одной константой.
Как работает
Алгоритм накапливает квадраты прошлых градиентов для каждого параметра и делит новое обновление на величину этой накопленной истории.
Где применяется
- обработка текстов
- обучение на разреженных данных
- эксперименты с оптимизаторами
Ограничения
Главный недостаток — шаг обучения может со временем стать слишком маленьким, и модель почти перестанет учиться.
