Appearance
第3章:最適化の数理 —— 勾配法とリプシッツ連続
前章までで、線形モデルの解析的な解法(正規方程式や擬似逆行列)を見てきました。しかし、現代の機械学習で扱う複雑なモデル(深層学習など)では、方程式を解いて一発で最適なパラメータを求めることは不可能です。 そこで本章では、少しずつパラメータを更新して最小値を探り当てる「勾配法」について、なぜその更新式で確実に最小値へ向かえるのかを、テイラー展開と「リプシッツ連続」という強力な数学的道具を用いて証明します。
1. 逐次最小化とテイラー展開(1変数)
ある目的関数 を最小化するパラメータ を見つけたいとします。現在のパラメータを としたとき、 の近傍での関数の振る舞いは、テイラー展開によって2次関数として近似できます。
この2次関数が「下に凸」な二次関数(お椀型)であれば、その頂点を求めることで現在の位置 より関数の値が小さくなる新しい を見つけることができます。 しかし、2階微分 を毎回計算するのは大変です。そこで、この をある正の定数 に置き換えた関数を考えます。
この右辺を「平方完成」して頂点を探してみましょう。
この2次関数が最小となるのは、括弧の中が になる時、すなわち次の更新式を満たす時です。
これが勾配法の基本式です。定数 は「学習率」に相当します。
2. リプシッツ連続による上界の保証
前節で「2階微分を に置き換えた2次関数」が、元の関数 を常に上から覆いかぶさる「上界(代理関数)」となるためには、数学的な保証が必要です。ここで登場するのがリプシッツ連続です。
関数の導関数 が、ある定数 (リプシッツ定数)を用いて以下の条件を満たすとき、その勾配はリプシッツ連続であると言います。
これは「勾配(傾き)の変化があまり激しすぎない(変化率が で抑えられている)」ことを意味します。ここで と置きます。 微積分学の基本定理より、 は積分を用いて次のように変形できます。
ここに無理やり を足して引くというテクニックを使います。
この第3項に対してリプシッツ連続の条件 を適用して積分を評価します。
したがって、以下の不等式(上界)が厳密に証明されます。
この「上界となる2次関数(代理関数)」の頂点を更新先とすることで、元の関数 の値も必ず単調に減少することが保証されるのです。
3. 多変数関数への拡張とヘッセ行列
次に、パラメータが複数のベクトル である場合へ拡張します。 多変数関数のテイラー展開では、1階微分は勾配ベクトル 、2階微分はヘッセ行列 となります。
ヘッセ行列 が正定値(すべての固有値が正)であれば、この関数は「下に凸の2次関数(お椀型)」になります。平方完成を行って頂点を求めると、次のような更新式が得られます(ニュートン法)。
しかし、機械学習において巨大なヘッセ行列 の逆行列 を計算することは、計算コストの面で現実的ではありません。
4. 代理関数と勾配法の完成(ベクトル版)
そこで、1変数の時と同様に、複雑なヘッセ行列 を単純な対角行列 に置き換えることで、計算を劇的に簡単にします。
ベクトル空間におけるリプシッツ連続の条件 と、ベクトルの内積に関するコーシー・シュワルツの不等式()を用いることで、このベクトル版の不等式も厳密に証明できます。
コーシー・シュワルツの不等式とリプシッツ条件()を適用すると、第2項は次のように上から抑えられます。
こうして導かれた代理関数を最小化するよう平方完成を行うと、次式が得られます。
ノルムが最小(ゼロ)になるのは、括弧の中が のときです。これにより、機械学習で最も広く使われる**勾配降下法(Gradient Descent)**の更新式が、厳密な数学的保証とともに完成します。
ヘッセ行列の計算という重い負担を捨て去り、「現在地の勾配(傾き)の逆方向へ、学習率 の歩幅で進む」という極めてシンプルなルールだけで、最適解へと確実に近づけるのです。