本文没有描述一个工作系统。相反,它提出了一个关于表示的单一想法,允许几个不同群体的进步被组合成一个虚构的系统,称为GLOM。这些进展包括transformers、神经域、对比表示学习、蒸馏和胶囊。GLOM回答了这个问题: 具有固定架构的神经网络如何将图像解析为具有不同结构的部分整体层次结构?其思想是简单地使用相同向量的岛屿来表示解析树中的节点。如果GLOM能够正常工作,那么当将其应用于视觉或语言时,它将显著提高类transformer系统产生的表示的可解释性。
https://www.zhuanzhi.ai/paper/b52567eec9c6669a4657cc9383e60eac
有强有力的心理学证据表明,人们将视觉场景解析为部分整体的层次结构,并将部分和整体之间的视不变空间关系建模为他们分配给部分和整体的内在坐标系之间的坐标转换[Hinton, 1979]。如果我们想让神经网络像人类一样理解图像,我们需要弄清楚神经网络是如何代表部分-整体层次结构的。这是困难的,因为一个真正的神经网络不能动态分配一组神经元来表示解析树中的一个节点。神经网络无法动态分配神经元是一系列使用“胶囊”模型的动机[Sabour et al., 2017, Hinton et al., 2018, Kosiorek et al., 2019]。这些模型假设一组被称为胶囊的神经元将永久地专注于发生在图像特定区域的特定类型的一部分。然后,可以通过激活这些预先存在的特定于类型的封装的子集以及它们之间的适当连接来创建解析树。本文描述了一种非常不同的方法,使用胶囊来表示神经网络中的部分-整体层次结构。
尽管本文主要关注单个静态图像的感知,但GLOM最容易理解为处理帧序列的管道,因此静态图像将被视为相同帧序列。
GLOM体系结构由大量的列组成,这些列都使用完全相同的权重。每一列都是一个空间本地自动编码器的堆栈,它学习在一个小图像补丁中发生的多级表示。每个自动编码器使用多层自底向上编码器和多层自顶向下解码器将一层上的嵌入转换为相邻层上的嵌入。这些级别对应于部分-整体层次结构中的级别。例如,当显示一张脸的图像时,单个列可能会汇聚到表示鼻孔、鼻子、脸和人的嵌入向量上。图1显示了不同级别的嵌入如何在单个列中交互。
图1没有显示不同列中相同级别的嵌入之间的交互。这些操作比列内的交互简单得多,因为它们不需要实现部分-整体坐标转换。它们就像多头transformer 中表示不同单词片段的列之间的注意力加权交互[Devlin等人,2018],但它们更简单,因为查询、键和值向量都与嵌入向量相同。列间相互作用的作用是通过使该水平上的每个嵌入向量回归到邻近位置上的其他相似向量,从而产生同一嵌入岛。这就产生了多个本地的“回音室”,在这个“回音室”中,同一层次的嵌入主要与其他相似的嵌入相呼应。
在每一个离散时间和每一列中,一个层次上的嵌入更新为四个贡献的加权平均值:
1. 由自底向上的神经网络在之前的时间作用于下一级的嵌入所产生的预测。
2. 自底而下的神经网络在前一时间作用于上述层次的嵌入所产生的预测。
3. 在前一时间步长的嵌入向量。
4. 前一次在相邻列中同一水平上嵌入的注意力加权平均值。
对于静态图像,一个层次上的嵌入应该随着时间的推移而稳定下来,以产生几乎相同向量的截然不同的岛屿。这些岛屿在较高的级别上应该更大,如图2所示。使用相似岛来表示图像的解析,避免了分配神经元组来表示解析树的动态节点,或预先为所有可能的节点留出神经元组。GLOM没有分配神经硬件来表示解析树中的节点,也没有给出指向其祖先和后代的节点指针,而是分配一个适当的活动向量来表示节点,并对属于该节点的所有位置使用相同的活动向量。访问节点的祖先和后代的能力是通过自底向上和自顶向下的神经网络实现的,而不是通过使用RAM进行表查找。
与BERT [Devlin等人,2018]一样,整个系统可以被从头到尾地训练,从有缺失区域的输入图像在最后的时间步长重建图像,但目标函数也包括两个正则化器,鼓励在每一层上几乎相同向量的岛屿。正则化只是在一个层次上嵌入的新代码与自底向上和自顶向下的预测之间的一致。加强这一协定有助于局部岛屿的形成。
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“GLOM” 可以获取《新想法!Geoffrey Hinton独自署名论文,如何在神经网络中表示部分-整体层次结构,结构化表示获取可解释性》专知下载链接索引