тензорный поток:: опс:: Применитьцентредрмспроп

#include <training_ops.h>

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

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

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

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

средний_квадрат = затухание * средний_квадрат + (1-затух) * градиент ** 2 средний_град = затухание * средний_град + (1-затух) * градиент

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

mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad Mom <- импульс * Mom_{t-1 } + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - Mom

Аргументы:

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

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

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

Возврат:

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

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

ApplyCenteredRMSProp (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)
ApplyCenteredRMSProp (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, const ApplyCenteredRMSProp::Attrs & attrs)

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

operation
out

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

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

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

UseLocking (bool x)

Структуры

tensorflow:: ops:: ApplyCenteredRMSProp:: Attrs

Дополнительные установщики атрибутов для ApplyCenteredRMSProp .

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

операция

Operation operation

вне

::tensorflow::Output out

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

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

 ApplyCenteredRMSProp(
  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
)

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

 ApplyCenteredRMSProp(
  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,
  const ApplyCenteredRMSProp::Attrs & attrs
)

узел

::tensorflow::Node * node() const 

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

 operator::tensorflow::Input() const 

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

 operator::tensorflow::Output() const 

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

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

Attrs UseLocking(
  bool x
)