Spec-Zone.ru › TensorFlow 2.9

tf.keras.optimizers.Adamax

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

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

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

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

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

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

tf.compat.v1.keras.optimizers.Adamax

tf.keras.optimizers.Adamax(
    learning_rate=0.001,
    beta_1=0.9,
    beta_2=0.999,
    epsilon=1e-07,
    name='Adamax',
    **kwargs
)

Это вариант Adam, основанный на бесконечной норме. Значения параметров по умолчанию соответствуют параметрам, предоставленным в статье. Adamax иногда превосходит adam, особенно в моделях с вложениями.

Инициализация:

m = 0  # Initialize initial 1st moment vector
v = 0  # Initialize the exponentially weighted infinity norm
t = 0  # Initialize timestep

Правило обновления для параметра w с градиентом g описано в конце раздела 7.1 статьи:

t += 1
m = beta1 * m + (1 - beta) * g
v = max(beta2 * v, abs(g))
current_lr = learning_rate / (1 - beta1 ** t)
w = w - current_lr * m / (v + epsilon)

Аналогично Adam, для обеспечения числовой устойчивости добавляется epsilon (особенно для устранения деления на ноль, когда v_t == 0).

В отличие от Adam, в разреженной реализации этого алгоритма (используется, когда градиент является объектом IndexedSlices, обычно из-за tf.gather или поиска вложений в прямом проходе) обновляются только срезы переменных и соответствующие m_t, v_t члены, когда эта часть переменной использовалась в прямом проходе. Это означает, что поведение разреженной реализации отличается от плотного (аналогично некоторым реализациям импульса, которые игнорируют импульс, если срез переменной не был фактически использован).

Аргументы
learning_rate Значение с плавающей точкой, или расписание, которое является tf.keras.optimizers.schedules.LearningRateSchedule. Скорость обучения.
beta_1 Вещественное значение или постоянный тензор с плавающей точкой. Скорость экспоненциального затухания для оценок первого момента.
beta_2 Вещественное значение или постоянный тензор с плавающей точкой. Скорость экспоненциального затухания для экспоненциально взвешенной бесконечной нормы.
epsilon Небольшая константа для обеспечения числовой устойчивости.
name Необязательное имя для операций, созданных при применении градиентов. По умолчанию "Adamax".
**kwargs дополнительные аргументы. Разрешенные аргументы — clipvalue, clipnorm, global_clipnorm. Если clipvalue (вещественное число) установлено, градиент каждого веса ограничен сверху этим значением. Если clipnorm (вещественное число) установлено, градиент каждого веса индивидуально ограничен сверху по норме этим значением. Если global_clipnorm (вещественное число) установлено, градиент всех весов ограничен сверху по глобальной норме этим значением.

Ссылка:

  • Kingma et al., 2014
Исключения
ValueError в случае неверного аргумента.

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

Spec-Zone.ru

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