Place Cellプルーニング — メモリ管理と個性の関係

結果

Post-hoc pruning (学習後に刈り込み)

strategy cells_pre cells_post A B M polar%
none 77.6 77.6 7 10 3 85%
merge_only 78.7 77.2 7 11 2 90%
visit_only 67.8 46.9 7 10 3 85%
both 73.8 50.8 9 10 1 95%

Online pruning (学習中に定期的に刈り込み)

interval cells A B M polar%
none 69.5 12 6 2 90%
250 39.9 5 11 4 80%
500 43.6 9 11 0 100%
1000 48.9 8 11 1 95%

解釈

プルーニングは個性を壊さない — むしろ鮮明にする

最大の発見: both(merge+visit)のpost-hoc pruningで95%、online pruning 500で100%二極化。cells数は半分以下に圧縮されているのに、個性はむしろ強まる。

なぜか:

  • 低訪問cellはノイズで偶然作られた「幻の場所」。これを消すと、よく訪れる場所だけが残り、V値マップのSN比が上がる
  • マージは類似cellを統合してV値を安定化。方向バイアスが明確になる

「忘れる」ことが個性を強める

Phase Aの法則7「忘却の閾値」はdecay rateの話だった。ここではpruning(選択的忘却)が別の角度から同じことを示す:

  • 無差別な忘却(decay): 個性を溶かす
  • 選択的忘却(pruning): 個性を鮮明にする

人間の記憶も同じ構造。全部覚えているより、重要なことだけ残すほうが「自分らしさ」が明確になる。

Online pruning interval=500が最適

  • 250は頻繁すぎ(80%)。place cellが安定する前に消してしまう
  • 500がスイートスポット(100%)
  • 1000でも十分(95%)

実機では「500ステップごとにメモリ整理」→ ローバーが1分探索するごとに記憶を整理する、くらいの頻度。

Cell数: 77→43-51に圧縮

noise=0.10で77個のplace cellが43-51個に。実機のメモリ制約(RPi 5のRAM)を考えると十分に管理可能。noise=0.20の877個でもpruningで制御できる可能性が高い。

実機設計への反映

pruning_config:
  merge_threshold: 0.95
  min_visits: 2
  interval_steps: 500

開いた問い

  1. noise=0.20でのonline pruningはcell爆発を抑えられるか? → 次回検証
  2. pruningのタイミングが「臨界期」内に入ると個性が消える可能性 → 最初のN歩はpruningしないルール
  3. min_visits=2は最適か? → 3, 5とのスイープ