Spec-Zone.ru › TensorFlow 2.9

tf.keras.optimizers.legacy.RMSprop

Оптимизатор, реализующий алгоритм RMSprop.

Наследуется от: RMSprop, Optimizer

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

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

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

tf.compat.v1.keras.optimizers.legacy.RMSprop

tf.keras.optimizers.legacy.RMSprop(
    learning_rate=0.001,
    rho=0.9,
    momentum=0.0,
    epsilon=1e-07,
    centered=False,
    name='RMSprop',
    **kwargs
)

Суть RMSprop заключается в:

  • Поддерживании скользящего (с дисконтированием) среднего квадрата градиентов
  • Делении градиента на корень из этого среднего

Эта реализация RMSprop использует обычный момент, а не момент Нестерова.

В централизованной версии дополнительно поддерживается скользящее среднее градиентов, и это среднее используется для оценки дисперсии.

Аргументы
learning_rate Значение с плавающей точкой, или расписание, являющееся tf.keras.optimizers.schedules.LearningRateSchedule, или вызываемая функция без аргументов, возвращающая фактическое используемое значение. Скорость обучения. По умолчанию 0.001.
rho Коэффициент дисконтирования для истории/грядущего градиента. По умолчанию 0.9.
momentum Скаляр или скалярный Tensor. По умолчанию 0.0.
epsilon Небольшая константа для обеспечения числовой устойчивости. Эта переменная epsilon - "epsilon hat" в статье Kingma и Ba (в формуле перед разделом 2.1), а не epsilon в алгоритме 1 статьи. По умолчанию 1e-7.
centered Логическое значение. Если True, градиенты нормализуются по оценке дисперсии градиента; если False, по нецентральному второму моменту. Установка этого значения в True может помочь в обучении, но немного дороже в плане вычислений и памяти. По умолчанию False.
name Необязательный префикс имени для операций, создаваемых при применении градиентов. По умолчанию "RMSprop".
**kwargs Ключевые аргументы. Разрешены аргументы clipvalue, clipnorm, global_clipnorm. Если clipvalue (float) задано, градиент каждого веса ограничивается значением, не превышающим это значение. Если clipnorm (float) задано, градиент каждого веса ограничен индивидуально, так что его норма не превышает этого значения. Если global_clipnorm (float) задано, градиент всех весов ограничен так, что их глобальная норма не превышает это значение.

Обратите внимание, что в плотной реализации этого алгоритма переменные и их соответствующие накопители (момент, скользящее среднее градиента, скользящее среднее квадратного градиента) будут обновляться даже если градиент равен нулю (т.е. накопители будут убывать, момент будет применяться). Реализация для разреженных градиентов (используемая, когда градиент является объектом IndexedSlices , обычно из-за tf.gather или поиска вложения в прямом проходе) не будет обновлять части переменных или их накопителей, если эти части не использовались в прямом проходе (и нет "эвентуальной" коррекции для учета этих пропущенных обновлений). Это приводит к более эффективным обновлениям для больших таблиц вложений (где большая часть фрагментов не обращается в конкретной выполнении графа), но отличается от опубликованного алгоритма.

Использование:

opt = tf.keras.optimizers.RMSprop(learning_rate=0.1)
var1 = tf.Variable(10.0)
loss = lambda: (var1 ** 2) / 2.0    # d(loss) / d(var1) = var1
step_count = opt.minimize(loss, [var1]).numpy()
var1.numpy()
9.683772

Ссылка:

  • Хинтон, 2012

© 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/versions/r2.9/api_docs/python/tf/keras/optimizers/legacy/RMSprop

Spec-Zone.ru

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