тензорный поток:: опс:: РазреженныйApplyCenteredRMSProp

#include <training_ops.h>

Обновите «*var» в соответствии с центрированным алгоритмом RMSProp.

Краткое содержание

Алгоритм центрированного RMSProp использует оценку центрированного второго момента (т. е. дисперсии) для нормализации, в отличие от обычного алгоритма RMSProp, который использует (нецентрированный) второй момент. Это часто помогает при обучении, но требует немного больше затрат с точки зрения вычислений и памяти.

Обратите внимание, что в плотной реализации этого алгоритма mg, ms и Mom будут обновляться, даже если градиент равен нулю, но в этой разреженной реализации mg, ms и Mom не будут обновляться на итерациях, во время которых градиент равен нулю.

средний_квадрат = затухание * средний_квадрат + (1-распад) * градиент ** 2 средний_град = затухание * средний_град + (1-распад) * градиент Дельта = скорость обучения * градиент / sqrt(средний_квадрат + эпсилон - средний_град ** 2)

$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$
$$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$
$$var <- var - mom$$

Аргументы:

  • область: объект области.
  • var: Должно быть из переменной().
  • mg: Должно быть из переменной().
  • мс: Должно быть из переменной().
  • мама: Должно быть из переменной().
  • lr: Коэффициент масштабирования. Должно быть скаляр.
  • ро: Скорость распада. Должно быть скаляр.
  • эпсилон: термин хребта. Должно быть скаляр.
  • град: Градиент.
  • индексы: вектор индексов в первом измерении var, ms и Mom.

Необязательные атрибуты (см. Attrs ):

  • use_locking: Если True , обновление тензоров var, mg, ms и Mom защищено блокировкой; в противном случае поведение не определено, но может вызывать меньше конфликтов.

Возврат:

  • Output : То же, что и «var».

Конструкторы и деструкторы

SparseApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices)
SparseApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices, const SparseApplyCenteredRMSProp::Attrs & attrs)

Публичные атрибуты

operation
out

Общественные функции

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Публичные статические функции

UseLocking (bool x)

Структуры

tensorflow::ops::SparseApplyCenteredRMSProp::Attrs

Необязательные установщики атрибутов для SparseApplyCenteredRMSProp .

Публичные атрибуты

операция

Operation operation

вне

::tensorflow::Output out

Общественные функции

РазреженныйApplyCenteredRMSProp

 SparseApplyCenteredRMSProp(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input mg,
  ::tensorflow::Input ms,
  ::tensorflow::Input mom,
  ::tensorflow::Input lr,
  ::tensorflow::Input rho,
  ::tensorflow::Input momentum,
  ::tensorflow::Input epsilon,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices
)

РазреженныйApplyCenteredRMSProp

 SparseApplyCenteredRMSProp(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input mg,
  ::tensorflow::Input ms,
  ::tensorflow::Input mom,
  ::tensorflow::Input lr,
  ::tensorflow::Input rho,
  ::tensorflow::Input momentum,
  ::tensorflow::Input epsilon,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  const SparseApplyCenteredRMSProp::Attrs & attrs
)

узел

::tensorflow::Node * node() const 

оператор::tensorflow::Input

 operator::tensorflow::Input() const 

оператор::tensorflow::Выход

 operator::tensorflow::Output() const 

Публичные статические функции

Использование блокировки

Attrs UseLocking(
  bool x
)