tensorflow::ops::ApplyCenteredRMSProp

#include <training_ops.h>

Обновите переменную '*var' в соответствии с алгоритмом центрирования RMSProp.

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

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

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

среднеквадратичное отклонение = распад * среднеквадратичное отклонение + (1-распад) * градиент ** 2 среднеквадратичное отклонение = распад * среднеквадратичное отклонение + (1-распад) * градиент

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

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

Аргументы:

  • scope: Объект Scope
  • var: Должно быть из функции Variable().
  • мг: Должно быть из переменной().
  • мс: Должно быть из переменной().
  • мама: Должно быть из переменной().
  • lr: Масштабный коэффициент. Должен быть скалярным значением.
  • ро: Скорость затухания. Должна быть скалярной величиной.
  • Эпсилон: Член гребня. Должен быть скаляром.
  • grad: Градиент.

Дополнительные атрибуты (см. 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

 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

 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::Output

 operator::tensorflow::Output() const 

Открытые статические функции

UseLocking

Attrs UseLocking(
  bool x
)