tf.keras.optimizers.Adamax
| Просмотреть исходный код на GitHub |
Оптимизатор, реализующий алгоритм Adamax.
Наследуется от: Optimizer
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 | Параметры ключевых слов. Допускается одно из "clipnorm" или "clipvalue". "clipnorm" (вещественное число) ограничивает градиенты по норме; "clipvalue" (вещественное число) ограничивает градиенты по значению. |
Ссылка:
| Исключения | |
|---|---|
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/Adamax