Spec-Zone.ru › TensorFlow 2.4

tf.keras.optimizers.Adadelta

Просмотреть исходный код на GitHub

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

Наследуется от: Optimizer

Просмотр псевдонимов

Основные псевдонимы

tf.optimizers.Adadelta

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.keras.optimizers.Adadelta

tf.keras.optimizers.Adadelta(
    learning_rate=0.001, rho=0.95, epsilon=1e-07, name='Adadelta',
    **kwargs
)

Оптимизация Adadelta — это метод стохастического градиентного спуска, основанный на адаптивном изменении скорости обучения по каждой размерности для решения двух недостатков:

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

Adadelta — это более устойчивое расширение Adagrad, которое адаптирует скорость обучения на основе скользящего окна обновлений градиента, а не накапливая все прошлые градиенты. Таким образом, Adadelta продолжает обучение даже после многих обновлений. По сравнению с Adagrad, в оригинальной версии Adadelta не нужно устанавливать начальную скорость обучения. В этой версии начальную скорость обучения можно установить, как и в большинстве других оптимизаторов Keras.

Согласно разделу 4.3 ("Эффективные скорости обучения"), близко к концу этапа обучения, шаги обучения сходятся к 1, что по сути является высокой скоростью обучения, которая приведет к расходимости. Это происходит только в конце этапа обучения, поскольку градиенты и шаги обучения невелики, а постоянная epsilon в числителе и знаменателе доминируют над прошлыми градиентами и обновлениями параметров, которые сближают скорость обучения к 1.

Согласно разделу 4.4 ("Данные речи"), где большая нейронная сеть с 4 скрытыми слоями обучалась на корпусе данных на американском английском языке, ADADELTA использовалась с 100 репликами сети. Используемое значение epsilon равно 1e-6, а rho = 0,95, что сходится быстрее, чем ADAGRAD, с помощью следующей конструкции: def init(self, lr=1.0, rho=0.95, epsilon=1e-6, decay=0., **kwargs):

Args
learning_rate Значение скорости обучения, число с плавающей точкой или расписание, являющееся tf.keras.optimizers.schedules.LearningRateSchedule. Скорость обучения. Чтобы соответствовать точному виду в оригинальной статье, используйте 1,0.
rho Коэффициент распада или число с плавающей точкой.
epsilon Постоянная epsilon, используемая для лучшего обуславливания обновления градиента.
name Необязательное имя префикса для операций, созданных при применении градиентов. По умолчанию "Adadelta".
**kwargs Аргументы ключевых слов. Допускается одно из значений "clipnorm" или "clipvalue". "clipnorm" (число с плавающей точкой) ограничивает градиенты по норме; "clipvalue" (число с плавающей точкой) ограничивает градиенты по значению.

Ссылка:

  • Zeiler, 2012
Возможные ошибки
ValueError в случае неверного аргумента.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/optimizers/Adadelta

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API