Adaptive Gradient Algorithm (Adagrad) — это набор правил для общей оптимизации, основанной в основном на градиенте. … Он воспроизводит небольшие обновления. В результате он отлично справляется с разреженными данными (NLP или распознавание изображений). Каждый параметр имеет свою собственную нагрузку на изучение, которая улучшает общую производительность при решении проблем с разреженными градиентами. полностью основанный на градиентах, видимых для переменной (частных производных), видимых на пути поиска. Это первый шаг к созданию лучших онлайн-курсов по науке о данных.

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

Adaptive Gradients, или AdaGrad для краткости, представляет собой расширение набора правил оптимизации градиентного спуска, которое позволяет автоматически настраивать длину шага в каждом измерении, используемом набором правил оптимизации, в первую очередь на основе градиентов, видимых для переменной ( частные производные), видимые на пути поиска.

Каковы преимущества использования AdaGrad

• Это устраняет необходимость вручную отслеживать плату за мастеринг

• Схождение происходит быстрее и надежнее, чем простой SGD, хотя масштабирование весов неравномерно.

• Не всегда очень чувствителен к масштабу хватательного шага

Мы упомянули множество алгоритмов в конечных сообщениях, и может быть гиперпараметр, который используется во всех алгоритмах, то есть плата за мастеринг (η). Чтобы обновить снова, гиперпараметр — это параметр, который необходимо выбрать вручную перед тренировкой. Префикс гипер- предназначен для того, чтобы отличать гиперпараметр от параметра, который был изменен автоматически с помощью алгоритмов оптимизации на время обучения. Плата за освоение показывает, насколько хорошо мы позволяем параметру (θ) соответствовать альтернативному маршруту оценки градиента (g). Вы можете получить это в онлайн-курсе по науке о данных.

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

Для чего используется алгоритм AdaGrad?

Одной из очевидных функций для смягчения этой проблемы является выбор конкретной платы за освоение для каждого измерения, однако я считаю, что если у нас есть много или десятки тысяч и тысяч измерений, что является обычным для глубоких нейронных сетей, это может быть уже не так. быть практичным. Таким образом, на практике одним из всех более ранних алгоритмов, которые использовались для смягчения этой проблемы для глубоких нейронных сетей, является набор правил AdaGrad (Duchi et al., 2011). Этот набор правил адаптивно масштабировал плату за мастеринг для каждого измерения. Прежде чем мы узнаем набор правил и то, как он работает, давайте рассмотрим уравнение для замены параметра, которое использовалось на практике, т. Е. Это диагональная аппроксимация обратного прямоугольных корней градиентных внешних произведений, до итерации . Таким образом, мы получаем определенные веса для каждой переменной компоненты (поэтому у нас есть, и оптимистично мы будем поддерживать длину шага $eta$ постоянной.

Преимущество алгоритма AdaGrad в том, что он устраняет необходимость вручную отслеживать плату за мастеринг; максимально отойти от него по стандартной стоимости. Его основным слабым местом является накопление квадратов градиентов внутри знаменателя. Поскольку каждый введенный период положителен, накопленная сумма продолжает увеличиваться на протяжении всего обучения, вызывая уменьшение платы за освоение и превращаясь в бесконечно малую. Набор правил AdaGrad — это наборы данных, являющиеся лишь версией предобусловленного стохастического градиентного спуска, где $B$ принимается разумно и регулярно обновляется, а расчет градиента следует SGD.