Spec-Zone.ru › TensorFlow 1.15

tf.keras.optimizers.RMSprop

Просмотреть исходный код на GitHub

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

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

Псевдонимы

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

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

tf.compat.v1.keras.optimizers.RMSprop, `tf.compat.v2.keras.optimizers.RMSprop`, `tf.compat.v2.optimizers.RMSprop`

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

Подробное описание rmsprop.

  • сохранение скользящего (с дисконтированием) среднего квадрата градиентов
  • деление градиента на корень этого среднего значения
$$mean_square_t = rho * mean_square{t-1} + (1-rho) * gradient ** 2$$
$$mom_t = momentum * mom_{t-1} + learning_rate * gradient / \sqrt{ / mean_square_t + \epsilon}$$
$$variable_t := variable_{t-1} - mom_t$$

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

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

$$mean_grad_t = rho * mean_grad_{t-1} + (1-rho) * gradient$$
$$mean_square_t = rho * mean_square_{t-1} + (1-rho) * gradient ** 2$$
$$mom_t = momentum * mom_{t-1} + learning_rate * gradient / sqrt(mean_square_t - mean_grad_t**2 + epsilon)$$
$$variable_t := variable_{t-1} - mom_t$$

Ссылки см. ([pdf] http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf).

Аргументы
learning_rate A Tensor или значение с плавающей точкой. Скорость обучения.
rho Коэффициент дисконтирования для истории/наступающего градиента
momentum A scalar tensor.
epsilon Малое значение для избежания нулевого знаменателя.
centered Если True, градиенты нормализуются по оценке дисперсии градиента; если False, по нецентрированному второму моменту. Установка этого значения в True может помочь в обучении, но немного дороже в вычислительном отношении и по памяти. По умолчанию False.
name Необязательный префикс имени для операций, созданных при применении градиентов. По умолчанию "RMSprop". @compatibility(eager) Когда включено жадное выполнение, learning_rate, decay, momentum, и epsilon могут быть вызовами, которые не принимают аргументов и возвращают фактическое используемое значение. Это может быть полезно для изменения этих значений при различных вызовах функций оптимизатора. @end_compatibility
**kwargs дополнительные ключевые аргументы. Допускается {clipnorm, clipvalue, lr, decay}. clipnorm - обрезка градиентов по норме; clipvalue - обрезка градиентов по значению, decay включена для обратной совместимости, чтобы разрешить обратную временную деградацию скорости обучения. lr включена для обратной совместимости, рекомендуется использовать learning_rate вместо.
Атрибуты
iterations Переменная. Количество шагов обучения, выполненных этим оптимизатором.
weights Возвращает переменные этого оптимизатора в порядке создания.

Методы

add_slot

Просмотреть исходный код

add_slot(
    var, slot_name, initializer='zeros'
)

Добавляет новую переменную слота для var.

add_weight

Просмотреть исходный код

add_weight(
    name, shape, dtype=None, initializer='zeros', trainable=None,
    synchronization=tf.VariableSynchronization.AUTO,
    aggregation=tf.VariableAggregation.NONE
)

apply_gradients

Просмотреть исходный код

apply_gradients(
    grads_and_vars, name=None
)

Применяет градиенты к переменным.

Это вторая часть minimize(). Она возвращает Operation, который применяет градиенты.

Аргументы
grads_and_vars Список пар (градиент, переменная).
name Необязательное имя возвращаемой операции. По умолчанию имя, переданное конструктору Optimizer.
Возвращает
Operation для применения указанных градиентов. iterations автоматически увеличится на 1.
Возможные исключения
TypeError Если grads_and_vars имеет неправильный формат.
ValueError Если у ни одной из переменных нет градиентов.

from_config

Просмотреть исходный код

@classmethod
from_config(
    config, custom_objects=None
)

Создает оптимизатор из его конфигурации.

Этот метод является обратным к get_config, способный восстановить тот же оптимизатор из словаря конфигурации.

Аргументы
config Словарь Python, как правило, вывод get_config.
custom_objects Словарь Python, сопоставляющий имена с дополнительными объектами Python, используемыми для создания этого оптимизатора, такими как функция, используемая для гиперпараметра.
Возвращает
Экземпляр оптимизатора.

get_config

Просмотреть исходный код

get_config()

Возвращает конфигурацию оптимизатора.

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

Возвращает
Словарь Python.

get_gradients

Просмотреть исходный код

get_gradients(
    loss, params
)

Возвращает градиенты loss относительно params.

Аргументы
loss Тензор потерь.
params Список переменных.
Возвращает
Список тензоров градиента.
Возможные исключения
ValueError В случае, если какой-либо градиент не может быть вычислен (например, если функция градиента не реализована).

get_slot

Просмотреть исходный код

get_slot(
    var, slot_name
)

get_slot_names

Просмотреть исходный код

get_slot_names()

Список имён слотов этого оптимизатора.

get_updates

Просмотреть исходный код

get_updates(
    loss, params
)

get_weights

Просмотреть исходный код

get_weights()

minimize

Просмотреть исходный код

minimize(
    loss, var_list, grad_loss=None, name=None
)

Минимизировать loss, обновляя var_list.

Этот метод просто вычисляет градиент с помощью tf.GradientTape и вызывает apply_gradients(). Если вы хотите обработать градиент перед применением, вызовите tf.GradientTape и apply_gradients() явно вместо использования этой функции.

END_OF_DOCUMENT_MARKER
Аргументы
loss Функция без аргументов, возвращающая значение, которое нужно минимизировать.
var_list Список или кортеж объектов Variable, которые нужно обновить для минимизации loss, или функция, возвращающая список или кортеж объектов Variable. Используйте функцию, когда список переменных был бы неполным до minimize, так как переменные создаются при первом вызове loss.
grad_loss Необязательно. Объект Tensor, содержащий градиент, вычисленный для loss.
name Необязательное имя для возвращаемой операции.
Возвращаемое значение
Операция, которая обновляет переменные в var_list. Если global_step не был None, эта операция также увеличивает global_step.
Исключения
ValueError Если некоторые переменные не являются объектами Variable.

set_weights

Просмотреть исходный код

set_weights(
    weights
)

variables

Просмотреть исходный код

variables()

Возвращает переменные этого оптимизатора в порядке их создания.

© 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/keras/optimizers/RMSprop

Spec-Zone.ru

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