3

ボードゲームでTD学習法を使用した標準的なバックプロパゲーションニューラルネットワークを使用することが意味があるかどうかを尋ねたいですか?

私の方法は次のようになります。

  1. 1つのゲームをプレイします。ネットは、貪欲なポリシーとランダムな動きの両方のプレーヤーとしてプレイしていることがあります。
  2. 保存されたゲーム位置(ターミナル1から開始して開始位置に移動)ごとに、推定位置値と目的の位置値を計算します。

    boards_values[i]['desired_value'] = boards_values[i]['estimated_value'] + 0.4 * ( boards_values[i+1]['estimated_value'] - boards_values[i]['estimated_value'] )
    
  3. 標準のバックプロパゲーションアルゴリズムを使用して、1エポックの学習率が小さいゲームエンドトレイン全体からネットのトレーニングパターンを作成します。

    NN.train([pattern], iterations=1, N=0.001, M=0.000001)
    

私はチックタックトーゲームで上記のいくつかの組み合わせを試しました(1つの例からではなく30〜40のパターンを学習し、学習速度を増減するなど)。NNエージェントがランダムプレーヤーと対戦する場合の最良の例の1つは次のとおりです。

(最初にプレー:勝ち、引き分け、負け)、(2番目にプレー:勝ち、引き分け、負け)、(合計:勝ち、引き分け、負け)
(191、34、275)、(159、102、239)、( 350、136、514)-フレッシュネット
(427、21、52)、(312、16、172)、(739、37、224)-+50kゲーム後

入力は18ニューロンの形式です。
各ボードセルセットに対して、xは(1,0)、空のセルは(0,0)、oは(0,1)です。出力は、-1、1の範囲での1単位の勝敗確率推定です。

三目並べはサンドボックスをテストしているだけです。成功して終了したら、より複雑なカードゲーム(「失われた都市」)に移動します。

4

1 に答える 1

5

はい、これは比較的標準的です。これは、テサウロがプログラムTDGammon 2.1で採用したアプローチであり、人工ニューラルネットワークをトレーニングして、最高の人間のプレーヤーよりも優れたバックギャモンを再生しました(150万ゲームでブートストラップした後)。

ただし、多くの注意事項があります。

  • 人工ニューラルネットワークは、正しく使用するのが難しいことで有名です。いくつかの単純な教師あり学習の問題で実装をテストすることにより、実装が期待どおりに機能することを確認しましたか?

  • TDGammonは、ニューラルネットワークを使用して、ゲームの状態ごとにヒューリスティックユーティリティを提供し、これを2プライのアルファ/ベータプルーニングアルゴリズムと組み合わせました。最近のコンピューターでは、より深い先読みを使用することができます(たとえば、最近、分岐係数が7のゲームで、解釈された(コンパイルされていない)10プライ検索を簡単に管理するアルファ/ベータ検索アルゴリズムをコーディングしました。 )コードとヒューリスティックを考慮に入れる前に)。

  • TDラーニングは強化学習アルゴリズムだけではありません。私は過去にSARSAとQラーニングを適用することに成功しました。これらは、有望と思われる戦略を優先的に探索し、見栄えの悪い戦略を無視することで検索を高速化します。それらを探索ポリシーと組み合わせて、極小値にとらわれないように、見栄えの悪い戦略を探索することがあるようにする必要があります。ε=0.1のイプシロングリーディなどの単純なポリシーがうまく機能することがよくあります。

  • 適格性トレースは、強化学習アルゴリズムの学習を高速化する強力な方法です。適格性トレースを使用するアルゴリズムには、TD(λ)、SARSA(λ)、およびQ(λ)が含まれます。ただし、注意する必要があります。これで、適合する別のパラメーターがあります。つまり、モデルをトレーニングするときに注意を払うことがさらに重要になります。テストセットを使用してください!

于 2012-07-04T12:20:14.213 に答える