Anthropic 工程博客 · 中文学习笔记Anthropic 工程笔记

    关系网络:一个专门做关系推理的简单神经网络模块

    A simple neural network module for relational reasoning

    Day 19 · 补完 原论文发布:2017-06-05 发表:NIPS 2017 阅读约 7 分钟 原论文链接 ↗ 30u30 单元 ↗
    作者
    Adam Santoro, David Raposo, David G. T. Barrett, Mateusz Malinowski, Razvan Pascanu, Peter Battaglia, Timothy Lillicrap
    依据版本
    arXiv v1
    30u30 单元
    19_relational_reasoning(讲解、实现与练习请到原仓库查看,本站不翻译、不改编,见导读)
    ⚠️ arXiv 只有第 1 版(2017-06-05)。NeurIPS 会议论文集页面显示发表于 NIPS 2017,会议版摘要与 arXiv 版措辞略有不同。本笔记依据 arXiv 版撰写。
    本页目录(15)
    1. 一句话总结
    2. 解决什么问题
    3. 核心思想
    4. 1. 关系网络的形式
    5. 2. 三个优点
    6. 3. “物体”从哪里来
    7. 关键公式或机制
    8. 实验结果(摘自论文)
    9. 作者对原因的推测
    10. 图解
    11. 关键原话
    12. 和 Anthropic 笔记的对应
    13. 读的时候要注意
    14. 30u30 对应单元
    15. 延伸阅读

    一句话总结#

    把“考虑每一对物体之间的关系”直接写进网络结构:对所有物体两两配对,用同一个函数 g 计算关系,求和后交给函数 f 得出答案。

    解决什么问题#

    关系推理是指根据实体之间的关系(远近、异同、数量比较等)得出结论。论文举的例子:小孩想在公园里相距最远的两棵树之间赛跑,就得先估计并比较所有树之间的距离。

    • 符号方法天然擅长关系推理,但存在符号落地问题,对任务和输入的小变化不鲁棒。
    • 深度学习能从原始数据学表示、抗噪声,但在“关系稀疏而复杂”的问题上往往需要大量数据。

    论文的实验进一步说明:看似很简单的关系推理,对 CNN 和多层感知机(MLP)这样强大的结构来说也出奇地难。

    核心思想#

    1. 关系网络的形式#

    最简单的形式只有一行:

    RN(O) = f_φ( Σ_{i,j} g_θ(o_i, o_j) )

    • 输入是一组“物体” O = {o_1, …, o_n},每个是一个向量。
    • g_θ 对每一对物体输出一个“关系”向量;f_φ 把所有关系的和变成最终输出。两者都是 MLP,端到端可训练。

    设计思路和 CNN、RNN 类似:CNN 把“平移不变”写进结构,RNN 把“序列依赖”写进结构,RN 则把“考虑成对关系”写进结构,不需要再从数据里学出来。

    2. 三个优点#

    • 学会推断关系:RN 考虑所有物体对,并不事先知道哪些关系真正存在、各是什么意思,需要自己学出来。用图论的话说,输入相当于一张完全有向图。如果事先知道只需考虑哪些对,也可以只输入这些对。
    • 数据效率高:所有物体对共用同一个 g。若用 MLP 一次性吃下所有物体,它得在权重里学出 n² 个相同的函数;RN 改为每个样本做 n² 次前向计算、只学一次关系函数。
    • 作用于集合:求和使输出与物体顺序无关。

    3. “物体”从哪里来#

    RN 只处理物体,不直接处理图像或文字。论文的一个核心贡献是说明,相对无结构的中间表示也能当作物体:

    • 像素:128×128 的图像经过 4 个卷积层得到 d×d 个 k 维向量,每个格子加上坐标标记就当作一个“物体”。它可能对应背景、某个实物、纹理或几个实物的组合,由训练决定。
    • 状态描述:CLEVR 的状态矩阵每行就是一个物体的坐标、颜色、形状、材质、尺寸,直接输入。
    • 自然语言(bAbI):取问题之前最多 20 个句子,标上相对位置,用 LSTM 各自编码成一个物体。

    问题由 LSTM 编码成向量 q,作为条件加入每一对:a = f_φ( Σ_{i,j} g_θ(o_i, o_j, q) )。论文的理由是:关系是否存在、有何意义取决于问题本身。

    关键公式或机制#

    实验结果(摘自论文)#

    • CLEVR(像素):95.5%,超过人类的 92.6%,比数据集发布时只用像素和问题训练的最好模型(68.5%)高出 27 个百分点。作者特别指出提升集中在“比较属性”和“计数”这类依赖关系的问题上。另有一项研究报告 96.9%,但用到了生成问题的“函数程序”作为额外监督,不可直接比较。
    • CLEVR(状态描述):96.4%,说明 RN 对输入形式不敏感。
    • Sort-of-CLEVR:作者自建的数据集,每张图 6 个彩色形状,关系问题和非关系问题分开。CNN+RN 两类问题都超过 94%;CNN+MLP 在非关系问题上也能达到这个水平,关系问题却停在 63%,其中“最近 / 最远”类只有 52.3%。
    • bAbI:20 个文本问答任务通过 18 个(准确率超过 95% 记为通过),没有灾难性失败;作者说明只用了单个随机种子选出的模型。
    • 动态物理系统:10 个小球,部分由看不见的弹簧或刚性约束相连。推断全部连接正确的场景占 93%,数出连接成几个系统的正确率 95%;参数量相当的 MLP 两个任务都不比随机猜测好。

    作者对原因的推测#

    RN 加进相对简单的 CNN + LSTM 结构后,CLEVR 准确率从 68.5% 升到 95.5%。作者推测:RN 承担了关系推理,CNN 就能专注处理局部空间结构。“处理”和“推理”的分工很重要,ResNet 这类强大的视觉网络未必适合推理任意关系。

    图解#

    flowchart LR
        IMG["图像"] --> CNN["CNN:d×d 个格子,每格加坐标当作物体"]
        QS["问题"] --> LSTM["LSTM:问题向量 q"]
        CNN --> PAIR["所有物体两两配对 (o_i, o_j, q)"]
        LSTM --> PAIR
        PAIR --> G["共享的 g_θ:每对算出一个关系"]
        G --> SUM["逐元素求和"]
        SUM --> F["f_φ:输出答案"]

    图解:CNN 把图像变成一组物体,LSTM 把问题编码成向量 q;所有物体两两配对并附上 q,由同一个 g_θ 计算关系,求和后由 f_φ 给出答案。

    关键原话#

    “the capacity to compute relations is baked into the RN architecture without needing to be learned”

    和 Anthropic 笔记的对应#

    Anthropic 笔记对得上的地方
    “think”工具:让 Claude 在复杂工具调用中停下来想一想RN 的提升来自给网络加一个专门负责推理的部件,让其他部件专注于各自擅长的处理。think 工具也是给模型单独留出一个推理步骤。只是类比:一个是网络结构,一个是工具设计。
    构建高效的智能体:从简单可组合的模式出发论文强调 RN 简单、即插即用,可以接到已有的 CNN、LSTM 后面。那篇同样主张用简单、可组合的部件搭系统。

    读的时候要注意#

    • 复杂度是平方级:所有物体两两配对,计算量随物体数平方增长。作者也提到,未来可以用注意力过滤不重要的关系来控制计算量。
    • “超过人类”要看具体基准:95.5% 对 92.6% 是 CLEVR 这个合成数据集上的比较,场景由程序生成,不能直接推广到真实世界的视觉推理。
    • bAbI 结果的统计稳健性:作者坦言只跑了一个种子,而其他模型的结果有时会有超过 ±3 个任务的波动。
    • 版本差异:NeurIPS 会议版摘要的最后一句与 arXiv 版不同,具体正文改动本笔记未逐一比对(待核实)。

    30u30 对应单元#

    • 30u30 的 Day 19 单元↗(仓库采用 CC BY-NC-ND 4.0,本笔记没有使用其内容)。
    • 路线位置:30u30 导读 的补完段,单元 4(Day 19 → 20 → 21 → 22)。

    延伸阅读#


    本笔记依据 2026-10-18 抓取的在线原文撰写,仅为导读与总结。原文:Adam Santoro, David Raposo, David G. T. Barrett, Mateusz Malinowski, Razvan Pascanu, Peter Battaglia, Timothy Lillicrap,《A simple neural network module for relational reasoning》, NIPS 2017。

    本页目录