تدفق التوتر:: العمليات:: تطبيقCenteredRMSProp

#include <training_ops.h>

قم بتحديث '*var' وفقًا لخوارزمية RMSProp المركزية.

ملخص

تستخدم خوارزمية RMSProp المركزية تقديرًا للحظة الثانية المركزية (أي التباين) للتطبيع، على عكس خوارزمية RMSProp العادية، التي تستخدم اللحظة الثانية (غير المركزية). غالبًا ما يساعد هذا في التدريب، ولكنه أكثر تكلفة قليلاً من حيث الحساب والذاكرة.

لاحظ أنه في التنفيذ المكثف لهذه الخوارزمية، سيتم تحديث mg وms وmom حتى لو كان grad صفرًا، ولكن في هذا التنفيذ المتناثر، لن يتم تحديث mg وms وmom في التكرارات التي يكون خلالها grad صفرًا.

mean_square = الاضمحلال * mean_square + (1-اضمحلال) * التدرج ** 2 mean_grad = الاضمحلال * mean_grad + (1-اضمحلال) * التدرج

دلتا = معدل التعلم * التدرج / sqrt (mean_square + epsilon - mean_grad ** 2)

ملغ <- رو * ملغ_{t-1} + (1-رو) * غراد مللي ثانية <- رو * مللي_{t-1} + (1-رو) * غراد * غراد أمي <- الزخم * أمي_{t-1 } + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - mom

الحجج:

  • النطاق: كائن النطاق
  • فار: يجب أن يكون من متغير ().
  • mg: يجب أن يكون من متغير ().
  • مللي ثانية: يجب أن يكون من متغير ().
  • أمي: يجب أن يكون من متغير ().
  • lr: عامل التحجيم. يجب أن يكون العددية.
  • رو: معدل الاضمحلال. يجب أن يكون العددية.
  • إبسيلون: مصطلح ريدج. يجب أن يكون العددية.
  • غراد: التدرج.

السمات الاختيارية (انظر Attrs ):

  • use_locking: إذا كان True ، فإن تحديث الموترات var وmg وms وmom محمي بقفل؛ وإلا فإن السلوك غير محدد، ولكنه قد يحمل قدرًا أقل من الخلاف.

عائدات:

البنائين والمدمرين

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

الوظائف العامة

تطبيقCenteredRMSProp

 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
)

تطبيقCenteredRMSProp

 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 

وظائف ثابتة العامة

UseLocking

Attrs UseLocking(
  bool x
)