返回博客

发布于 2026年8月13日

从无标签几何构建大脑:NeMoCo 对 AI 工程师的启示

一位朋友最近给我发了一篇论文。他是该论文团队的成员,他认为鉴于我一直在做的 AI 代理工作,我会觉得这篇论文很有趣。他猜对了。

这篇论文是 NeMoCo: Self-supervised contrastive learning for ultrastructural 3D neuroscience morphologies,发表在 Elsevier 的 Graphical Models(2026 年 8 月)。第一作者是 Humaira Shaffique,在 Hamad Bin Khalifa University 的 Dr. Marco Agus 指导下工作,合作者还有 Dr. Uzair Shah、Dr. Mahmood Alzubaidi、Dr. Jens Schneider、Dr. Pierre Julius Magistretti、Dr. Corrado Calì 和 Prof. Mowafa H. 代码在 GitHub 上以 MIT 许可证开源。

我不是神经科学家。我是 AI 工程师。我每天花时间构建 Aura —— 一个个人 AI 助手,负责管理内存、路由任务、检索上下文,并努力在跨会话中真正有用。但阅读 NeMoCo 时,我一直看到我在代理工程中遇到的相同结构问题,只是被包装在电子显微镜数据和谱几何中。因此,这是从该角度出发的技术写作 —— NeMoCo 做了什么,为什么它有趣,以及它在构建代理系统的工作中映射出什么。

问题:标签昂贵,生物学不使用它们

神经科学家使用体积电子显微镜(EM)在纳米分辨率下捕捉脑组织的 3D 图像。从这些图像中,他们重建亚细胞结构的 3D 网格——神经突(轴突和树突分支)、线粒体等细胞器、核膜。这些网格即为形态学:神经结构的实际 3D 形状。

要对它们进行分类——这是轴突、树突还是突起?——需要专家神经科学家手动为每个网格添加标签。这过程缓慢、昂贵且难以规模化。没有标签就无法训练有监督分类器,而没有专家也无法获得标签。连接组学需要处理数以百万计的这些结构。手动标注是瓶颈。

让我印象深刻的是:the brain doesn't get labels either. A child doesn't need someone to say "this is a chair" for every chair they see. They learn the concept by observing chairs from different angles, in different lighting, at different distances — discovering the invariant properties that make a chair a chair. No labels. Just raw experience and the discovery of structure.

NeMoCo 问道:机器能否在神经结构上做到同样的事情?

NeMoCo 的作用

NeMoCo 是一种用于 3D 网格分类的自监督对比学习流水线。它在预训练过程中能够在没有任何标注样本的情况下学习识别神经结构。该架构是一种应用于 3D 网格的 CLIP 风格双编码器系统。

其工作原理如下:

  1. 获取一个未标注的 3D 神经突起或细胞器网格。
  2. 创建同一网格的两个视图:原始视图(或轻微增强),以及经过变换的视图——随机旋转(±60°),缩放(0.6–1.4×),剪切,以及可选的降采样(面数减少 50–75%)。
  3. 将两个视图通过 DiffusionNet encoder —— 这是一种直接在 3D 表面上运行的神经网络,利用谱几何(网格拉普拉斯矩阵的特征值和特征向量)。
  4. 编码器为每个视图生成一个 32 维的嵌入向量。
  5. CLIP-style 对比损失 训练模型使同一网格的两个视图的嵌入更接近,同时将不同网格的嵌入推开。
  6. 一个编码器分支通过普通反向传播进行更新;另一个是动量更新的"教师"(EMA,动量=0.999)——即MoCo方法,可防止表示崩溃。

关键洞察在于:通过学习旋转、缩放、抽稀的网格是“同一事物”,编码器发现了定义每种神经结构类型的内在几何特征——而无需曾经被告知这些类别是什么。

为什么在这里 DiffusionNet 很重要

DiffusionNet (Sharp et al., SIGGRAPH 2022) 不是 NeMoCo 发明的。它是用于在 3D 表面上学习的一种借用架构。但选择具有重要意义。与需要规则网格的 CNN(或将点独立处理的 PointNet)不同,DiffusionNet 在表面的谱几何上运行——计算拉普拉斯特征函数(可以想象为形状的振动模式),并使用热核签名(HKS)作为多尺度描述符,以在不同空间尺度上捕捉局部形状。

这一点很重要,因为神经元本质上是 3D 结构。几何就是形态。当你在对神经结构进行分类时,形状——其曲率、分支、厚度、表面纹理——就是信号。DiffusionNet 尊重这一点。它不会将网格压平为图像或将其简化为点云。它在曲面本身上进行学习。

在 NeMoCo 中,DiffusionNet 以 16 维 HKS 特征作为输入,输出 32 维嵌入,使用 4 个宽度为 128 的块。该架构是借用的,但应用是新颖的:这种特定的 DiffusionNet + MoCo + CLIP 风格对比学习组合应用于超结构神经科学形态学,此前尚未有人做过。

大脑构建框架

这就是我的 AI 工程师大脑开始被点亮的地方。

NeMoCo 在真正意义上,正在构建大脑所做事情的一部分 — — 不是生物学上的,而是计算上的。它正在构建一个系统,该系统学习以生物大脑学习对世界进行分类的方式对神经结构进行分类:从原始的、未标注的经验中学习。

这种类比在于原则层面,而非机制层面。NeMoCo 使用特定的数学损失函数(CLIP 风格的交叉熵)。大脑使用依赖尖峰时序的可塑性和神经调节 — — 这要复杂得多,且不直接类比。NeMoCo 的“记忆库”是一个 kNN 查找表。生物记忆是关联式的、重建式的,并且不断重组。大脑从数据流中持续学习;NeMoCo 在固定数据集上以离散的 epoch 进行训练。

标签对于学习良好表示并非必需。这就是生物大脑的运作方式,而 NeMoCo 是其计算演示。

大脑要素映射

如果你考虑大脑的功能 — — 而不是生物学层面 — — 你可以将其分解为要素:感知、记忆、表示、学习、推理。NeMoCo 对每个要素都有对应的类似物:

  • 感知:原始感官输入变为结构化表示。在 NeMoCo 中,HKS 特征 + DiffusionNet 将原始网格转换为几何嵌入。在大脑中,原始感官信号变为感知特征。
  • 记忆:存储的表示可通过相似性检索。NeMoCo 的冻结 kNN 记忆库存储嵌入并通过最近邻检索。大脑通过关联相似性进行检索。
  • 表示:从多样经验中提取的不变特征。NeMoCo 的 32D 嵌入将同一网格在不同变换下映射到同一向量。大脑在不同视角下保持稳定的对象表示。
  • 学习: 基于经验进行更新。NeMoCo 使用反向传播 + 动量 EMA。大脑使用可塑性规则。
  • 推理: 将表示形式组合以做出决策。NeMoCo 使用 kNN 投票和线性探测。大脑……嗯,做一些远更复杂的事情,但功能角色相同。

我不声称 NeMoCo 是大脑。它是一个数学流水线。但它是一个构建大脑所做功能的一部分的流水线:从原始的、未标注的经验中构建有用的内部表示。

它与智能体工程的对应之处

这是最贴近我工作的部分。我构建了 Aura —— 一个能够管理记忆、路由任务、检索上下文并在会话间保持连续性的 AI 助手。与 NeMoCo 的结构类比十分具体,以至于我在读论文时不断点头。

自监督预训练 ↔ 智能体记忆

NeMoCo 在 4,235 个未标注的鼠颅骨网格(MouseFinal 数据集)上进行预训练,构建通用的几何表示。该预训练的编码器随后可以被冻结并用于多个下游任务——分类、检索、聚类——而无需重新训练核心。

智能体记忆的工作方式也是如此。Aura 的记忆文件——长期记忆、每日笔记、工具笔记——在没有任务特定标签的情况下,构建对用户、项目和环境的通用理解。该记忆会跨会话持续存在,并且可以针对任何任务进行查询。它是一种“不需要每次重新构建”的“预训练上下文”。

冻结的 kNN 评估是最直接的类比。NeMoCo 的编码器在无标签情况下预训练,在它从未显式训练过的分类任务上达到约 70–80% 的准确率——仅仅通过在嵌入空间中寻找最近邻。维护良好的代理记忆使 AI 助手能够回答关于当前会话中未曾明确告知的项目的问题——同样通过查找语义相似的条目。机制不同(向量空间中的 kNN 与文本上的语义搜索),但原则相同:良好的表示是从原始经验构建的,能够迁移到其从未设计用于的任务。

表示学习 ↔ 代理知识结构

NeMoCo 的 32 维嵌入是网格几何身份的压缩表示。在向量空间中距离较近的嵌入代表相似的形态。嵌入空间从数据中产生——没有人设计哪些维度对应哪些特征。

代理记忆是事实、决策和上下文的压缩表示。代理不存储原始转录;它存储提炼后的意义。该记忆的结构源于使用,而非预定义的模式。我并未事先设计 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: 整个编码器 + 分类器进行端到端训练。这是有监督的上限:约 87% 准确率。

主要发现:自监督和有监督方法达到相当的准确率。 不完全相同——有监督的上限更高——但足够接近,以至于无需大规模标注数据集即可对神经结构进行分类。预训练期间的 CLIP 检索准确率比随机猜测高 200–400 倍(随机猜测 = 0.024%,针对 4,235 个网格),这表明编码器在学习真实结构,而不仅仅是记忆噪声。

这些数字来源于项目的 Phase 4 README——给出的预期范围,而非最终发表的数字。该论文在 ScienceDirect 上付费访问,因此我无法核实确切的最终数字。但方向很明确:自监督预训练弥补了与完全有监督训练之间的大部分差距,并且做到这一点不需要任何标签。

为什么重要

连接组学需要规模。瓶颈不在于成像——电子显微镜技术可以捕获太字节的数据。瓶颈在于标注。如果你需要专业神经科学家手动为每个网格进行标注,你就会受限于人工吞吐量。NeMoCo 的方法——在未标注数据上进行预训练,然后以最小的微调迁移到有标注的任务——是突破该瓶颈的途径。

跨域迁移尤为有趣。NeMoCo 在老鼠头骨网格上进行预训练,然后迁移到神经结构分类。不同的领域,不同的形状,但几何基元相同。编码器学到了可迁移的通用 3D 形状特征。这就是自监督的承诺:先学习世界的结构,然后以低成本进行专业化。

代码是开源的。数据集在仓库中有描述。该架构可以在 RTX 3090(批量大小减半)或用于全规模训练的 A100 上复现。这不是一个封闭的企业系统——而是你可以自行运行的研究项目。

团队

这项工作源自卡塔尔的哈马德·本·哈利法大学。Humaira Shaffique 在她的硕士论文中主导了这项工作。Dr. Marco Agus 进行了指导。Dr. Uzair Shah(仓库所有者兼导师)、Dr. Mahmood Alzubaidi、Dr. Jens Schneider、Dr. Pierre Julius Magistretti、Dr. Corrado Calì 以及 Prof. Mowafa H. 共同担任合著者。论文发表在 Graphical Models(Elsevier),时间大约在 2026 年 8 月。

我的朋友在这个团队里。他把它发给我,因为他认为这与智能体工程的类似之处会产生共鸣。结果确实如此。

我的收获

在构建 Aura 的过程中,我一直在解决 NeMoCo 所解决的同样的根本问题,只是领域不同:如何从原始的未标注经验中构建有用的内部表示?

NeMoCo 的答案:在内在几何上进行对比学习。让系统从不同角度看到同一事物,告诉它“这些是相同的”,它就会发现什么重要。我对 Aura 的答案:从交互中积累记忆,让结构从使用中浮现,慢慢推广模式。机制不同,原则相同。

大脑构建的框架不是我强加的隐喻。它是问题的实际结构。当你构建一个代理 — — 感知(输入路由)、记忆(存储和检索)、表示(压缩上下文)、学习(记忆更新)、推理(工具选择和规划) — — 时,你实际上是在从组件中构建类似大脑的东西。不是在生物学意义上,而是在功能意义上。就像 NeMoCo 构建一个系统来对神经结构进行分类,就像大脑对世界进行分类一样:而不被告知这些类别是什么。

这就是教训。标签是一种捷径。结构才是重要的。而且你可以从原始经验中学习结构 — — 无论你是大脑、网格分类器,还是试图变得有用的 AI 代理。

NeMoCo 在 GitHub 上:github.com/Uzshah/NeMoCo

论文:Elsevier, 图形模型(~August 2026)

DiffusionNet: Sharp 等人,SIGGRAPH 2022—— github.com/nmwsharp/diffusion-net

MoCo v2: He 等人,CVPR 2020—— arxiv.org/abs/2003.04297

CLIP: Radford 等人,ICML 2021—— arxiv.org/abs/2103.00020

#AI#MachineLearning#Neuroscience#SelfSupervisedLearning