スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.2159
機械学習における最適化アルゴリズムの一つである最急降下法に関する説明として、最も適切なものはどれか。

【正解の解説】

目的関数の勾配方向に沿ってパラメータを少しずつ更新し、関数の最小値(極小値)を探索する手法である。

これは霧の中の山を下りる時に、足元の地面の傾きだけを頼りに、一歩ずつ一番急な下り坂の方向へ進んで谷底を目指す動きと全く同じです。全体を見渡せなくても、目の前の傾斜を感じ取って少しずつ進むことで、最終的に最も低い目的地にたどり着くことができます。

スポンサーリンク

【その他の選択肢の解説】

目的関数のヘッセ行列を用いて逆行列を直接計算し、一回の反復計算で関数の最小値(極小値)を厳密に算出する手法である。

ヘッセ行列の逆行列を計算するのは計算コストが非常に高く、パラメータが数百万個以上あるような巨大な機械学習モデルでは現実的に処理しきれません。最急降下法は、この計算の重さを避けるために、あえてシンプルな一次の傾き情報だけを頼りに進む賢い妥協策となっています。

目的関数の勾配が最大となる逆方向にパラメータを大幅に移動させ、関数の最大値(極大値)を効率的に探索する手法である。

最急降下法はエラーを減らしたいので、坂を下る(値が小さくなる)方向に進みます。もし最大値を探すのであれば「最急上昇法」になり、さらに移動幅を大きすぎると谷底を飛び越えてしまい、永遠に値が発散して学習できなくなるという初心者が陥りがちな罠を含んでいます。

目的関数のすべてのパラメータ空間をグリッド状に分割し、全網羅的に値を比較することで大域的最適解を必ず得る手法である。

パラメータの数が数個程度なら全網羅も可能ですが、ディープラーニングのように数億個のパラメータがある場合、全探索をすると宇宙の寿命以上の時間がかかります。そのため、最急降下法のように「傾き」というヒントを使って効率よく当たりをつけるアプローチが不可欠となります。