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 )