ニューラルネットワークの最適化に遺伝的アルゴリズムが使用されないのはなぜですか?


13

私の理解では、遺伝的アルゴリズムは多目的最適化のための強力なツールです。

さらに、ニューラルネットワーク(特に深いネットワーク)のトレーニングは難しく、多くの問題があります(非凸コスト関数-極小、勾配の消失および爆発など)。

また、GAを使用してNNを概念的にトレーニングすることも可能です。私は、なぜ彼らが実際に使われないのだろうと思っていましたか?パフォーマンスの問題ですか?

回答:


5

遺伝的アルゴリズム(GA)を使用したニューラルネットワーク(NN)のトレーニングは実行可能であるだけでなく、頻繁に使用するのに十分なパフォーマンスが得られるニッチ領域もあります。これの良い例は、トポロジーの増強またはNEATです。これは、ゲームなどの単純な環境でコントローラーを生成するための成功したアプローチです。

しかし、より一般的なケースでは、このアプローチは、調整する多くのパラメーターを持つ大規模で深いネットワークにうまく拡張できません。

遺伝的アルゴリズムおよびその他の最適なパラメーターのグローバル検索は、勾配ベースのアルゴリズムでは不可能な方法で堅牢です。たとえば、ステップ関数のアクティベーション、または他の微分不可能なアクティベーション関数でNNをトレーニングできます。他にも弱点があります。NNに使用されるGAの場合に関連することの1つは、重みパラメーターは一部の組み合わせで互換性がありますが、他の組み合わせでは大きく依存していることです。2つの同等に優れたニューラルネットワークを異なるパラメーターにマージすると(GAのクロスオーバーで実行します)、通常、パフォーマンスの低い3番目のネットワークが作成されます。NEATの成功は、NNの接続を「成長」させ、類似のニューラルネットワーク間でそれらを一致させることにより、その問題に対処する方法を見つけることに部分的にあります。

勾配ベースのアプローチは、はるかに効率的です。一般に、NNのドメインだけでなく、パラメーターに関する関数の勾配を計算できる場合、他のほとんどの最適化手法よりも速く最適なパラメーターを見つけることができます。正確な勾配は、単一の評価から少なくともわずかな改善を保証し、他のほとんどのオプティマイザーは、そのような保証を行うことができない生成と再試行のパラダイムに入ります。局所的な最適値を見つける傾向の弱さは、NNの損失関数の大きな障害ではないことが判明しており、運動量、RPROP、アダムなどの基本的な勾配降下の拡張を使用してある程度の成功を収めています。

実際には、大規模な多層ネットワークでの勾配法は、ネットワークパラメータを見つけるためのNEATなどのGA検索よりも桁違いに高速です。ImageNetを解決するGAトレーニングを受けたCNNや、GAがネットワークの重みを必要としないMNISTを見つけることはできません。ただし、GA、またはそれらの少なくともいくつかのバリアントは、100%除外されていません。たとえば、この2017年のブログでは、GAを使用して機械学習で重要なタスクであり、勾配ベースの方法では扱いにくいNN ハイパーパラメーターを発見することを検討しているImage ClassifiersのLarge-Scale Evolutionを含む最近の論文レビューしています


1

実際、Google Brainは既に画像分類器に対して同様のことを行っています

それでも、彼らの研究では逆伝播を使用してネットワークを訓練していますが、遺伝的アルゴリズムを使用して適切なアーキテクチャを見つけています。言及するもう一つのこと:彼らの最高のモデルを手に入れるには、膨大な量の計算能力が必要でした。

彼らは2017年に最初の論文を発表し、2018年に改良版を得ました。あなたは彼らのブログ投稿でそれについて読むことができます

ネットワークアーキテクチャ検索には別の研究がありますが、遺伝的アルゴリズムの代わりにベイジアン最適化を使用します

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