Gradient Descentの代替手段は何ですか?


46

Gradient Descentには、Local Minimaで立ち往生する問題があります。グローバルミニマムを見つけるために、勾配降下法の指数関数的時間を実行する必要があります。

誰もが、長所と短所とともに、ニューラルネットワーク学習に適用される勾配降下法の代替案について教えてもらえますか?

回答:


38

これは、使用される方法よりも最小化された関数で行うべき問題です。真のグローバル最小値を見つけることが重要な場合は、シミュレーテッドアニーリングなどの方法を使用してください。これはグローバルな最小値を見つけることができますが、そうするのに非常に長い時間がかかる場合があります。

ニューラルネットの場合、極小値は必ずしもそれほど問題ではありません。極小値の一部は、隠れ層ユニットを並べ替えたり、ネットワークの入力と出力の重みを無効にするなどして、機能的に同一のモデルを取得できるという事実によるものです。また、極小値がわずかに最適でない場合は、パフォーマンスの違いは最小限であるため、実際には問題になりません。最後に、これは重要なポイントであり、ニューラルネットワークの適合における重要な問題は過剰適合であるため、コスト関数のグローバルミニマムを積極的に検索すると、過剰適合が発生し、モデルのパフォーマンスが低下する可能性があります。

重量減衰などの正則化用語を追加すると、コスト関数を平滑化するのに役立ちます。これにより、極小値の問題を少し減らすことができます。

ただし、ニューラルネットワークでローカルミニマムを回避する最良の方法は、ガウスプロセスモデル(または放射基底関数ニューラルネットワーク)を使用することです。


9
本当です。グローバルな最小値が見つからないという問題は過大評価されています。
バイエルジ

2
モデルで多くのパラメーターを使用するとオーバーフィットが発生します(通常のNNユースケース)。これは、少なくとも明らかな方法ではなく、極小値と関係ありません。NNが小さい場合でも、つまり無料のパラメーターが非常に少ない場合でも、悪いローカルミニマムに陥る可能性があります。
カルロサヤム

1
@DikranMarsupialでは、単一のモデルパラメーターでも、多くの局所的な最小値を持つことができます。損失関数の形状に依存します。考案されたが単純な例:、ここでは最も近く、2番目に近いです。連続する2点ごとにローカルミニマムがあることは簡単にわかります。つまり、データが多いほど、ローカルミニマムが多くなります。グローバルは、データセット内の最も近いポイント間で達成されます。これは極端なことですが、変化点の問題を解決する同様の動作を見てきました。X 1 X 2 ωL(ω)=(x(1)ω)2+(x(2)ω)2x(1),x(2)ω
カルロサヤム

1
@DikranMarsupial-文章を終わらせるのに十分な文字がありませんでした:)ニューラルネットワークを使用して、変化点の問題を解決する同様の動作を見てきました。この種の問題では、通常、極小値が悪いです。この問題が過大評価されていることに同意しません。
カルロサヤム

1
@carlosayamの「過大評価」は「重要ではない」という意味ではなく、一般に誇張されているニューラルネットワークの問題です。すべての学習方法には常に問題があり、すべてに万能薬はありません。また、モデルの問題を常に診断する必要があります。
ディクランMarsupial

24

勾配降下法は最適化アルゴリズムです。

相関する(分離できない固定数実数値で動作する多くの最適化アルゴリズムがあります。勾配ベースのオプティマイザーと派生物のないオプティマイザーの2つのカテゴリに大まかに分けることができます。通常、勾配を使用して、教師なし設定でニューラルネットワークを最適化します。これは、微分のない最適化よりも大幅に高速であるためです。ニューラルネットワークの最適化に使用されている勾配ベースの最適化アルゴリズムは多数あります。

  • 確率的勾配降下(SGD)、ミニバッチSGD、...:トレーニングセット全体の勾配を評価する必要はありませんが、1つのサンプルまたはサンプルのミニバッチについてのみ、これは通常、バッチ勾配降下よりもはるかに高速です。勾配を滑らかにし、前方および後方伝播を並列化するために、ミニバッチが使用されています。他の多くのアルゴリズムに勝る利点は、各反復がO(n)にあることです(nはNNの重みの数です)。通常、SGDは確率的であるため、極小値(!)にとらわれません。
  • 非線形共役勾配:O(n)は、回帰で非常に成功したことのようです、(それゆえ、巨大なデータセットのために最良の選択ではないかもしれません)バッチ勾配が必要です
  • L-BFGS:分類に非常に成功しているようで、ヘッセ近似を使用し、バッチ勾配が必要
  • Levenberg-Marquardt Algorithm(LMA):これは実際、私が知っている最高の最適化アルゴリズムです。複雑さはおおよそO(n ^ 3)であるという欠点があります。大規模なネットワークには使用しないでください!

そして、ニューラルネットワークの最適化のために提案されている他の多くのアルゴリズムが存在している、あなたが最適化またはV-SGDヘッセ-自由のためのgoogleことができ(適応学習率とSGDには多くの種類があり、例えば参照ここ)。

NNの最適化は解決された問題ではありません!私の経験では、最大の課題は、ローカルの最小値を見つけられないことです。しかし、課題は非常に平坦な領域から抜け出すこと、悪条件のエラー関数などに対処することです。それが、ヘッセ行列の近似を使用するLMAおよびその他のアルゴリズムが通常実際にうまく機能し、人々が確率バージョンを開発しようとする理由です複雑性の低い2次情報を使用します。ただし、多くの場合、ミニバッチSGDの非常によく調整されたパラメーターセットは、複雑な最適化アルゴリズムよりも優れています。

通常、グローバルな最適を見つけたくありません。それは通常、トレーニングデータをオーバーフィットする必要があるためです。


16

勾配降下の興味深い代替方法は、進化アルゴリズム(EA)や粒子群最適化(PSO)などの人口ベースのトレーニングアルゴリズムです。母集団ベースのアプローチの背後にある基本的な考え方は、候補解(NN重みベクトル)の母集団が作成され、候補解が探索空間を繰り返し探索し、情報を交換し、最終的に最小値に収束することです。多くの出発点(候補解)が使用されるため、グローバルミニマムに収束する可能性が大幅に増加します。PSOとEAは非常に競争力のあるパフォーマンスを発揮することが示されており、複雑なNNトレーニングの問題で、しばしば(常にではありませんが)勾配降下を上回るパフォーマンスを発揮します。


ただし、トレーニング基準を積極的に最適化することは、それを防ぐための措置を講じない限り、過剰適合につながる可能性が高いことを念頭に置いてくださいペナルティ。
ディクランマースピアル

5
@ anna-earwen、PSOがSGDと比較して競争力のあるパフォーマンスを示している参考文献をいくつか教えてください。
-emrea

8

私はこのスレッドがかなり古く、他の人がローカルミニマム、オーバーフィットなどの概念を説明するために素晴らしい仕事をしたことを知っています。しかし、OPが代替ソリューションを探していたので、私はそれを貢献しようとし、それがより興味深いアイデアを刺激することを願っています。

考え方は、すべての重みwをw + tに置き換えることです。ここで、tはガウス分布に従う乱数です。ネットワークの最終出力は、tのすべての可能な値の平均出力です。これは分析的に行うことができます。その後、勾配降下法またはLMAまたは他の最適化方法を使用して問題を最適化できます。最適化が完了したら、2つのオプションがあります。1つのオプションは、ガウス分布のシグマを削減し、シグマが0に達するまで何度も最適化を実行することです。これにより、より良い局所最小値が得られます(ただし、過剰適合を引き起こす可能性があります)。別のオプションは、重みに乱数を含むものを使用し続けることです。通常、一般化プロパティが優れています。

最初のアプローチは最適化の手法です(パラメーターのたたみ込みを使用してターゲット関数を変更するため、たたみ込みトンネリングと呼びます)。これにより、コスト関数のランドスケープの表面が滑らかになり、極小値の一部が取り除かれます。グローバルミニマム(またはローカルミニマム)を見つけやすくします。

2番目のアプローチは、ノイズ注入(ウェイト)に関連しています。これは分析的に行われることに注意してください。つまり、最終結果は、複数のネットワークではなく、単一のネットワークになります。

以下は2スパイラル問題の出力例です。ネットワークアーキテクチャは、3つのノードすべてで同じです。30ノードの非表示層が1つだけあり、出力層は線形です。使用される最適化アルゴリズムはLMAです。左の画像はバニラ設定用です。真ん中は最初のアプローチを使用しています(つまり、シグマを0に向かって繰り返し削減しています)3番目はsigma = 2を使用しています。

3つのアプローチによる2スパイラル問題の結果

バニラソリューションが最悪であり、たたみ込みトンネリングがより良い仕事をし、(たたみ込みトンネリングを使用した)ノイズ注入が(一般化特性に関して)最高であることがわかります。

畳み込みトンネリングとノイズ注入の分析的な方法の両方が、私の最初のアイデアです。多分彼らは誰かが興味を持っているかもしれない代替手段です。詳細は、私の論文「Infinity Number of Neural Networks Into One」を参照してください。警告:私はプロの学術作家ではなく、論文は査読されていません。私が言及したアプローチについて質問がある場合は、コメントを残してください。


1

Extreme Learning Machines基本的に、入力を非表示ノードに接続する重みがランダムに割り当てられ、更新されることのないニューラルネットワークです。隠れノードと出力の間の重みは、線形方程式(逆行列)を解くことにより、単一のステップで学習されます。


0

それがに来るときにグローバル最適化タスク(目的関数の大域的最小値を見つけることを試みるすなわち)あなたはを見てみたいと思うかもしれません。

  1. パターン検索直接検索、微分フリー検索、またはブラックボックス検索とも呼ばれます)。パターン(ベクトルのセット)を使用して、次の反復で検索するポイントを決定します。{vi}
  2. 突然変異、交叉、および選択の概念を使用して、最適化の次の反復で評価されるポイントの母集団を定義する遺伝的アルゴリズム
  3. 最小値を検索して空間を「歩く」一連の粒子を定義する Particle Swarm Optimization
  4. サロゲートの最適化使用していますサロゲートモデルは、目的関数を近似します。この方法は、目的関数の評価に費用がかかる場合に使用できます。
  5. 多目的最適化パレート最適化とも呼ばれます)は、単一の目的関数(ただし、目的のベクトル)を持つ形式で表現できない問題に使用できます。
  6. シミュレーテッドアニーリングアニーリング(または温度)の概念を使用して、調査と活用をトレードオフします。各反復で評価のための新しいポイントを提案しますが、反復回数が増えると、「温度」が低下し、アルゴリズムがスペースを探索する可能性が低くなり、現在の最適な候補に向かって「収束」します。

上記のように、シミュレーテッドアニーリング、粒子群最適化、遺伝的アルゴリズムは、巨大な検索スペースをうまくナビゲートする優れたグローバル最適化アルゴリズムであり、勾配降下法とは異なり、勾配に関する情報を必要とせず、ブラックボックスの目的関数や問題で正常に使用できますシミュレーションの実行が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.