Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
機械学習で作った ポケモン対戦bot で 遊ぼう!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yusuke Fukasawa
February 21, 2026
Research
0
14
機械学習で作った ポケモン対戦bot で 遊ぼう!
リモートポケモン学会 2026/02/21 の発表です。
https://x.com/rimopoke/status/2022628011590537676?s=20
Yusuke Fukasawa
February 21, 2026
Tweet
Share
More Decks by Yusuke Fukasawa
See All by Yusuke Fukasawa
LLMアプリケーションの透明性について
fufufukakaka
0
170
やるべきときにMLをやる AIエージェント開発
fufufukakaka
2
1.2k
社内データ分析AIエージェントを できるだけ使いやすくする工夫
fufufukakaka
1
930
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
2.1k
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
1.8k
対戦におけるポケモンの “意味変化”を追う_リモートポケモン学会
fufufukakaka
0
260
機械学習を用いたポケモン対戦選出予測
fufufukakaka
2
1.8k
Poke_Battle_Logger の紹介: リモポケ学会20230714
fufufukakaka
1
1.1k
Poke_Battle_Loggerの紹介
fufufukakaka
0
400
Other Decks in Research
See All in Research
説明可能な機械学習と数理最適化
kelicht
2
980
「なんとなく」の顧客理解から脱却する ──顧客の解像度を武器にするインサイトマネジメント
tajima_kaho
4
3k
さまざまなAgent FrameworkとAIエージェントの評価
ymd65536
1
430
Thirty Years of Progress in Speech Synthesis: A Personal Perspective on the Past, Present, and Future
ktokuda
0
180
製造業主導型経済からサービス経済化における中間層形成メカニズムのパラダイムシフト
yamotty
0
490
Attaques quantiques sur Bitcoin : comment se protéger ?
rlifchitz
0
150
2025-11-21-DA-10th-satellite
yegusa
0
130
ウェブ・ソーシャルメディア論文読み会 第36回: The Stepwise Deception: Simulating the Evolution from True News to Fake News with LLM Agents (EMNLP, 2025)
hkefka385
0
190
Multi-Agent Large Language Models for Code Intelligence: Opportunities, Challenges, and Research Directions
fatemeh_fard
0
130
LLM-Assisted Semantic Guidance for Sparsely Annotated Remote Sensing Object Detection
satai
3
520
"主観で終わらせない"定性データ活用 ― プロダクトディスカバリーを加速させるインサイトマネジメント / Utilizing qualitative data that "doesn't end with subjectivity" - Insight management that accelerates product discovery
kaminashi
15
21k
ForestCast: Forecasting Deforestation Risk at Scale with Deep Learning
satai
3
440
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The Curse of the Amulet
leimatthew05
1
9k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
170
Skip the Path - Find Your Career Trail
mkilby
0
65
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Building an army of robots
kneath
306
46k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
We Have a Design System, Now What?
morganepeng
55
8k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
330
Transcript
機械学習で作った ポケモン対戦bot で 遊ぼう! fufufukakaka 2026/02/21 リモポケ学会
• fufufukakaka, fu3ka3 (ふか) • 機械学習エンジニア ◦ 自然言語処理・推薦をはじめとして全般 • ポケモン
◦ SVは全シーズン遊び切りました ◦ チャンピオンズが出たらまず動画解析用のアノテーションを頑張らない と...と怯えている ◦ 過去に対戦動画解析・選出予測・プレゼンの自動要約などで発表 自己紹介
ポケモン対戦 (シングル・ランクバトル)
6体同士を見せあって、3体を選んで戦う
これまでの取り組み
本日の内容は以下の記事 +α という感じになっています https://zenn.dev/fufufukakaka/articles/0f9edbb85e5990#%E8%A9%95%E4%BE%A1%E5%AE%9F%E9%A8%93
そろそろ 実際の対戦に 機械学習を活かしたい...
まず先行研究を調べてみる
先行研究: foul-play pokemon-showdown でのみ 機能するイカサマ showdown のデータから 相手の技構成を仮定して あり得る世界をできるだけ シミュレートし良い手を選ぶ
(MonteCalro-Tree-Search) https://github.com/pmariglia/foul-play
先行研究: LLM系 大規模言語モデルを使うのが最近の流行 • PokéLLMon ◦ GPT-4 などの LLM に対戦ログを与えたうえで次の行動を
提案させる手法を提案 • PokeChamp ◦ PokéLLMon を発展させた LLM + ミニマックス探索エージェント • Metamon ◦ Showdown の膨大な人間対戦ログから オフライン RL で エージェントを学習
先行研究に感謝 ...🙏
先行研究の問題点 1. 選出が全く考慮されていないこと (showdownのbotは基本的にsmogonフォーマットなのでシングル66) しかし公式ルールは 6-3 なので大きな乖離が発生している
2. Showdown を用いていること • そもそも実対戦環境とはかなり乖離している(気がする) ◦ ダブル(VGC)はまだしも、シングルは構築を組んでいる 途中の練習場みたいな扱い ◦ なので、そこから得られる対戦ログは
あまり良質ではないのでは?という仮説 • 権利的にもできるだけ距離を取りたい 先行研究の問題点
3. 不完全情報の扱い方 • 結構モデルに全部ぽんと渡してうまくいく、みたいな主張が多い • でも、ポケモン対戦って「相手の持ち物はなんだろう」 「努力値はなんだろう」という仮説を置いて、観測された情報でそれを更新 して勝ち筋を見定めるのが本質なんじゃないか? と思っている •
プレイヤーの直感に近い手法も試したい 先行研究の問題点
新モデル; 選出を提案するモデル + 不完全情報を考慮した行動モデル
選出を予測するモデル (自分の)過去研究を 使います
選出を予測するモデル • バトルデータベースにて公開されている上位構築パーティを用いる • Masked Language Model でポケモンを単語とみなした BERT を
学習 ◦ 構築のうち1匹が欠けているとして、この一匹を推定させる ◦ これによって「カイリューってこういう意味を持ってるかも」を学習して もらう
選出を予測するモデル
不完全情報を考慮した行動モデル
不完全情報を考慮した行動モデル https://ai.meta.com/blog/rebel-a-general-game-playing-ai-bot-that-excels-at-poker-and-more/
不完全情報を考慮した行動モデル • meta が 2020年に提案した ReBel を用いる • これはポーカーの対戦アルゴリズムとして提案されたもの •
公開されている情報と「相手がこのカードを持っているのでは?」 という 仮定から確率分布を推定 • 仮定に従い、各あり得る世界線での最適手を探索した後 確率に基づいて価値を重み付けして最終的な最適手を選ぶ びっくりテラスには どうしても 負けやすい...
今回仮定する情報 情報 説明 観測による更新 相手の選出したポケモン 3体; 最初の予測情報からスタートする 交代などで判明
技構成 4つの技 技使用時に判明 持ち物 きあいのタスキ、こだわりスカーフ等 持ち物発動時に判明 テラスタイプ テラスタル時のタイプ テラスタル使用時に判明 特性 いかく、ばけのかわ等 特性発動時に判明 努力値配分 AS振り、HB振り等 技使用時に推定
不完全情報を考慮した行動モデル ブーストエナジー? (ムーンフォース、シャドーボール、でん じは、祟り目 でノーマルテラス) 気合のタスキ? (ムーンフォース、あまえる、でんじは、 いたみわけ でHB?それともCS?) こだわり眼鏡?
(ムーンフォース、シャドーボール、パ ワージェム、10万ボルト)
None
CFRアルゴリズムによる ”後悔”最小化アルゴリズム • ReBeL では CFR というアルゴリズムを使ってナッシュ均衡に近い戦略を 選ぶ • 「相手がどの型であっても、平均的に最も良い結果が得られる
行動」(安定行動)を選ぶイメージ • 各行動について「もしこの行動を選んでいたら、どれだけ良かった(悪かっ た)か」を計算→一番、後悔しない行動を選ぶ • 「後悔を最小化する」というアプローチを繰り返すと、理論的にはナッシュ 均衡(お互いに最善を尽くしている状態)に収束することが証明されていま す
現在の 対戦場情報 これまでの 仮定 勝率予測 ニューラルネット 行動ごとの“後悔”蓄 積値 行動ごとの選択 確率スコア
現在の戦略 ここをたくさん ループさせる... 戦略が 完成!
モデルを学習させてみよう!
モデルの学習 • 先行事例として、SV対戦を Python でシミュレートするコードを作っている 方がいたので、そちらのコードを拝借(了解を得ております) https://hfps4469.hatenablog.com/entry/2024/09/29/200912
モデルの学習 • ReBel で動くボットを2体用意して自己対戦させる ◦ このとき、レギュレーションJ の上位構築の中から 毎試合ランダムに一つ選んで対戦してもらう ◦ ReBel
の信念は最初、レギュJ最後のポケモンHOME使用率 データから始める
• Value Network(勝率予測) ◦ 盤面の状態から「この状況での勝率」を予測するネットワーク ◦ CFR の _evaluate_action で使用され、各行動の価値を評価
• Selection BERT(選出予測) ◦ 前述の選出提案モデル ◦ Self-Play の結果から「勝った試合での選出」を学習することで、より 強い選出ができるようになる(はず) 学習させるネットワーク
所要時間は 2日くらい
選出は一つの正解が あるわけではないの で、なかなか収束しな い...
どれくらいの強さになった?
ベースラインには全て勝ち越し • Selection BERTの有無で勝率に差が出た ◦ ランダム行動時: 100% → 90% ◦
ランダムは行動で巻き返せないので、選出の影響がでかい ▪ Selection BERT はそれなりの影響力があったといえる • CFR相手はそれなりの行動をしてくるので選出の影響は少なかった • (50回しか対戦していないので、ランダム性による差かも)
機械学習ベースの比較対象も用意してみた! • Decision Transformer • 強化学習を「系列予測問題」として再定義したアーキテクチャ • 入力系列: `[目標リターン₁, 状態₁,
行動₁, 目標リターン₂, 状態₂, 行動₂, ...]` ◦ 推論時は「勝ちたい(RTG=1.0)」を条件として与え、その目標を達成す るような行動を自己回帰的に生成 • MCTS を組み合わせて数手先まで読んで、一番良い行動を提案する
2週間くらいかけてこ こまで来ました
ReBel vs Decision Transformer • 100試合やった結果... ReBel の勝率が 73% でした
• Decision Transformer の欠点 ◦ 自然な交代行動をほとんどしない ◦ 眼の前の相手に対して有効な技を 打ち続ける ◦ 学習にかかる時間が長すぎた • 一般家庭の設備でやるには ReBel は ちょうどいい ◦ ニューラルネットが極小 + 不完全情報を信念で効率よく処理 まだ収束してな さそう...
ReBel モデルと対戦してみた
None
None
None
Case1:コライドン vs 連撃ウー ラオス(HB調整) • 相手の裏にはルギアとキ ラフロルがいる状況 • コライドンが鉢巻 けたぐりをしたら、
そのターンから相手の交 代択選択確率が 上がった • 硬いウーラオスに良いダ メージが入ったので鉢巻 と判断された?
Case2 こちらと相手のチームは こうなっているとき
Case2 コライドン、オーロンゲ、サーフゴー という選出をしたこちらに対して 相手の選出はアルセウス (フェアリー )・黒バドレックス・ドオー 結構嫌な選出をされてる気がする(多分...)
Case3 グライオンは何も事前情 報を与えていないのに自 然と「みがまも」をするよ うになっている
• ReBel による対戦ボットを作った話を紹介しました ◦ 不完全情報を「信念」として扱い、ベイズ更新で絞り込んでいく ◦ CFR でナッシュ均衡に近い戦略を計算する ◦ BERT
による選出予測も組み合わせた • そこそこ強いボットができた ◦ どでかいニューラルネットよりも上手く機能する • 今後: 人間と比べてどれくらい強いのか、という実験もしたい まとめ
こちらの記事もぜひ! https://zenn.dev/fufufukakaka/articles/0f9edbb85e5990#%E8%A9%95%E4%BE%A1%E5%AE%9F%E9%A8%93