Ада-оптимизаторы

Оптимизаторы Ada отличаются от оптимизаторов Gradient Descent тем, как используются скорости обучения. В случае градиентного спуска скорость обучения остается неизменной, в то время как в случае AdaGrad идея состоит в том, чтобы использовать разные скорости обучения для разных нейронов для разных слоев на основе разных итераций/

В любой модели глубокого обучения мы всегда найдем два типа функций — плотные и разреженные. Теперь мы не можем использовать одинаковую скорость обучения для обработки плотных и разреженных функций.

Градиентный спуск

Например,

АдаГрад

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

где,

Эпсилон используется для предотвращения того, чтобы новое значение стало равным 0. Это очень маленькое положительное значение.

Для веса,

Для смещения,

Gt может стать очень большим числом, учитывая уравнение. Это один из недостатков AdaGrad. Для решения этой проблемы у нас есть AdaDelta и RMSprop.

AdaDelta и RMSprop

Эти оптимизаторы работают аналогичным образом. Идея, стоящая за этим оптимизатором, состоит в том, чтобы не допустить, чтобы Gt из AdaGrad стал очень большим числом. Чтобы это произошло, мы внесем очень небольшую модификацию в AdaGrad. Модификация включает использование средневзвешенного значения.

Для веса,

Для смещения,

Оптимизатор Адама

В Adam Optimizer мы объединяем два метода: Импульс или Средневзвешенное значение и RMSprop.

Momentum помогает нам сгладить кривую, а RMSprop изменить скорость обучения.

Импульс

RMSprop

Примечание. Значение бета будет отличаться для Momentum и RMSprop.

Теперь мы поместим приведенное выше уравнение в нашу формулу обновления веса и смещения.

Я надеюсь, что эта статья даст вам общее представление о различных типах оптимизаторов.

Если у вас есть какие-либо вопросы или вы обнаружите, что что-то искажено, пожалуйста, дайте мне знать.

Спасибо!