tf.keras.optimizers.RMSprop
| Просмотреть исходный код на GitHub |
Оптимизатор, реализующий алгоритм RMSprop.
Наследуется от: Optimizer
tf.keras.optimizers.RMSprop(
learning_rate=0.001, rho=0.9, momentum=0.0, epsilon=1e-07, centered=False,
name='RMSprop', **kwargs
)
Подробное описание rmsprop.
- сохранение скользящего (с дисконтированием) среднего квадрата градиентов
- деление градиента на корень этого среднего значения
В этой реализации RMSprop используется обычный момент, а не момент Нестерова.
В центрированной версии дополнительно сохраняется скользящее среднее градиентов, и это среднее используется для оценки дисперсии:
Ссылки см. ([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() явно вместо использования этой функции.
| Аргументы | |
|---|---|
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