勾配法|勾配方向へ進み反復収束で最小化

勾配法

勾配法は、微分可能な目的関数の最小化に用いる基本的な反復最適化手法である。各反復で勾配ベクトルが示す増加方向の反対側へ進むことで関数値を減少させる。更新式は x_{k+1}=x_k-α_k∇f(x_k) と表され、α_k(ステップ幅)の選び方が性能を大きく左右する。凸問題では停留点が大域解に一致しやすく、非凸問題では局所解への収束を前提に設計する。本手法は実装が容易で計算・記憶資源の要求が小さく、大規模問題や機械学習、パラメータ推定、形状最適化など広範な応用をもつ。

定義と基本アイデア

微分可能関数 f(x) に対し、勾配 ∇f(x) は最も増加する方向を与える。ゆえに勾配法では、最も減少する方向 −∇f(x) に進む。凸最適化では f がLipschitz連続な勾配を持つとき、適切なα_kを選べば収束が保証される。非凸では停留点(∇f=0)への収束が主対象となる。連続最適化の基礎概念である目的関数と、その制約の扱いは後述する。

アルゴリズム手順

標準的な勾配法の流れは次の通りである。

  1. 初期値 x_0 を与える(スケーリングや正則化を事前検討)。
  2. 勾配 ∇f(x_k) を計算。
  3. 探索方向 d_k = −∇f(x_k) を選定。
  4. ステップ幅 α_k を決定(固定、減衰、ラインサーチ)。
  5. x_{k+1}=x_k+α_k d_k により更新。
  6. 停止規準(勾配ノルム、相対改善、反復上限)で判定。

ステップ幅の選び方

ステップ幅は収束速度と安定性を左右する核である。大きすぎれば発散し、小さすぎれば収束が遅い。代表例は次の通りである。

  • 固定幅:実装容易だが条件数に敏感。
  • 減衰列:α_k を徐々に減らし収束を安定化。
  • ラインサーチ:Armijo/Wolfe条件で十分減少と曲率を両立。
  • 2点近似(Barzilai–Borwein):経験的に高速なことが多い。

ラインサーチは関数評価回数と勾配計算回数のバランスをとる点で汎用性が高い。実務では関数・勾配の計算コストに応じて戦略を切り替える。

収束性と計算量

凸かつ∇fがLipschitz連続のとき、単純な勾配法はおおむね O(1/k) の収束率を示す。条件数 κ が大きい(悪条件)場合、収束は著しく遅くなるため、変数のスケーリング、前処理、特徴量の標準化などが有効である。二次近似を取り入れる準ニュートン(L-BFGS など)は勾配のみの情報から曲率を近似し高速化できるが、実装・メモリはやや複雑になる。

制約付き最適化への拡張

制約を含む問題では、制約条件への対応が鍵である。代表的には、可行集合への直交射影を用いる射影勾配法、罰金関数やバリア関数で制約を緩和して無制約化する方法、KKT条件を満たすラグランジュ法などがある。線形制約の多い問題では線形計画法が候補になる一方、非線形制約では非線形最適化の枠組みを併用する。

確率的・大規模問題

データが巨大な場合、全データでの勾配計算は高コストになる。確率的勾配法(SGD)やミニバッチは計算を近似して高速化し、モメンタムやNesterov加速で停滞を緩和する。分散低減(SVRG, SAGA)によりばらつきの影響を抑え、実用上の収束を改善できる。機械学習では正則化を加えた目的関数を用いて過学習を避ける。

他手法との位置づけ

多目的最適化では勾配が複数目的間で相反するため、パレート最適の概念が重要になる。組合せ的・非微分な領域では、焼きなまし法遺伝的アルゴリズム粒子群最適化などのメタヒューリスティクスを選ぶことが多い。連続で滑らかな目的に対しては勾配法の単純さと拡張性が依然として強みである。

実務での勘所

初期値は収束点や速度に影響するため、問題構造の知識を反映して設定する。スケーリングや正則化、パラメータ同士の単位整合は必須である。非凸・非滑らかでは平滑化や分割最小化、サブグラディエントの導入を検討する。逆解析では測定ノイズが勾配推定に影響するため、フィルタリングやTikhonov正則化が有効である。これらは逆問題の文脈でもしばしば重要となる。

代表的な停止規準

  • ||∇f(x_k)||_∞ ≤ ε(勾配ノルムの閾値)。
  • |f(x_{k+1})−f(x_k)|/max(1,|f(x_k)|) ≤ ε(相対改善)。
  • 反復回数・計算時間の上限到達。

用語と式のメモ

更新式 x_{k+1}=x_k−α_k∇f(x_k)。探索方向 d_k=−∇f(x_k)。ラインサーチでは十分減少(Armijo)と曲率条件(Wolfe)を満たすα_kを探索する。条件数 κ を下げる前処理は収束を加速しうる。多目的では重み付け合成の他、制約化やε制約法を用いる。状態量が支配方程式で定まる工学システムでは、随伴法により勾配計算を効率化する点が実務的に重要である。微分方程式モデルとの関係は状態方程式の項で扱う概念と親和的である。

応用例

機械設計では部材寸法の連続調整、材料パラメータ同定、振動・熱連成系のゲイン調整に使われる。CAEでは形状・トポロジー最適化の密度更新に勾配法系アルゴリズムが多用される。データ解析では最小二乗、ロジスティック回帰、正則化付き回帰の学習で中心的役割を果たす。工程条件の連続パラメータ最適化や、制御器のパラメータ整定など産業応用も広い。問題の性質に応じ、非線形最適化多目的最適化と組み合わせて設計空間を戦略的に探索することが肝要である。