2. 研究手法

2.1 実験系: GridWorld環境

5×5のグリッド上をエージェントが移動する決定論的環境。状態は座標 (y, x) を [0, 1] に正規化した2次元ベクトル。

項目 備考
グリッドサイズ 5×5 正規化座標: 0.0, 0.25, 0.5, 0.75, 1.0
行動空間 4(上下左右) 上: y - 0.25, 下: y + 0.25, 左: x - 0.25, 右: x + 0.25
壁ルール clip(v, 0, 1) 範囲外に出ようとすると現在位置に留まる
報酬 ゴール(1,1): +1, 他: -0.01 -
学習可能な状態-行動ペア 100通り 25座標 × 4行動

重要な点: 遷移関数 f(y, x, a) = clip((y, x) + δ_a, 0, 1) は連続座標に対しても自然に定義できる。モデルがルールを「理解」していれば、学習データに含まれない座標(例: (0.3, 0.6))でも正しく予測できるはずである。

2.2 モデル: TransformerWorldModel

項目 ベース設定 備考
アーキテクチャ TransformerEncoder 2トークン(状態・行動)入力
d_model 64 実験Eでは16, 32, 128も使用
ヘッド数 4 -
レイヤー数 2 実験Eでは1も使用
出力活性化関数 Sigmoid [0, 1]制約を保証
パラメータ数 約108,000 ベース設定

2.3 実験設計

5つの実験(A〜E)を実施した:

  1. 実験A — 補間テスト: 21×21の細かいグリッド(441点)で全4行動の予測誤差を測定。グリッド点(25点)とグリッド間(416点)で比較
  2. 実験B — 暗記指標: 暗記度 = グリッド間の平均誤差 / グリッド点の平均誤差 を定義。1に近ければ汎化、大きければ暗記
  3. 実験C — 滑らかさ分析: 座標を連続変化させたときの予測関数の勾配を数値微分で計算。暗記なら不連続、理解なら滑らか
  4. 実験D — 外挿テスト: [0, 1]範囲外の座標(-0.2〜1.2)を入力し、外挿能力を検証
  5. 実験E — 条件比較: データ量(500〜8000)、モデルサイズ(d=16〜128)、エポック数(10〜200)ごとに暗記度を測定

2.4 評価指標

  • 予測誤差: 真の次状態とのL2距離
  • 暗記度 (Memorization Index): グリッド間誤差 / グリッド点誤差。≈1で汎化、≫1で暗記
  • 滑らかさ: 予測関数の2次数値微分の平均絶対値。小さいほど滑らか

2.5 実験環境

  • ソフトウェア: Python, PyTorch, NumPy, Matplotlib
  • ハードウェア: CPU(5×5 GridWorldのため十分な速度)
  • 乱数シード: 42(再現性のため固定)