TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

2025-06-01から1ヶ月間の記事一覧

第6回電竜戦TSEC指定局面と香落ち戦 結果報告

今週末の6/28に開催された第6回電竜戦TSEC指定局面と香落ち戦に参加しました。 今大会は、指定局面戦と、香落ち戦の2部構成となっていました。 前年までは、賞金も少なく将棋AI開発者のお祭り的なイベントでしたが、今回大会は賞金が上がり、本戦と同じくら…

Gumbel AlphaZeroの論文を読む その10(ルートノードでの行動選択の実装)

その6とその7で解説した、ルートノードでの行動選択について、公式の実装を確認する。 ルートノードの行動選択 その5で解説したgumbel_muzero_root_action_selectionを再掲する。 def gumbel_muzero_root_action_selection( rng_key: chex.PRNGKey, tree:…

Gumbel AlphaZeroの論文を読む その9(方策の学習)

前回は、内部ノードの行動選択について解説した。 今回は、方策の学習方法について解説する。AlphaZeroは、探索後のルートアクションの「訪問回数」に基づいて方策ネットワークを更新する。 しかし、この方法は、特にシミュレーション回数が少ない場合には方…

Gumbel AlphaZeroの論文を読む その8(内部ノードの行動選択)

前回はルートノードの行動選択に使用されている逐次的半減法(Sequential Halving)について解説した。 今回は、内部ノード(非ルートノード)の行動選択について解説する。AlphaZeroでは、内部ノード(非ルートノード)でも、ルートノードと同じPUCTアルゴリズ…

Gumbel AlphaZeroの論文を読む その7(逐次的半減法(Sequential Halving))

AlphaZeroの探索は、MCTSで、行動選択にはPUCTが使用されている。 PUCTのベースとなるUCB1は、累積後悔を最小化するように設計されている。一方、Gumbel AlphaZeroでは、行動選択に逐次的半減法(Sequential Halving)が使用される。 逐次的半減法は、最終的…

Gumbel AlphaZeroの論文を読む その6(Gumbel-Top-kトリック)

従来のAlphaZeroの行動選択は、訪問回数の分布にディリクレノイズを加えることで、探索を促していたが、これには方策改善の理論的な保証がなかった。 また、学習がたまたまサンプリングされた行動のみに依存しており、報酬のランダム性と掛け合わせて、大き…

Gumbel AlphaZeroの論文を読む その5(行動選択)

前回からだいぶ時間が空いたが、Gumbel AlphaZeroの解説を再開する。 今回は、行動選択について解説する。 行動選択は、ルートノードと内部ノード(非ルートノード)で異なる方法を使用する。 ルートノードでは、Gumbel-Top-kトリックを用いて、方策改善を行…