NP問題を解決するための進化型人工ニューラルネットワーク


10

私は最近、Google Research Blogからニューラルネットワークについて話している非常に興味深いブログエントリを読みました。基本的に、このニューラルネットワークを使用して、画像認識などのさまざまな問題を解決します。彼らは遺伝的アルゴリズムを使用して、軸索の重みを「進化」させます。

だから基本的に私の考えは次のとおりです。数字を認識するプログラムを書くことになっていた場合、どうやって始めればよいかわからない(漠然とした考えがあるかもしれませんが、私のポイントは、それは簡単ではなく、簡単ではありません)ですが、ニューラルネットワークを使用する必要はありません。ニューラルネットワークが進化するための適切なコンテキストを作成することにより、私のニューラルネットワークは「正しいアルゴリズムを見つけます」。以下で、記事の非常に興味深い部分を引用しました。そこでは、各層が画像認識のプロセスでどのように異なる役割を果たすかを説明しています。

ニューラルネットワークの課題の1つは、各レイヤーで何が起こっているかを正確に理解することです。トレーニング後、各レイヤーは、最終的なレイヤーが本質的に画像の表示内容を決定するまで、画像のより高いレベルの特徴を段階的に抽出します。たとえば、最初のレイヤーはエッジやコーナーを探している可能性があります。中間層は、基本的な機能を解釈して、ドアや葉などの全体的な形状やコンポーネントを探します。最後のいくつかの層は、それらを組み立てて完全な解釈にします。これらのニューロンは、建物全体や樹木などの非常に複雑なものに応答してアクティブになります。

だから基本的に私の質問は次のとおりです:すべてのNP問題を解決するために遺伝的アルゴリズム+ニューラルネットワークを使用できませんでしたか?適切な進化のコンテキストを作成し、「自然」に解決策を見つけさせるだけです。

インセプショニズム:ニューラルネットワークの詳細

編集:私は多くの場合、ブルートフォースを使用したり、非効率的なソリューションを見つけたりできることを知っています。それが、進化する人工ニューラルネットワークを強調する理由です。私がコメントで言ったように:十分な時間と適切な突然変異率があれば、最適な解決策を見つけることができました(または少なくともそれが私の考えです)。

概念


1
必要はありません。単純にブルートフォースを使用できます。正確にはあなたの目標は何ですか?
–PålGD 2015

2
私はニューラルネットワークの専門家ではないので、NPの問題を正しく解決するようにトレーニングできるかどうかはわかりません。しかし、私はあなたが正しい質問をしているとは思いません。NPに含まれる問題を解決するアルゴリズムを考え出すことは、通常は難しくありません。考えられるすべての解決策を確認してください。ただし、多項式時間でNP困難な問題を解決するアルゴリズムを見つけることは別の話であり、その存在はほとんどありません。ニューラルネットワークはツルーイングマシンでシミュレートできるため、P = NPでない限り超多項式時間が必要であり、あまり役に立ちません。
Dennis Kraft

はい、ニューラルネットはNPの完全な問題に対して使用されています。それらはいくつかの有用な特性を持つことができますが、DKが指摘するように、複雑性理論の時間制約から逃れることはありません。
vzn 2015

私のポイントは次のとおりです。適切な突然変異率と十分な時間を使用して、(少なくとも理論的には)最適なソリューションを見つけることができました。(または少なくとも局所的な最大値)画像:コンセプト
NMO 2015

2
遺伝的アルゴリズム(および多くの「AI」手法の残りの部分)は、本質的にランダム化された「解空間のサンプルを試す」であり、完全にランダムではないようにするためにいくつかのスマート(ヒューリスティック)が投入されます。いいえ、それは「考えられるすべての解決策を試してみる」よりはよくありません。ほとんどの場合、はるかに悪い(同じ廃棄されたケースを再度チェックしないという保証はないため)。もちろん、彼らは「まともな」ソリューションを見つけます。しかし、私たちは最高のものを見つけたいと思っています。
フォンブランド、2015

回答:


21

いいえ。次の2つの理由により、この指示が役に立たない可能性があります。

  1. ニューラルネットワークは「魔法」ではありません。それらはパターンを見つけることを試みる方法です。検出するのに十分なほど強いパターンがあり、そのパターンが妥当な数の例から学習できるいくつかの問題では、それらが有効な場合があります。しかし、それらは魔法の妖精の粉ではありません。ニューラルネットワークをセットアップできるからといって、バックプロパゲーションが問題を解決するための良い方法を必ず見つけるとは限りません。見つけるべきパターンがない、パターンが実行不可能な数の例でしか発見できない、またはパターンは存在するがニューラルネットワークのトレーニング手順でそれらを見つけることができない、などの可能性があります。

ニューラルネットワークは、機械学習のもう1つの形式です。SVM、ランダムフォレスト、または線形回帰についても、他の形式の機械学習について同じ発言をすることができます。ニューラルネットワークは、機械学習のすべての問題を解決する魔法のような特効薬ではありません。それらは他の機械学習手法と同じくらい効果的であるか、またはある種の問題に対してはおそらくもっと効果的ですが、魔法ではありません。

ニューラルネットワークについて少しだけ聞いたことがあり、ニューラルネットワークがすべての答えであると思って立ち去る場合があります。おそらく、「あなたの脳もニューラルネットワークを使用している」と聞いたか、または非常にクールなアプリケーション(音声認識など)。しかし、だまされてはいけません。誇大広告を信じてはいけない。ニューラルネットワークは便利な手法ですが、コンピューターでNP完全な問題を解決したり、チューリングテストに打ち勝ったり、すべての仕事を取り除いたり、人間をコンピューターに置き換えたりすることはできません。とにかく、いつでもすぐに。それは単なるSFです。


1
本当に良い答えです。遺伝的アルゴリズム+ニューラルネットワークは非常に強力に見えますが、すべてのnp問題を解決するには十分ではない可能性があります。このニューラルネットワーク+遺伝的アルゴリズムをこのpソリューションを探している野生に残すことを想像します。小さなスカウトのように。
NMO 2015

1
ニューラルネットワークは通常、正しい答えを見つける確率を提供するものであり、保証を提供するものではないことに注意してください。問題の要件を緩和して次善の解決策を可能にする場合、最悪の場合には扱いにくいにもかかわらず、NP完全な問題に対する実際的な解決策が非常に頻繁にあります。
Dan Bryant

9

他の回答は、参考になる/役立つが実際に質問を正確に理解しておらず、少しだけ読みすぎているようです。ニューラルネットワークが他の方法よりも優れているかどうかは尋ねず、NPの完全な問題に適用できるかどうかだけを尋ねました。答えは「はい」で、ある程度の成功を収めており、これは何十年も前から知られており、これについてはさまざまな研究が行われており、現在も続いています。これは、機械学習の柔軟性に関係しています。正確な解や最適な解が見つからない場合でも、それらの解には他の望ましい特性がある場合があります。いくつかの論文例:


4

ニューラルネットワークは、実際にはNP完全な問題を解決しません。彼らが行うことは、NP完全問題に著しく近い問題を解決することです

ニューラルネットワークの大きな特徴の1つは、毎回「正しい」答えを見つける必要がないことです。彼らは「間違っている」ことが許されている。たとえば、ビンパッキングの問題を解決していて、理想的なソリューションから1%オフのソリューションに到達し、その答えに完全に満足しているとします。

毎回100%正しいという要件を取り除くと、他の問題解決アプローチが非常にうまく機能します。たとえば、多くのルート計画アルゴリズム(Googleマップなど)はNP完全でなければなりませんが、最適な99.9%の時間の1%以内のパスを見つけるアルゴリズムを見つけることは非常に簡単です。結果を突き止めようとしているため、最後の0.1%のケースでは、NPの完全な取り組みが非常に高額になっています。

たまたま、NP完全方程式を実際に使用しようとすると、実際の答えは必要ありません。多くの場合、「近い」という回答には非常に満足していますが、使用している「近い」指標を説明する文言がない場合がよくあります。これらは、代わりに求めたNP完全な問題を実際に解決する必要がなく、ニューラルネットワークが求めたい実際の質問に答えられる状況です。


1

ニューラルネットワークは普遍的な関数近似が可能であることが知られていますが、これはそれ自体がNP完全問題である問題(最適化)でそれらをトレーニングする必要があるため、進化的トレーニングと逆伝播を伴うSGDなどがあります。

したがって、NP完全な問題を解決する可能性は低いですが、問題をモデル化する関数を任意の精度で近似するようにトレーニングできます。また、ニューラルネットワークを使用してNP完全な問題を最適に解決したとしても、それが見つけた解が実際に大域的な最適であることを証明する方法はありません(これは、無理に解を強制することはできません)ニューラルネットワークの使用例)。

あなたの視覚化は、進化的アルゴリズム(共有アルゴリズムを使用して最初に高性能な構造を持つ単一の種が個体群を引き継ぐのをきちんとしたアルゴリズムがどのように防ぐかを参照)がSGDおよび他の機械学習技術に閉じ込められるよりも適切ではないという意味で正確ですローカルの最適値ですが、それらが見つける解が実際にグローバルな最適解であることを証明するものではありません。


回答にいくつかの参照を追加できますか?また、フォーマットを改善してみてください(たとえば、NP、SGD、逆伝播などを使用し、おそらく改行を追加します)。
Yuval Filmus


「進化的アルゴリズムは、SGDや他の機械学習手法よりも局所的な最適化に陥るのに適さない」というあなたの主張を正当化する必要があると思います。特にニューラルネットワークのトレーニングという特定のタスクについては、そうではないと思います。
DW

この回答では、NP完全性の定義についていくつかの混乱があります。あなたが主張するものとは逆に、NP完全な問題を解決した場合、私たちは正しい解決策があるかどうかを確認できます。NP完全検索の問題とNPハード最適化の問題には違いがあります。前者の場合、実際にソリューションが正しいかどうかを効率的に確認できますが、後者の場合はできない場合があります。
DW

私はそれが真に最適なソリューションを最初に強引に強制せずにそれが最適なソリューションであることを検証できなかったと認定しました、これは正しくありませんか?私は、神経進化がきちんとしたアルゴリズムへの参照リンクと共有フィットネスで局所最適に行き詰まりにくいという理由を説明しましたが、局所最適で立ち往生する勾配降下の感受性は自明であり、ハイパーパラメーター調整フレームワークはこれを緩和するのを助けることができます私は嫌悪sgdが動けなくなることに持っているのでそれを信用しません。
nickw
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.