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

基本的なパラメータは、特定の関数内で定義されます。次の章では、オプティマイザーの実装による最急降下法の最適化に焦点を当てます。