2025-06-01から1ヶ月間の記事一覧
今週末の6/28に開催された第6回電竜戦TSEC指定局面と香落ち戦に参加しました。 今大会は、指定局面戦と、香落ち戦の2部構成となっていました。 前年までは、賞金も少なく将棋AI開発者のお祭り的なイベントでしたが、今回大会は賞金が上がり、本戦と同じくら…
その6とその7で解説した、ルートノードでの行動選択について、公式の実装を確認する。 ルートノードの行動選択 その5で解説したgumbel_muzero_root_action_selectionを再掲する。 def gumbel_muzero_root_action_selection( rng_key: chex.PRNGKey, tree:…
前回は、内部ノードの行動選択について解説した。 今回は、方策の学習方法について解説する。AlphaZeroは、探索後のルートアクションの「訪問回数」に基づいて方策ネットワークを更新する。 しかし、この方法は、特にシミュレーション回数が少ない場合には方…
前回はルートノードの行動選択に使用されている逐次的半減法(Sequential Halving)について解説した。 今回は、内部ノード(非ルートノード)の行動選択について解説する。AlphaZeroでは、内部ノード(非ルートノード)でも、ルートノードと同じPUCTアルゴリズ…
AlphaZeroの探索は、MCTSで、行動選択にはPUCTが使用されている。 PUCTのベースとなるUCB1は、累積後悔を最小化するように設計されている。一方、Gumbel AlphaZeroでは、行動選択に逐次的半減法(Sequential Halving)が使用される。 逐次的半減法は、最終的…
従来のAlphaZeroの行動選択は、訪問回数の分布にディリクレノイズを加えることで、探索を促していたが、これには方策改善の理論的な保証がなかった。 また、学習がたまたまサンプリングされた行動のみに依存しており、報酬のランダム性と掛け合わせて、大き…
前回からだいぶ時間が空いたが、Gumbel AlphaZeroの解説を再開する。 今回は、行動選択について解説する。 行動選択は、ルートノードと内部ノード(非ルートノード)で異なる方法を使用する。 ルートノードでは、Gumbel-Top-kトリックを用いて、方策改善を行…