tensorflow:: عملیات:: ApplyCenteredRMSProp

#include <training_ops.h>

'*var' را طبق الگوریتم RMSProp مرکزی به‌روزرسانی کن.

خلاصه

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

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

mean_square = decay * mean_square + (1-decay) * gradient ** 2 mean_grad = decay * mean_grad + (1-decay) * gradient

دلتا = نرخ یادگیری * گرادیان / sqrt(میانگین مربعات + اپسیلون - میانگین گرادیان ** ۲)

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: باید از یک متغیر () باشد.
  • ms: باید از یک متغیر () باشد.
  • mom: باید از یک Variable() باشد.
  • lr: ضریب مقیاس‌بندی. باید یک اسکالر باشد.
  • rho: نرخ واپاشی. باید یک اسکالر باشد.
  • اپسیلون: جمله ریج. باید یک اسکالر باشد.
  • گرادیان: شیب.

ویژگی‌های اختیاری (به 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:: عملیات:: ApplyCenteredRMSProp:: جذابیت‌ها

تنظیم‌کننده‌های ویژگی اختیاری برای 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::ورودی

 operator::tensorflow::Input() const 

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

 operator::tensorflow::Output() const 

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

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

Attrs UseLocking(
  bool x
)