バックプロパゲーションなしでニューラルネットワークをトレーニングすることは可能ですか?


94

多くのニューラルネットワークの本やチュートリアルでは、基本的に勾配を計算するツールである逆伝播アルゴリズムに多くの時間を費やしています。

〜10Kのパラメーター/ウェイトでモデルを構築していると仮定しましょう。勾配のない最適化アルゴリズムを使用して最適化を実行することはできますか?

数値勾配の計算は遅すぎると思いますが、ネルダーミード、シミュレーテッドアニーリング、遺伝的アルゴリズムなどの他の方法はどうですか?

すべてのアルゴリズムは極小に苦しむでしょうが、なぜ勾配に取りつかれているのでしょうか?



6
@FranckDernoncourt私は他の質問を「なぜニューラルネットワークを訓練するためにグローバルな最適化技術を使用しないのか?」と解釈しましたが、これは「派生物のないオプティマイザーを使用しない理由」です。
GeoMatt22

6
3つの賛成の答えがあるので、これは私には答えるには広すぎないようです。
グン

5
ええ、Nelder-Meadがローカルミニマムで動けなくなることをあまり心配する必要はありません。
マークL.ストーン

1
ところで、ウルトラL-BFGSは、それを渦巻かせます。それは良いかもしれませんが、おそらく誰もニューラルネットワークでそれを試したことがありません。pの式2.9を参照してください。maths.dundee.ac.uk/nasc/na-reports/NA149_RF.pdf(この論文ではultra BFGSとは呼ばない)の12(ただし、数式を理解するには、前の数ページを読む必要があります)ウルトラBFGSではなく、ウルトラL-BFGSになるように「L」(メモリ制限)バージョンに入ります。非Lバージョンは、論文に記載されています。Ultra BFGSは基本的にスープアップ(「ホットロッド」)BFGSです。高速にすることもできますが、少しワイルドかもしれません。
マークL.ストーン

回答:


80

あなたが言及する最初の2つのアルゴリズム(Nelder-MeadとSimulated Annealing)は、信頼性とコストの両方が低い、より優れた代替手段があるため、一般的に最適化サークルではほとんど廃止されていると考えられます。遺伝的アルゴリズムは広範囲をカバーしており、これらのいくつかは合理的です。

しかし、より広いクラスの派生物のない最適化(DFO)アルゴリズムには、これらの「クラシック」よりもはるかに優れたものが多くあります。では、これらの新しいアプローチのいくつかは、ディープラーニングに適しているでしょうか?

最新技術を比較する比較的最近の論文は次のとおりです。

Rios、LM、&Sahinidis、NV(2013)派生物のない最適化:アルゴリズムのレビューとソフトウェア実装の比較。Journal of Global Optimization。

これは、最近のテクニックに関する多くの興味深い洞察を持つ素晴らしい論文です。たとえば、結果は、最適なローカルオプティマイザーはすべて、さまざまな形式の逐次2次計画法(SQP)を使用した「モデルベース」であることを明確に示しています。

しかし、彼らの要約で述べたように、「問題の規模が大きくなると、これらすべてのソルバーの優れた解を得る能力が低下することがわかりました。」数値の概念を示すために、すべての問題について、ソルバーには2500回の関数評価の予算が与えられ、問題のサイズは最適化するために最大300個のパラメーターでした。O [10]パラメーターを超えると、これらのオプティマイザーは非常に少数しか実行されず、最適なものでさえ、問題のサイズが大きくなるにつれてパフォーマンスの顕著な低下を示しました。

したがって、非常に高次元の問題の場合、DFOアルゴリズムは微分ベースのアルゴリズムと競合しません。ある程度の見通しを与えるために、PDE(偏微分方程式)ベースの最適化は、非常に高次元の問題を持つ別の領域です(たとえば、大きな3D有限要素グリッドの各セルのいくつかのパラメーター)。この領域では、「随伴方法」は最もよく使用される方法の1つです。これは、フォワードモデルコードの自動微分に基づく勾配降下オプティマイザーでもあります。

高次元のDFOオプティマイザーに最も近いのは、おそらくデータを複雑なPDEシミュレーション(例:気象モデル)に取り込むために使用されるEnsemble Kalman Filterです。興味深いことに、これは本質的にSQPアプローチですが、ベイジアン-ガウスの解釈(2次モデルは正定、つまりthe点なし)です。しかし、これらのアプリケーションのパラメーターや観測値の数は、ディープラーニングで見られるものに匹敵するとは思いません。

サイドノート(ローカルミニマム):ディープラーニングについて少し読んだところでは、コンセンサスはローカルミニマムではなくサドルポイントであり、高次元のNNパラメーター空間で最も問題になると思います。

たとえば、Nature の最近のレビューでは、「最近の理論的および経験的な結果は、局所的な最小値は一般に深刻な問題ではないことを強く示唆しています。代わりに、勾配が0表面はほとんどの次元で上にカーブし、残りの部分では下にカーブします。」

関連する懸念は、ローカル最適化とグローバル最適化に関するものです(たとえば、この質問はコメントで指摘されています)。ディープラーニングは行いませんが、私の経験では、過剰適合は間違いなく有効な懸念事項です。私の意見では、グローバル最適化手法は、「自然な」データに強く依存しない工学設計問題に最も適しています。データ同化の問題では、現在のグローバルミニマムは新しいデータを追加すると簡単に変更される可能性があります(注意:私の経験地球科学の問題に集中しています。

興味深い視点はおそらく

O. Bousquet&L. Bottou(2008)大規模学習のトレードオフ。NIPS。

これは、実際には近似最適化が望ましい理由と時期に関する半理論的議論を提供します。

終わりのメモ(メタ最適化):勾配ベースの手法は、トレーニングネットワークでは支配的であると思われますが、関連するメタ最適化タスクではDFOの役割がある可能性があります。

1つの例は、ハイパーパラメーター調整です。(興味深いことに、Rios&Sahinidisの成功したモデルベースのDFOオプティマイザーは、一連の実験設計/ 応答曲面の問題を本質的に解決していると見ることができます。)

別の例としては、レイヤーのセットアップ(例:数、タイプ、シーケンス、ノード/レイヤー)に関するアーキテクチャの設計があります。この離散的最適化のコンテキストでは、遺伝的スタイルのアルゴリズムがより適切かもしれません。ここで、これらの要因(たとえば、完全に接続された層、畳み込み層など)によって接続が暗黙的に決定される場合を考えていることに注意してください。つまり、接続は明示的にメタ最適化されて。(接続強度はトレーニング中に分類されます。たとえば、正規化やReLUのアクティブ化によってスパース性を高めることができます。ただし、これらの選択はメタ最適化できます。)O[N2]notL1


1
あなたが引用する「レビュー」は、ニューラルネットの主要な支持者によるものです。極小点についての主張に疑問を呈します-NNのよく知られた理論的批判は、複雑なモデルは極小点でスタックするため、勾配降下法では最適化できないことです。背景で解決できるのはnnsの成功だけであるかどうかは明らかではなく、失敗については聞きません。
seanv507

2
@ GeoMatt22対照的な発散は、RBMが該当する特別なクラスのモデルの勾配に対する特別な近似です。RBMは、ある種の分布を暗示する確率モデルであり、最尤推定の勾配は扱いにくいことに注意してください。ニューラルネットワークは計算モデルであり、ヒンジ損失の最適化など、確率的な開始点なしで使用できます。要するに、CDはニューラルネットワークを最適化する一般的な手段ではありません。
バイエルジ

2
@ seanv507主要な支持者によって主張がなされていますが、それらの主張を厳密に評価する機械学習のトップカンファレンスからのピアレビューされた記事、例えばarxiv.org/abs/1406.2572があります。今では、その主張は、その優れた理論的議論と経験的証拠のために、より広いMLコミュニティで広く受け入れられています。ここでは、広告の名声の議論は適切ではないと思います。
バイエルジ

1
DL理論が欠けていることに同意します。それでも、あなたはこのような記事がそれを進めていることを認めなければなりません。記事に間違った結果が記載されており、結論(「極小値はサドルポイントよりも問題が少ない」など)が無効であると思われる場合は、今回はMLコミュニティ全体。
バイエルジ

1
最近の研究によると、ランダムな初期化では、勾配降下は(addle点ではなく)極小値に収束します。論文はこちら:arxiv.org/abs/1602.04915とブログ投稿はこちら:offconvex.org/2016/03/24/saddles-again 一方、大規模なニューラルネットワークでは、極小値はグローバルと同じくらい良い、ここで説明:stats.stackexchange.com/questions/203288/...
DavidR

12

使用できるあらゆる種類のローカル検索アルゴリズムがありますが、逆伝播はより複雑なタスク全般に対して最も効率的であることが証明されました。他のローカル検索が優れている状況があります。

ニューラルネットワークでランダムスタートヒルクライミングを使用して適切なソリューションをすばやく見つけることはできますが、最適に近いソリューションを見つけることは現実的ではありません。

ウィキペディア(私は知っている、最大のソースではないが、それでも)

一定の時間内に許容可能なローカル最適値を見つけるよりも正確なグローバル最適値を見つけることが重要でない問題の場合、シミュレートされたアニーリングは、勾配降下などの代替手段よりも好ましい場合があります。

ソース

遺伝的アルゴリズムについては、ニューラルネットワークトレーニングのバックプロパゲーションvs遺伝的アルゴリズムが見られます

backpropの主なケースは、非常に広く使用されており、多くの大きな改善があったことです。これらの画像は、バニラ逆伝播の驚くべき進歩のいくつかを実際に示しています。

backpropを1つのアルゴリズムとしてではなく、アルゴリズムのクラスと考えます。

また、ニューラルネットワークの場合、1万個のパラメーターは小さなBeanであることを追加したいと思います。別の検索はうまく機能しますが、何百万ものパラメーターを持つ深いネットワークでは、ほとんど実用的ではありません。


12

さて、70年代のバックプロパゲーション革命以前の元のニューラルネットワークは、手作業で「訓練」されていました。:)

言われていること:

バックプロパゲーションを使用しない極端な学習マシンと呼ばれる機械学習の「学校」があります。

彼らが行うことは、ランダムな重みを持つ多数のノードを含むニューラルネットワークを作成し、最小二乗法(線形回帰など)を使用して最後のレイヤーをトレーニングすることです。その後、ニューラルネットワークを削除するか、最後のステップ(投げ縄など)で正規化を適用して過剰適合を回避します。これは、単一の隠れ層のみを持つニューラルネットワークに適用されるのを見ました。トレーニングはありませんので、超高速です。いくつかのテストを行いましたが、驚くべきことに、この方法で「トレーニング」されたこれらのニューラルネットワークは非常に正確です。

少なくとも私と一緒に働くほとんどの人は、この機械学習の「学校」をtreatして扱い、彼らは自分の会議などで追放されたグループですが、実際にはそれは一種の巧妙だと思います。


もう1つのポイント:バックプロパゲーション内には、パッケージ内のRで実装され、デリバティブの大きさのみを使用する、弾力性のあるバックプロパゲーションなど、めったに言及されない代替手段がありneuralnetます。このアルゴリズムは、線形代数ではなくif-else条件で構成されています。従来の逆伝播に比べていくつかの利点があります。つまり、消失勾配の問題に悩まされないため、データを正規化する必要はありません。


4番目の段落でスピルを(ほとんどまたはすべて)実行し、その結果を微分ベースの最適化の開始点として使用して「微調整」します。
マークL.ストーン

1
@ MarkL.Stone最初に後者の層に線形回帰を適用して逆伝播を行った人は誰も知りません。面白いですね。
リカルドクルス

1
私の知る限り、ELMをめぐる論争は主に実装ではなく倫理的な側面によるものです。Schmidt等は、1992年に、ランダムな重みを持つフィードフォワードネットワークを使用して、このテーマにすでに触れていました。
Firebug

3

ほとんどすべての数値最適化アルゴリズムを使用して、ニューラルネットワークの重みを最適化できます。また、連続と離散の混合最適化アルゴリズムを使用して、重みだけでなくレイアウト自体(層の数、各層のニューロンの数、ニューロンのタイプ)を最適化することもできます。しかし、「次元の呪い」や何らかの形での局所的な最適化の影響を受けない最適化アルゴリズムはありません。


3

別のネットワークを使用して、パラメーターの更新方法をアドバイスすることもできます。

ある減結合ニューラルインターフェース(DNI)グーグルDeepmindからは。バックプロパゲーションを使用する代わりに、別のニューラルネットワークセットを使用して、パラメーターの更新方法を予測します。これにより、並列および非同期のパラメーター更新が可能になります。

この論文は、DNIがRNNのトレーニング速度とモデル能力を向上させ、さまざまなタスクでRNNとFFNNの両方に匹敵する結果をもたらすことを示しています。


この論文では、他の多くの非逆伝播法もリストして比較しました

合成勾配モデルは、勾配上昇[2]に使用される値関数またはブートストラップに使用される値関数に最も類似しています。バックプロパゲーションを削除することを目的とする他​​のほとんどの作業は、生物学的にもっともらしいクレジット割り当てを実行することを目標にしていますが、これは層間の更新ロックを排除しません。例えば、ターゲット伝播[3、15]は、代わりに適合されるべきターゲットアクティベーションを生成することにより、レイヤー間で勾配を渡すことへの依存を取り除きます。ただし、これらのターゲットは引き続き連続して生成する必要があり、ネットワークを逆方向に伝播するため、レイヤーは引き続き更新ロックおよび逆ロックされます。他のアルゴリズムは、損失または報酬を各層に直接ブロードキャストできるようにすることにより、後方ロックを削除します。1、およびPolicy Gradient Coagent Networks [20] –ただし、出力(またはグローバルな批評家)によって報酬を生成する必要があるため、更新はロックされたままです。Real-Time Recurrent Learning [22]または[17]などの近似は更新ロックを削除する有望な方法のように思えるかもしれませんが、これらの方法はパラメーターに関して現在の状態の完全な(または近似)勾配を維持する必要があります。これは本質的にスケーラブルではなく、オプティマイザーがネットワーク状態のグローバルな知識を持っていることも必要です。対照的に、DNIとのローカルコミュニケーションの問題としてレイヤー間の相互作用をフレーミングすることにより、学習システムのグローバルな知識の必要性を取り除きます。[4、19]のような他の作品は、逆伝播なしにレイヤーの並列トレーニングを可能にし、


2

これがコミュニティの質問である限り、私は別の回答を追加すると思った。「逆伝播」は、単純に勾配降下アルゴリズムです。局所的な最小値または最大値を見つけようとしている関数の1次導関数のみを使用します。ニュートン法またはニュートンラプソンと呼ばれる別の方法があります。これは、ヘッセ行列の計算を含むため、2次導関数を使用します。勾配降下が失敗する場合に成功する可能性があります。私よりも知識のある他の人に言われます。はい、これは権威への間接的な訴えです。すべての二次導関数の計算は計算の観点からコストがかかりすぎるため、ニューラルネットでは使用されません。

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