tensorflow:: ops:: ApplyCenteredRMSProp

#include <training_ops.h>

सेंटर्ड RMSProp एल्गोरिदम के अनुसार '*var' को अपडेट करें।

सारांश

सेंटर्ड RMSProp एल्गोरिदम सामान्यीकरण के लिए सेंटर्ड सेकंड मोमेंट (यानी, विचरण) के अनुमान का उपयोग करता है, जबकि नियमित RMSProp (अनसेंटर्ड) सेकंड मोमेंट का उपयोग करता है। यह अक्सर प्रशिक्षण में सहायक होता है, लेकिन गणना और मेमोरी के मामले में थोड़ा अधिक खर्चीला होता है।

ध्यान दें कि इस एल्गोरिदम के सघन कार्यान्वयन में, mg, ms और mom तब भी अपडेट होंगे जब grad शून्य हो, लेकिन इस विरल कार्यान्वयन में, mg, ms और mom उन पुनरावृत्तियों के दौरान अपडेट नहीं होंगे जिनमें grad शून्य है।

औसत वर्ग = क्षय * औसत वर्ग + (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

तर्क:

  • स्कोप: एक स्कोप ऑब्जेक्ट
  • var: यह एक Variable() से होना चाहिए।
  • mg: यह एक वेरिएबल() से होना चाहिए।
  • एमएस: यह एक वेरिएबल() से होना चाहिए।
  • माँ: यह एक वेरिएबल() से होना चाहिए।
  • 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)

संरचनाएँ

टेन्सरफ्लो::ऑप्स::अप्लाईसेंटर्डआरएमएसपीप्रॉप::एट्रिब्यूट्स

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 

ऑपरेटर::टेन्सरफ्लो::इनपुट

 operator::tensorflow::Input() const 

ऑपरेटर::टेन्सरफ्लो::आउटपुट

 operator::tensorflow::Output() const 

सार्वजनिक स्थैतिक फ़ंक्शन

यूज़लॉकिंग

Attrs UseLocking(
  bool x
)