雷锋网 AI 科技评论按,12 月上旬,NeurIPS 2018 在加拿大蒙特利尔会展中心(Palais des Congrès de Montréal)成功举办,雷锋网对此进行了报道。今年的会议在主题活动、投稿论文数量和参会人数上,相比往年都上了一个新台阶。NeurIPS 2018 吸引了近九千人参加,最终 1010 篇论文被接收,其中,有四篇论文被评为最佳论文,接收的覆盖了十大研究领域。
看完新论文,别忘旧论文。日前,学术头条对入选 NeurIPS 2017 的论文在 2017.12 至 2018.12 之间的引用量进行了统计,引用量超过 100 的论文有 19 篇,论文名单如下:
可以看到,引用量排名前三的论文分别是 Attention Is All You Need、Improved Training of Wasserstein GANs 和 Dynamic Routing Between Capsules。此前,雷锋网(公众号:雷锋网)对这几篇论文也有过解读,今天,就和大家一起再复习下吧。
Attention Is All You Need
这是谷歌与多伦多大学等高校合作发表的一篇论文,他们提出了一种新的网络框架——Transformer。Transformer 是完全基于注意力机制(attention mechanism)的网络框架,放弃了 RNN 和 CNN 模型。
众所周知,在编码-解码框架中,主流的序列传导模型都是基于 RNN 或者 CNN,其中能完美连接编码器和解码器的是注意力机制。而谷歌提出的这一新框架 Transformer,则是完全基于注意力机制。
Transformer 用于执行翻译任务,实验表明,这一模型表现极好,可并行化,并且大大减少了训练时间。Transformer 在 WMT 2014 英德翻译任务上实现了 28.4 BLEU,改善了现有的最佳成绩(包括超过 2 个 BLEU 的集合模型),在 WMT 2014 英法翻译任务中,建立了一个新的单一模式,在八个 GPU 上训练了 3.5 天后,最好的 BLEU 得分为41.0,这在训练成本最小的情况下达到了最佳性能。由 Transformer 泛化的模型成功应用于其他任务,例如在大量数据集和有限数据集中训练英语成分句法解析的任务。
注意力机制是序列模型和传导模型的结合,在不考虑输入输出序列距离的前提下允许模型相互依赖,有时(但是很少的情况),注意力机制会和 RNN 结合。
模型结构如下:
编码器:编码器由 6 个完全的层堆栈而成,每一层都有两个子层。第一个子层是多头的 self-attention 机制,第二层是一层简单的前馈网络全连接层。在每一层子层都有 residual 和归一化。
解码器:解码器也是由 6 个完全相同的层堆栈而成,每一层有三个子层,在编码栈的输出处作为多头的 attention 机制。
注意(attention):功能是将 Query 和一组键-值对映射到输出,那么包括 query、键、值及输出就都成为了向量。输出是值的权重加和,而权重则是由值对应的 query 和键计算而得。
Improved Training of Wasserstein GANs
在该论文中,蒙特利尔大学的研究者对 WGAN 进行改进,提出了一种替代 WGAN 判别器中权重剪枝的方法。
论文摘要
生成对抗网络(GAN)将生成问题当作两个对抗网络的博弈:生成网络从给定噪声中产生合成数据,判别网络分辨生成器的的输出和真实数据。GAN 可以生成视觉上吸引人的图片,但是网络通常很难训练。前段时间,Arjovsky 等研究者对 GAN 值函数的收敛性进行了深入的分析,并提出了 Wasserstein GAN(WGAN),利用 Wasserstein 距离产生一个比 Jensen-Shannon 发散值函数有更好的理论上的性质的值函数。但是仍然没能完全解决 GAN 训练稳定性的问题。
所做工作:
通过小数据集上的实验,概述了判别器中的权重剪枝是如何导致影响稳定性和性能的病态行为的。
提出具有梯度惩罚的 WGAN(WGAN with gradient penalty),从而避免同样的问题。
展示该方法相比标准 WGAN 拥有更快的收敛速度,并能生成更高质量的样本。
展示该方法如何提供稳定的 GAN 训练:几乎不需要超参数调参,成功训练多种针对图片生成和语言模型的 GAN 架构。
WGAN 的 critic 函数对输入的梯度相比于 GAN 的更好,因此对生成器的优化更简单。另外,WGAN 的值函数是与生成样本的质量相关的,这个性质是 GAN 所没有的。WGAN 的一个问题是如何高效地在 critic 上应用 Lipschitz 约束,Arjovsky 提出了权重剪枝的方法。但权重剪枝会导致最优化困难。在权重剪枝约束下,大多数神经网络架构只有在学习极其简单地函数时才能达到 k 地最大梯度范数。因此,通过权重剪枝来实现 k-Lipschitz 约束将会导致 critic 偏向更简单的函数。如下图所示,在小型数据集上,权重剪枝不能捕捉到数据分布的高阶矩。
由于在 WGAN 中使用权重剪枝可能会导致不良结果,研究者考虑在训练目标上使用 Lipschitz 约束的一种替代方法:一个可微的函数是 1-Lipschitz,当且仅当它的梯度具有小于或等于 1 的范数时。因此,可以直接约束 critic 函数对其输入的梯度范数。新的 critic 函数为:
使用 GAN 构建语言模型是一项富有挑战的任务,很大程度上是因为生成器中离散的输入输出序列很难进行反向传播。先前的 GAN 语言模型通常凭借预训练或者与监督最大似然方法联合训练。相比之下,使用该论文的方法,不需采用复杂的通过离散变量反向传播的方法,也不需要最大似然训练或 fine-tune 结构。该方法在 Google Billion Word 数据集上训练了一个字符级的 GAN 语言模型。生成器是一个简单的 CNN 架构,通过 1D 卷积将 latent vector 转换为 32 个 one-hot 字符向量的序列。
该文提供了一种训练 GAN 的稳定的算法,能够更好的探索哪种架构能够得到最好的生成模型性能。该方法也打开了使用大规模图像或语言数据集训练以得到更强的模型性能的大门。
本论文在github上开源了代码:github
本论文同时也提供了详细的数学证明,以及更多的示例,进一步了解请阅读原论文:Improved Training of Wasserstein GANs
Dynamic Routing Between Capsules
为了避免网络结构的杂乱无章,Hinton 提出把关注同一个类别或者同一个属性的神经元打包集合在一起,好像胶囊一样。在神经网络工作时,这些胶囊间的通路形成稀疏激活的树状结构(整个树中只有部分路径上的胶囊被激活),从而形成了他的 Capsule 理论。Capsule 也就具有更好的解释性。
Capsule 这样的网络结构在符合人们「一次认知多个属性」的直观感受的同时,也会带来另一个直观的问题,那就是不同的胶囊应该如何训练、又如何让网络自己决定胶囊间的激活关系。Hinton 这篇论文解决的重点问题就是不同胶囊间连接权重(路由)的学习。
解决路由问题
首先,每个层中的神经元分组形成不同的胶囊,每个胶囊有一个「活动向量」activity vector,它是这个胶囊对于它关注的类别或者属性的表征。树结构中的每个节点就对应着一个活动的胶囊。通过一个迭代路由的过程,每个活动的胶囊都会从高一层网络中的胶囊中选择一个,让它成为自己的母节点。对于高阶的视觉系统来说,这样的迭代过程就很有潜力解决一个物体的部分如何层层组合成整体的问题。
对于实体在网络中的表征,众多属性中有一个属性比较特殊,那就是它出现的概率(网络检测到某一类物体出现的置信度)。一般典型的方式是用一个单独的、输出 0 到 1 之间的回归单元来表示,0 就是没出现,1 就是出现了。在这篇论文中,Hinton 想用活动向量同时表示一个实体是否出现以及这个实体的属性。他的做法是用向量不同维度上的值分别表示不同的属性,然后用整个向量的模表示这个实体出现的概率。为了保证向量的长度,也就是实体出现的概率不超过 1,向量会通过一个非线性计算进行标准化,这样实体的不同属性也就实际上体现为了这个向量在高维空间中的方向。
采用这样的活动向量有一个很大的好处,就是可以帮助低层级的胶囊选择自己连接到哪个高层级的胶囊。具体做法是,一开始低层级的胶囊会给所有高层级的胶囊提供输入;然后这个低层级的胶囊会把自己的输出和一个权重矩阵相乘,得到一个预测向量。如果预测向量和某个高层级胶囊的输出向量的标量积更大,就可以形成从上而下的反馈,提高这两个胶囊间的耦合系数,降低低层级胶囊和其它高层级胶囊间的耦合系数。进行几次迭代后,贡献更大的低层级胶囊和接收它的贡献的高层级胶囊之间的连接就会占越来越重要的位置。
在论文作者们看来,这种「一致性路由」(routing-by-agreement)的方法要比之前最大池化之类只保留了唯一一个最活跃的特征的路由方法有效得多。
网络构建
作者们构建了一个简单的 CapsNet。除最后一层外,网络的各层都是卷积层,但它们现在都是「胶囊」的层,其中用向量输出代替了 CNN 的标量特征输出、用一致性路由代替了最大池化。与 CNN 类似,更高层的网络观察了图像中更大的范围,不过由于不再是最大池化,所以位置信息一直都得到了保留。对于较低的层,空间位置的判断也只需要看是哪些胶囊被激活了。
这个网络中最底层的多维度胶囊结构就展现出了不同的特性,它们起到的作用就像传统计算机图形渲染中的不同元素一样,每一个胶囊关注自己的一部分特征。这和目前的计算机视觉任务中,把图像中不同空间位置的元素组合起来形成整体理解(或者说图像中的每个区域都会首先激活整个网络然后再进行组合)具有截然不同的计算特性。在底层的胶囊之后连接了 PrimaryCaps 层和 DigitCaps 层。
胶囊效果的讨论
在论文最后,作者们对胶囊的表现进行了讨论。他们认为,由于胶囊具有分别处理不同属性的能力,相比于 CNN 可以提高对图像变换的健壮性,在图像分割中也会有出色的表现。胶囊基于的「图像中同一位置至多只有某个类别的一个实体」的假设也使得胶囊得以使用活动向量这样的分离式表征方式来记录某个类别实例的各方面属性,还可以通过矩阵乘法建模的方式更好地利用空间信息。不过胶囊的研究也才刚刚开始,他们觉得现在的胶囊至于图像识别,就像二十一世纪初的 RNN 之于语音识别——研究现在只是刚刚起步,日后定会大放异彩。
论文全文参见:https://arxiv.org/pdf/1710.09829.pdf
对这三篇论文感兴趣的朋友们,可以点击如下地址,查看更多更详细的解读:
谷歌推出基于注意机制的全新翻译框架,Attention is All You Need!
蒙特利尔大学研究者改进Wasserstein GAN,极大提高GAN训练稳定性
终于盼来了Hinton的Capsule新论文,它能开启深度神经网络的新时代吗?
雷锋网版权文章,未经授权禁止转载。详情见转载须知。