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 execution
Если включено eager execution, эта функция возвращает функцию, которая, в свою очередь, возвращает тензор затухающей скорости обучения. Это может быть полезно для изменения значения скорости обучения при разных вызовах функций оптимизатора.
© 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