Keras : オプティマイザ(翻訳/要約)
* 本ページは、Keras 本家サイトの Keras : Optimizers の簡単な要約です。
オプティマイザの使用方法
optimizer は Keras モデルのコンパイリングのために必要な2つの引数の一つです :
model = Sequential() model.add(Dense(64, init='uniform', input_dim=10)) model.add(Activation('tanh')) model.add(Activation('softmax')) sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='mean_squared_error', optimizer=sgd)
model.compile() に渡す前に optimizer をインスタンス化しても良いし、上の例のように、その名前で呼び出すこともできます。後者の場合には、optimizer のためのデフォルト・パラメータが使用されます。
# optimizer を名前で渡す: デフォルト・パラメータが使用されます。 model.compile(loss='mean_squared_error', optimizer='sgd')
Optimizer
keras.optimizers.Optimizer()
抽象 optimizer 基底クラス。
- Note: これは全ての optimizer の親クラスです、訓練モデルのために使用可能な実際の optimizer ではありません。
全ての Keras optimizer は次のキーワード引数をサポートします :
- clipnorm: float >= 0. (勾配の) L2 norm がこの値を超えた時、勾配がクリップされます。
- clipvalue: float >= 0.
(勾配の)絶対値がこの値を超えた時、勾配がクリップされます。
SGD
keras.optimizers.SGD(lr=0.01, momentum=0.0, decay=0.0, nesterov=False)
確率的勾配降下 (Stochastic gradient descent)。
momentum, decay, そして Nesterov momentum のサポートつき。
引数
- lr: float >= 0. 学習率。
- momentum: float >= 0. Parameter updates momentum.
- decay: float >= 0. 各更新上の学習率減衰。
- nesterov: boolean. Nesterov momentum を適用するか否か。
RMSprop
keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=1e-06)
RMSProp optimizer.
このオプティマイザのパラメータはデフォルト値のままにすることが推奨されます。
このオプティマイザは RNN のためには通常は良い選択です。
引数
- lr: float >= 0. 学習率。
- rho: float >= 0.
- epsilon: float >= 0. Fuzz factor.
Adagrad
keras.optimizers.Adagrad(lr=0.01, epsilon=1e-06)
Adagrad optimizer.
このオプティマイザのパラメータはデフォルト値のままにすることが推奨されます。
引数
- lr: float >= 0. 学習率。
- epsilon: float >= 0.
Adadelta
keras.optimizers.Adadelta(lr=1.0, rho=0.95, epsilon=1e-06)
Adadelta optimizer.
このオプティマイザのパラメータはデフォルト値のままにすることが推奨されます。
引数
-
lr: float >= 0. 学習率。デフォルト値のままにすることが推奨されます。
rho: float >= 0.
epsilon: float >= 0. Fuzz factor.
References
Adam
keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
Adam optimizer.
デフォルト・パラメータは元の論文で提供されているものに従っています。
引数
- lr: float >= 0. 学習率。
- beta_1/beta_2: floats, 0 < beta < 1. Generally close to 1.
- epsilon: float >= 0. Fuzz factor.
References
Adamax
keras.optimizers.Adamax(lr=0.002, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
Adamax optimizer from Adam paper’s Section 7.
infinity norm に基づく Adam の亜種です。
デフォルト・パラメータは論文で提供されているものに従っています。
引数
- lr: float >= 0. 学習率。
- beta_1/beta_2: floats, 0 < beta < 1. Generally close to 1.
- epsilon: float >= 0. Fuzz factor.
References
以上