Tensorflow-optimizers
提供:Dev Guides
TensorFlow-オプティマイザー
オプティマイザーは、特定のモデルをトレーニングするための追加情報を含む拡張クラスです。 オプティマイザークラスは指定されたパラメーターで初期化されますが、Tensorは必要ないことに注意することが重要です。 オプティマイザーは、特定のモデルのトレーニングの速度とパフォーマンスを改善するために使用されます。
TensorFlowの基本的なオプティマイザーは-
tf.train.Optimizer
このクラスは、tensorflow/python/training/optimizer.pyの指定されたパスで定義されます。
以下はTensorflowのいくつかのオプティマイザーです-
- 確率的勾配降下
- 勾配クリッピングを使用した確率的勾配降下
- 勢い
- ネステロフの勢い
- アダグラード
- アダデルタ
- RMSProp
- Adam
- アダマックス
- SMORMS3
確率的勾配降下法に焦点を当てます。 同じためのオプティマイザーを作成するための図は以下に記載されています-
def sgd(cost, params, lr = np.float32(0.01)):
g_params = tf.gradients(cost, params)
updates = []
for param, g_param in zip(params, g_params):
updates.append(param.assign(param - lr*g_param))
return updates
基本パラメーターは、特定の機能内で定義されます。 後続の章では、オプティマイザーの実装による勾配降下最適化に焦点を当てます。