Lidar_Muxa/docs/CONNECTOME.md

175 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Что именно взято из коннектома
Документ отвечает на два вопроса: какие параметры решения пришли из данных о мозге
дрозофилы, и почему взяты **схемы**, а не полная симуляция.
---
## 1. Почему не полная симуляция мозга
Полный коннектом взрослой дрозофилы (FlyWire) — около 139 тыс. нейронов и порядка
54 млн синапсов. Симуляция такого мозга в виде leaky integrate-and-fire существует
(Shiu et al., 2024), но для нашей задачи не годится по трём причинам.
**Бюджет времени.** Осмысленная спайковая динамика требует шага интегрирования 0.1–1 мс,
то есть 100–1000 шагов на один кадр лидара. Каждый шаг — разрежённое умножение по
десяткам миллионов синапсов с нерегулярным доступом к памяти. На стенде жюри
(i7-9700E, 8 ядер, 2.6 ГГц) это даёт от единиц до десятков секунд на кадр при бюджете
в 100 мс. GPU сокращает разрыв, но не закрывает его и съедает весь ресурс, ничего не
оставляя геометрии, трекингу и выводу.
**Потеря разрешения — главная причина.** У мухи около 800 омматидиев на глаз с угловым
шагом порядка 5°. Чтобы подать данные в настоящий коннектом, лидар пришлось бы проредить
с 460 800 лучей до ~800, то есть с 0.1° до 5°. Предмет 0.5 м на 200 м занимает 0.14°
и исчез бы полностью. Мы выбросили бы ровно то, ради чего в поезде стоит Pandar128.
**Неполнота данных.** Коннектом даёт связность, но не даёт знаки синапсов, веса и
постоянные времени — их всё равно пришлось бы подбирать.
Поэтому берутся **вычислительные схемы** и измеренные параметры, а работают они на полном
разрешении лидара в rate-based виде: один шаг на кадр, состояние популяции — массив.
---
## 2. Параметры, пришедшие из коннектома
### Грибовидное тело: 6 «когтей» на клетку Кеньона
Клетка Кеньона получает вход от небольшого числа проекционных нейронов, выбранных почти
случайно; в реконструкциях hemibrain и FlyWire среднее число входных «когтей» составляет
примерно 5–7. Это значение мы не подбирали, а взяли — и затем проверили перебором
(`tools/tune_memory.py`, leave-one-bag-out, ROC AUC новизны):
| «когтей» на KC | 4 | **6** | 8 | 10 |
|---|---|---|---|---|
| ROC AUC | 0.756 | **0.890** | 0.891 | 0.872 |
Биологическое значение оказалось на плато оптимума. Это не доказательство, но хорошая
проверка того, что схема перенесена осмысленно: случайная разрежённая проекция с малым
числом входов на клетку — не украшение, а работающий механизм.
### Грибовидное тело: разрежённость кода и APL
Гигантский тормозный нейрон APL собирает активность всех клеток Кеньона и возвращает
торможение всем сразу, оставляя активными единицы процентов. Мы сохранили саму схему
(глобальное торможение → отбор сильнейших), но **изменили масштаб**:
| | муха | FlyGuard |
|---|---|---|
| клеток Кеньона | ~2 000 на полушарие | 50 000 |
| активных одновременно | ~5 % | 0.1 % (50 клеток) |
Причина инженерная и измеренная. Муха за жизнь встречает сотни запахов; нам нужно
запомнить десятки тысяч видов тоннельной обстановки. При мушиных 2000 клетках и 5 %
активных память насыщается после нескольких тысяч примеров: подавлены 98 % синапсов,
и новым не выглядит уже ничто — новизна реального препятствия падала до 0.001, и оно
переставало обнаруживаться вовсе. Увеличение популяции и снижение разрежённости
восстанавливают работоспособность: ROC AUC 0.905, новизна объекта 0.49 против 0.13 у фона.
### Грибовидное тело: депрессия KC→MBON
Familiarity suppression — экспериментально описанное свойство выходных нейронов
грибовидного тела (в частности MBON-α′3): повторно предъявленный стимул даёт заметно
меньший ответ. Мы воспроизводим это умножением веса активных синапсов на (1 − rate)
при каждом предъявлении.
Темп депрессии **согласуется с размером выборки**: на одну клетку приходится
`n · n_active / n_kc` попаданий, и без такой поправки любая достаточно большая выборка
обнуляет память целиком. Темп выбирается так, чтобы типичная клетка ослабла в
фиксированное число раз; тогда шкала новизны отражает частоту обстановки, а не факт
«видел хоть раз».
### Дофаминергический контроль пластичности: когда учиться
Депрессия KC→MBON у мухи происходит не всегда, а когда её разрешают дофаминергические
нейроны PPL1 и PAM. Их вход зависит от состояния животного, а не только от стимула:
одно и то же предъявление запоминается или нет в зависимости от того, что происходит
вокруг.
У нас ту же роль играет координата пути из центрального комплекса. Кратковременное
привыкание (`mushroom_body.Habituation`) депрессирует синапсы только тогда, когда
форма встретилась в **новой точке пути**; повторное наблюдение того же предмета с
другой дальности пластичности не вызывает. Это перенос схемы «учитель решает
момент», а не самого нейромедиатора.
**Механизм по умолчанию выключен**, и это честный отрицательный результат, а не
недоделка: замер показал, что узнавания повторов у него нет, а весь видимый эффект
давало насыщение маленькой популяции (EXPERIMENTS п. 10). Сама же наблюдаемая
величина — сила дофаминового сигнала как средняя незнакомость сцены — осталась в
виде мозга: она заранее говорит, что участок новый и ложных тревог будет больше.
### T4/T5: четыре направления, два канала
T4 получает вход из ON-пути, T5 — из OFF-пути; каждый существует в четырёх подтипах,
настроенных на четыре стороны света в поле зрения. Воспроизведено буквально: четыре
направленных коррелятора Хассенштайна–Райхардта, отдельно для ON- и OFF-каналов ламины.
### LPLC2: четырёхслойный дендрит
Дендриты LPLC2 разложены на четыре слоя лобулярной пластинки так, что каждый слой
принимает T4/T5 «своего» направления с той стороны поля, куда поток уходит при
надвигании. Сумма четырёх слоёв — это дивергенция потока, и именно так реализован
детектор. Свойство подавляться однородным широкопольным потоком (то есть собственным
движением) сохраняется автоматически: у равномерного сдвига дивергенция равна нулю.
### Эллипсоидное тело: кольцевой аттрактор
Клетки EPG образуют единственный бугор активности, клетки PEN сдвигают его по сигналам
собственного вращения, взаимное торможение не даёт возникнуть второму бугру. В FlyGuard
эта схема переносится с курса на положение: треки живут в координате пути, сдвигаются
оценкой собственного движения, накапливают улику при совпадении и гасят соседей при
конкуренции за место.
### Нисходящие нейроны: два порога
Гигантское волокно (DNp01) — толстый аксон с высоким порогом, запускающий немедленный
аварийный манёвр; DNp02 и DNp11 реагируют раньше и мягче. Отсюда два уровня решения:
предупреждение и экстренное торможение, с гистерезисом между ними.
---
## 3. Что взято как идея, а не как число
Честное разделение: перечисленное ниже вдохновлено биологией, но конкретные величины
подобраны под задачу, а не измерены у мухи.
* число и размеры масштабов центр-окружения в ламине (три масштаба);
* постоянная времени задержки в корреляторе T4/T5 (1.5 кадра);
* коэффициенты накопления и утечки в центральном комплексе;
* пороги нисходящих нейронов и гистерезис;
* геометрические множители веса улики (целостность, компактность, опора снизу) — они
выведены из физики тоннеля, а не из анатомии;
* ограничение «одна фигура на компоненту» при разрезе по контрасту: приём глобального
торможения взят у APL и у широкопольного подавления LC11, но само число выбрано
замером (одна против двух и против всех: 6.4 / 7.4 / 9.4 ложных трека на километр);
* шаг «разных мест» и путь полузабывания в привыкании (5 м и 800 м) — механизм
выключен, но параметры остались.
---
## 4. Источники
* Dorkenwald S. и др. **Neuronal wiring diagram of an adult brain.** Nature, 2024 —
коннектом FlyWire: около 139 тыс. нейронов, ~54 млн синапсов.
* Scheffer L. и др. **A connectome and analysis of the adult Drosophila central brain.**
eLife, 2020 — hemibrain; статистика входов клеток Кеньона.
* Shiu P. и др. **A leaky integrate-and-fire computational model based on the connectome
of the entire adult Drosophila brain.** Nature, 2024 — оценка стоимости полной симуляции.
* Dasgupta S., Stevens C., Navlakha S. **A neural algorithm for a fundamental computing
problem.** Science, 2017 — FlyHash: разрежённая случайная проекция с отбором победителей.
* Dasgupta S., Sheehan T., Stevens C., Navlakha S. **A neural data structure for novelty
detection.** PNAS, 2018 — грибовидное тело как детектор новизны.
* Hattori D. и др. **Representations of novelty and familiarity in a mushroom body
compartment.** Cell, 2017 — familiarity suppression у MBON-α′3.
* Maisak M. и др. **A directional tuning map of Drosophila elementary motion detectors.**
Nature, 2013 — четыре подтипа T4 и T5.
* Klapoetke N. и др. **Ultra-selective looming detection from radial motion opponency.**
Nature, 2017 — LPLC2 и четырёхслойная организация дендритов.
* Seelig J., Jayaraman V. **Neural dynamics for landmark orientation and angular path
integration.** Nature, 2015 — кольцевой аттрактор эллипсоидного тела.
* von Reyn C. и др. **A spike-timing mechanism for action selection.** Nature Neuroscience,
2014 — гигантское волокно и пороги реакции ухода.
Параметры сенсора взяты из **Pandar128E3X User Manual v4p5** (п. 1.4 «Specifications» и
Приложение A «Channel distribution data»); поканальная таблица извлечена скриптом
`tools/extract_channel_table.py` в `ros2_ws/src/flyguard/flyguard/data/pandar128_channels.csv`.