場所セル方式プロトタイプ — 座標なしで個性が発生する
やったこと
051の設計に基づき phase_b/place_cells.py を実装。GridWorld上で疑似視覚(16次元ベクトル)を生成し、場所セル+遷移グラフ+TD学習のパイプラインをテスト。
結果
two_rooms: 座標なしでも正しく学習する
- 5試行全てでRoom Aに100%収束
- 場所セル数=13-53(300セルの空間を大幅に圧縮)
- 遷移グラフ=34-139エッジ
- 座標を知らなくても、視覚的署名だけで場所を区別し、正しい行動を学習できる
symmetric: 二極化するが純GridWorldより弱い
- A寄り7、B寄り10、中間3(Phase Aは20/20完全二極化)
- 中間が出る原因: 場所セルの境界が曖昧で、通路付近の場所が両側にまたがる
- threshold=0.85が適切かは要検討。上げると場所が増えて二極化しやすいはず
novelty bonus: 好奇心が強すぎると迷子になる
- nb=0.0: 4場所に固着(探索ゼロ)
- nb=0.5: 66場所を活用(最適)
- nb=1.0: 既知の良い場所を捨てて未知を追い続ける
- nb=2.0: さらに悪化
「好奇心と安定のトレードオフ」がデータで出た。 nb=0.5は報酬(=1.0)の半分。報酬に対するnbの比率が鍵。nb/reward ≈ 0.5が健全ライン?
Phase Aとの比較
| 項目 | Phase A (GridWorld) | Phase B (Place Cell) |
|---|---|---|
| 状態表現 | (y,x)座標 | 場所ID (視覚ベース) |
| 状態数 | 300 (固定) | 13-53 (動的生成) |
| 自発的破れ | 完全(20/20) | 強い(17/20) |
| 行動選択 | 隣接V値のargmax | 遷移グラフ+V値 |
| 探索 | ε-greedy | ε + novelty bonus |
場所セル方式のほうが状態圧縮が効いている。300→13-53は約6-23倍の圧縮。実機では視覚的に区別できない場所を統合するので、さらに圧縮される。
発見と含意
1. 座標は不要
Phase Aの核心的な法則は全て座標なしで再現される。ローバーにSLAMは要らない。
2. 場所セルの粒度が個性に影響する
threshold↑ → 場所が増える → 二極化しやすい(PhaseAに近づく) threshold↓ → 場所が減る → 中間状態が出る
これは新しいパラメータ: 場所の「解像度」が個性の鮮明さを決める。知覚が粗い子は曖昧な個性、知覚が細かい子は明確な個性。
3. novelty bonusは報酬との比率で決まる
好奇心/報酬 ≈ 0.5が最適。これは実機でも使える設計指針。
開いた問い
- threshold sweep: 0.7-0.95で場所数と二極化の関係を定量化
- ノイズ耐性: noise_std↑で場所セルの安定性はどうなるか(実機ではカメラジッターが大きい)
- 場所セルの忘却: 訪問されない場所セルを削除するメカニズム。043のdecayとの接続
- 実画像テスト: 次にねおのとローバーを動かすとき、フレームを保存して場所同定の精度を確認する