回答:
これは、使用される方法よりも最小化された関数で行うべき問題です。真のグローバル最小値を見つけることが重要な場合は、シミュレーテッドアニーリングなどの方法を使用してください。これはグローバルな最小値を見つけることができますが、そうするのに非常に長い時間がかかる場合があります。
ニューラルネットの場合、極小値は必ずしもそれほど問題ではありません。極小値の一部は、隠れ層ユニットを並べ替えたり、ネットワークの入力と出力の重みを無効にするなどして、機能的に同一のモデルを取得できるという事実によるものです。また、極小値がわずかに最適でない場合は、パフォーマンスの違いは最小限であるため、実際には問題になりません。最後に、これは重要なポイントであり、ニューラルネットワークの適合における重要な問題は過剰適合であるため、コスト関数のグローバルミニマムを積極的に検索すると、過剰適合が発生し、モデルのパフォーマンスが低下する可能性があります。
重量減衰などの正則化用語を追加すると、コスト関数を平滑化するのに役立ちます。これにより、極小値の問題を少し減らすことができます。
ただし、ニューラルネットワークでローカルミニマムを回避する最良の方法は、ガウスプロセスモデル(または放射基底関数ニューラルネットワーク)を使用することです。
勾配降下法は最適化アルゴリズムです。
相関する(分離できない)固定数の実数値で動作する多くの最適化アルゴリズムがあります。勾配ベースのオプティマイザーと派生物のないオプティマイザーの2つのカテゴリに大まかに分けることができます。通常、勾配を使用して、教師なし設定でニューラルネットワークを最適化します。これは、微分のない最適化よりも大幅に高速であるためです。ニューラルネットワークの最適化に使用されている勾配ベースの最適化アルゴリズムは多数あります。
そして、ニューラルネットワークの最適化のために提案されている他の多くのアルゴリズムが存在している、あなたが最適化またはV-SGDヘッセ-自由のためのgoogleことができ(適応学習率とSGDには多くの種類があり、例えば参照ここ)。
NNの最適化は解決された問題ではありません!私の経験では、最大の課題は、ローカルの最小値を見つけられないことです。しかし、課題は非常に平坦な領域から抜け出すこと、悪条件のエラー関数などに対処することです。それが、ヘッセ行列の近似を使用するLMAおよびその他のアルゴリズムが通常実際にうまく機能し、人々が確率バージョンを開発しようとする理由です複雑性の低い2次情報を使用します。ただし、多くの場合、ミニバッチSGDの非常によく調整されたパラメーターセットは、複雑な最適化アルゴリズムよりも優れています。
通常、グローバルな最適を見つけたくありません。それは通常、トレーニングデータをオーバーフィットする必要があるためです。
勾配降下の興味深い代替方法は、進化アルゴリズム(EA)や粒子群最適化(PSO)などの人口ベースのトレーニングアルゴリズムです。母集団ベースのアプローチの背後にある基本的な考え方は、候補解(NN重みベクトル)の母集団が作成され、候補解が探索空間を繰り返し探索し、情報を交換し、最終的に最小値に収束することです。多くの出発点(候補解)が使用されるため、グローバルミニマムに収束する可能性が大幅に増加します。PSOとEAは非常に競争力のあるパフォーマンスを発揮することが示されており、複雑なNNトレーニングの問題で、しばしば(常にではありませんが)勾配降下を上回るパフォーマンスを発揮します。
私はこのスレッドがかなり古く、他の人がローカルミニマム、オーバーフィットなどの概念を説明するために素晴らしい仕事をしたことを知っています。しかし、OPが代替ソリューションを探していたので、私はそれを貢献しようとし、それがより興味深いアイデアを刺激することを願っています。
考え方は、すべての重みwをw + tに置き換えることです。ここで、tはガウス分布に従う乱数です。ネットワークの最終出力は、tのすべての可能な値の平均出力です。これは分析的に行うことができます。その後、勾配降下法またはLMAまたは他の最適化方法を使用して問題を最適化できます。最適化が完了したら、2つのオプションがあります。1つのオプションは、ガウス分布のシグマを削減し、シグマが0に達するまで何度も最適化を実行することです。これにより、より良い局所最小値が得られます(ただし、過剰適合を引き起こす可能性があります)。別のオプションは、重みに乱数を含むものを使用し続けることです。通常、一般化プロパティが優れています。
最初のアプローチは最適化の手法です(パラメーターのたたみ込みを使用してターゲット関数を変更するため、たたみ込みトンネリングと呼びます)。これにより、コスト関数のランドスケープの表面が滑らかになり、極小値の一部が取り除かれます。グローバルミニマム(またはローカルミニマム)を見つけやすくします。
2番目のアプローチは、ノイズ注入(ウェイト)に関連しています。これは分析的に行われることに注意してください。つまり、最終結果は、複数のネットワークではなく、単一のネットワークになります。
以下は2スパイラル問題の出力例です。ネットワークアーキテクチャは、3つのノードすべてで同じです。30ノードの非表示層が1つだけあり、出力層は線形です。使用される最適化アルゴリズムはLMAです。左の画像はバニラ設定用です。真ん中は最初のアプローチを使用しています(つまり、シグマを0に向かって繰り返し削減しています)3番目はsigma = 2を使用しています。
バニラソリューションが最悪であり、たたみ込みトンネリングがより良い仕事をし、(たたみ込みトンネリングを使用した)ノイズ注入が(一般化特性に関して)最高であることがわかります。
畳み込みトンネリングとノイズ注入の分析的な方法の両方が、私の最初のアイデアです。多分彼らは誰かが興味を持っているかもしれない代替手段です。詳細は、私の論文「Infinity Number of Neural Networks Into One」を参照してください。警告:私はプロの学術作家ではなく、論文は査読されていません。私が言及したアプローチについて質問がある場合は、コメントを残してください。
Extreme Learning Machines基本的に、入力を非表示ノードに接続する重みがランダムに割り当てられ、更新されることのないニューラルネットワークです。隠れノードと出力の間の重みは、線形方程式(逆行列)を解くことにより、単一のステップで学習されます。
それがに来るときにグローバル最適化タスク(目的関数の大域的最小値を見つけることを試みるすなわち)あなたはを見てみたいと思うかもしれません。
上記のように、シミュレーテッドアニーリング、粒子群最適化、遺伝的アルゴリズムは、巨大な検索スペースをうまくナビゲートする優れたグローバル最適化アルゴリズムであり、勾配降下法とは異なり、勾配に関する情報を必要とせず、ブラックボックスの目的関数や問題で正常に使用できますシミュレーションの実行が必要です。