Оптимизатор, реализующий алгоритм Ададельта.
Ададельта-оптимизация — это метод стохастического градиентного спуска, основанный на адаптивной скорости обучения для каждого измерения и позволяющий устранить два недостатка:
- постоянное снижение скорости обучения на протяжении всего обучения
- необходимость выбора вручную глобальной скорости обучения
Adadelta — это более надежное расширение Adagrad, которое адаптирует скорость обучения на основе движущегося окна обновлений градиента, а не накапливает все прошлые градиенты. Таким образом, Adadelta продолжает обучение, даже если было сделано много обновлений. По сравнению с Adagrad, в оригинальной версии Adadelta вам не нужно устанавливать начальную скорость обучения. В этой версии можно установить начальную скорость обучения, как и в большинстве других оптимизаторов.
Согласно разделу 4.3 («Эффективная скорость обучения»), ближе к концу обучения размеры шагов сходятся к 1, что фактически является высокой скоростью обучения, которая может вызвать расхождение. Это происходит только ближе к концу обучения, поскольку градиенты и размеры шагов малы, а константа эпсилон в числителе и знаменателе доминирует над прошлыми градиентами и обновлениями параметров, что сводит скорость обучения к 1.
Согласно разделу 4.4 («Речевые данные»), где большая нейронная сеть с 4 скрытыми слоями обучалась на корпусе данных американского английского языка, ADADELTA использовалась со 100 сетевыми репликами. Используемый эпсилон — 1e-6 с rho = 0,95, что сходился быстрее, чем ADAGRAD, благодаря следующей конструкции: new AdaDelta(graph, 1.0f, 0.95f, 1e-6f);
Константы
Нить | АККУМУЛЯТОР | |
Нить | ACCUMULATOR_UPDATE | |
плавать | EPSILON_DEFAULT | |
плавать | LEARNING_RATE_DEFAULT | |
плавать | RHO_DEFAULT |
Унаследованные константы
Публичные конструкторы
Публичные методы
Нить | getOptimizerName () Получите имя оптимизатора. |
Нить | нанизывать () |
Унаследованные методы
Константы
общедоступный статический окончательный строковый аккумулятор
общедоступная статическая финальная строка ACCUMULATOR_UPDATE
общедоступный статический финальный float EPSILON_DEFAULT
общедоступный статический финальный плавающий элемент LEARNING_RATE_DEFAULT
общедоступный статический финальный float RHO_DEFAULT
Публичные конструкторы
public AdaDelta ( график , float LearningRate)
Создает оптимизатор AdaDelta.
Параметры
график | граф TensorFlow |
---|---|
Скорость обучения | скорость обучения |
public AdaDelta (график графика , float LearningRate, float rho, float epsilon)
Создает оптимизатор AdaDelta.
Параметры
график | граф TensorFlow |
---|---|
Скорость обучения | скорость обучения |
ро | Фактор распада |
эпсилон | Постоянный эпсилон, используемый для лучшего согласования обновления градиента. |
public AdaDelta (график графика , имя строки, скорость обучения с плавающей запятой)
Создает оптимизатор AdaDelta.
Параметры
график | граф TensorFlow |
---|---|
имя | имя этого оптимизатора (по умолчанию «Ададельта») |
Скорость обучения | скорость обучения |
public AdaDelta (график графика , имя строки, float LearningRate, float rho, float epsilon)
Создает оптимизатор AdaDelta.
Параметры
график | граф TensorFlow |
---|---|
имя | имя этого оптимизатора (по умолчанию «Ададельта») |
Скорость обучения | скорость обучения |
ро | Фактор распада |
эпсилон | Постоянный эпсилон, используемый для лучшего согласования обновления градиента. |
Публичные методы
общедоступная строка getOptimizerName ()
Получите имя оптимизатора.
Возврат
- Имя оптимизатора.