AdaDelta

パブリック クラスAdaDelta

Adadelta アルゴリズムを実装するオプティマイザー。

Adadelta 最適化は、次元ごとの適応学習率に基づく確率的勾配降下法であり、次の 2 つの欠点に対処します。

  • トレーニングを通じて学習率が継続的に低下する
  • 手動で選択されたグローバル学習率の必要性

Adadelta は、過去のすべての勾配を蓄積するのではなく、勾配更新の移動ウィンドウに基づいて学習率を適応させる、Adagrad のより堅牢な拡張機能です。このようにして、Adadelta は、多くの更新が行われた場合でも学習を続けます。 Adagrad と比較すると、Adadelta のオリジナル バージョンでは、初期学習率を設定する必要はありません。このバージョンでは、他のほとんどのオプティマイザーと同様に、初期学習率を設定できます。

セクション 4.3 (「有効な学習率」) によると、トレーニングの終了近くでステップ サイズは 1 に収束します。これは事実上、発散を引き起こす高い学習率です。これは、勾配とステップ サイズが小さく、学習率を 1 に収束させる過去の勾配とパラメータの更新よりも分子と分母のイプシロン定数が支配的であるため、トレーニングの終わり近くでのみ発生します。

セクション 4.4 (「音声データ」) によると、4 つの隠れ層を持つ大規模なニューラル ネットワークが米国英語データのコーパスでトレーニングされ、ADADELTA が 100 のネットワーク レプリカで使用されました。使用されたイプシロンは 1e-6、rho=0.95 です。次の構造により、ADAGRAD よりも高速に収束します。 new AdaDelta(graph, 1.0f, 0.95f, 1e-6f);

定数

アキュムレータ
アキュムレータ_アップデート
浮くEPSILON_DEFAULT
浮く学習_レート_デフォルト
浮くRHO_DEFAULT

継承された定数

パブリックコンストラクター

AdaDeltaグラフグラフ)
AdaDelta ( Graphグラフ、float learningRate)
AdaDelta オプティマイザーを作成します
AdaDelta ( Graphグラフ、float learningRate、float rho、float epsilon)
AdaDelta オプティマイザーを作成します
AdaDelta (グラフグラフ、文字列名、浮動小数点学習率)
AdaDelta オプティマイザーを作成します
AdaDelta ( Graphグラフ、文字列名、float learningRate、float rho、float epsilon)
AdaDelta オプティマイザーを作成します

パブリックメソッド

getOptimizerName ()
オプティマイザーの名前を取得します。

継承されたメソッド

定数

public static Final String ACCUMULATOR

定数値: "accum"

パブリック静的最終文字列ACCUMULATOR_UPDATE

定数値: "accum_update"

パブリック静的最終フロートEPSILON_DEFAULT

定数値: 1.0E-7

パブリック静的最終フロートLEARNING_RATE_DEFAULT

定数値: 0.001

パブリック静的最終フロートRHO_DEFAULT

定数値: 0.95

パブリックコンストラクター

パブリックAdaDelta (グラフグラフ)

public AdaDelta ( Graphグラフ、float learningRate)

AdaDelta オプティマイザーを作成します

パラメーター
グラフTensorFlow グラフ
学習率学習率

public AdaDelta ( Graphグラフ、float learningRate、float rho、float epsilon)

AdaDelta オプティマイザーを作成します

パラメーター
グラフTensorFlow グラフ
学習率学習率
ロー減衰係数
イプシロンgrad アップデートをより適切に調整するために使用される定数イプシロン

public AdaDelta ( Graphグラフ、文字列名、float learningRate)

AdaDelta オプティマイザーを作成します

パラメーター
グラフTensorFlow グラフ
名前このオプティマイザーの名前 (デフォルトは「Adadelta」)
学習率学習率

public AdaDelta ( Graphグラフ、文字列名、float learningRate、float rho、float epsilon)

AdaDelta オプティマイザーを作成します

パラメーター
グラフTensorFlow グラフ
名前このオプティマイザーの名前 (デフォルトは「Adadelta」)
学習率学習率
ロー減衰係数
イプシロンgrad アップデートをより適切に調整するために使用される定数イプシロン

パブリックメソッド

public String getOptimizerName ()

オプティマイザーの名前を取得します。

戻り値
  • オプティマイザーの名前。

public String toString ()