1. 学ぶ
  2. /
  3. コース
  4. /
  5. Introduction to TensorFlow in Python

Connected

演習

局所最小値の落とし穴

次の損失関数 loss_function() のプロットを考えます。右側の点で示した大域的最小値に加え、左側の点を含む複数の局所最小値があります。

単変数関数のグラフで、複数の局所最小値と大域的最小値が含まれています。

この演習では、keras.optimizers.SGD() を使って loss_function() の大域的最小値を見つけます。これは2回行い、毎回 loss_function() への入力の初期値を変えます。最初は初期値 6.0 の変数 x_1 を使います。次に、初期値 0.3 の変数 x_2 を使います。loss_function() はすでに定義済みで利用できます。

指示

100 XP
  • 学習率 0.01 の確率的勾配降下法(SGD)オプティマイザを使うように opt を設定します。
  • 損失関数 loss_function() と、初期値が 6.0 の変数 x_1 を用いて最小化を実行します。
  • 損失関数 loss_function() と、初期値が 0.3 の変数 x_2 を用いて最小化を実行します。
  • x_1 と x_2 を numpy 配列として出力し、値が異なるか確認します。これらはアルゴリズムが見つけた最小値です。