[ディープラーニング]SGD(確率勾配降下法)の欠点

AI

どうも、ちょげです。

ディープランニングでは、SGD(確率勾配降下法)という重みパラメータの更新方法があります。

SGDは一般的なパラメータの更新方法なのですが欠点があります。

スポンサーリンク

ゴールを目指しているとは限らない

目的地, ゴール, 目的, 目標, 目当て, 理想, 行き先, ターゲット, 標的, ガイド, 目印, 到達点

その欠点は、必ずしも最適な重みパラメータを目指しているとは限らないという点です。

どういうことかというと、SGDでは「勾配」を元に「損失関数」の最小値を目指して、パラメータを更新する方向(プラスかマイナスか)を決めます。

この勾配とは、ある地点から見た最も値が小さくなる方向です。

SGDの勾配は、損失関数の最小値の方向を示します。

しかし、重要なのは勾配は「ある地点から見た最小値」を示すという点です。

例えば、波のような上がったり下がったりする関数があったとします。

すると、勾配は次のような矢印になります。

手書きで汚いのは申し訳ないのですが、まずこのグラフの最小値はDです。

しかし、AとCの間ではBが最小値のように見えるので、本来の最小値Dとは異なる点Bを指してしまいます。

AとCの間からこのグラフを使った学習をした場合には、間違った点Bを学習のゴールにしてしまうので、本当に最適なパラメータにすることが出来ないのです。

スポンサーリンク

まとめ

今回はSGDの欠点について解説しました。

SGDの欠点は勾配が上手く働かない場合があるという点です。

読んでいただきありがとうございました。

少しでも参考になれば嬉しいです。

スポンサーリンク

参考

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
Amazonで斎藤 康毅のゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装。アマゾンならポイント還元本が多数。斎藤 康毅作品ほか、お急ぎ便対象商品は当日お届けも可能。またゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装もアマゾン配送商品...

コメント

タイトルとURLをコピーしました