4

Tesauro の TD-Gammon プログラムについて読み、三目並べに実装したいと思っていますが、専門用語がわからないため、高校生の私にはほとんどすべての情報にアクセスできません。

ここの最初の方程式http://www.stanford.edu/group/pdplab/pdphandbook/handbookch10.html#x26-1310009.2

「一般的な教師あり学習パラダイム」を提供します。式の左辺の w sub t は、タイム ステップ t でのパラメーター ベクトルであると言えます。「タイムステップ」とは正確にはどういう意味ですか?ボードの状態の値を出力するように設計された三目並べニューラル ネットワークのフレームワーク内で、タイム ステップは、特定のゲームでプレイされたピースの数を参照しますか? たとえば、文字列「xoxoxoxox」で表されるボードはタイム ステップ 9 にあり、ボード「xoxoxoxo」はタイム ステップ 8 にあるでしょうか? それとも、タイム ステップは、トレーニングが開始されてからの経過時間を指しますか?

w sub t は特定の時間ステップの重みベクトルなので、これはすべての時間ステップに独自の評価関数 (ニューラル ネットワーク) があることを意味しますか? では、たった 1 つの手でボードの状態を評価するには、2 つの手でボードの状態をフィードするのとは異なる NN にフィードする必要がありますか? 私が知る限り、Tesauro はすべてのボードの状態を評価するために 1 つの NN しか使用しなかったため、ここで何かを誤解していると思います (ただし、TD-Gammon に関する信頼できる情報を見つけることは困難です)。

出力の勾配が w sub t ではなく w に関して取得されるのはなぜですか?

これらのアイデアを明確にしていただきありがとうございます。私のプロジェクトに関するアドバイスや、アクセシブルな読み物に関する提案をいただければ幸いです。

4

1 に答える 1

6

TD は、マルコフ決定プロセスのフレームワーク内での学習を扱います。つまり、ある状態 s tで開始し、アクション a tを実行し、報酬 r tを受け取り、別の状態 — s t+1になります。初期状態は s 0と呼ばれます。下付き文字は時間と呼ばれます。

TD エージェントは、どのアクションに対してどのような報酬を受け取るか、またはそれらのアクションが他のどのような状態になるかを知りません。目標は、どのアクションが長期的な合計報酬を最大化するかを学習することです。

状態は、三目並べボードの状態を表すことができます。したがって、あなたの場合、s 0は明確なボードになります: "---------"、s 1は "-o-------"、s 2は "-o-- x----" など。アクションは、マークするセル インデックスである可能性があります。この表現では、3 9 =19 683 の可能な状態と 9 つの可能なアクションがあります。ゲームを学んだ後、可能性のある各ボードのどのセルをマークするかを示す表が表示されます。

同じ種類の直接的な表現は、可能な状態が多すぎるため、バックギャモンではうまく機能しません。TD-Gammon が行うことは、ニューラル ネットワークを使用して状態を近似することです。ネットワークの重みは状態ベクトルとして扱われ、勝利時を除いて報酬は常に 0 です。

ここで注意が必要なのは、TD-Gammon アルゴリズムが学習する状態は、ボードの状態ではなく、ボードの位置を評価するために使用されるニューラル ネットワークの状態であることです。したがって、t=0 では、ゲームを 1 つもプレイしておらず、ネットワークは初期状態にあります。移動する必要があるたびに、ネットワークを使用して可能な限り最適なものを選択し、その移動が勝利につながったかどうかに基づいてネットワークの重みを更新します。移動前のネットワークの重みは w tであり、移動後の重みは w t+1です。何十万ものゲームをプレイした後、ニューラル ネットワークがボードの位置を非常に正確に評価できるようにする重みを学習します。

これで問題が解決することを願っています。

于 2012-05-22T16:32:53.913 に答える