ニューラルネットワークトレーニングの逆伝播と遺伝的アルゴリズム


34

私は各方法の長所と短所を議論するいくつかの論文を読みました。GAが最適な解決策を見つけるのに何の改善ももたらさないと主張する人もいれば、それがより効果的であることを示す人もいます。文学では一般的にGAが好まれているようですが(ほとんどの場合、人々は必要な結果を得るために何らかの方法でそれを変更します)、ソフトウェアソリューションの大半は逆伝播のみを使用するように見えるのはなぜですか?

どちらを使用するかについて、一般的な経験則はありますか?多分それはNNのタイプに依存するか、一般的に他のものよりも優れた最先端のソリューションが存在しますか?

可能であれば、一般的な答えを探しています。つまり、「NNが大きい場合、GAの方が良い」、または「GAは常に優れていますが、計算パフォーマンスの問題があります」などです。

回答:


23

科学文献を注意深く見ると、対照的な結果が得られます。明らかに、場合によっては、GA(より一般的には進化アルゴリズム)最適なNN設計を見つけるのに役立ちますが、通常は非常に多くの欠点(アルゴリズムパラメーターの調整、計算の複雑さなど)があり、その使用は現実的ではありません。世界のアプリケーション。もちろん、GA / EAが常に存在する一連の問題を見つけることができますバックプロパゲーションよりも優れています。最適なNN設計を見つけることは複雑なマルチモーダル最適化問題であるため、GA / EAは(メタヒューリスティックとして)「従来の」アルゴリズムで得られた結果を改善するのに役立ちます。たとえば、GA / EAを使用して初期重み構成のみを見つけるか、ローカルミニマムから脱出する(興味があれば、このトピックに関する論文を書きました)。

私はこの分野で多くの仕事をしましたが、NNに適用されるGA / EAには多くの科学的研究があることを伝えることができます。


2
これも最近思いついたものです-最初に「良い」ソリューションを見つけてから、GAでさらに改善します。NNだけでなく、一般的な最適化にも適用されます
...-sashkello

1
それらが相互に排他的である理由を私は混乱しています。GAは構造を学ぶことになっていると思いました。バックプロパゲーションは重みのみを学習できる
ピート

8

ニューラルネットワークの主な問題の1つは過剰適合です。つまり、データの有限サンプルに基づいていくつかの基準を最小化するネットワークを見つけるのが非常に困難なアルゴリズムは、その特定のサンプルに対して非常にうまく機能するネットワークになりますのデータですが、一般化は不十分です。この理由で、特に重みの最適化と同時にアーキテクチャの最適化を行う場合、ニューラルネットワークを設計するためにGAを使用するのはかなり慎重です。私は一般に、多数の(たとえば20)のランダムな初期重みベクトルから(正則化を使用して)ネットワークをトレーニングし、結果のネットワークすべてのアンサンブルを形成することは、一般的にどのアプローチよりも優れていることを発見しました。

基本的に、最適化は機械学習のすべての悪の根源であり、それを行うほど、データが過剰に適合しやすくなります。


Dikranは、GAが自然選択を行いますが、あなたが言及したように情報を無視しませんが、選択されたソリューションが問題を解決する場合にのみ確認し、理由を知り、ネットワークまでダイナミズムの基礎を形成するアゴリズムをアップグレードします1つまたは2つの最適なソリューションに収束します。あなたがその厳格さを得ることを望みますか?

データの有限サンプルで評価された最適なソリューションに収束することが、まさにオーバーフィッティングの原因です。過剰適合を避けるために、最良ではないソリューションに収束する必要があります(ニューラルネットワークのトレーニングの早期停止など)。GAは、ニューラルネットワークのフィッティングにおいて他の最適化の形式よりも優れているわけではありません。トレーニング基準の過剰な最適化を避ける必要があります。
ディクランマースピアル14

5

膨大な量のデータを扱い、フィードフォワードニューラルネットワークを使用して教師付き学習タスクを解決する場合は常に、逆伝播に基づくソリューションがはるかに実現可能です。この理由は、複雑なニューラルネットワークでは、自由パラメーターの数が非常に多いためです。私が現在取り組んでいる業界プロジェクトの1つは、フィードフォワードニューラルネットワークで、約1000の入力、2つの隠れ層@ 384ニューロン、それぞれ60の出力を伴います。これにより、最適化される1000 * 384 + 384 * 384 + 384 * 60 = 554496重量パラメーターになります。ここでGAアプローチを使用すると、非常に遅くなります。


私の理解では、GAは標準的なアプローチでは解決が難しい問題に取り組むように設計されているということです。あなたが説明した状況で正確にパフォーマンスを向上させるべきではありませんか?
サシュケロ

2
私は、GAがどのような構造であるかを理解するために使用されることになっていると考えました。バックプロパゲーションでは重みのみを把握できます
ピート

2

二番目の答えは間違っています。過剰適合は、最適化によるものではありません。過剰適合は、モデルが過度に複雑であり、それらを作成した実際のルールを学習せずにすべてのデータポイントに適合できる場合に発生します(極端な場合、単に記憶するだけです)。単純なモデルの選択、ドロップアウト、 dropconnect、重み減衰、およびより多くのデータを使用しています。目標は、これらの制約を考慮して、ネットワークを最適化し、可能な限り正確にすることです。

質問に答えるために、backpropは確率的最適化(遺伝的アルゴリズムなど)よりもはるかに高速であると思われます。 、確率的最適化は完全にランダムな変更を試み、その情報を無視します。

しかし、より広いエリアを探索することにより、GAはおそらくローカルオプティマを回避することで長期的にはより良い結果を得ることができ、トレーニングにかかる​​時間は長くなります。

私は、GAがbackpropよりもどれだけ遅いか、そして誰かがハイブリッドアルゴリズムを知っている場合は興味があります(分散検索はこれに理想的だと思われます)。


1
最初の段落に同意しない。過適合は、主にトレーニング問題の正則化アプローチによって防止されます。あなたはトレーニングの問題の多くを解決しているメタ最適化---やって起動した場合(たとえば、カーネル・パラメータの調整、ネットワーク・アーキテクチャのための、...) -オーバーフィッティングの世話をすることははるかに困難になるとされる確かに暗黙のうちにもう保証されません。
マーククレセン

最適化によってオーバーフィッティングが引き起こされなかった場合、早期フィッティングはオーバーフィッティングの効果的な解決策にはなりません。
Dikran Marsupial

1

GAと逆伝播の違いは、GAは乱数に基づいており、逆伝播は確率的勾配降下などの静的アルゴリズムに基づいていることです。GAは、乱数に基づいて、それはおそらく、極小値に巻き込まれることを避けるためであろうとその変異手段に追加されています。しかし、GAが乱数に基づいているということは、同じネットワークで学習を2回実行する可能性がかなり高いことを意味し、異なる結論、つまり異なる重みセットに到達する可能性があります


コメントするだけで、ランダムinitも使用します。バックプロップのウェイト用。初期化中に同じシードを使用すると、同じソリューションになりますが、使用しない場合はおそらく使用されません。そのため、back-propもランダム入力に依存します。シードを修正すると、同じseqを使用するため、遺伝的アルゴリズムでも同じ結果になります。再び数の。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.