ニューラルネットワークを使用してアルゴリズムを考案できますか?


9

ボードゲームでニューラルネットワークがどんどん成功した後、私たちが設定する次の目標は、Starcraftで人間を倒すことよりも役立つものになり得ると感じています。より正確には、私はかどうか疑問に思いました

ニューラルネットワークをトレーニングして、古典的なアルゴリズムの問​​題を解決できますか?

ここでは、たとえば、ネットワークが重み付きエッジと2つの頂点と指定された入力グラフを取得し、最短のパスをできるだけ早く見つけるように求めたことを意味します。次に、ニューラルネットワークがダイクストラまたは類似のものを使用するようにそれ自体を発見し、トレーニングすることになると思います。s t s tGstst

一方では、ニューラルネットワークの計算能力がTC0であることを知ってい。一方、これが私の質問に必ずしも関連しているのかどうかはわかりません。それでも、ほとんどの問題について、解決できるかどうかはわかりません。ニューラルネットワークがそれ自体をトレーニングできるかどうかを確認することは、高速なアルゴリズムがあるかどうかに関係なく、優れた指標になる可能性があります。たとえば、ニューラルネットワークがSATを高速に解決するように自分自身をトレーニングできない場合、(さらに)可能性が高くなり。ニューラルネットワークはグラフィソモルフィズムやFACTORIZATIONで何をするのだろう。TC0NPTC0

もちろん、アルゴリズムの抽出はまったく別の問題です。専門家はそれを行う方法を知っていると思いますが、それを議論することはこの質問のトピックではありません。

2日後に追加:回答を確認した後、否定で回答する場合は、私が知りたいことを明記します。

チェスをプレイするのがダイクストラやグラフ同型写像よりも簡単なのはなぜですか?


コメントは詳細な議論のためのものではありません。この会話はチャットに移動しました
Lev Reyzin

回答:


2

Reza Zadehによるこのブログによると、トレーニング例の3分の2でも正しい出力を生成するようにニューラルネットワークをトレーニングすることは、計算上困難です。

実際、1988年、J。スティーブンジャッドは次の問題をNP困難であると示しています。

一般的なニューラルネットワークと一連のトレーニング例がある場合、ネットワークがすべてのトレーニング例に対して正しい出力を生成するように、ネットワークに一連のエッジの重みが存在しますか?

ジャッドはまた、ネットワークがトレーニング例の3分の2の正しい出力を生成するだけでよい場合でも、問題がNP困難であることを示しています。1993年に、BlumとRivestはニュースをさらに悪化させました。2つのレイヤーと3つのノードしかない単純なネットワークでさえ、NPをトレーニングするのは難しいです。


1
これが私の質問にどのように答えるかは本当にわかりません。
domotorp 2017

投稿を編集する前に、最初の質問はNNのトレーニングについてです。CCタグを追加したので、私の答えは、アルゴリズムの問​​題がPであるかNPCであるかに関係なく、NNをトレーニングするのは難しいことを示しています
Mohammad Al-Turkistany

漠然としていてすみません。
domotorp 2017

0

これは完全な答えではなく、私はニューラルネットの経験があまりありませんが、おそらく役に立ちます。

NNには基本的に入力が与えられ、応答が生成されます。次に、ドメインを介して「同じ」入力に対して同様の応答を生成するように訓練されます。たとえば、同じ動物の画像への同じラベル、または「良い」とは高い勝率を意味する「良い」チェスの位置に対する高い評価です。

したがって、私がコメントしたように、ニューラルネットは、チューリングマシンで実行される段階的なアルゴリズムとはまったく異なる方法で機能する非均一な計算モデルです。代わりに、ブールではなく連続計算を使用し、微調整またはトレーニングでき、エラーが発生する可能性のある「ソフト」回路と考えてください。

チェスをプレイするのがダイクストラやグラフ同型写像よりも簡単なのはなぜですか?

部分的に、それは誰かに彼らの能力の及ぶ限りでは質問に答えるように頼むことと、それが正しいことの証明とともに1つの正しい答えを求めることの違いです。部分的には、固定サイズの問題を解決することと、すべての可能な入力サイズの問題を同時に解決することの違いです。

ダイクストラが任意のサイズのインスタンスで実行されるたびに、その出力が真の答えであり、他の答えではないことが暗黙的に証明されます。チェスと画像認識では、できる限り最良の答えを出し、エラーは許容されます。さらに、これらの問題を一度に1つのサイズで解決するようにネットワークをトレーニングするだけです。そのようなニューラルネットソリューションを一般化して、たとえば、サイズと形状がまったく異なる問題のインスタンスを一般化する方法はまだわかりません。

ニューラルネット最短経路や同様のアルゴリズムの問​​題を解決できないとは思いませんが、常に正しいステップバイステップのアルゴリズムとは根本的に異なる方法で問題を解決します。

ニューラルネットと回路の類似性に戻ると、回路は何十年にもわたって研究されてきたが、前の質問の(5)に対する回答の欠如から判断すると、特定の完全に正しい回路を構築する方法についてはほとんど何も知りません均一なアルゴリズム(Turing Machine)を回路に変換する以外の問題。


答えが1つであっても違いはないと思います。2人のプレイヤーが、より短い経路を見つけることができる相手を競うことでダイクストラをプレイできます。スケーラビリティはもっと深刻な問題かもしれません-NNはNIMの遊び方を学ぶことができると思いますか?
domotorp 2017

@domotorp、私は正しいアルゴリズムと正しくないがおおよそのヒューリスティックとの間には、概念的および実際的な大きな違いがあると思います。なぜチェスがおおよその最短経路よりも難しいのかと尋ねたのではなく、すべての入力サイズで100%の確率で正しいチェスがダイクストラよりも難しいのかと尋ねました。Re:nim、わかりません。最初に任意の大きな入力を受け入れるNNアーキテクチャが必要です...
usul

0

私は決して専門家ではありませんが、なぜなのかはまだわかりません。

ニューラルネットワークは基本的に、事前によく知られているある種の「コスト/利益モデル」に従って最適化を実行します。さらに、サーチスペースは明確に定義されており、既知の有効な動きと無効な動き、および簡単に定義できる「バリエーション」を備えています。AlphaZeroとAlphaGoの場合でも、コスト関数はおそらく勝率に基づいており、移動後のすべての可能な移動、またはそのための何らかのヒューリスティックの結果の勝率分布に基づいています。

アルゴリズムを考案するためには、基本的にプログラムに、「アルゴリズムを実行する」プログラムに対応する正しい文字列(暗黙のエンコーディングとコスト関数は既知)を出力する方法を学習するように依頼します。ただし、プログラムの実装に使用するアルゴリズムは無限にある可能性があります。したがって、おそらく、適切な「適合度」メトリックを定義する必要があります。

ただし、特定のプログラムの場合でも、「適合度」の指標を定義するのはやや難しい場合があります。時間?スペース使用量?「副作用」の定量化?理想的には、あなたがやりたいことだけを実行する「最短のプログラム」を生成します。

正しいフィットネスメトリックと調整アルゴリズムが見つかれば、これを実行できると思います。


-3

「ニューラルネットワーク」は、1つの次元空間から別の次元空間にベクトルを変換します。したがって、これらは高度に非線形の関数近似にすぎません。ニューラルネットワークでさえ、損失を最小化するために近似アルゴリズムを使用します。ただし、新しいアルゴリズムを考案するためのニューラルネットワークのトレーニングは問題外です。tomas mikolovは、この領域でスタック拡張型リカレントニューラルネットワークを使用していくつかの作業を行いました。また、このドメインの「ニューラルチューリングマシン」についても聞いたことがあります。しかし、最適な戦略を見つけることは、あなたの質問にいくらか関連する強化学習を研究する根本的な原因でした。しかし、ニューラルネットワークを使用して新しいアルゴリズムを考案することは、少なくとも近い将来には不可能です。


適切なゲームの最適な戦略は、対応する問題の最適なアルゴリズムと同じだと思います。
domotorp

@domotorpの「戦略」は、アルゴリズムというよりヒューリスティックなものです
riemann77

-6

私はQAオートメーションエンジニアなので、ニューラルネットワークの専門知識を主張しないでください。ただし、トートロジー的には、NN自体がアルゴリズムを作成できます。人間自身はあるレベルではNNであり、アルゴリズムを作成するため、私たちが作成した人工NNシステムがアルゴリズムを作成できるのは当然のことです。

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