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

Connected

演習

勾配で最適化する

損失関数 \(y = x^{2}\) が与えられており、これを最小化したいとします。x のさまざまな値で GradientTape() を使って傾きを計算することで実現できます。傾きが正なら、x を小さくすると損失が減ります。負なら、x を大きくすると損失が減ります。これが勾配降下法の仕組みです。

The image shows a plot of y equals x squared. It also shows the gradient at x equals -1, x equals 0, and x equals 1.

実務では、高水準の tensorflow 演算を使って勾配降下法を自動で実行します。しかしこの演習では、x が -1、1、0 のときの傾きを自分で計算します。使用できる演算は GradientTape()、multiply()、Variable() です。

指示

100 XP
  • x0 を初期値とする変数として x を定義します。
  • 演算子のオーバーロードは使わず、損失関数 y を x かける x と等しく設定します。
  • 関数の戻り値として、y の x に関する勾配を返すようにします。