AdaDelta

открытый класс AdaDelta

Оптимизатор, реализующий алгоритм Ададельта.

Ададельта-оптимизация — это метод стохастического градиентного спуска, основанный на адаптивной скорости обучения для каждого измерения и позволяющий устранить два недостатка:

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

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

Унаследованные константы

Публичные конструкторы

AdaDelta ( график , плавающая скорость обучения)
Создает оптимизатор AdaDelta.
AdaDelta ( график , скорость обучения с плавающей запятой, с плавающей запятой ро, с плавающей запятой эпсилон)
Создает оптимизатор AdaDelta.
AdaDelta (график графика , имя строки, скорость обучения с плавающей запятой)
Создает оптимизатор AdaDelta.
AdaDelta (график графика , имя строки, скорость обучения с плавающей точкой, rho с плавающей запятой, эпсилон с плавающей запятой)
Создает оптимизатор AdaDelta.

Публичные методы

Нить
getOptimizerName ()
Получите имя оптимизатора.
Нить

Унаследованные методы

Константы

общедоступный статический окончательный строковый аккумулятор

Постоянное значение: «накопить»

общедоступная статическая финальная строка ACCUMULATOR_UPDATE

Постоянное значение: «accum_update»

общедоступный статический финальный float EPSILON_DEFAULT

Постоянное значение: 1.0E-7

общедоступный статический финальный плавающий элемент LEARNING_RATE_DEFAULT

Постоянное значение: 0,001

общедоступный статический финальный float RHO_DEFAULT

Постоянное значение: 0,95

Публичные конструкторы

общедоступная AdaDelta ( график )

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 ()

Получите имя оптимизатора.

Возврат
  • Имя оптимизатора.

публичная строка toString ()