TensorFlow-オプティマイザー
オプティマイザーは拡張クラスであり、特定のモデルをトレーニングするための追加情報が含まれています。オプティマイザークラスは指定されたパラメーターで初期化されますが、Tensorは必要ないことを覚えておくことが重要です。オプティマイザーは、特定のモデルをトレーニングするための速度とパフォーマンスを向上させるために使用されます。
TensorFlowの基本的なオプティマイザーは次のとおりです。
tf.train.Optimizer
このクラスは、tensorflow / python / training /optimizer.pyの指定されたパスで定義されています。
以下はTensorflowのいくつかのオプティマイザーです-
- 確率的勾配降下法
- 勾配クリッピングを伴う確率的勾配降下法
- Momentum
- ネステロフの勢い
- Adagrad
- Adadelta
- RMSProp
- Adam
- Adamax
- 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
基本的なパラメータは、特定の関数内で定義されます。次の章では、オプティマイザーの実装による最急降下法の最適化に焦点を当てます。