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)を実施した:
- 実験A — 補間テスト: 21×21の細かいグリッド(441点)で全4行動の予測誤差を測定。グリッド点(25点)とグリッド間(416点)で比較
- 実験B — 暗記指標: 暗記度 = グリッド間の平均誤差 / グリッド点の平均誤差 を定義。1に近ければ汎化、大きければ暗記
- 実験C — 滑らかさ分析: 座標を連続変化させたときの予測関数の勾配を数値微分で計算。暗記なら不連続、理解なら滑らか
- 実験D — 外挿テスト: [0, 1]範囲外の座標(-0.2〜1.2)を入力し、外挿能力を検証
- 実験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(再現性のため固定)