テクニカルガイド
二次最適化とニュートン法
二次最適化では、曲率情報 (二次導関数のヘッセ行列) を使用して、傾きだけでなく、最小値に向けてより賢明なステップを実行します。
このガイドを聴くAIによるナレーション · ~2 min
概要
It can converge in dramatically fewer iterations than plain gradient descent, but the cost of computing curvature makes it tricky to scale.
ディープダイブ
勾配降下法では、現在のポイントの傾きしか分からないため、固定または手動調整されたステップ サイズが選択され、最良の結果が得られることが期待されます。ニュートンの方法はさらに進んでおり、すべての 2 次偏導関数の行列であるヘッシアンによって捕捉された、傾き (曲率) がどのように変化しているかにも注目します。更新では、逆ヘッセ行列に勾配を乗算します。これにより、各方向が自動的に再スケールされ、局所二次近似の最小値近くになります。完全な二次曲線のボウルの場合、ニュートン法は 1 つのステップで底に到達します。問題は残酷です。N パラメータを持つモデルには N 行 N 列のヘッセ行列があるため、それを保存および反転するには、およそ N の 2 乗のメモリと N の 3 乗の計算が必要になります。 10 億パラメータのネットワークではそれは不可能であるため、専門家は安価な近似値を使用します。
現実世界の実装
scikit-learn の L-BFGS フィッティング ロジスティック回帰およびその他の凸モデル。小規模から中規模のデータセットでは単純勾配降下法を上回ることがよくあります。
3D 再構築と SLAM でのバンドル調整。ガウス ニュートンとレーベンバーグ マルカートがカメラのポーズとポイントの位置を調整します。
L-BFGS がアダムが到達するのが困難な精度を達成する、物理学に基づいた小さなニューラル ネットワークのトレーニング
ヘッセ行列の構造を近似することで大規模な深層学習トレーニングを高速化するシャンプーと K-FAC
二次最適化とニュートン法の将来
巨大なニューラル ネットワークの場合、完全な 2 次法は依然として非実用的ですが、近似法が普及しつつあります。 K-FAC や Shampoo などのオプティマイザーは、ブロック対角構造またはクロネッカー因子構造を使用して曲率を近似します。また、Sophia や Muon などの新しい手法は、大規模な言語モデルの事前トレーニングを高速化するために安価な曲率推定を使用します。有用な曲率信号をほぼ一次コストで捕捉し、アダム ステップと真のニュートン ステップ間のギャップを狭めるための継続的な努力が期待されます。
実践する
なぜそれが重要なのか
- 費用と予算. アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
- より明確な判決. 技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
- 品質管理. より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。
気をつけてください
- 1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
- インフラストラクチャとメンテナンスのコストは過小評価されがちです。
- システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。
次のステップ
- 実装前にレイテンシ、品質、コストの目標を定義します。
- 現実的な負荷とデータ条件でのベンチマーク。
- エラー、ドリフト、ユーザーへの影響を計測器で監視します。
- スケーリングの前に、ロールバックとインシデント対応のパスを準備します。
探検を続けましょう
よくある質問
What is Second-Order Optimization and Newton Methods?
二次最適化では、曲率情報 (二次導関数のヘッセ行列) を使用して、傾きだけでなく、最小値に向けてより賢明なステップを実行します。単純な勾配降下法よりも劇的に少ない反復回数で収束できますが、曲率の計算にコストがかかるため、拡張するのが難しくなります。
ニュートン法では、単純勾配降下法では使用されないどのような情報が使用されますか?
ニュートン法は、ヘッセ行列からの曲率で勾配を増大させ、方向を再スケールして局所二次最小値に近似させます。
完全な二次関数の目的では、ニュートン法が最小値に達するまでに何ステップ必要ですか?
厳密な 2 次関数では、局所 2 次関数モデルは真の関数と等しいため、1 ニュートン ステップで最小値に直接ジャンプします。
完全なニュートン法が 10 億パラメータのニューラル ネットワークでは非実用的であるのはなぜですか?
N 個のパラメータを使用すると、ヘッセ行列は N 乗のエントリを持ち、それを反転すると N の 3 乗のようにスケールされますが、これは数十億のパラメータでは実行不可能です。
BFGS のような準ニュートン法はヘッセ行列のコストを回避するために何をしますか?
BFGS は、ステップ間の勾配の変化を使用して逆ヘッセ行列の推定値を繰り返し更新し、直接計算を回避します。
L-BFGS は BFGS と比べてどのようにメモリを削減しますか?
「L」は制限付きメモリを表します。L-BFGS は少数の最近のベクトルのみを保持し、ストレージを N の 2 乗からおよそ N の小さい倍数に削減します。