Spec-Zone.ru › TensorFlow 2.4

tf.keras.optimizers.Ftrl

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

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

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

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

Основные псевдонимы

tf.optimizers.Ftrl

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

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

tf.compat.v1.keras.optimizers.Ftrl

tf.keras.optimizers.Ftrl(
    learning_rate=0.001, learning_rate_power=-0.5, initial_accumulator_value=0.1,
    l1_regularization_strength=0.0, l2_regularization_strength=0.0,
    name='Ftrl', l2_shrinkage_regularization_strength=0.0, beta=0.0,
    **kwargs
)

См. Алгоритм 1 в этой статье. Эта версия поддерживает как онлайн L2 (штраф L2, указанный в статье выше), так и L2 типа усадки (добавление штрафа L2 к функции потерь).

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

$$t = 0$$
$$n_{0} = 0$$
$$\sigma_{0} = 0$$
$$z_{0} = 0$$

Обновление (

$$i$$

индекс переменной,

$$\alpha$$

скорость обучения):

$$t = t + 1$$
$$n_{t,i} = n_{t-1,i} + g_{t,i}^{2}$$
$$\sigma_{t,i} = (\sqrt{n_{t,i} } - \sqrt{n_{t-1,i} }) / \alpha$$
$$z_{t,i} = z_{t-1,i} + g_{t,i} - \sigma_{t,i} * w_{t,i}$$
$$w_{t,i} = - ((\beta+\sqrt{n_{t,i} }) / \alpha + 2 * \lambda_{2})^{-1} * (z_{i} - sgn(z_{i}) * \lambda_{1}) if \abs{z_{i} } > \lambda_{i} else 0$$

См. документацию параметра l2_shrinkage_regularization_strength для получения более подробной информации, когда включена усадка, в этом случае градиент заменяется на gradient_with_shrinkage.

Args
learning_rate Значение скорости обучения, значение с плавающей точкой или расписание, являющееся tf.keras.optimizers.schedules.LearningRateSchedule. Скорость обучения.
learning_rate_power Значение с плавающей точкой, должно быть меньше или равно нулю. Определяет, как скорость обучения уменьшается во время обучения. Используйте ноль для фиксированной скорости обучения.
initial_accumulator_value Начальное значение для аккумуляторов. Допускаются только нулевые или положительные значения.
l1_regularization_strength Значение с плавающей точкой, должно быть больше или равно нулю.
l2_regularization_strength Значение с плавающей точкой, должно быть больше или равно нулю.
name Необязательный префикс имени для операций, созданных при применении градиентов. По умолчанию "Ftrl".
l2_shrinkage_regularization_strength Значение с плавающей точкой, должно быть больше или равно нулю. Отличается от L2 выше тем, что L2 выше — это штраф стабилизации, а эта усадка L2 — штраф по величине. При разреженной входной информации усадка будет происходить только на активных весах.
beta Значение с плавающей точкой, представляющее значение бета из статьи.
**kwargs Дополнительные аргументы. Допускается один из "clipnorm" или "clipvalue". "clipnorm" (с плавающей точкой) ограничивает градиенты по норме; "clipvalue" (с плавающей точкой) ограничивает градиенты по значению.

Ссылка:

  • статья
Возбуждает
ValueError в случае любого неверного аргумента.

© 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/r2.4/api_docs/python/tf/keras/optimizers/Ftrl

Spec-Zone.ru

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