Spec-Zone.ru › TensorFlow 1.15

tf.train.linear_cosine_decay

Применяет линейное косинусное затухание к скорости обучения.

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

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

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

tf.compat.v1.train.linear_cosine_decay

tf.train.linear_cosine_decay(
    learning_rate, global_step, decay_steps, num_periods=0.5, alpha=0.0, beta=0.001,
    name=None
)

См. [Bello и др., ICML2017] Поиск нейронного оптимизатора с помощью RL. https://arxiv.org/abs/1709.07417

Для идеи тёплых запусков, управляемых num_periods, см. [Loshchilov & Hutter, ICLR2016] SGDR: стохастический градиентный спуск с тёплыми перезапусками. https://arxiv.org/abs/1608.03983

Обратите внимание, что линейное косинусное затухание более агрессивное, чем косинусное затухание, и, как правило, можно использовать более высокие начальные скорости обучения.

При обучении модели часто рекомендуется снижать скорость обучения по мере прогресса обучения. Эта функция применяет линейную косинусную функцию затухания к предоставленной начальной скорости обучения. Она требует значения 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 не указано.

Совместимость с Eager

Когда включено выполнение Eager, эта функция возвращает функцию, которая в свою очередь возвращает тензор затухающей скорости обучения. Это может быть полезно для изменения значения скорости обучения при разных вызовах функций оптимизатора.

© 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/r1.15/api_docs/python/tf/train/linear_cosine_decay

Spec-Zone.ru

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