場所セル方式プロトタイプ — 座標なしで個性が発生する

やったこと

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が最適。これは実機でも使える設計指針。

開いた問い

  1. threshold sweep: 0.7-0.95で場所数と二極化の関係を定量化
  2. ノイズ耐性: noise_std↑で場所セルの安定性はどうなるか(実機ではカメラジッターが大きい)
  3. 場所セルの忘却: 訪問されない場所セルを削除するメカニズム。043のdecayとの接続
  4. 実画像テスト: 次にねおのとローバーを動かすとき、フレームを保存して場所同定の精度を確認する