-2

現在、ゲーム用の AI プレーヤーを作成するプロジェクトに取り組んでいます。私は UCT アルゴリズムを使用しており、対戦相手の動きの予測を追加する予定です。そのためにニューラル ネットワークを使用したいのですが、いくつかの問題が発生しました。

  1. デフォルト プレーヤー、つまり、これまでに見たことのないプレーヤー用の基本的なニューラル ネットワークを構築したいデータが既にいくつかあります。問題は、特定の対戦相手ごとに適応するように、このネットを更新したいということです。オンライン ニューラル ネットワーク アルゴリズムを検索してみましたが、これまでのところあまり成功していません。これを実装する方法についてアドバイスをいただけますか?トレーニングを最初から完全に実行せずに、新しいデータに基づいてパラメーターを更新するにはどうすればよいですか?

  2. コーディングは Java で行われ、Weka を使用してデータを処理しようとしました。ただし、そこで見つけた唯一のニューラル ネットワーク分類器は、多層パーセプトロンです。私は単層パーセプトロンに精通しており、その出力が確率ではないことを知っています (対数線形または単純ベイズ分類器とは対照的に)。多層パーセプトロンも生成的ではないのですか? もしそうなら、それが出力するこれらの「スコア」を確率として使用することはどれほど不正確ですか? 別のニューラル ネット アルゴリズムを使用する必要がありますか? もしそうなら、そのために利用できるJava用のライブラリはありますか?

どうもありがとうございました。

4

1 に答える 1

1

わかりましたので、これについてもう少し検討し、さらに調査を行った結果、次のように進めることにしました。

  1. より良いものを見つけられなかったので、通常の逆伝播アルゴリズムを使用して、新しいトレーニング値で 1 つの更新ステップを実行します。私が知る限り、新しい値で 1 つの更新を行うことは、人々がそれらを変換してオンラインで学習する場合、他のアルゴリズムの通常のアプローチです。ただし、正しい学習率を見つけることはおそらく興味深いでしょう。このアプローチは移動ごとに 1 回の更新のみを行うため、バックプロパゲーションをあまり最適化する必要はありません。そのため、独自のソリューションをコーディングし、ライブラリは使用しません。

  2. ここでは、おそらく Weka ツールを放棄し、代わりに FANN ライブラリを使用しようとします。デフォルトのパラメーターを計算した後は使用する必要がないため、実際に別の言語で実装されていても問題ありません。

より良い解決策をご存知でしたら教えてください。ありがとう。

于 2012-04-04T23:09:29.087 に答える