如何在神经网络中表示部分-整体层次结构

描述

Twitter 上发现了一篇Hinton的新论文,作者只有Hinton本人,这篇论文没有介绍具体的算法,而是描绘了一个关于表示的宏观构想:如何在神经网络中表示部分-整体层次结构。

AI科技评论在 Twitter 上发现了一篇Hinton的新论文,作者只有Hinton本人,这篇论文没有介绍具体的算法,而是描绘了一个关于表示的宏观构想:如何在神经网络中表示部分-整体层次结构。 

值得一提的是,分享论文的Kosta Derpanis也在推特里介绍了Hinton的第一篇论文:“Using Relaxation To Find A Puppy”。Kosta Derpanis在论文里标记了一句话:“局部的模糊性必须必须通过寻找最佳的全局解释来解决。”并表示,Hinton现在又回到了最初的起点。

Hinton第一篇论文:https://www.cs.toronto.edu/~hinton/absps/puppet.pdf

局部和整体的一致性表示似乎一直是Hinton的研究重点。比如,胶囊网络通过局部到整体的动态路径选择一致性来学习识别,近期Hinton还将其扩展到了无监督学习,并应用了Transformer架构;对比学习则学习一种表示,使得同一幅图像的的各个局部具有相似的表示;认知神经科学出身的Hinton还一直坚持探索着大脑的学习机制,比如back relaxation试图在自顶向下表示和自底向上表示之间产生一致性,而这又和对比学习有联系。

在这篇新论文中,Hinton又将为我们描绘出怎样一幅图景呢?

论文链接:https://arxiv.org/pdf/2102.12627.pdf

这篇论文没有描述工作系统,而是单单提出了一个关于表示的想法。这个想法能够把Transformer、神经场(neural fields)、对比表示学习、蒸馏和胶囊等先进观点整合到一个名为“GLOM 1”的设想系统中。

一个具有固定架构的神经网络如何将一张图像解析成一个整体的分级体系(其中,每张图像都有不同的结构)?针对这个问题,GLOM 给出了一个简单的答案,即使用相同向量的孤岛来表示解析树中的节点。如果 GLOM 真的能够正常运转,那么,当它在视觉或语言上应用时,它能够极大地提高类似Transformer的系统所生成的表示的可解释性。

“GLOM”一词源自一句俗语“ glom together”(“抓”到一起),可能是来源于“凝聚”(agglomerate)一词。

1  

观点总览

心理学提供了一个有力证据,表明:人们会将视觉场景解析为整个分层体系,并将部分与整体之间视角不变的空间关系,建模为他们分配给该部分和整体的内在坐标系之间的坐标转换。 

如果我们想要建立像人类一样理解图像的神经网络,那么我们需要想明白:神经网络是如何表示部分-整体的分层体系?这很困难,因为一个真实的神经网络无法将一组神经元进行动态分配,以表示解析树中的一个节点。 

神经网络无法动态分配神经元,也是一系列用到“胶囊”观点的模型所出现的原因。这些模型会作出如下假设:被称为“胶囊”的一组神经元会永远成为图像特定区域中的某一特定类型的一部分。通过激活这些预先存在的、类型特定的胶囊子集,以及胶囊之间的适合连接,可以构建一个解析树。

这篇论文介绍了一种非常不同的方式,可以使用胶囊来表示神经网络中的部分-整体分层体系。

虽然这篇论文主要讨论了单个静态图像的感知,但我们可以简单地将 GLOM 理解为用于处理一系列帧的管道,因此静态图像可以被视为一系列相同的帧。

GLOM 架构由许多列(column)组成,所有列均使用完全相同的权重。每一列都是一堆空间局部自动编码器,这些编码器会学习小图像块(image patch)中的多个不同级别的表示。每个自动编码器都会使用多层自下而上的编码器和多层自上而下的解码器,将同一个级别的嵌入转换为相邻级别的嵌入。这些级别与部分-整体分层体系中的级别一一对应。比如,显示一张人脸图像时,一个单列可能会收敛到表示一个鼻孔、一个鼻子、一张脸和一个人的嵌入向量上。图 1 显示了不同级别的嵌入如何在单列中进行交互。 

神经网络

图1:单列中,GLOM架构的三个相邻级别的自下而上、自上而下、同列的交互。

代表自下而上和自上而下交互的蓝色和红色箭头是由两个具有多个隐藏层的不同神经网络来实现。这些网络在成对的级别中有所差异,但它们可以跨列、跨时间步分享。自上而下的网络也许应该使用正弦单位。对于静态图,绿色箭头可以简单看作按比例缩放的残差连接,以实现每个级别的嵌入的时间平滑。对于视频,绿色连接可以是基于多个先前状态的胶囊来学习时间动态的神经网络。不同列中,相同级别的的嵌入向量之间的交互可以通过非自适应的、注意力加权的局部平滑器(图中没有显示)来实现。

图 1 没有显示不同列中同一级别的嵌入之间的交互。这比同一列内的交互要简单得多,因为它们不需要执行部分-整体坐标转换。它们就像代表一个多头 transformer 中不同单词片段的列之间的注意力加权交互,但更简单,因为查询、键和值向量都与嵌入向量相同。列与列之间的交互作用是,通过使一个级别的每个嵌入向量向附近位置的其他类似向量回归,从而在该级别上产生具有相同嵌入的岛。这将创建多个局部“回音室”,其中一个级别的嵌入主要听从其他想法相似的嵌入。

在每一段离散时间和每一列中,一个级别的嵌入将被更新为拥有四个贡献(如下)的加权平均值:

自下而上的神经网络在前一个时间作用于下层级别的嵌入而产生的预测;

自上而下的神经网络在前一个时间作用于上层级别的嵌入而产生的预测;

上一个时间步的嵌入向量;

前一个时间在附近列相同级别的嵌入的注意力加权平均值。

对于静态图,一个级别的嵌入应随着时间的流逝而沉淀,以生成拥有几乎相同向量的不同岛。如图 2 所示, 这些岛在更高的级别上应该更大。使用相似的岛来表示图像的解析,避免了需要分配神经元组来动态表示正在运行的解析树的节点,或预先为所有可能的节点设置神经元的情况。GLOM 系统不是分配神经硬件来表示解析树中的节点,或为节点提供指向其祖先和后代的指针,而是分配了一个合适的活动向量来表示该节点,并在属于该节点的所有位置上使用了相同的活动向量。访问节点的祖先和后代的能力是通过自下而上和自上而下的神经网络实现的,而不是通过使用 RAM 检查表格来实现的。

神经网络

图 2:在特定时间里,6 个相邻列的嵌入。 

图 2 所显示的所有位置都属于同一对象,且场景级别尚未在共享矢量上定居。通过将向量划分为部分-整体分层体系中每个级别的单独部分,然后将一个级别的的高维嵌入向量显示为二维向量,那么每个位置的完整嵌入向量就可以显示出来。这可以很好地解释不同位置的嵌入向量的对齐。图 2 所示的不同级别上向量相同的岛,实则表示一棵解析树。但是,相同的岛比短语结构语法要强大得多。比如,在“这是否会减慢短语结构语法的速度”的问题上,它们可以毫不费力地表示断开连接的对象。

就像BERT一样,整个 GLOM 系统可以进行端到端的训练,以在最后的时间步从缺少某一区域的输入图像中重建图像。但是,目标函数还包含两个倡导在每个级别上向量几乎相同的岛的正则化器(regularizer)。正则化器只是一个级别的新嵌入与自下而上、自上而下的预测之间的一致性。提高这个一致性能够促进局部岛的形成。

神经网络

图 4:这是将图 1 所示架构进行可视化的另一种方式,可以使该架构与 transformer 之间的关系更加明显。图 1 中表示时间的水平尺寸变成了图 4 中表示层的垂直尺寸。此时,在每一个位置,每一层都有部分-整体分层体系中所有级别的嵌入。这与垂直压缩图 1 中单个时间片内的级别描述一致。

静态图的解释仅需要使用该架构进行一次前向传递。这里将所有级别特定的自下而上和自上而下的神经网络都显示为单个神经网络。图 5 显示了另一种查看 GLOM 架构的自下而上和自上而下的神经网络。

神经网络

图 5:GLOM 在同一个位置(即单列的一部分)的两个相邻层。在前向传递的过程中,L 级的嵌入向量通过多层自下而上的神经网络从上一层 L-1 级的嵌入向量中接收输入。L 级还通过多层自上而下的神经网络从上一层 L+1 级的嵌入中接收输入。在前向传递的过程中,对上一层 L+1 级的依赖取得了自上而下的效果。嵌入在 t+1 层中的 L 级还取决于嵌入在 t 层中的 L 级嵌入和 t 层中其他附近位置的 L 级嵌入的注意力加权总和。图中没有显示级内的交互。

2  

责任编辑:lq

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分