4

コンテキスト:

フィードフォワード人工ニューラルネットワークを使用してビデオゲーム用のAIを作成しようとしていますが、入力機能の一部が他の入力機能の存在または値に依存しているという問題が発生しました。

私が考えることができる最も基本的で単純化された例はこれです:

機能1はプレーヤーの数(範囲2 ... 5)機能2から?各プレーヤーのスコアです(範囲> = 0)

ANNにスコアを通知するために必要な機能の数は、プレーヤーの数によって異なります。

質問:ANNへのこの動的な知識入力をどのように表現できますか?

私がすでに検討したこと:

  1. そのような機能を使用しない、または静的入力に統合するだけです。代わりに、プレーヤーのスコアの合計を使用するIE。これが私の問題に当てはまるかどうかは真剣に疑っています。情報が失われすぎて、ANNがうまく機能しなくなる可能性があります。

  2. 存在しない入力のエラー値(例:-1)またはデフォルト値(例:0)を渡すこれがどれほどうまく機能するかはわかりません。理論的には、ANNはこの入力から簡単に学習し、関数を適切にモデル化できます。実際には、ANNに問題を引き起こす存在しない入力の数が非常に多いのではないかと心配しています。たとえば、プレーヤーの範囲が2〜10の場合、プレーヤーが2人しかない場合、入力データの80%が存在せず、ANNに奇妙なバイアスが導入され、パフォーマンスが低下します。

  3. 存在しない入力に設定されたトレーニングセットの平均値を渡す繰り返しますが、存在しない入力の量が問題になり、離散値の入力に奇妙な問題が発生するのではないかと心配しています。

だから、私はこれを求めています、誰かが私が考えることができる他の解決策を持っていますか?そして、この問題を処理するための標準的または一般的に使用される方法はありますか?

SOにとってはかなりニッチで複雑な質問であることは知っていますが、「このコードを修正するにはどうすればよいですか」ということに飽きてきました。および「PHP/Javascriptでこれを行うにはどうすればよいですか?」質問:P、みんなありがとう。

4

2 に答える 2

3

(プレーヤーの数ごとに)複数のデータセットがあり、実際には相互に互換性がないようです。5人用ゲームから学んだ教訓は本当に2人用ゲームに当てはまりますか?#1などの問題を単純化して、プログラムのパフォーマンスを確認してください。AIでは、スパムフィルターの単語の袋のように、ばかげた単純化によって多くの牽引力が得られることがあります。

于 2012-09-24T03:39:56.347 に答える
2

次のようなモデルについて考えてみてください。

Say xi(たとえば、x1)は、可変数が存在できる入力の1つです。これらのうちn個(x1からxn)を持つことができます。yを残りの入力とします。

最初の非表示レイヤーで、x1とyを最初のcノードに渡し、x1、x2とyを次のcノードに渡し、x1、x2、x3とyを次のcノードに渡します。これは、x1とx3の両方がx2なしでアクティブになることはできないことを前提としています。これが可能である必要がある場合、モデルは適切に変更する必要があります。

ネットワークの残りの部分は、すべてのノードが次のレイヤーのすべてのノードに接続されている標準のフィードフォワードネットワークです。

w個のアクティブな入力がある場合は常に、c個のノードのw番目のセットを除くすべてを無効にします(それらをその入力セットのトレーニングから完全に除外し、出力先のノードの値を計算するときにそれらを含めないでください。それらの入力または出力)。これにより、ほとんどのネットワークをトレーニングできますが、最初の隠れ層では、その数の入力に適用できる部分のみが使用されます。

cは、c * n(最初の隠れ層のノード数)が2番目の隠れ層のノード数よりも大きい(または等しい)ように選択することをお勧めします(また、cは少なくとも10である必要があります)適度なサイズのネットワーク(100までは問題ありません))そして、ネットワークには少なくとも2つの隠れ層があることをお勧めします(つまり、入力と出力を除いて合計3つ)。これは経験によるものではなく、私の直感が教えてくれることです。

この動作は、異なる数の入力間の特定の(おそらく定義できない)類似性に依存しており、この類似性が存在しない場合、仮にあったとしてもうまく機能しない可能性があります。これには、入力数ごとにかなりのトレーニングデータが必要になる可能性があります。

試してみたら、うまくいくかどうか教えてください。

人工知能の議論に興味がある場合は、それに専念するLinked-Inグループに参加することをお勧めします。非常に活発で、興味深い議論をしているグループもあります。人工知能に関しては、stackoverflowで多くのことが起こっているようには見えません。あるいは、それを変更するために作業する必要があるか、あるいはその両方です。

アップデート:

これは、いくつかのまともな人工知能LinkedInグループの名前のリストです(最近ポリシーを変更した場合を除いて、参加するのは簡単なはずです)。

  • 「人工知能研究者、教員+専門家」

  • 「人工知能アプリケーション」

  • 「人工ニューラルネットワーク」

  • 「AGI—人工知能」

  • 「応用人工知能」(現時点ではあまり進んでおらず、まだスパムを処理していますが、改善されています)

  • 「テキスト分析」(興味がある場合)

于 2012-10-02T20:30:38.180 に答える