Назад в блог

Опубликовано 13 августа 2026 г.

Создание мозгов из непомеченной геометрии: чему NeMoCo учит инженера ИИ

Друг недавно прислал мне статью. Он является частью команды, стоящей за ней, и подумал, что мне будет интересно, учитывая мою работу над ИИ-агентами. Он был прав.

Статья NeMoCo: Self-supervised contrastive learning for ultrastructural 3D neuroscience morphologies опубликована в журнале Elsevier Graphical Models (август 2026 г.). Ведущий автор — Хумаира Шаффик, научный руководитель — д-р Марко Агус из Университета Хамад бин Халифа, соавторы — д-р Узаир Шах, д-р Махмуд Альзубайди, д-р Йенс Шнайдер, д-р Пьер Юлиус Маджеретти, д-р Коррадо Кали и проф. Моуафа Х. Код открыт на GitHub под лицензией MIT.

Я не нейробиолог. Я — инженер ИИ. Мои дни проходят в разработке Aura — личного ИИ-ассистента, который управляет памятью, распределяет задачи, извлекает контекст и старается быть действительно полезным между сессиями. Но, читая NeMoCo, я постоянно замечал те же структурные проблемы, с которыми сталкиваюсь в инженерии агентов, лишь выраженные в данных электронной микроскопии и спектральной геометрии. Поэтому это техническое описание с этой точки зрения: что делает NeMoCo, почему это интересно и чем оно отражается в работе по созданию агентных систем.

Проблема: Метки дорогие, биология их не использует

Нейробиологи используют объёмную электронную микроскопию (ЭМ) для получения 3D-изображений мозговой ткани с нанометровым разрешением. Из этих изображений они реконструируют 3D-сетки субклеточных структур — нейритов (ветвей аксонов и дендритов), органелл, таких как митохондрии, ядерной оболочки. Эти сетки представляют морфологии: реальные 3D-формы нейронных структур.

Для их классификации — это аксон, дендрит или шип? — необходимы эксперты-нейробиологи, которые вручную помечают каждую сетку. Это медленно, дорого и не масштабируется. Без меток невозможно обучить классификатор с учителем, а получить метки без экспертов нельзя. Коннектомике требуется обрабатывать миллионы таких структур. Ручная разметка является узким местом.

Вот что меня зацепило: мозг тоже не получает меток. Ребёнку не нужно, чтобы кто-то говорил «это стул» при каждом увиденном стуле. Он усваивает понятие, наблюдая за стульями под разными углами, при различном освещении и на разных расстояниях — открывая инвариантные свойства, которые делают стул стулом. Без меток. Только сырые ощущения и открытие структуры.

NeMoCo ставит вопрос: может ли машина сделать то же самое с нейронными структурами?

Что делает NeMoCo

NeMoCo — это конвейер самообучающего контрастивного обучения для классификации 3D-сеток. Он учится распознавать нейронные структуры без единой размеченной примера во время предобучения. Архитектура представляет собой систему двойного энкодера в стиле CLIP, применённую к 3D-сеткам.

Как это работает:

  1. Возьмите непомеченную 3D-сетку нейрита или органеллы.
  2. Создайте два представления одной и той же сетки: исходное (или слегка дополненное) и преобразованное — случайно повернутое (±60°), масштабированное (0.6–1.4×), сдвинутое и, при желании, уменьшенное (на 50–75% меньше граней).
  3. Пропустите оба представления через DiffusionNet encoder — нейронную сеть, которая работает непосредственно с 3D-поверхностями, используя спектральную геометрию (собственные значения и собственные векторы лапласиана сетки).
  4. Энкодер выдаёт 32-мерный вектор эмбеддинга для каждого представления.
  5. CLIP-style contrastive loss обучает модель притягивать два представления одной и той же сетки вместе, одновременно отталкивая эмбеддинги разных сеток.
  6. Один энкодер-филиал обновляется через обычное обратное распространение; другой — это momentum-updated "teacher" (EMA, momentum=0.999) — подход MoCo, который предотвращает коллапс представлений.

Ключевое понимание: обучаясь тому, что повернутый, масштабированный, уменьшенный сетка является "одним и тем же", энкодер открывает внутренние геометрические признаки, определяющие каждый тип нейронной структуры — никогда не будучи явно информированным о типах.

Почему DiffusionNet важен здесь

DiffusionNet (Sharp et al., SIGGRAPH 2022) — это не что-то, что изобрел NeMoCo. Это заимствованная архитектура для обучения на 3D-поверхностях. Но выбор значим. В отличие от CNN (которым нужны регулярные сетки) или PointNet (который рассматривает точки независимо), DiffusionNet работает с спектральной геометрией поверхности — вычисляет собственные функции Лапласиана (представьте: режимы вибрации формы) и использует тепловые ядерные подписи (HKS) как многомасштабные дескрипторы, захватывающие локальную форму на разных пространственных масштабах.

Это важно, потому что нейроны fundamentally являются 3D-структурами. Геометрия — это морфология. Когда вы классифицируете нейронные структуры, форма — её изгиб, ветвление, толщина, текстура поверхности — является сигналом. DiffusionNet это уважает. Он не сплющивает сетку в изображение и не сводит её к облаку точек. Он обучается непосредственно на поверхности.

В NeMoCo DiffusionNet принимает на вход 16-мерные признаки HKS и выдаёт 32-мерное встраивание, используя 4 блока с width=128. Архитектура заимствована, но применение новое: эта конкретная комбинация DiffusionNet + MoCo + контрастивного обучения в стиле CLIP, применённая к морфологиям ультраструктурной нейронауки, ранее не выполнялась.

Фрейминг построения мозга

Вот где мозг моего инженера по ИИ начал загораться.

NeMoCo, в реальном смысле, конструирует часть того, что делает мозг — не биологически, а вычислительно. Он создаёт систему, которая учится классифицировать нейронные структуры так, как биологические мозги учатся классифицировать мир: из сырого, непомеченного опыта.

Параллель проводится на уровне принципа, а не механизма. NeMoCo использует конкретную математическую функцию потерь (перекрёстная энтропия в стиле CLIP). Мозг использует пластичность, зависящую от времени спайков, и нейромодуляцию — гораздо более сложное и не прямо аналогичное явление. «Банк памяти» NeMoCo представляет собой таблицу поиска kNN. Биологическая память является ассоциативной, реконструктивной и постоянно реорганизуется. Мозг учится непрерывно из потока; NeMoCo обучается дискретными эпохами на фиксированном наборе данных.

Но принцип сохраняется: метки не нужны для обучения хороших представлений. Так работают биологические мозги, и NeMoCo является вычислительной демонстрацией этого.

Элементы мозга, отображённые

Если подумать о том, что делает мозг — на функциональном, а не биологическом уровне — его можно разложить на элементы: восприятие, память, представление, обучение, рассуждение. У NeMoCo есть аналоги каждого из них.

  • Восприятие: Необработанные сенсорные входные данные становятся структурированным представлением. В NeMoCo признаки HKS + DiffusionNet преобразуют необработанную сетку в геометрическое встраивание. В мозге необработанные сенсорные сигналы становятся перцептивными признаками.
  • Память: Сохранённые представления, извлекаемые по сходству. Замороженный банк памяти kNN NeMoCo хранит эмбеддинги и извлекает их по ближайшему соседу. Мозг извлекает по ассоциативному сходству.
  • Представление: Инвариантные признаки, извлечённые из разнообразного опыта. Встраивание NeMoCo размером 32D отображает одну и ту же сетку при разных преобразованиях в один и тот же вектор. Мозг поддерживает стабильные представления объектов при разных точках зрения.
  • Learning: Обновление на основе опыта. NeMoCo использует обратное распространение + импульсное EMA. Мозг использует правила пластичности.
  • Reasoning: Комбинирование представлений для принятия решений. NeMoCo использует голосование kNN и линейное зондирование. Мозг делает... ну, что-то гораздо более сложное, но функциональная роль та же.

Я не утверждаю, что NeMoCo — это мозг. Это математический конвейер. Но это конвейер, который строит функциональный фрагмент того, что делают мозги: построение полезных внутренних представлений из сырых, неразмеченных данных.

Где оно отражает инженерию агентов

Это часть, которая оказалась наиболее близкой мне лично. Я создаю Aura — ИИ-ассистента, который управляет памятью, направляет задачи, извлекает контекст и обеспечивает непрерывность между сессиями. Структурные параллели с NeMoCo достаточно конкретны, чтобы я постоянно кивал, читая статью.

Самоуправляемое предобучение ↔ Память агента

NeMoCo предобучается на 4,235 непомеченных сетках черепа мышей (набор данных MouseFinal), создавая общего назначения геометрическое представление. Этот предобученный энкодер затем можно заморозить и повторно использовать для нескольких downstream‑задач — классификации, поиска, кластеризации — без повторного обучения ядра.

Память агента работает аналогично. Файлы памяти Aura — долгосрочная память, ежедневные заметки, заметки об инструментах — формируют общего назначения понимание пользователя, проектов и окружения без меток, специфичных для задачи. Эта память сохраняется между сессиями и может быть запрошена для любой задачи. Это «предобученный контекст», который не нужно перестраивать каждый раз.

Замороженная оценка kNN является самым точным параллелом. Энкодер NeMoCo, предобученный без меток, достигает точности ~70–80% на задаче классификации, для которой он никогда не обучался явно — просто находя ближайших соседей в пространстве эмбеддингов. Хорошо поддерживаемая память агента позволяет ИИ-ассистенту отвечать на вопросы о проектах, о которых он не получал явного инструктажа в текущей сессии — просто находя семантически похожие записи. Механизм отличается (kNN в векторном пространстве против семантического поиска по тексту), но принцип тот же: хорошее представление, построенное на сыром опыте, переносится на задачи, для которых оно не было предназначено.

Обучение представлений ↔ Структура знаний агента

32-мерное эмбеддинг NeMoCo является сжатым представлением геометрической идентичности сетки. Эмбеддинги, близкие в векторном пространстве, представляют похожие морфологии. Пространство эмбеддингов возникает из данных — никто не проектировал, какие размерности соответствуют каким признакам.

Память агента является сжатым представлением фактов, решений и контекста. Агент не хранит сырые транскрипты; он хранит дистиллированный смысл. А структура этой памяти возникает из использования, а не из предопределённой схемы. Я не разрабатывал таксономию памяти Aura заранее. Я обнаружил, что важно, через взаимодействие — какие проекты возникают, какие решения важны, какие предпочтения повторяются. Память естественно кластеризует связанные концепции, точно так же, как пространство эмбеддингов NeMoCo естественно кластеризует похожие нейронные структуры.

Контрастное прозрение

Это более спекулятивно, но я думаю, что это реально. Контрастная потеря NeMoCo работает, притягивая похожие объекты вместе и отталкивая разные объекты друг от друга. Модель узнаёт, что делает два представления «одной и той же сеткой», также обучаясь тому, что делает их «не какой-то другой сеткой».

Из этого следует урок для проектирования агентов. Агент, который хранит только факты — положительные примеры, — не может определить, что является distinctive для этих фактов. Я экспериментирую с отслеживанием контрастов в памяти Aura: «этот проект использует SQLite, а не Postgres»; «этот пользователь предпочитает прямые ответы, а не объяснения». Контрастная фрейминг делает представление богаче. Недостаточно знать, что такое что-то; также нужно знать, чего оно не является.

Моментумный энкодер — ещё один пример. Медленно обновляемая ветка учителя (EMA, τ=0.999) препятствует сильным колебаниям представления во время обучения. Память агента могла бы использовать аналогичный принцип «медленного обновления». Я не переписываю долгосрочную память при каждом новом факте. Я позволяю важным паттернам накапливать вес со временем перед их продвижением. Ежедневные заметки — это сырые журналы; долгосрочная память — отобранная. Повышение с одного уровня на другой представляет собой обновление, похожее на моментум — медленное, обдуманное, устойчивое к шуму.

Результаты

NeMoCo оценивает изученные представления на трёх уровнях:

  1. Frozen kNN (k=20): Энкодер полностью заморожен. Тестовые сетки классифицируются поиском их 20 ближайших соседей в банке памяти обучающих эмбеддингов и голосованием. Дополнительного обучения не требуется. Результат: ~70–80% точности в задаче классификации нейроструктур из шести классов после предобучения на наборе данных MouseFinal — наборе, меток которого энкодер никогда не видел.
  2. Linear probing: Над замороженным энкодером обучается один линейный слой. Это проверяет, являются ли изученные признаки линейно разделимыми — формируют ли классы чистые кластеры в пространстве эмбеддингов?
  3. Fine-tuning: Весь энкодер + классификатор обучаются end-to-end. Это предел контролируемого обучения: ~87% точности.

Главный вывод: самообучающееся и контролируемое подходы достигают сопоставимой точности. Не идентично — предел контролируемого выше — но достаточно близко, чтобы классифицировать нейроструктуры без больших размеченных наборов данных. Точность извлечения CLIP во время предобучения в 200–400 раз лучше случайного выбора (случайно = 0,024% для 4 235 сеток), что указывает на то, что энкодер изучает реальную структуру, а не запоминает шум.

Эти числа взяты из README Phase 4 проекта — это ожидаемые диапазоны, а не окончательные опубликованные показатели. Статья находится за платёжной стеной на ScienceDirect, поэтому я не могу проверить точные окончательные числа. Но направление ясно: самообучающееся предобучение закрывает большую часть разрыва до полностью контролируемого обучения, и оно делает это без единой метки.

Почему это важно

Коннектомике нужен масштаб. Узкое место — не визуализация: технология ЭМ способна захватывать терабайты данных. Узкое место — аннотация. Если вам нужны эксперты‑нейробиологи, которые вручную размечают каждую сетку, вы ограничены пропускной способностью человека. Подход NeMoCo — предобучение на неразмеченных данных, перенос на размеченные задачи с минимальной дообучкой — это путь к преодолению этого узкого места.

Междоменный перенос особенно интересен. NeMoCo предобучается на сетках черепа мыши и переносится к классификации нейроструктур. Разные домены, разные формы, одни и те же геометрические примитивы. Энкодер выучил общие признаки 3D‑форм, которые переносились. Это обещание самообучения: изучить структуру мира, а затем недорого специализироваться.

Код открыт. Наборы данных описаны в репозитории. Архитектура воспроизводима на RTX 3090 (с уменьшенным размером батча) или на A100 для полноценного обучения. Это не закрытая корпоративная система — это исследовательский проект, который вы можете запустить сами.

Команда

Это результат работы в Университете Хамада бин Халифы в Катаре. Хамайра Шаффик возглавила работу в рамках своей магистерской диссертации. Научный руководитель — доктор Марко Агус. Доктор Узайр Шах (владелец репозитория и наставник), доктор Махмуд Альзубайди, доктор Йенс Шнайдер, доктор Пьер Юлиус Маджистретти, доктор Коррадо Кали и профессор Моуафа Х. дополняют список соавторов. Статья опубликована в Graphical Models (Elsevier) около августа 2026 года.

Мой друг состоит в команде. Он прислал мне это, потому что думал, что параллели с инженерией агентов будут очевидны. И они оказались таковыми.

Что я вынес

Разрабатывая Aura, я решаю ту же фундаментальную проблему, которую решает NeMoCo, только в другой области: как построить полезные внутренние представления из сырых, неразмеченных данных?

Ответ NeMoCo: контрастное обучение на внутренней геометрии. Покажите системе одно и то же с разных ракурсов, скажите ей «это одно и то же», и она обнаружит, что важно. Мой ответ для Aura: накапливайте память из взаимодействия, позволяйте структуре возникать из использования, медленно продвигайте паттерны. Разные механизмы, один принцип.

Фреймворк построения мозга — это не метафора, которую я навязываю. Это реальная структура задачи. Когда вы создаёте агента — восприятие (маршрутизация ввода), память (хранение и извлечение), представление (сжатый контекст), обучение (обновление памяти), рассуждение (выбор инструментов и планирование) — вы конструируете нечто мозгоподобное из компонентов. Не биологически. Функционально. Точно так же, как NeMoCo строит систему, которая классифицирует нейронные структуры так, как мозг классифицирует мир: без указания, какие это категории.

Это урок. Метки — это упрощение. Структура — это то, что важно. И вы можете изучать структуру из необработанных данных — будь вы мозгом, классификатором сетки или ИИ-агентом, стремящимся быть полезным.

NeMoCo на GitHub: github.com/Uzshah/NeMoCo

Статья: Elsevier, Graphical Models (~August 2026)

DiffusionNet: Шарп и др., SIGGRAPH 2022 — github.com/nmwsharp/diffusion-net

MoCo v2: Хе и др., CVPR 2020 — arxiv.org/abs/2003.04297

CLIP: Радфорд и др., ICML 2021 — arxiv.org/abs/2103.00020

#AI#MachineLearning#Neuroscience#SelfSupervisedLearning