1

マルチエージェント生成の問題について、私は、相対ベクトルに基づいて所望の速度ベクトル(x、y)を出力する人工ニューラルネットワーク(ANN) (x、y)または(角度、半径)のいずれかで最も良く動作するかのいずれかで、ビュー内の近隣エージェントの位置。ニューラルネットワーク - 可変数の入力を扱う最良の方法

ビュー内のエージェントの数は、〜150度の視野しか持たないため、可変です。

どのようにANNへの入力の可変数に最もうまく対処できますか?私は最良のアプローチについていくつかご意見をお待ちしております。

考えられる唯一の方法は、可能な入力の数を制限し、限界を超えるときに最も近い隣人のみを入力するか、遠く離れた相互作用が非常に限られているため遠く離れた偽の隣人で空の入力を埋めることです。

+1

[ニューラルネットワークはどのように可変数の入力を持つ関数を学習できますか?](http://stackoverflow.com/questions/31123257/how-can-neural-networks-learn-functions-with-a-a-a-a-可変数) – mok

答えて

2

一般的に、必要以上のインプットでネットワークを構築することができます。重要なのは、トレーニングデータが使用データと一致することを確認することです。

未使用のベクトルに0,0を入力する方法や、x、y、0などの各入力を行うことができます。ベクトルを使用する必要がある場合は、最後の数は1です。重要なことは、多くのトレーニングデータを使用して、実際の使用状況をトレーニングフォーマットに合わせることです。

実際に使用されていない、または役に立たない入力は、実際の操作でゼロになる傾向があります。

出力を取り出して入力に戻し、各繰り返しで1つの追加入力を与える、さらに高度な方法もあります。それはおそらくあなたがやっていることには残念です。

強化学習を使用していますか?または監督?

+0

エージェント間に「反発力」があり、接近が減るにつれてますます大きくなるという事実は、(0,0)の使用を空の入力として制限しますか? (たとえ0距離が現実の可能な結果ではないにしても) – Wilco

+0

オン/オフスイッチ入力を使用していないなら、未使用入力を重要でないようにしたいと思うでしょう。どのように入力を正規化していますか?たとえば、角度を0から1にすると、距離は0から非常に遠く、1は非常に近くになります。その場合、未使用の入力に距離の0を入れます。これを正規化する簡単な方法の1つは、入力距離を '1 /(実際の距離)'にすることです。 – Kate66

+1

ああ、私はそれがうまくいくと思います、ありがとう!今、私は[0 - camera_range]を使って距離を正規化することを考えていましたが、逆の距離は空の入力問題をはるかに優しく解決します。 – Wilco

関連する問題