Spec-Zone.ru › TensorFlow 1.15

tf.keras.optimizers.Adadelta

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

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

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

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

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

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

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

tf.keras.optimizers.Adadelta(
    learning_rate=0.001, rho=0.95, epsilon=1e-07, name='Adadelta', **kwargs
)

Оптимизация Adadelta — это метод стохастического градиентного спуска, основанный на адаптивном значении скорости обучения по каждой размерности, для решения двух недостатков:

1) непрерывное уменьшение скорости обучения на протяжении всего обучения 2) необходимость ручного выбора глобальной скорости обучения

Требуются два шага накопления:

1) накопление квадратов градиентов, 2) накопление квадратов обновлений.

Инициализация:

$$E[g^2]_0 := 0 \text{(Инициализировать вектор момента 2-го порядка градиента)}$$
$$E[\Delta x^2]_0 := 0 \text{(Инициализировать 2-й порядок переменной обновления)}$$
$$t := t + 1$$
$$E[g^2]_t := \rho * E[g^2]_{t-1} + (1 - \rho) * g^2$$
$$\Delta x_t = -RMS[\Delta x]_{t-1} * g_t / RMS[g]_t$$
$$E[\Delta x^2]_t := \rho * E[\Delta x^2]_{t-1} + (1 - \rho) * \Delta x_t^2$$
$$x_t := x_{t-1} + \Delta x_{t}$$

Ссылки См. М. Д. Зейлер (pdf)

Args
learning_rate A Tensor или значение с плавающей запятой. Скорость обучения. Для соответствия точному виду в оригинальной статье используйте 1,0.
rho A Tensor или значение с плавающей запятой. Скорость затухания.
epsilon A Tensor или значение с плавающей запятой. Постоянная ε, используемая для лучшего обусловливания обновления градиента.
name Необязательный префикс имени для операций, созданных при применении градиентов. По умолчанию «Adadelta».
**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, который применяет градиенты.

Args
grads_and_vars Список пар (градиент, переменная).
name Необязательное имя для возвращаемой операции. По умолчанию имя, переданное в конструктор Optimizer.
Возвращает
A 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() явно вместо использования этой функции.

Args
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/Adadelta

Spec-Zone.ru

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