最適化アルゴリズムが本来目指しているゴール、それが大域最適解です。定義自体は「すべての中で一番良い解」とシンプルですが、試験で問われるのは「なぜそこへたどり着くのが難しいのか」「たどり着けなくても良いのはなぜか」という周辺の理解です。この記事では、ゴールの定義から到達可能性の話までを整理します。

📖 ひと言でいうと

大域最適解とは、考えられるすべての解の中で最も良い(最小化問題なら最小、最大化問題なら最大の)解のことです。山脈全体で標高が一番低い谷底に例えられます。途中にあるくぼ地(局所最適解)はあくまで「その周辺で一番低い」だけであり、山脈全体のチャンピオンである大域最適解とは区別されます。ニューラルネットワークの学習は、誤差関数の値をできる限りこの大域最適解に近づける営みです。

🖼 1枚でわかる大域最適解

大域最適解=全体で一番良い解
  • 定義 — すべての解の中で最も良い(最小または最大)解
  • 対になる概念 — 局所最適解=周辺の中でだけ最良の「見せかけの解」
  • 到達の壁 — 複雑な誤差関数では勾配降下法が局所最適解や鞍点で止まり得る
  • 実務の割り切り — 大域最適解でなくても、十分に誤差が低い解なら実用上OK
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

すべての解の中で最も良い(最小または最大)解。

定義は一文ですが、2つの含みに注意してください。第一に「すべての解の中で」という範囲指定です。比較の土俵が解の候補全体(解空間全体)に及ぶことが、あくまで周辺の範囲だけで比べる局所最適解との決定的な違いです。第二に「最小または最大」という書き方です。誤差を小さくしたい学習では最小値が、報酬や利益を大きくしたい問題では最大値がゴールになる、というように、最適化の向きは問題によって異なります。

🔍 しっかり理解する

局所最適解との関係を正確に

ニューラルネットワークの学習では、誤差関数(コスト関数)を最小にするパラメータを探します。このとき解空間全体での最小点が大域最適解、周辺でのみ最小に見える点が局所最適解です。地形でいえば、大域最適解は山脈全体で最も深い谷底、局所最適解は途中の浅いくぼ地です。勾配降下法は足元の傾きだけを頼りに下るため、くぼ地の底で勾配がゼロになると、そこが全体の底でなくても停止してしまいます。

🅰 大域最適解
  • すべての解の中で最も良い解
  • 最適化アルゴリズムの本来のゴール
  • 複雑な関数では到達の保証が難しい
🅱 局所最適解
  • 周辺の範囲でのみ最良に見える解
  • 勾配降下法が停止してしまう落とし穴
  • 全体で見ればより良い解が他にあり得る

関数の形で難易度が変わる

大域最適解へたどり着けるかどうかは、最適化する関数の形に大きく依存します。谷が1つしかないお椀型の関数(凸関数)なら、局所的に最小な点はそのまま全体の最小、つまり大域最適解になるため、素直に勾配を下るだけでゴールに到達できる見込みが高くなります。凸関数の最適化が「解きやすい問題」とされるのは、この「見せかけの谷が存在しない」という性質のおかげです。一方、ニューラルネットワークの誤差関数のように谷やくぼみが無数にある複雑な形(非凸関数)では、どの谷にたどり着くかが初期値や経路に左右され、大域最適解への到達は一般に保証できません。

「届かなくても良い」という実務感覚

では大域最適解に届かない学習は失敗なのでしょうか。実はそうではありません。ディープラーニングの実務では、大域最適解そのものでなくても、誤差が十分に低く汎化性能の良い解が得られれば目的は達成されます。学習率の調整、モーメンタム、確率的勾配降下法のランダム性といった工夫は、「大域最適解を保証する」ためではなく、「できるだけ質の悪い局所最適解を避け、十分に良い解へ導く」ための技術と理解するのが正確です。

さらに言えば、たどり着いた解が大域最適解かどうかを確かめる一般的な方法もありません。解空間全体を調べ尽くさない限り「これより良い解は存在しない」とは言い切れないからです。だからこそ実務では、初期値を変えて複数回学習して結果を比べる、検証データでの性能を到達点の判断基準にする、といった「確かめられない前提」での運用が標準になっています。

💡 具体例で考える

配送ルートの最適化を考えてみましょう。回る順番を決めるだけの問題に見えますが、10か所を訪問する順序は10!=約363万通りもあり、その中で総移動距離が本当に最短になるただ1つの順序が大域最適解です。「近くの未訪問地点へ次々向かう」という素朴な方法でもそれなりに短いルート(局所的に良い解)は得られますが、全体最短とは限りません。すべての候補を比較し尽くさない限り「これが全体の最良だ」と言い切れない点に、大域最適解の難しさが表れています。

ニューラルネットワークの学習でも同じ構図です。同じモデルを初期値だけ変えて何度か学習すると、毎回異なる誤差に落ち着きます。それぞれが別の谷(局所最適解)であり、その中のどれが大域最適解かは通常わかりません。それでも検証データでの性能が十分なら、その解を採用する——これが実務の標準的な割り切りです。「理論上のゴール(大域最適解)」と「実務上のゴール(十分に良い解)」を分けて考えられるようになると、この分野の問題文がぐっと読みやすくなります。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 局所最適解との取り違え: 大域最適解は「すべての解の中で最も良い解」、局所最適解は「最小に見えるが実際にそうではない見せかけの解」です。定義文を入れ替えた選択肢は最も典型的なひっかけです。
  • 「最小の解」とだけ覚えるのは不正確: 定義は「最も良い(最小または最大)解」です。誤差の最小化では最小値ですが、最大化問題では最大値が大域最適解になります。
  • 「学習は大域最適解に到達して初めて成功」は誤り: 複雑な非凸関数では到達の保証がなく、実用上は十分に良い解が得られれば足ります。
  • 鞍点との混同: 鞍点は方向によって極小にも極大にも見える停滞地点であり、解の良し悪しのチャンピオンを表す大域最適解とは概念の種類が違います。

📝 試験でのポイント

💡 ポイント
  • 「すべての解の中で最も良い(最小または最大)解」という定義文と大域最適解を対応させる問題、および局所最適解の定義とのペア出題が基本の想定です。
  • 「勾配降下法は必ず大域最適解に到達するか」という真偽判定では「保証はない」が正解筋です。ローカルミニマムやプラトーが理由として挙げられます。
  • 局所最適解から抜け出して大域最適解に近づくための工夫(学習率を大きめにする、モーメンタムなど)との組み合わせで問われることも想定されます。

📚 まとめ

大域最適解は、すべての解の中で最も良い(最小または最大)解であり、最適化の本来のゴールです。ただしニューラルネットワークの誤差関数のような複雑な非凸関数では到達の保証がなく、学習は局所最適解や鞍点で止まり得ます。実務では「十分に良い解で足りる」という割り切りも含め、局所最適解との定義の対比を正確に押さえることが得点の鍵です。