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