私が構築しているスペース シューティング ゲームでニューラル ネットワークを使用して敵に力を与えることを検討していますが、疑問に思っています。ネットワークの決定的な適切な出力セットがない場合、ニューラル ネットワークをどのようにトレーニングしますか?
4 に答える
私は現在ニューラルネットワークを研究していますが、入力と出力のエンコーディングが明確に定義されていないとまったく役に立たないようで、複雑さにまったく対応していません(http://en.wikipedia.org/wiki/VC_dimensionを参照)。そのため、ニューラルネットワークの研究は20〜30年以上前の最初の誇大宣伝以来ほとんど適用されていませんでしたが、セマンティック/状態ベースのAIは、実際のアプリケーションで成功したため、すべての人の利益を引き継ぎました。
- 始めるのにとても良い場所は、ゲームの状態をニューラルネットの入力として数値で表す方法を理解することかもしれません。
- 次に、ゲーム内のアクションに対応する出力の種類を把握します。
- 使用するニューラルネットワークの構造について考えてください。ニューラルネットワークから興味深い複雑な振る舞いを得るには、ネットワークはほとんど再発する必要があります。「メモリ」があるため、リカレントネットワークが必要になりますが、それを超えると、他に続けることはあまりありません。ただし、複雑な構造を持つリカレントネットワークは、動作するようにトレーニングするのが非常に困難です。
- ニューラルネットワークが成功している分野は、分類(画像、音声、文法など)であり、統計的予測の成功は限られている傾向があります(この単語の後にどの単語が来ると予想されますか、明日の株価はどうなりますか?)
要するに、コアの敵AIとしてではなく、ゲームのごく一部にニューラルネットを使用する方がおそらく良いでしょう。
さまざまなAIテクニックとリファレンスについて、 AIダイナミックゲームの難易度のバランスを確認できます。
(IMO、「敵を取り巻く」などの敵の行動を実装できます。これは、高度なAIの概念を掘り下げることなく、非常にクールです)
編集:あなたはスペースシューティングゲームを作っており、敵のためにある種のAIが必要なので、このリンクは興味深いものになると思います:自律型キャラクターの操縦行動
Matthew Buckland の本を 2 冊紹介します。
2 番目の本は逆伝播 ANN に入ります。これは、とにかく NN について話すとき、ほとんどの人が意味するものです。
とはいえ、意味のあるゲーム AI を作成する場合は、最初の本の方が役立つと思います。FSM をうまく使用するためのすばらしい、充実したセクションがあります (もちろん、FSM でつまずくのは簡単です)。