まったりAI勉強記

AI(人工知能)について、特にゆかりがあるわけでもない社会人が、まったりとAIについて勉強していく勉強日記です。

【ひとり読書会】PyTorch&深層学習プログラミング(第16回)

どうも、カタミチです。

さて、今日も「最短コースでわかる PyTorch&深層学習プログラミング」のひとり読書会、やっていきますかねー。

3章も中盤戦ってところですかねー。いってみよー

3-4. 勾配降下法の実装

さて、本節はどうやら勾配降下法の実装についての節のようです。コーディングの流れとしては大きく4つで…

①予測計算
②損失計算
③勾配計算
④パラメータ修正

とあります。私が前著から学んだ「勾配降下法」と、多少の用語の差異こそあれ、アルゴリズムは同じはずです。なので、個人的には復習の意味合いが強いですかね。ともあれ、見ていきましょう。

①予測計算

まずは予測計算。入力テンソルを\(X\)とし、予測結果を出力テンソル\(Yp\)としたとき、予測関数は、係数\(W\)と定数\(B\)を用いて…

\(Yp = W * X + B\)

と表せるよー、とあります。割り当てられている文字が異なるものの、以前にもやった「予測モデル」の式と同じですね。(参考:【ひとり読書会】ディープラーニングの数学(第18回) - まったりAI勉強記

ちなみに以前にやったときは、

\(yp=w_0+w_1x\)

って書き方していましたね。改めて見ると、線形回帰は重みパラメータの数が少なく、スタートの式がシンプルですね。

②損失計算

つづいて損失計算。数学的には、数式で色々と苦労した部分になりますが、本書の本節では深くは触れられていません。正解テンソルを\(Y\)とする、ってことと、損失関数には「平均2乗誤差」を選ぶことが書かれているにとどまります。

当然このあたりは、前にアルゴリズムを勉強した部分なので、イメージはついてます、はい。

③勾配計算

で、勾配計算。\(W\)と\(B\)を少しずらすよー、これにより勾配値を求めるよー、ということだけ触れられていますね。

④パラメータ修正

最後にパラメータ修正。勾配値に学習率をかけてずらします。勾配降下法の式として紹介されていたアレですね。(参考:【ひとり読書会】ディープラーニングの数学(第19回) - まったりAI勉強記)今回は、学習率には\(\alpha\)ではなく\(lr\)って文字が使われるようです。

ということで

本節は勾配降下法の手順の話でしたね。次節からはどうやら具体的にコードを書いていくみたいなので、楽しみにしておきますかねー。

ではまた。