行動提案モデルの現状評価と改善方針(続き)
本記事は、以下の記事の続編です。
- 前編(実装編・推論まで到達)
https://qiita.com/y4o4/items/8d9c091622fc6b4a5299
前編では、
プレイ動画 → 学習データ → 学習 → 推論(Top‑k提案)
までを「実際に動く形」で構築しました。
本記事では、そのモデルが
- いま、どの程度「次の行動」を当てられているのか
- なぜ当てられないのか
- どの改善が、どれくらい効きそうか
を、実測値ベースで整理します。
現在の評価結果(事実)
データ条件
-
学習データ数:約 217 行動
-
validation:約 22 行動
-
行動定義:
- アクション選択(多クラス)
- 配置グリッド(6×9 の離散セル)
個別精度(validation)
| 指標 | 精度 |
|---|---|
| card Top‑1 | 約 18% |
| card Top‑3 | 約 41% |
| grid Top‑1 | 約 9% |
| grid Top‑3 | 約 32% |
完全一致精度(アクション × 位置)
| 指標 | 精度 |
|---|---|
| joint Top‑1 | 0% (0 / 22) |
| joint Top‑3 | 18% (4 / 22) |
つまり現状は、
「候補を3つまで許せば、約5回に1回は“アクション×位置”まで当たる」
という段階です。
なぜ joint Top‑1 が 0% なのか?
直感的には厳しく見えますが、これは自然な結果です。
理由を分解します。
1. データ数が極端に少ない
-
validation が 22 件しかないため、
- 期待値上 1〜2 件当たるはずのものが
- たまたま 0 件、というのは普通に起きます
2. card と grid を独立に予測している
現在のモデルは
P(card) × P(grid)
を学習しています。
しかし実際には、
「そのアクションなら、置き場所はだいたい決まる」
という強い条件付き関係があります。
独立モデルでは、
- card は当たった
- でも grid がズレる
というケースが頻発し、joint が伸びません。
3. ラベル自体がノイジー
- 人間のクリック位置は微妙に揺れる
- 状態取得(lead_sec)と行動の間に時間差がある
- 6×9 グリッドへの量子化誤差
→ 「完全一致」を要求する評価が厳しすぎる
4. 入力特徴がまだ足りない
現状の aux は主に
- アクション候補スロット
- 行動リソース
ですが、人間は他にも
- どちらの拠点オブジェクトが折れているか
- 押されているレーン
- 時間帯(終盤かどうか)
などを強く使っています。
5. タスク難易度そのものが高い
「盤面画像 → 次の操作(アクション+位置)」は、
- 状態理解
- 意図推定
- 操作予測
を同時に要求する、かなり重いタスクです。
それでも Top‑3 が 18% 出ている意味
重要なのはここです。
joint Top‑3 = 18% というのは、
「モデルは“だいたいの意図”は掴み始めている」
ことを示しています。
- 完全一致は厳しい
- しかし、候補集合としては妥当
これは 人間補助型AI という目的に対しては、
すでに価値が出始めている状態です。
改善方針と期待できる伸び幅
効果が大きい順に並べます。
A. P(grid | card) に分解する(最優先)
構造を
P(card)
P(grid | card)
に変更します。
- 位置ヘッドの入力に card one‑hot を加える
- 「このアクションなら、どこに置くか」を学習させる
期待効果(現データ量でも)
- joint Top‑1:0% → 3〜8%
- joint Top‑3:18% → 25〜40%
B. 拠点オブジェクト破壊フラグを aux に追加
プリンセス拠点オブジェクトが折れているかどうかは、
- 攻守判断
- 配置位置
に直結します。
画像から学ばせるより、2bitで渡した方が圧倒的に簡単です。
期待効果
- joint Top‑1:+1〜3pt
- joint Top‑3:+3〜8pt
C. 位置ラベルを「滑らか」にする
- 周辺セルも部分的に正解扱い
- 距離に応じた損失
→ 人間操作ノイズに強くなります。
D. データを増やす(最終的に最重要)
目安としては:
-
2,000 行動:
- joint Top‑1 5〜15%
- joint Top‑3 25〜50%
-
10,000 行動:
- joint Top‑1 15〜30%
- joint Top‑3 45〜70%
(※アクション集合固定・条件固定の場合)
評価の考え方(重要)
本タスクで
- Top‑1 完全一致
だけを見るのは、目的に対して厳しすぎます。
実運用では
- アクション Top‑k
- 位置 Top‑k
を提示し、
人間が最終判断する補助
という形が現実的です。
まとめ
-
現状:
- 完全一致 Top‑1 はまだ当たらない
- Top‑3 では意図を捉え始めている
-
原因:
- データ不足
- card / grid 独立予測
- ノイズの多いラベル
-
改善の最短ルート:
- P(grid | card)
- 拠点オブジェクト破壊 aux
- Top‑k 前提評価