中心の RMSProp アルゴリズムに従って「*var」を更新します。
中心RMSPropアルゴリズムは、(非中心の)2次モーメントを使用する通常のRMSPropとは対照的に、正規化に中心2次モーメント(つまり、分散)の推定値を使用します。これはトレーニングに役立つことがよくありますが、計算とメモリの点で若干高価になります。
このアルゴリズムの高密度実装では、grad が 0 であっても mg、ms、および mom が更新されますが、このスパース実装では、grad が 0 である反復では mg、ms、および mom が更新されないことに注意してください。
平均二乗 = 減衰 * 平均二乗 + (1-減衰) * 勾配 ** 2 平均勾配 = 減衰 * 平均勾配 + (1-減衰) * 勾配
デルタ = 学習率 * 勾配 / sqrt(平均二乗 + イプシロン - 平均勾配 ** 2)
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 + イプシロン) var <- var - mom
ネストされたクラス
クラス | applyCenteredRmsProp.Options | ApplyCenteredRmsProp のオプションの属性 |
定数
弦 | OP_NAME | TensorFlow コア エンジンによって認識される、この演算の名前 |
パブリックメソッド
出力<T> | asOutput () テンソルのシンボリック ハンドルを返します。 |
static <T extends TType > applyCenteredRmsProp <T> | |
出力<T> | 外() 「var」と同じです。 |
静的ApplyCenteredRmsProp.Options | useLocking (ブール型 useLocking) |
継承されたメソッド
定数
パブリック静的最終文字列OP_NAME
TensorFlow コア エンジンによって認識される、この演算の名前
パブリックメソッド
public Output <T> asOutput ()
テンソルのシンボリック ハンドルを返します。
TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。
public static applyCenteredRmsProp <T> create (スコープscope,オペランド<T> var,オペランド<T> mg,オペランド<T> ms,オペランド<T> mom,オペランド<T> lr,オペランド<T> rho,オペランド<T > 運動量、オペランド<T> イプシロン、オペランド<T> grad、オプション...オプション)
新しいApplyCenteredRmsPropオペレーションをラップするクラスを作成するためのファクトリ メソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
変数 | Variable() から取得する必要があります。 |
mg | Variable() から取得する必要があります。 |
MS | Variable() から取得する必要があります。 |
お母さん | Variable() から取得する必要があります。 |
lr | スケーリング係数。スカラーでなければなりません。 |
ロー | 減衰率。スカラーでなければなりません。 |
勢い | 勢いスケール。スカラーでなければなりません。 |
イプシロン | リッジ用語。スカラーでなければなりません。 |
卒業生 | グラデーション。 |
オプション | オプションの属性値を持ちます |
戻り値
- applyCenteredRmsProp の新しいインスタンス
public static applyCenteredRmsProp.Options useLocking (ブール型 useLocking)
パラメーター
使用ロック | 「True」の場合、var、mg、ms、mom テンソルの更新はロックによって保護されます。それ以外の場合、動作は未定義ですが、競合が少なくなる可能性があります。 |
---|