tf.compat.v1.train.linear_cosine_decay
Применяет линейное косинусное уменьшение к скорости обучения.
tf.compat.v1.train.linear_cosine_decay(
learning_rate,
global_step,
decay_steps,
num_periods=0.5,
alpha=0.0,
beta=0.001,
name=None
)
Обратите внимание, что линейное косинусное уменьшение более агрессивное, чем косинусное уменьшение, и, как правило, можно использовать более высокие начальные скорости обучения.
При обучении модели часто рекомендуется снижать скорость обучения по мере продвижения обучения. Эта функция применяет функцию линейного косинусного уменьшения к предоставленной начальной скорости обучения. Она требует значение global_step для вычисления уменьшенной скорости обучения. Вы можете просто передать переменную TensorFlow, которую вы увеличиваете на каждой итерации обучения.
Функция возвращает уменьшенную скорость обучения. Она вычисляется следующим образом:
global_step = min(global_step, decay_steps)
linear_decay = (decay_steps - global_step) / decay_steps)
cosine_decay = 0.5 * (
1 + cos(pi * 2 * num_periods * global_step / decay_steps))
decayed = (alpha + linear_decay) * cosine_decay + beta
decayed_learning_rate = learning_rate * decayed
Пример использования:
decay_steps = 1000 lr_decayed = linear_cosine_decay(learning_rate, global_step, decay_steps)
| Аргументы | |
|---|---|
learning_rate | Скалярный float32 или float64 тензор или число Python. Начальная скорость обучения. |
global_step | Скалярный int32 или int64 Tensor тензор или число Python. Глобальный шаг для вычисления уменьшения. |
decay_steps | Скалярный int32 или int64 Tensor тензор или число Python. Количество шагов для уменьшения. |
num_periods | Количество периодов в косинусной части уменьшения. См. вычисление выше. |
alpha | См. вычисление выше. |
beta | См. вычисление выше. |
name | Строка. Необязательное имя операции. По умолчанию 'LinearCosineDecay'. |
| Возвращаемые значения | |
|---|---|
Скалярный Tensor того же типа, что и learning_rate. Уменьшенная скорость обучения. |
| Исключения | |
|---|---|
ValueError | если global_step не указано. |
| Ссылки | |
|---|---|
| Поиск нейронного оптимизатора с помощью обучения с подкреплением: Bello и др., 2017 (pdf) Стохастический градиентный спуск с теплым перезапуском: Loshchilov и др., 2017 (pdf) |
совместимость с eager
При включенном выполнении eager, эта функция возвращает функцию, которая, в свою очередь, возвращает тензор уменьшенной скорости обучения. Это может быть полезно для изменения значения скорости обучения при разных вызовах функций оптимизатора.
© 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/api_docs/python/tf/compat/v1/train/linear_cosine_decay