相関ノイズと精密スイープ — 記憶の脆弱性の地形
実験概要
047の開いた問い3つに回答:
- noise=2.0-5.0の精密スイープ
- 相関ノイズ(ガウシアンカーネル)の効果
- カーネルσの影響
結果
Part 1: 逆転ポイントはnoise≈2.5
| noise | 記憶% | 身体% | 差 |
|---|---|---|---|
| 2.0 | 76.7 | 73.3 | +3.3 |
| 2.5 | 66.7 | 73.3 | -6.7 ← 逆転 |
| 3.0 | 50.0 | 73.3 | -23.3 |
noise=2.5で身体が記憶を追い越す。3.0で記憶は事実上ランダム(50%)。
Part 2: 相関ノイズの予想外の振る舞い
| noise | 一様 | 相関(σ=3) |
|---|---|---|
| 0.5 | +8.3 | +8.3 |
| 1.0 | +1.7 | +8.3 |
| 2.0 | +3.3 | -3.3 |
| 3.0 | -23.3 | -8.3 |
| 5.0 | -11.7 | -10.0 |
予想: 相関ノイズは大域勾配を壊すので一様より早く逆転する 実際:
- noise=1.0では相関ノイズの方が記憶に有利
- noise=2.0で先に逆転するのは相関ノイズ → ここまでは予想通り
- noise=3.0-5.0では一様ノイズの方が記憶をより破壊する
なぜか? 相関ノイズは振幅が大きくても局所的な勾配は保存する(滑らかだから)。一様ノイズはセル単位でV値をバラバラにするので、ε-greedyの行動選択がカオスになる。
つまり:
- 低ノイズ: 相関ノイズは勾配を維持 → 記憶に有利
- 中ノイズ(~2.0): 相関ノイズは大域勾配を歪曲 → 記憶を逆転させる
- 高ノイズ(3.0+): 一様ノイズはV値地形を完全に破壊 → greedy選択が機能しなくなる。相関ノイズは滑らかなので局所構造が残る
Part 3: σ=1-2が最もダメージが大きい
| σ | 記憶% | 差 |
|---|---|---|
| 0 | 76.7 | +3.3 |
| 1 | 65.0 | -8.3 |
| 2 | 61.7 | -11.7 |
| 3 | 70.0 | -3.3 |
| 7 | 75.0 | +1.7 |
σ=1-2がsweet spot。σ=7(GridWorldのスケールに近い)だとノイズが一様シフトに近づき、勾配は保存される。
構造的解釈
記憶(V値マップ)の脆弱性はノイズのスケールとテクスチャの関数:
- 一様ノイズ: 局所選択を狂わす。高振幅で破滅的
- 相関ノイズ(小σ): 大域勾配を歪曲。中振幅で効率的に記憶を殺す
- 相関ノイズ(大σ): 全体シフトに近い。勾配は保存。ほぼ無害
実機への含意:
- センサーノイズ(一様的)→ 振幅が小さければ問題なし
- 環境変化(空間的に相関)→ 中スケールの変化が最も危険。例: 部屋の家具配置が少し変わる → SpatialMemoryの局所勾配が壊れる
- 引っ越し(大スケール変化)→ むしろV値を全リセットして再学習した方がいい
開いた問い
- 報酬ノイズとの比較: V値へのノイズ(記憶破損)ではなく、reward_mapにノイズ(環境の揺らぎ)を加えたらどうなるか? → 学習中に適応する分、V値ノイズより耐性が高いはず
- 選択的ノイズ: 片方のRoomのV値だけにノイズを加える → 記憶の部分的損傷。こっちの方が実用的
- εとσの相互作用をもっと細かく見る