Spec-Zone.ru › TensorFlow

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

Spec-Zone.ru

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