جریان تنسور:: عملیات:: SparseApplyCenteredRMSProp

#include <training_ops.h>

"*var" را مطابق با الگوریتم RMSProp متمرکز به روز کنید.

خلاصه

الگوریتم RMSProp متمرکز از تخمین لحظه دوم متمرکز (یعنی واریانس) برای عادی سازی استفاده می کند، برخلاف RMSProp معمولی که از لحظه دوم (غیر مرکزی) استفاده می کند. این اغلب به آموزش کمک می کند، اما از نظر محاسبات و حافظه کمی گران تر است.

توجه داشته باشید که در اجرای متراکم این الگوریتم، mg، ms و mom حتی اگر درجه صفر باشد، به روز می شوند، اما در این پیاده سازی پراکنده، mg، ms و mom در تکرارهایی که در طی آن درجه صفر است، به روز نمی شوند.

mean_square = decay * mean_square + (1-decay) * gradient ** 2 mean_grad = decay * mean_grad + (1-decay) * gradient Delta = Learning_rate * gradient / sqrt(mean_square + epsilon - mean_grad ** 2)

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

استدلال ها:

  • scope: یک شی Scope
  • var: باید از یک متغیر () باشد.
  • mg: باید از متغیر () باشد.
  • ms: باید از یک متغیر () باشد.
  • mom: باید از یک متغیر () باشد.
  • lr: ضریب مقیاس. باید اسکالر باشد.
  • rho: میزان پوسیدگی. باید اسکالر باشد.
  • اپسیلون: اصطلاح ریج. باید اسکالر باشد.
  • grad: گرادیان.
  • شاخص ها: بردار شاخص ها در بعد اول var، ms و mom.

ویژگی های اختیاری (به Attrs مراجعه کنید):

  • use_locking: اگر True ، به‌روزرسانی تانسورهای var، mg، ms و mom توسط یک قفل محافظت می‌شود. در غیر این صورت رفتار تعریف نشده است، اما ممکن است اختلاف کمتری از خود نشان دهد.

برمی گرداند:

سازندگان و ویرانگرها

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

توابع عمومی

SparseApplyCenteredRMSProp

 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

 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::ورودی

 operator::tensorflow::Input() const 

عملگر::tensorflow::خروجی

 operator::tensorflow::Output() const 

توابع استاتیک عمومی

استفاده از قفل

Attrs UseLocking(
  bool x
)