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

基本パラメーターは、特定の機能内で定義されます。 後続の章では、オプティマイザーの実装による勾配降下最適化に焦点を当てます。