0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TrellisNet在CNN和RNN间架起了一座桥梁

zhKF_jqr_AI 来源:未知 作者:李倩 2018-10-22 08:54 次阅读

长期以来,序列建模一直是循环神经网络(RNN)的天下。然而,近年来,卷积神经网络(CNN)开始入侵这一RNN的保留领地,在建模长距离上下文方面表现尤为出色。这两年来,更出现了独立于RNN和CNN之外的完全基于自注意力机制的模型。

CMU和Intel的研究人员Shaojie Bai、J. Zico Kolter、Vladlen Koltun刚刚(2018年10月15日)发布了论文Trellis Networks for Sequence Modeling,提出了一种新颖的架构——网格网络(TrellisNet)。网格网络的结构融合了CNN和RNN,因此可以直接吸收许多为CNN和RNN设计的技术,从而在多项序列建模问题上战胜了当前最先进的CNN、RNN、自注意力模型。

TrellisNet架构

TrellisNet的基本单元如下图所示:

上图中,t表示时刻,i表示网络层,W表示权重,x表示序列输入(蓝色),z表示隐藏状态(黄色)。可以看到,这一基本构件的输入是前一层i在t、t+1时刻的隐藏状态,以及t、t+1时刻的输入向量。

这些输入经过前馈线性变换(省略了偏置):

和前一层t时刻的隐藏状态一起传给非线性激活函数f:

平铺上述单元,我们就得到了完整的TrellisNet:

注意,所有时刻和网络层的权重都是一样的,这也是TrellisNet的一个重要特征。

顺便提一下,由于TrellisNet每层都接受(相同的)输入序列x1:T作为(部分)输入,我们可以预先计算输入序列的线性变换:

然后在所有网络层使用。

TrellisNet和CNN

回过头去看下完整的TrellisNet示意图,可以看到,其实TrellisNet的每一层,都可以视为对隐藏状态序列进行一维卷积运算,然后将卷积输出传给激活函数。也就是说,TrellisNet的网络层i的运算可以总结为:

这就意味着TrellisNet可以看成一种特殊的CNN,随着网络层的加深,感受野也随之增大。

不过,TrellisNet和一般的(时序)CNN有两个地方不一样:

如前所述,所有时刻和网络层的权重是一样的。换句话说,所有网络层共享过滤矩阵。这样的权重系联大大降低了模型的尺寸,而且可以看成一种正则化(更稳定的训练、更好的概括性)。

(线性变换后的)输入序列直接插入每个隐藏层。输入序列的插入混合了深层特征和原始序列。

相应地,TrellisNet也可以直接应用一些为CNN设计的技术:

深度监督。深度监督技术使用CNN的中间层损失作为辅助,即

(λ是固定参数,控制辅助损失的权重)。

例如,在训练一个L层TrellisNet的过程中,为了预测t时刻的输出,除了最后一层的zt(L)外,我们可以同时在zt(L-l)、zt(L-2l)等隐藏状态上应用损失函数。

空洞卷积。在CNN中应用空洞卷积可以更快地扩大感受野。TrellisNet可以直接应用这一技术。注意,如果我们改动了核大小或卷积设定,TrellisNet的激活函数f可能需要做相应调整。例如,假设空洞为d,核大小为2,则激活函数需调整为

权重归一化。在卷积核上应用权重归一化(WN)能起到正则化作用,并加速收敛。

并行。TrellisNet同样可以利用并行卷积操作。

TrellisNet和RNN

RNN和CNN看起来完全不一样。CNN的每个网络层并行操作序列的所有元素,而RNN每次处理序列的一个元素,并在时间上展开。

然而,论文作者证明了,任何展开至有限长度的RNN等价于核矩阵W使用特别的稀疏结构的TrellisNet:

论文作者以一个双层RNN为例,演示了两者的等价性。TrellisNet的每个单元同时表示3个RNN单元(输入xt、第一层的隐藏向量ht(1)、第二层隐藏向量ht(2))。

而层间线性变换构成了混合分组卷积(mixed group convolution)——一种非常规的分组卷积,t时刻的分组k通过t+1时刻的分组k-1进行卷积。应用非线性g之后,便精确重现了原本的双层RNN的输出。

由于之前的等价性推导不涉及RNN的非线性变换g的内在结构,因此,同样适用于LSTM和GRU等RNN变体。例如,对LSTM而言:

和之前的例子同理,一个双层LSTM可以表达为使用混合分组卷积的TrellisNet:

另一方面,LSTM细胞可以作为TrellisNet的非线性激活。下一节的各项试验中,论文作者就使用了LSTM细胞作为TrellisNet的激活。

同样,TrellisNet也可以使用一些源自RNN的技术:

History repackaging:理论上,RNN可以表示无限长度的历史。但在许多应用中,序列长度太长,会导致反向传播难以为继(梯度消失)。经典的解决方案是将序列分为较小的子序列,在每个子序列上进行截断BPTT。在序列边界处,重新打包隐藏状态ht并传给下一个RNN序列。因此梯度流停在序列边界处。TrellisNet也可以利用这一技术。如下图所示,在RNN中传递压缩历史向量ht等价于在TrellisNet的混合分组卷积中指定非零补齐,也就是在TrellisNet中使用先前序列上最后一层的最后一步作为补齐(“历史”补齐)。

门控激活如前所述,TrellisNet可以使用LSTM的门控函数作为激活。实际上,GRU等其他门控激活同样可以应用于TrellisNet。

变分dropoutRNN的变分dropout(VD)是一种在每层的所有时步应用相同掩码的正则化方案(参见下图,每种颜色代表一种dropout掩码)。如果直接翻译这一技术到TrellisNet的话,需要为网络的每条对角线和混合分组卷积的每个分组创建不同掩码。论文作者转而采用了一种极其简单的替代方案,在每次迭代中,时间维度和深度维度上的每一时步都应用相同的掩码。论文作者的试验表明,这一方案效果优于其他dropout方案。

循环权重dropout/DropConnectDropConnect推广了dropout,dropout归零随机选择的激活子集,而DropConnect归零随机选择的权重子集(如下图所示)。

Merity等表明,在隐藏层之间的权重Whh上应用DropConnect,可以优化LSTM语言模型的表现(arXiv:1708.02182)。受此启发,TrellisNet的卷积核应用了DropConnect。

另外,如前所述,等价于RNN的TrellisNet的权重矩阵使用了特别的稀疏结构。那么,有理由相信,去除了这一权重矩阵限制的TrellisNet应该具有更强的表达能力,可以建模比原本的RNN更广的变换。

试验结果

论文作者在单词层面和字符层面的语言建模问题上的测试表明,TrellisNet表现优于当前最先进模型。

单词层面的语言建模测试是在Penn Treebank(PTB)数据集和WikiText-103(WT103)数据集上进行的。PTB是相对较小的数据集,因此比较容易出现过拟合现象,需要应用前两节提到的一些正则化技术。

在PTB上的测试结果(MoS指混合softmax)

而WT103规模比PTB大一百倍,过拟合风险较低,但268K的词汇量使得训练很有挑战性。参照之前研究的成果,论文作者在TrellisNet上应用了自适应softmax,提高了内存效率。

在WT103上的测试结果

在WT103上,TrellisNet不仅表现优于当前最先进的基于自注意力机制的RMC模型(提升约4%),而且收敛速度比RMC要快很多:TrellisNet在22个epoch内收敛,而RMC需要90个epoch。

对于字符层面的语言建模而言,PTB算是中等规模的数据集。因此,论文作者使用了更深的TrellisNet,同时采用了权重归一化和深度监督技术。

论文作者也评估了TrellisNet建模长期依赖的能力。序列化MNIST、PMNIST、序列化CIFAR-10任务,将图像视作长序列,每次处理一个像素。论文作者为此实现的TrellisNet模型有八百万参数,和之前的研究所用的模型规模相当。为了覆盖更多上下文,论文作者在TrellisNet的中间层应用了空洞卷积。同样,TrellisNet在这些任务上的表现超过了之前的成果。

如前所述,不同任务的TrellisNet采用了不同的超参数和设定,详见下表:

“-”表示未使用

为了验证吸收自CNN和RNN的各种技术的效果,论文作者在单词层面的PTB数据集上进行了消融测试:

结语

TrellisNet在CNN和RNN间架起了一座桥梁。在理论层面,这可能有助于我们得到对序列建模更深入、更统一的理解。在实践层面,通过吸收源自CNN和RNN的技术,TrellisNet的表现超越了当前最先进模型。而且,TrellisNet的表现仍有优化空间。例如,相比经典的LSTM细胞,其他门控激活可能带来更好的效果。同理,其他超参数调整也可能进一步提升TrellisNet的表现。

另外,如果能够建立TrellisNet和基于自注意力机制的架构(如Transformers)的连接,就可以统一时序建模的三大主要范式。

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

    关注

    42

    文章

    4562

    浏览量

    98633
  • cnn
    cnn
    +关注

    关注

    3

    文章

    326

    浏览量

    21291

原文标题:CNN和RNN混血儿:序列建模新架构TrellisNet

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Multiphysics Simulation模拟软件怎么解决设计问题

    自动化,工程师用可靠创新的产品微型半导体元器件与我们的宏观世界之间架起一座桥梁。这种需求变化激发工程师在数值模拟的虚拟世界中探索创新,发现新的解决方案。
    发表于 07-31 08:23

    电子技术教材——测控电路(第五版)

    解决测量与控制中的任务。电子技术与测量、控制间架起一座桥梁,合理地进行电路设计。内容包括:测控电路的功用、类型、组成、发展趋势和对它的主要要求;低漂移、高性能测量放大器,隔离和可控放
    发表于 04-07 16:02

    长寿命桥梁设计

    的,它消除了涂装的需要。 利用经验 大多数情况下,水可能是种无害的物质,但它可能是一座桥梁实现长期使用寿命的最大障碍之,正如许多业主从
    发表于 10-14 07:53

    长寿命桥梁设计----适应性设计

    `Cowi的Mackenzie观察到,当一座桥梁交通的重压下呻吟”时,个常见的抱怨就是为什么在建造时没有考虑到交通量的增长。通常的答案是钱不够。另
    发表于 10-15 07:35

    TEXTIO及其在VHDL仿真中的应用

    TEXTIO 在VHDL 仿真与磁盘文件之间架起了桥梁,使用文本文件扩展VHDL 的仿真功能。本文介绍TEXTIO 程序包,以一个加法器实例说明TEXTIO 的使用方法,最后使用ModelSim对设计进行仿真,
    发表于 04-15 10:37 35次下载

    一座横跨世界的技术桥梁

    一座横跨世界的技术桥梁 2005年9月22~23日在上海交通大学召开的能源工程焊接国际学术论坛,受到国内外焊接人士的极大关注,英国焊接研究所TWI(The Weldi
    发表于 03-31 09:59 15次下载

    CNNRNN结合与对比,实例讲解

    由 mengqiqi 于 星期三, 2018-09-05 09:58 发表 一、前述 CNNRNN几乎占据着深度学习的半壁江山,所以本文将着重讲解CNN+RNN的各种组合方式,以及CNN
    发表于 09-06 22:32 563次阅读

    思博伦正在全面提供5G的测试支持全生命周期为5G保驾护航

    “运营商们正在寻求不同的5G实现路径,思博伦可以提供全面的测试支持。我们正在设备商和运营商客户之间架起一座桥梁,我们的愿景是最终以完全自动化的方式进行所有测试。
    发表于 11-06 09:37 716次阅读

    ADI帮你实现现实与数字世界之间架起桥梁

    如果您需要先进器件和系统,ADI工程师可以给您提供新的视角并帮助您在现实与数字世界之间架起桥梁——您所需的,尽在此处。
    的头像 发表于 07-03 06:10 2442次阅读

    美军寻求人工智能集成模拟器的目的是什么

    人工智能在人机界面之间架起了桥梁
    发表于 07-02 10:58 323次阅读

    稳定币的现状是怎样的

    稳定币的稳定、安全且可扩展的性质为传统货币之间架起了一座桥梁
    发表于 07-15 08:51 838次阅读
    稳定币的现状是怎样的

    百度有望在AI和量子计算之间架起桥梁

    主办的《麻省理工技术评论》发文称,“百度五项人工智能技术发展或将重新塑造2021年以后的格局”。报告称,百度在2020年实现了多项技术突破,有望在AI和量子计算之间架起桥梁。此外,报告还高度评价了百度在新冠疫苗研发、自动驾驶、自然语言处理、人工智能芯片四大领域做出的技术突
    的头像 发表于 01-25 10:24 1518次阅读

    快速通行的自动检票机设计方案

    自动检票机设计技术决定了产品所能提供的物理功能,交互设计则决定了如何让这些功能更好地为乘客所用。交互设计在产品和乘客之间架起了一座沟通的桥梁,使产品在实现物理功能的同时,能让乘客感受到深层次的生理舒适和心理愉悦。
    的头像 发表于 10-12 16:15 1180次阅读

    创建使用 IoT 增强的嵌入式系统

    在物理世界和在线世界之间架起一座桥梁
    发表于 08-22 16:07 287次阅读
    创建使用 IoT 增强的嵌入式系统

    汽车网关控制器相关知识介绍

    汽车网关控制器是车内各种电、光总线之间的路由器。网关的主要作用是在网络和ECU之间提供安全的无缝通信,包括在车辆的许多内部网络和外界的外部网络之间架起一座桥梁
    发表于 09-27 10:07 5338次阅读