確率的勾配降下法(SGDと略されることが多い)は、適切な滑らかさ特性(例えば、微分可能または劣微分可能)を持つ目的関数を最適化するための反復法です。実際の勾配(データセット全体から計算される)をその推定値(データのランダムに選択されたサブセットから計算される)に置き換えるため、勾配降下法の確率的近似とみなすことができます。特に高次元の最適化問題では、これにより非常に高い計算負荷が軽減され、収束速度は低下するものの、反復回数が速くなります。[ 1 ]
確率近似の基本的な考え方は、1950年代のロビンス・モンローアルゴリズムに遡ることができます。今日では、確率的勾配降下法は機械学習における重要な最適化手法となっています。[ 2 ]
統計的推定と機械学習はどちらも、和の形をとる 目的関数を最小化する問題を扱っている。 パラメータ最小限に抑える推定される。各項関数通常はデータセット内の番目の観測値(トレーニングに使用)。
古典統計学では、和の最小化問題は最小二乗法と最尤推定(独立観測値の場合)で発生します。和を最小化する推定量の一般的なクラスは、M推定量と呼ばれます。しかし、統計学では、局所的な最小化さえ要求することは、最尤推定のいくつかの問題に対して制約が厳しすぎると長い間認識されてきました。[ 3 ]そのため、現代の統計理論家は、尤度関数の停留点(またはその導関数、スコア関数、その他の推定方程式の零点)をしばしば考慮します。
経験的リスク最小化においても、和最小化問題が生じる。損失関数の値は例1、これは経験的リスクである。
上記の関数を最小化するために、標準的な(または「バッチ」)勾配降下法を用いると、以下の反復処理が実行されます。 ステップサイズは次のように表されます。(機械学習では学習率と呼ばれることもある)そしてここでは「 :=} " は、アルゴリズム内の変数の更新を表します。
多くの場合、項関数は単純な形式を持つため、和関数と和勾配を低コストで評価できます。例えば、統計学では、1パラメータ指数型分布族を用いることで、関数評価と勾配評価を経済的に行うことができます。
しかし、場合によっては、総勾配を評価するには、すべての被加数関数の勾配をコストのかかる方法で評価する必要があるかもしれません。トレーニング セットが膨大で、単純な公式が存在しない場合、勾配の評価にはすべての被加数関数の勾配を評価する必要があるため、勾配の総和の評価は非常にコストがかかります。各反復での計算コストを節約するために、確率的勾配降下法では、各ステップで被加数関数のサブセットをサンプリングします。これは、大規模な機械学習問題の場合に非常に効果的です。[ 4 ]

確率的(または「オンライン」)勾配降下法では、真の勾配は単一サンプルにおける勾配によって近似される。 アルゴリズムがトレーニングセットを走査する際に、各トレーニングサンプルに対して上記の更新を実行します。アルゴリズムが収束するまで、トレーニングセットに対して複数回のパスを実行できます。この場合、サイクルを防ぐために、各パスでデータをシャッフルできます。一般的な実装では、アルゴリズムが収束するように適応学習率を使用する場合があります。 [ 5 ]
擬似コードでは、確率的勾配降下法は次のように表すことができます 。
真の勾配を計算する方法と単一サンプルでの勾配を計算する方法の妥協案として、各ステップで複数のトレーニングサンプル(「ミニバッチ」と呼ばれる)に対して勾配を計算する方法があります。この方法は、[ 6 ]で初めて示された「バンチモードバックプロパゲーションアルゴリズム」のように各ステップを個別に計算するのではなく、ベクトル化ライブラリを利用できるため、前述の「真の」確率的勾配降下法よりも大幅に優れたパフォーマンスを発揮する可能性があります。また、各ステップで計算された勾配がより多くのトレーニングサンプルで平均化されるため、よりスムーズな収束が得られる可能性もあります。
確率的勾配降下法の収束は、凸最小化理論と確率的近似理論を用いて解析されてきた。簡単に言うと、学習率が適切な速度で減少し、比較的緩やかな仮定の下では、目的関数が凸関数または擬凸関数である場合、確率的勾配降下法はほぼ確実に大域的最小値に収束し、そうでない場合はほぼ確実に局所的最小値に収束します。[ 2 ] [ 7 ]これは実際にはロビンス-ジーグムント定理 の結果です。[ 8 ]
直線を当てはめたいとしましょう観測データを含むトレーニングセットへおよびそれに対応する推定応答最小二乗法を用いる。最小化すべき目的関数は この特定の問題に対する上記の擬似コードの最後の行は次のようになります。 各反復または更新ステップでは、勾配は単一の点でのみ評価されることに注意してください。これが、確率的勾配降下法とバッチ勾配降下法の重要な違いです。
一般的に、線形回帰が与えられた場合問題、確率的勾配降下法は、(パラメータ不足)(過剰パラメータ化)。過剰パラメータ化の場合、確率的勾配降下法は収束する。つまり、SGDは開始点からの距離が最小となる補間解に収束する。これは学習率が一定の場合でも当てはまります。パラメータ不足の場合、学習率が一定の場合、SGDは収束しません。[ 9 ]
1951年、ハーバート・ロビンスとサットン・モンローは、確率的勾配降下法に先立つ初期の確率的近似法を導入した。[ 10 ]その1年後、ジャック・キーファーとジェイコブ・ウォルフォウィッツは、勾配の近似として中心差分を用いる、確率的勾配降下法に非常に近い最適化アルゴリズムを発表した。 [ 11 ] 1950年代後半、フランク・ローゼンブラットはSGDを用いてパーセプトロンモデルを最適化し、ニューラルネットワークへの確率的勾配降下法の最初の適用可能性を示した。[ 12 ]
バックプロパゲーションは1986年に初めて記述され、確率的勾配降下法が複数の隠れ層を持つニューラルネットワークのパラメータを効率的に最適化するために使用されました。その後すぐに、別の改良版であるミニバッチ勾配降下法が開発されました。これは、単一のサンプルの代わりに小さなデータバッチを使用するものです。1997年には、このような小さなバッチで達成可能なベクトル化による実用的なパフォーマンス上の利点が初めて検討され、[ 13 ]機械学習における効率的な最適化への道が開かれました。2023年現在、このミニバッチアプローチは、確率的勾配降下法と勾配降下法の利点のバランスを取りながら、ニューラルネットワークのトレーニングの標準となっています。[ 14 ]
1980年代までに、モーメンタムはすでに導入されており、1986年にSGD最適化手法に追加されました。[ 15 ]しかし、これらの最適化手法は、固定の学習率とモーメンタムパラメータという定数ハイパーパラメータを前提としていました。2010年代には、パラメータごとの学習率でSGDを適用する適応的アプローチが、2011年のAdaGrad(「Adaptive Gradient」の略)[ 16 ]と2012年のRMSprop(「Root Mean Square Propagation」の略)[ 17 ]で導入されました。2014年には、モーメンタムにRMSpropの適応的アプローチを適用したAdam(「Adaptive Moment Estimation」の略)が発表され、その後、Adadelta、Adagrad、AdamW、Adamaxなど、Adamの多くの改良版や派生版が開発されました。[ 18 ] [ 19 ]
機械学習の分野では、2023 年における最適化のアプローチは Adam 由来のオプティマイザが主流であり、圧倒的に人気のある機械学習ライブラリである TensorFlow と PyTorch は、2023年現在、主にAdam 由来のオプティマイザと、RMSprop や従来の SGD などの Adam の前身のみを含んでいます。PyTorch は、パラメータ グループのない単一デバイス セットアップの場合のみ、線探索法である限定メモリ BFGSも部分的にサポートしています。 [ 19 ] [ 21 ]
確率的勾配降下法は、機械学習における幅広いモデル(線形サポートベクターマシン、ロジスティック回帰(Vowpal Wabbitなどを参照)、グラフィカルモデルなど)の学習によく用いられるアルゴリズムです。[ 22 ]バックプロパゲーションアルゴリズムと組み合わせると、人工ニューラルネットワークの学習における事実上の標準アルゴリズムとなります。[ 23 ]地球物理学分野でも、特にフルウェーブフォームインバージョン(FWI)の応用においてその使用が報告されています。 [ 24 ]
確率的勾配降下法は、広く使用されているL-BFGSアルゴリズムと競合する。確率的勾配降下法は、少なくとも1960年から線形回帰モデルの学習に使用されており、当初はADALINEという名前で呼ばれていた。[ 25 ]
もう一つの確率的勾配降下アルゴリズムは、最小二乗法(LMS)適応フィルタである。
基本的な確率的勾配降下法アルゴリズムには多くの改良が提案され、利用されてきた。特に機械学習では、学習率(ステップサイズ)を設定する必要性が問題として認識されている。このパラメータを高く設定しすぎるとアルゴリズムが発散する可能性があり、低く設定しすぎると収束が遅くなる。[ 26 ]確率的勾配降下法の概念的に単純な拡張では、学習率を反復回数tの減少関数η tにし、学習率スケジュールを与えることで、最初の反復ではパラメータが大きく変化し、後の反復では微調整のみが行われる。このようなスケジュールは、 k -means クラスタリングに関する MacQueen の研究以来知られている。[ 27 ] SGD のいくつかのバリアントにおけるステップサイズの選択に関する実践的なガイダンスは Spall によって提供されている。[ 28 ]


前述のように、古典的な確率的勾配降下法は一般的に学習率ηに敏感です。高速な収束には大きな学習率が必要ですが、これは数値的不安定性を引き起こす可能性があります。この問題は、現在の反復ではなく次の反復で確率的勾配を評価する 暗黙的更新を考慮することで、ほぼ解決できます[ 29 ] 。
この方程式は暗黙的であるためは等式の両辺に現れる。これは近接勾配法の確率的形式であり、更新式は次のようにも書ける。
例として、特徴量を用いた最小二乗法を考えてみましょう。そして観察結果 私たちは以下の問題を解決したいと考えています。 どこ は内積を表します。切片を含む最初の要素として「1」を持つことができます。古典的な確率的勾配降下法は次のように進行します。
どこ1からこの手順の理論的な収束は比較的緩やかな仮定の下で起こるものの、実際にはこの手順は非常に不安定になる可能性がある。特に、誤って指定されているため、絶対値が大きい固有値を持つ確率が高い場合、手順は数回の反復で数値的に発散する可能性があります。一方、暗黙的確率勾配降下法(ISGDと略記)は、次のように閉形式で解くことができます。
この手順は、ほぼすべての場合において数値的に安定している。学習率が正規化されているため、このような最小二乗問題における古典的な確率的勾配降下法と暗黙的な確率的勾配降下法の比較は、最小平均二乗法 (LMS)と 正規化最小平均二乗フィルタ (NLMS)の比較と非常によく似ています。
ISGDの閉形式解は最小二乗法でのみ可能であるが、この手順は幅広いモデルで効率的に実装できる。具体的には、に依存する特徴との線形結合によってのみそうすれば、、 どこ依存する可能性がある同様だが、例外的に最小二乗法はこの規則に従い、ロジスティック回帰やほとんどの一般化線形モデルも同様です。たとえば、最小二乗法では、、そしてロジスティック回帰では、 どこはロジスティック関数です。ポアソン回帰では、、 等々。
このような設定では、ISGDは単純に以下のように実装されます。、 どこはスカラーです。すると、ISGDは以下と同等になります。
スケーリング係数は、前述の一般化線形モデルなどのほとんどの通常のモデルでは関数が二分法によって見つけることができるため、は減少しており、したがって、は。
さらに提案されている方法としては、モーメンタム法やヘビーボール法があり、これらは機械学習の文脈では、バックプロパゲーション学習に関するRumelhart、Hinton、Williamsの論文[ 30 ]に登場し、ソ連の数学者 Boris Polyak の 1964 年の関数方程式の解法に関する論文[ 31 ]からアイデアを借用している。モーメンタム付き確率的勾配降下法は、各反復で更新Δ wを記憶し、勾配と前の更新の線形結合として次の更新を決定する。 [ 32 ] [ 33 ] それは以下のことにつながる:
パラメータこれにより最小化されます推定される、ステップサイズ(機械学習では学習率と呼ばれることもある)であり、は、0から1の間の指数関数的減衰係数であり、現在の勾配と以前の勾配が重みの変化にどれだけ寄与するかを決定します。
「運動量」という名称は、物理学における運動量、すなわち重力ベクトルとの類推に由来する。パラメータ空間を移動する粒子として考えられる運動量法は、損失の勾配から加速(「力」)を受けます。古典的な確率的勾配降下法とは異なり、同じ方向に移動し続ける傾向があり、振動を防ぎます。運動量法は、数十年にわたり、コンピュータ科学者によって人工ニューラルネットワークのトレーニングに成功裏に使用されてきました。[ 34 ] 運動量法は、減衰不足のランジュバン動力学 と密接に関連しており、シミュレーテッドアニーリングと組み合わせることができます。[ 35 ]
1980年代半ばに、この方法はユーリ・ネステロフによって次の点で予測される勾配を使用するように修正され、その結果として生まれたいわゆるネステロフ加速勾配法は、2010年代の機械学習で時折使用された。[ 36 ]
平均化確率勾配降下法は、1980年代後半にRuppertとPolyakによって独立に発明されたもので、時間の経過に伴うパラメータベクトルの平均を記録する通常の確率勾配降下法です。つまり、更新は通常の確率勾配降下法と同じですが、アルゴリズムは[ 37 ]も追跡します。
最適化が完了すると、この平均化されたパラメータベクトルがwの代わりになります。
AdaGrad(適応勾配アルゴリズム)は、パラメータごとの学習率を持つ修正された確率的勾配降下アルゴリズムで、2011年に初めて発表されました。[ 38 ]非公式には、これは疎なパラメータの学習率を増加させ、疎でないパラメータの学習率を減少させます。この戦略は、データが疎で疎なパラメータがより多くの情報を提供する設定では、標準的な確率的勾配降下よりも収束性能を向上させることがよくあります。このようなアプリケーションの例としては、自然言語処理や画像認識などがあります。[ 38 ]
基本学習率ηは依然として存在するが、これは外積行列の対角要素であるベクトル{ Gj , j }の要素と乗算される。
どこ、反復τにおける勾配。対角成分は次式で与えられる。
このベクトルは基本的に次元ごとの勾配二乗の履歴合計を格納し、各反復後に更新されます。更新の式は[ a ]です。 または、パラメータごとの更新として記述すると、 各{ G ( i , i ) }は、単一のパラメータw iに適用される学習率のスケーリング係数を生み出します。この係数の分母は、は以前の導関数のℓ 2ノルムであり、極端なパラメータ更新は抑制され、更新が少ないまたは小さいパラメータはより高い学習率を受け取ります。[ 34 ]
AdaGradは凸問題向けに設計されているが、非凸最適化にも適用されて成功している。[ 39 ]
RMSProp(Root Mean Square Propagation の略)は、2012 年に、当時ジェフリー・ヒントン研究室の博士課程学生であったジェームズ・マーテンスとイリヤ・サツケバーによって考案された手法で、Adagrad と同様に、各パラメータに対して学習率が調整されます。そのアイデアは、重みの学習率を、その重みの最近の勾配の大きさの移動平均で割ることです。[ 40 ]珍しいことに、論文として発表されたのではなく、Coursera の講義で説明されただけです。[ 41 ] [ 42 ]
まず、移動平均は平均二乗の観点から計算されます。
どこ、忘却係数は、過去の勾配を二乗和として保存するという概念をAdagradから借用したものですが、古いデータの影響を徐々に減少させることで、非凸問題におけるAdagradの学習率低下の問題を解決するために「忘却」が導入されています。
そして、パラメータは次のように更新されます。
RMSPropは、さまざまなアプリケーションで学習率の良好な適応性を示しています。RMSPropはRpropの一般化と見なすことができ、フルバッチだけでなくミニバッチでも動作可能です。[ 40 ]
Adam [ 43 ] (Adaptive Moment Estimation の略) は、RMSPropオプティマイザの 2014 年の更新版で、モーメンタム法の主要機能と組み合わせたものです。[ 44 ]この最適化アルゴリズムでは、勾配と勾配の 2 次モーメントの両方について、指数忘却を伴う移動平均が使用されます。そして損失関数、 どこ現在のトレーニング反復をインデックスします(インデックスは) Adamのパラメータ更新は次のように与えられます。
どこは小さなスカラーです(例:)は、0による除算を防ぐために使用され、(例:0.9)(例えば0.999)は、それぞれ勾配と勾配の2次モーメントの忘却係数です。二乗と平方根は要素ごとに計算されます。
勾配の指数移動平均としてそして二乗勾配0のベクトルで初期化すると、最初のトレーニング反復でゼロへのバイアスが生じます。このバイアスを補正し、より正確な推定値を得るために導入された。そして。
Adam の収束を確立する最初の証明は不完全であり、その後の分析により、Adam はすべての凸目的関数に対して収束するわけではないことが明らかになった。[ 45 ] [ 46 ]それにもかかわらず、Adam は実用上優れた性能を発揮するため、引き続き使用されている。[ 47 ]
Adamの人気は、数多くの派生作品や改良版を生み出した。その例としては以下のようなものがある。
符号に基づく最適化は前述のRpropに遡りますが、2018 年に研究者たちは確率的勾配の大きさを考慮から外し、符号のみを考慮することで Adam を簡略化しようと試みました。[ 56 ] [ 57 ]これにより、ワーカーからパラメータサーバーへの勾配転送の通信コストが大幅に削減されます。この意味で、勾配情報をより効率的に圧縮しつつ、標準的な SGD と同等の収束性を実現しています。[ 57 ]
バックトラッキング線探索は、勾配降下法の別のバリアントです。以下はすべて、前述のリンクから引用しています。これは、Armijo–Goldstein条件として知られる条件に基づいています。どちらの方法も、各反復で学習率を変更できますが、変更方法は異なります。バックトラッキング線探索は、関数評価を使用してArmijo条件をチェックし、原則として、学習率を決定するためのアルゴリズムのループは長く、事前に不明になる可能性があります。適応型SGDは、学習率を決定するためにループを必要としません。一方、適応型SGDは、バックトラッキング線探索が持つ「降下特性」を保証しません。すべての n について。コスト関数の勾配がリプシッツ定数 L で大域的にリプシッツ連続であり、学習率が 1/L のオーダーで選択される場合、SGD の標準バージョンはバックトラッキング線探索の特殊なケースです。
標準的な(決定論的な)ニュートン・ラフソン法の確率的類似物(「2次」法)は、確率近似の設定において、漸近的に最適またはほぼ最適な反復最適化形式を提供する。経験的リスク関数の項のヘッセ行列を直接測定する方法は、Byrd、Hansen、Nocedal、およびSingerによって開発された。[ 58 ]しかし、最適化に必要なヘッセ行列を直接決定することは、実際には不可能かもしれない。直接ヘッセ情報を必要としないSGDの2次バージョンの実用的かつ理論的に健全な方法は、Spallらによって示されている。[ 59 ] [ 60 ] [ 61 ] (同時摂動ではなく有限差分に基づく効率の低い方法がRuppertによって提案されている。[ 62 ] ) 近似ヘッセ行列への別のアプローチは、通常の勾配を自然勾配に変換するFisher情報行列で置き換えることである。[ 63 ]直接ヘッセ情報を必要としないこれらの方法は、上記の経験的リスク関数の項の値、または項の勾配の値(すなわちSGD入力)のいずれかに基づいている。特に、経験的リスク関数の項のヘッセ行列を直接計算しなくても、漸近的に2次最適性を達成できる。目的が非線形最小二乗損失 である場合 どこ予測モデル(例えば、深層ニューラルネットワーク)の場合、目的関数の構造を利用して、勾配のみを使用して2次情報を推定することができます。結果として得られる方法はシンプルで、多くの場合効果的です[ 64 ]。
学習率が小さい場合確率的勾配降下法勾配流常微分方程式の離散化と見なすことができる
追加の確率的ノイズの影響を受ける。この近似は、次の意味で有限の時間範囲でのみ有効である。すべての係数が は十分に滑らかである。そしては十分に滑らかなテスト関数とする。すると定数が存在する。すべての
どこは、確率的勾配降下法におけるインデックスのランダムな選択に関して期待値を取ることを意味する。
この近似では確率的勾配降下法による確率微分方程式(SDE)の解の平均挙動の周りのランダムな変動を捉えることができないため、極限対象として提案されている。[ 65 ]より正確には、SDEの解は
のためにどこはブラウン運動に関する伊藤積分を表し、定数が存在するという意味でより正確な近似である。そのため
しかし、このSDEは確率的勾配降下の一点運動を近似するにすぎない。確率的流れを近似するには、無限次元ノイズを持つSDEを考慮する必要がある。[ 66 ]
RMSPropアルゴリズムは、Geoffrey Hinton氏がCourseraの講座で紹介したもので、彼は様々なアプリケーションにおけるその有効性を高く評価している。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ){{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ){{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)