An Empirical Evaluation of Generic Convolutional and Recurrent Networks(中文版+注释)(时序预测)(TCN时域卷积网络)

TCN (An Empirical Evaluation of Generic Convolutional and Recurrent Networks 中文版+注释)百度网盘链接一般卷积和递归网络的经验评价

TCN (An Empirical Evaluation of Generic Convolutional and Recurrent Networks 中文版+注释)百度网盘链接

摘要

对于大多数深度学习从业者来说,序列建模是循环网络的代名词。然而,最近的结果表明,卷积架构可以优于音频合成和机器翻译等任务的循环网络。给定新的序列建模任务或数据集,应该使用哪个架构?我们对用于序列建模的通用卷积结构和递归结构进行了系统的评估。这些模型在广泛的标准任务范围内进行评估,这些标准任务通常用于对循环网络进行基准测试。我们的结果表明,简单的卷积体系结构优于规范循环网络,例如在各种任务和数据集中的LSTMS,同时展示更长的有效内存。我们的结论是,序列建模和递归网络之间的共同联系应该被重新考虑,卷积网络应该被视为序列建模任务的自然起点。

为了协助相关工作,我们已经提供了代码https://github.com/locuslab/TCN

  1. 介绍

深度学习实践者通常将循环架构视为序列建模任务的默认起点。在深度学习的经典教科书中,序列建模一章的标题是“序列建模:递归和递归网络”(Goodfello等人,2016),捕捉序列建模和递归架构的共同关联。最近一个备受好评的“序列模型”在线课程专门关注循环架构(Ng,2018)。另一方面,最近的研究表明,某些卷积结构在音频合成、词级语言建模和机器翻译方面可以达到最先进的精度(van den Oord et al.,2016;卡尔希布伦纳等人,2016年;多芬等人,2017年;Gehring等人,2017a;b) 。这就提出了这样一个问题:卷积序列建模的这些成功是否局限于特定的应用领域,或者对序列处理和递归网络之间的关联进行更广泛的重新考虑是否合适。[W1] 

我们通过在广泛的序列建模任务中对卷积结构和循环结构进行系统的经验评估来解决这个问题。我们专门针对一系列的任务,这些任务被反复用于比较不同循环网络体系结构的有效性。这些任务包括复调音乐建模、单词和字符级语言建模,以及故意设计并经常用于基准RNN的合成压力测试。因此,我们的评估是建立在比较卷积和递归方法序列建模上的递归网络的“家园草坪”。[W2] 

为了表示卷积网络,我们描述了一个通用的时间卷积网络(TCN)[W3] 体系结构,它适用于所有任务。这种体系结构是由最近的研究提供信息的,但是有意保持简单,结合了现代卷积体系结构的一些最佳实践。它与LSTMs和GRUs等规范的递归体系结构进行了比较。

结果表明,在广泛的序列建模任务中,TCNs令人信服地优于基线递归架构。这一点尤其值得注意,因为这些任务包括各种常用于评估循环网络设计的基准(Chung)等人,2014年;Pascanu等人,2014年;Jozefowicz等人,2015年;张等,2016)。这表明卷积结构在诸如音频处理等应用中的最新成功并不局限于这些领域。

据我们所知,目前的研究是最广泛的系统比较卷积和递归架构的序列建模任务。结果表明,序列建模和递归网络之间的共同联系应该重新考虑。TCN体系结构不仅比LSTMs和GRU等规范循环网络更精确,而且更简单、更清晰。因此,它可能是将深度网络应用于序列的更合适的起点。

  1. 背景

卷积网络(LeCun et al.,1989)已经应用于序列几十年了(Sejnowski&Rosen-berg,1987;辛顿,1989)。在80年代和90年代,它们被显著地用于语音识别(Waibel等人,1989;Bottou等人,1990年)。convnet随后被应用于自然语言处理任务,如词性标注和语义角色标注(Collobert&Weston,2008;Col lobert等人,2011年;dos Santos和Zadrozny,2014年)。最近,卷积网络被应用于句子分类(Kalchbrenner等人,2014;Kim,2014)和

文献分类(Zhang等人,2015;Conneau等人,2017年;张强生,2015;2017). 最近卷积结构在机器翻译中的应用对我们的工作尤其令人鼓舞(Kalchbrenner等人,2016;Gehring等人,2017a;b) ,音频合成(范登)Oord等人,2016)和语言建模(Dauphin等人,2017)。

循环网络是专用序列模型,维护通过时间传播的隐藏激活的向量(Elman,1990; Werbos,1990; Graves,2012)。由于语言建模的突出应用程序(Sutskever等,2011; Graves,2013; Hermans&Schrauwen,2013)和机器翻译,这家架构(Sutskever等,2013)和机器翻译, )。复发建模的直观吸引力是隐藏状态可以作为序列到目前为止所看到的一切的代表。基本的RNN架构难以训练(Bengio等,1994; Pascanu等,2013)和更精细的架构是常用的,例如LSTM(Hochreiter&Schmidhuber,1997)和Gru(Cho等人。,2014)。介绍了许多其他架构创新和经常性网络培训技术,并继续积极探索(el Hihi&Bengio,1995; Schuster&Paliwal,1997; Gers等,2002; Koutnik等,2014; Le等人。,2015; Ba等人,2016; Wu等,2016; Krueger等,2017; Merience等,2017; Campos等,2018)。

循环网络是一种专用的序列模型,它维持着一种通过时间传播的隐藏激活向量(Elman,1990;Werbos,1990年;格雷夫斯,2012年)。由于在语言建模方面的突出应用,这一体系结构家族获得了巨大的普及(Sutskever等人,2011;格雷夫斯,2013年;Hermans&Schrauwen,2013)和机器翻译(Sutskever等人,2014;Bahdanau等人,2015年)。递归建模的直观吸引力在于,隐藏状态可以作为序列中迄今为止看到的所有事物的表示[W4] 。众所周知,基本RNN架构很难训练(Bengio等人,1994;Pascanu等人,2013)和更复杂的体系结构通常被用来代替,例如LSTM(Hochreiter&Schmidhuber,1997)和GRU(Cho等人,2014)。许多其他的结构创新和训练技术的循环网络已经进行了多次实证研究,以评估不同的循环结构的有效性,并继续积极探索。(El Hihi&Bengio,1995;舒斯特和帕利瓦尔,1997年;格尔斯等人,2002年;Koutnik等人,2014年;Le等人,2015年;Ba等人,2016年;吴等,2016;Krueger等人,2017年;Merity等人,2017年;Campos等人,2018年)。

这些研究在一定程度上是由此类结构设计中的多个自由度所推动的。Chung等人(2014)在复调音乐建模任务上比较了不同类型的递归单元(LSTM和GRU)。Pascanu等人(2014)探索了构建深RNN的不同方法,并评估了不同类型的递归单元的性能关于复调音乐建模、字符级语言建模和单词级语言建模的架构。Jozefowicz等人(2015)搜索了一万多种不同的RNN架构,并评估了它们在各种任务中的性能。他们得出结论,如果有“比LSTM更好的架构”然后他们未能找到。Greff等人(2017)对8种LSTM变体在语音识别、手写识别和复调音乐建模方面的性能进行了基准测试。他们还发现“没有一个变体能够显著改进标准LSTM架构”。Zhang等人(2016)系统分析了RNN的连接架构,并在字符级语言建模和综合压力测试上评估了不同架构。Melis et al.(2018)在单词级和字符级语言建模的基础上,对基于LSTM的架构进行了基准测试,得出的结论是“LSTM优于较新的模型”。

其他最近的工作旨在结合RNN和CNN架构的各个方面。这包括卷积LSTM(Shi等,2015),其用卷积层取代LSTM中的完全连接的层,以允许复制层中的额外结构; Quasi-RNN模型(Bradbury等,2017),用简单的复发层交织卷积层;和扩张的RNN(Chang等,2017),它增加了循环架构的扩张。虽然这些组合在结合两种类型的架构的理想方面,但我们的研究侧重于通用卷积和经常性架构的比较。

虽然对代表性序列建模任务的RNN架构进行了多次彻底评估,但我们不知道卷积和循环方法对序列建模的类似比较。(yin等人。(2017)已曾报告过围绕句子级和文件级分类的卷积和经常性网络的比较。incontrast的序列建模呼叫,可以综合整个序列,元素元素的元素。)这种比较是特别有趣的鉴于该域中的卷积架构的最近成功。我们的工作旨在将通用卷积和经常性架构进行比较典型的序列建模任务,通常用于基准测试RNN Variants本身(Hermans&Schrauwen,2013; Le等,2015; Jozefowicz等,2015; Zhang等人, 2016)。

  1. 时域卷积网络

我们首先描述了卷积序列预测的一般结构。我们的目标是将卷积网络设计中的最佳实践提炼成一个简单的架构,可以作为一个方便但强大的起点。我们将提出的体系结构称为时间卷积网络(TCN),[W5] 强调我们采用这个术语不是作为真正新体系结构的标签,而是作为一系列体系结构的简单描述术语(请注意,该术语以前曾被使用过(Lea等人,2017年)。TCN的区别特征是:1)架构中的卷积是因果关系,这意味着从未来到过去没有信息“泄漏”;2) 该体系结构可以获取任意长度的序列,并将其映射到相同长度的输出序列,就像RNN一样。[W6] 

除此之外,我们还强调如何使用非常深的网络(用剩余层增强)和扩展卷积的组合来构建非常长的有效历史大小(即,网络能够非常深入地观察过去进行预测的能力)。

我们的架构是由最近的序列数据卷积架构决定的(van den-Oord et al.,2016;Kalchbrenner等人,2016年;多芬等人,2017年;Gehring等人,2017a;b) ,但与所有这些方法不同,它是根据第一原理组合简单性、自回归预测和超长记忆设计的。例如,TCN比WaveNet简单得多(van den Oord et al.,2016)(没有跨层的跳过连接、条件、上下文堆叠或选通激活)。与Dauphin等人(2017)的语言建模架构相比,TCN不使用选通机制,并且具有更长的内存。

    1. 序列模型

在定义网络结构之前,我们强调了序列建模任务的本质。假设给定一个输入序列 。关键的限制是,为了预测某个时间t的输出yt,我们只能使用之前观察到的输入 。形式上,序列建模网络是任意函数f:  产生映射的:

 而不依赖于任何“未来”输入  ,在序列建模环境中学习的目标是找到一个网络f,它使实际输出和预测之间的一些预期损失最小化[W7] ,根据一些分布绘制序列和输出的位置。  

这种形式主义包含许多设置,例如通过将目标输出设置为简单地将输入移动一个时间步长来进行自回归预测(在这里我们尝试预测给定过去的某个信号)。然而,它通常不直接捕获诸如机器翻译或序列到序列预测之类的域,因为在这些情况下,可以使用整个输入序列(包括“未来”状态)来预测每个输出(尽管这些技术可以自然地扩展到在这样的设置中工作)。

    1. 因果卷积

如上所述,TCN基于两个原则:[W8] 网络产生与输入相同长度的输出的事实,以及不可能从未来泄漏到过去的事实。为了完成第一点,TCN使用1D完全卷积网络(FCN)架构(Long等人,2015),其中每个隐藏层的长度与输入层相同,长度为零填充(内核大小)−1) 添加以保持后续层与先前层的长度相同。为了达到第二点,TCN使用因果卷积,其中时间t处的输出仅与前一层时间t及更早的元素卷积。

简而言之: 

其中d是膨胀因子,k是过滤器大小, 解释了过去的方向。因此,扩张相当于在每两个相邻的滤波器抽头之间引入一个固定的步长,[W11] 当d=1时,扩张卷积减少为规则卷积。使用更大的扩张可以使顶层的输出代表更大范围的输入,从而有效地扩大了接受域。

这给我们提供了两种增加TCN感受野的方法:选择较大的滤波器尺寸k和增加扩张因子d[W12] ,其中一个这样的层的有效历史是(k)−1) d。当使用扩张卷积时,我们随着网络的深度呈指数增长(即网络i级的d=O(2i))。这样可以确保在有效历史记录中,有一些过滤器可以命中每个输入,同时也允许使用深度网络进行非常大的有效历史记录。我们在图1(a)中提供了一个说明。

 

 

图1.TCN中的架构元素(a) 一种扩张的因果卷积,扩张因子d=1,2,4,滤波器大小k=3。感受野能够覆盖输入序列的所有值。(b)TCN剩余阻滞。当剩余输入和输出具有不同的维数时,添加1x1卷积。(c) TCN中剩余连接的示例。蓝线是残差函数中的滤波器,绿线是恒等映射。

3.4残差连接

剩余块(He et al.,2016)包含一个分支,该分支引出一系列变换F,其输出被添加到块的输入X:[W13] 

uploading.4e448015.gif转存失败重新上传取消

 

这有效地允许层学习对身份映射的修改,而不是整个转换,这已经被反复证明有利于非常深入的网络。

由于TCN的感受野取决于网络深度n以及滤波器和扩张因子d,因此稳定更深和更大的TCN就变得非常重要。例如,在预测可以依赖于大小2的12次方的历史和高维输入序列的情况下,可能需要多达12层的网络。更具体地说,每一层都由多个用于特征提取的过滤器组成通用残差模型代替卷积层。

我们基线TCN的残余块如图1(b)所示。在剩余块中,TCN具有两层扩展的因果卷积和非线性,为此我们使用了校正线性单位(ReLU)(Nair&Hinton,2010)。对于标准化,我们将权重标准化(Salimans&Kingma,2016)应用于卷积滤波器。此外,在每个用于正则化的扩展卷积之后添加空间缺失(Srivastava et al.,2014):在每个训练步骤中,将整个通道归零。

然而,在标准ResNet中,输入被直接添加到残差函数的输出中,而在TCN(以及一般的convnet)中,输入和输出可以具有不同的宽度。为了解释不同的输入输出宽度,我们使用一个额外的1x1卷积来确保元素相加⊕接收相同形状的张量(见图1(b,c))。

 

 

3.5 讨论

我们通过列出使用TCN进行序列建模的若干优点和缺点来结束本节[W14] 。

  1. 并行计算  在RNN中,对后续时间步的预测必须等待前一个时间步完成,而卷积可以并行进行,因为每一层都使用相同的滤波器。因此,在训练和评估中,一个长的输入序列可以在TCN中作为一个整体处理,而不是在RNN中按顺序处理。
  2. 灵活的感受野大小 TCN可以通过多种方式改变其感受野大小。例如,叠加更多的扩张(因果)卷积层,使用更大的扩张因子,或增加滤波器的大小都是可行的选择(可能有不同的解释)。TCN从而更好地控制模型的内存大小,很容易适应不同的领域
  3. 平稳梯度

与循环架构不同,TCN具有与序列的时间方向不同的反向传播路径。因此,TCN避免了爆炸/消失梯度的问题,这是RNN的一个主要问题(并导致了LSTM、GRU、HF-RNN的发展(Martens&Sutskever,2011)等)。

  1. 训练的低记忆需求

特别是在长输入序列的情况下,LSTM和GRUS可以容易地利用大量存储器来存储其多个单元门的部分结果。但是,在TCN中,滤波器在层上共享,并且仅根据网络深度来共享横跨层。因此,在实践中,我们发现门控的RNN可能会使用比TCN更多的存储器更多的存储器。[W15] 

  1. 可变长度输入

就像RNN一样,其以可反复化方式具有可变长度的模型输入,TCN也可以通过滑动1D卷积核来接收任意长度的输入。这意味着可以采用TCN作为RNN的替换,用于任意长度的顺序数据。

使用TCN也有两个值得注意的缺点。

  1. 评估期间的数据存储

在评估/测试中,RNN只需要保持一个隐藏状态并接收当前输入X,就可以生成一个预测。换句话说,通过向量ht的固定长度集合来提供整个历史的“摘要”,并且可以丢弃实际观测序列。相反,TCN需要接收原始序列直到有效的历史长度,因此在评估期间可能需要更多的内存。

  1. 域转移的潜在参数变化

不同的领域可以对模型需要的历史数据量有不同的要求,以便进行预测。因此,当将模型从只需要很少内存的域(即smallkandd)转移到需要更长内存的域(即更大的域)时,TCN可能由于没有足够大的感受野而表现不佳。

  1. 序列建模任务

我们评估了TCN和RNN的任务,这些任务通常用于对不同RNN序列建模架构的性能进行基准测试(Hermans和Schrauwen,2013;Chung等人,2014年;Pascanu等人,2014年;Le等人。2015;Jozefowicz等人,2015年;张等,2016)。目的是对RNN序列模型的“家草坪”进行评价。我们使用一套综合的综合压力测试以及来自多个领域的真实数据集。

额外的问题在这个任务中,每个输入都由一个深度为2的长度n序列组成,所有值在[0,1]中随机选择,第二个维度除了用1标记的两个元素外都是零。目标是求两个随机值的和,这两个随机值的第二维度用1表示。简单地预测总和为1,则MSE约为0.1767。首先由Hochreiter&Schmidhuber(1997)提出的加法问题被反复用作序列模型的压力测试(Martens&Sutskever,2011;Pascanu等人,2013年;Le等人,2015年;Arjovsky等人,2016年;张等,2016)。

序列MNIST和P-MNIST

序列MNIST经常用于测试循环网络从遥远的过去保留信息的能力(Le等人,2015;张等,2016;Wisdom等人,2016年;Cooijmans等人,2016年;Krueger等人,2017年;Jing等人,2017年)。在这项任务中,在这项任务中,MNIST图像(LeCun et al.,1998)以784x1序列的形式呈现给模型,用于数字分类。在更具挑战性的P-MNIST设置中,序列的顺序是随机排列的(Le等人,2015;Arjovsky等人,2016年;Wisdom等人,2016年;Krueger等人,2017年)。

Copy memory 在这个任务中,每个输入序列的长度为T+20。前10个值在数字1, . . . ,8中随机选择,其余的地方都是零,除了最后11个条目填充了数字“9”(第一个“9”是分隔符)。我们的目标是生成一个长度相同的输出,除了分隔符后面的最后10个值之外,其他地方都是零,在这里,模型需要重复输入开始时遇到的10个值。这项任务在之前的工作中使用,如Zhang等人(2016年);Arjovsky等人(2016年);Wisdom等人(2016年);Jing等人(2017)。

JSB Chorales and Nottingham.

JSB合唱团(Allan&Williams,2005)是由J。S。巴赫。每个输入都是一个元素序列。每个元素是一个88位二进制代码,对应于钢琴上的88个键,1表示在给定时间按下的键。诺丁汉是一个基于1200首英国和美国民谣的复调音乐数据集,比JSB合唱团要大得多。JSB Chorales和Nottingham已用于多次重复序列建模的实证研究(Chung等人,2014;Pascanu等人,2014年;Jozefowicz等人,2015年;Greff等人,2017年)。两个任务的性能都是用负对数似然(NLL)来衡量的。

PennTreebank.

我们使用PennTreebank(PTB)(marcus等人,1993)进行字符级和单词级语言建模。当用作字符级语言语料库时,PTB包含5059k个字符用于训练,396K用于验证,446K用于测试,字母大小为50。当用作词级语言语料库时,PTB包含888K个训练词、70K个验证词和79K个测试词,词汇量为10K。这是一个高度研究但相对较小的语言建模数据集(Miyamoto&Cho,2016;Krueger等人,2017年;Mer等人,2017年)。

Wikitext-103

Wikitext-103(Merity et al.,2016)几乎是PTB的110倍,其词汇量约为268K。这个数据集包含28K篇维基百科文章(约1.03亿字)用于训练,60篇文章(约218K字)用于验证,60篇文章(246K字)用于测试。这是一个比PTB更具代表性和现实性的数据集,拥有更大的词汇量,包括许多稀有词汇,并已在Merity et al.(2016)中使用;Grave等人(2017年);多芬等人(2017年)。

LAMBADA

LAM-BADA是一个由Paperno等人(2016)介绍的数据集,包含从小说中提取的10K段,平均4.6个句子作为上下文,1个目标句子的最后一个单词是要预测的。

这个数据集的建立是为了让一个人在给出上下文句子时能够很容易地猜出缺失的单词,而不是在只给出目标句子而不给出上下文句子时。

大多数现有模型在LAMBADA上失败(Paperno等人,2016;Grave等人,2017年)。一般来说,对LAMBADA的更好的结果表明,模型更善于从更长更广的上下文中捕获信息。

兰巴达的训练数据是2662部超过2亿字的小说的全文。词汇量约为93K。

text8. 我们还将text8数据集用于字符级语言建模(Mikolov等人,2012)。text8大约是PTB的20倍,维基百科上大约有100万个字符(90米用于训练,5米用于验证,5米用于测试)。语料库包含27个独特的字母。

 

表1. 综合压力测试、复调音乐建模、字符级语言建模和单词级语言建模的TCN和递归架构评估。通用的TCN体系结构在一整套任务和数据集上优于规范的循环网络。附录中列出了当前最新的结果。h表示越高越好。

“意味着越低越好。

 

  1. 实验

我们将第3节中描述的通用TCN体系结构与标准递归体系结构(即LSTM、GRU和vanillarnn)进行比较,并使用标准正则化。本节中报告的所有实验都使用完全相同的TCN体系结构,只是改变了网络的深度,有时核的大小为k,这样感受野就可以覆盖足够的上下文进行预测。我们对网络中的第一层使用指数膨胀d=2i,对TCN使用学习率为0.002f的Adam优化器(Kingma&Ba,2015),除非另有说明。我们还经验地发现梯度剪裁有助于收敛,我们从[0.3,1]中选取剪裁的最大范数。在训练递归模型时,我们使用网格搜索来寻找一组好的超参数(特别是优化器、递归drop p∈[0.05,0.5],学习率、梯度剪裁和初始遗忘门偏差),同时保持网络与TCN的大小相同。TCN或RNN中没有添加其他架构细节,如选通机制或跳过连接。补充材料中提供了额外的细节和控制实验。

5.1结果概要

结果概要如表1所示。请注意,在这些任务中,我们研究的通用、规范的递归体系结构(例如LSTM、GRU)并不是最先进的(更多细节请参见补充。)有了这个警告,结果强烈地表明,在广泛的序列建模任务中,具有最小调优的通用TCN体系结构优于典型的递归体系结构,这些任务通常用于测试递归体系结构本身的性能。我们现在更详细地分析这些结果。

 

 

 

 

 

通用卷积和循环网络进行序列建模的实证评价

图2. 关于不同序列长度T的加法问题的结果。        图4:不同序列长度T的拷贝内存任务结果。

TCNs的性能优于循环架构                           TCNs的性能优于循环架构

 

        图3:序列MNIST和P-MNIST的结果。TCNs的性能优于循环架构。

5.2综合压力测试

额外的问题

对于加法问题,当问题大小T=200600时,收敛结果如图2所示。所有的模型都选择了大约70K的参数。TCNs迅速收敛到一个几乎完美的解(即MSE接近0)。GRU的表现也相当不错,尽管收敛速度比TCN慢。LSTM和香草RNN的表现明显较差。

Sequential MNIST and P-MNIST.

图3显示了连续和置换MNIST的收敛结果,运行了10个时期。所有模型都配置了大约70K个参数。对于这两个问题,TCNs在收敛性和任务的最终精度方面都大大优于递归体系结构。对于P-MNIST,TCN优于基于区域和周期性批次标准的周期性网络的最新结果(95.9%)(Cooijmans等人,2016;Krueger等人,2017年)。

Copy memory 复制内存任务的收敛结果如图4所示。TCN快速收敛到正确答案,而LSTMs和GRU只是收敛到与预测全零相同的损失。在这种情况下,我们还将其与最近提出的EURNN(Jing et al.,2017)进行了比较,后者被强调在这项任务中表现良好。虽然TCN和EURNN在序列长度T=500时表现良好,但TCN在序列长度T=1000和更长时具有明显的优势(在损失和收敛速度方面)。

5.3 复调音乐与语言建模

我们现在讨论关于复调音乐建模、字符级语言建模和单词级语言建模的结果。这些领域以循环架构为主,为这些任务开发了许多专门的设计(Zhang等人,2016;Ha等人,2017年;Krueger等人,2017年;Grave等人,2017年;Greff等人,2017年;Merity等人,2017年)。我们在有用的时候会提到一些专门的体系结构,但是我们的主要目标是在特定领域的调优之前,将通用TCN模型与类似的通用循环体系结构进行比较。结果总结在表1中。

Polyphonic music 在诺丁汉和JSB合唱团中,几乎没有调谐的TCN比递归模型有相当大的优势,甚至比HF-RNN(Boulanger-Lewandowski et al.,2012)和对角RNN(Subakan&Smaragdis,2017)等一些增强的递归结构更好。然而,请注意,其他模型,如深层信念网LSTM表现更好(Vohra等人,2015年);我们认为这可能是因为数据集相对较小,因此正确的正则化方法或生成建模过程可以显著提高性能。这在很大程度上与RNN/TCN的区别是正交的,因为TCN的类似变体很可能是可能的。

词级语言建模 语言建模仍然是循环网络的主要应用之一,最近的许多工作都集中在优化lstm来完成这项任务(Krueger等人,2017;Merity等人,2017)。我们的实现遵循标准实践,将TCN和RNN的编码器和解码器层的权重绑定在一起(Press & Wolf, 2016),这大大减少了模型中的参数数量。对于训练,当验证精度稳定时,我们使用SGD,对TCN和RNN进行0.5倍的退火学习率。

在较小的PTB语料库上,一个优化的LSTM结构(具有循环和嵌入丢失等)优于TCN,而TCN则优于GRU和vanilla RNN。然而,在更大的Wikitext-103语料库和LAMBADA数据集(Paperno et al.,2016)上,在没有任何超参数搜索的情况下,TCN优于Grave et al.(2017)的LSTM结果,实现了更低的困惑。[W1] 

字符级语言建模

在字符级语言建模(PTB和text8,精度以每个字符的位数衡量)上,通用TCN优于正则化LSTMs和GRUs以及normalstabilized LSTMs等方法(Krueger和Memisevic,2015)(专门的体系结构比所有这些体系结构都好,请参阅补充。)

 

 

5.4 TCN和RNN的内存大小

递归体系结构的理论优势之一是其无限内存:通过无限长序列保留信息的理论能力。

我们现在具体研究不同的体系结构在实践中可以保留信息多长时间。我们的重点是1)复制记忆任务,这是一个压力测试,旨在评估长期,遥远的信息传播在循环网络,和2)LAMBADA任务,测试本地和非本地文本理解。复制内存任务被完美地设置为检查模型在不同时间段内保留信息的能力。所需的保留时间可以通过改变序列长度T来控制。与第5.2节不同的是,我们现在重点关注输出序列的最后10个元素(必须召回的非平凡元素)的准确性。我们对TCN和RNN都使用了10K大小的型号。

这项重点研究的结果如图5所示。对于所有序列长度,TCN始终收敛到100%的精度,而LSTM和GRU的精度相同随着序列长度T的增长,大小迅速退化为随机猜测。当T<50时,LSTM的精度低于20%,而当T<200时,GRU的精度低于20%。这些结果表明,TCN 能够保持比其经常出现的对应物更长的有效历史。

这一观察结果通过在大规模LAMBADA数据集上的实验得到了真实数据的支持,该数据集专门用于测试模型利用广泛上下文的能力[W2] (Pa perno等人,2016年)。如表1所示,TCN比LSTM和vanilla RNN在LAMBADA上的复杂度上有显著的优势,网络小得多,几乎不需要调整(此数据集的最新结果甚至更好,但只有借助额外的记忆机制(Grave等人,2017年)

 

图5.不同长度T序列的拷贝内存任务的精确度。虽然TCN对所有序列长度都有100%的准确率,但随着T的增长,LSTM和GRU退化为随机猜测。

  1. 结论

我们已经提出了一个通用卷积和递归体系结构的经验评估跨一套全面的序列建模任务。

为此,我们描述了一个简单的时间卷积网络(TCN),它结合了最佳实践,如膨胀和剩余连接以及自回归预测所需的因果卷积。实验结果表明,TCN模型的性能明显优于LSTMs和GRUs等通用递归体系结构。我们进一步研究了卷积网络和递归网络中的远程信息传播,结果表明,RNN的“无限记忆”优势在实际应用中是不存在的。TCN比具有相同容量的循环体系结构具有更长的内存。已经提出了许多调整和优化LSTM的先进方案(Press&Wolf,2016;Krueger等人,2017年;Merity等人,2017年;Campos等人,2018年)。

这些方案极大地提高了基于LSTM的体系结构在某些数据集上实现的准确性。TCN尚未受益于社区范围内对体系结构和算法阐述的一致投资。我们认为这类投资是可取的,并期望它在TCN绩效方面取得与近年来在LSTM绩效方面取得的进步相当的进步。我们将为我们的项目发布代码来鼓励这种探索。递归网络在序列建模中所享有的优越性在很大程度上可能是历史的遗迹。直到最近,在引入扩展卷积和剩余连接等体系结构元素之前,卷积体系结构确实较弱。我们的结果表明,有了这些元素,一个简单的卷积结构在不同的序列建模任务中比循环结构(如LSTMs)更有效。由于TCNs的清晰性和简单性,我们认为卷积网络应该被视为序列建模的一个自然起点和一个强大的工具。

  1. 超参数设置

A.1 TCN的超参数的设置

表2列出了在各种任务和数据集上应用通用TCN模型时使用的超参数。选择参数的最重要因素是通过选择k和d,[W3] TCN具有足够大的感受野,可以覆盖任务所需的语境量。

正如在第5节中所讨论的,选择隐藏单元的数量使模型的大小与我们正在比较的循环模型大致相同。在表2中,N/ a的梯度剪辑意味着没有应用梯度剪辑。在较大的任务中(例如,语言建模),我们通过经验发现梯度裁剪(我们从[0.3,1]中随机选取一个阈值)有助于正则化TCN和加速收敛。所有的权值初始化为高斯分布N(0,0.01)。一般来说,我们发现只要有效病史(即感受野)大小足够,TCN对超参数的变化相对不敏感。

A.2 LSTM/GRU 的超参数设置

表3报告了用于LSTM的超参数设置。这些值是从lstm的超参数搜索中挑选的,lstm最多有3层,优化器从{SGD, Adam, RMSprop, Adagrad}中选择。对于某些较大的数据集,我们采用了之前工作中使用的设置(例如,Grave等人(2017)在Wikitext-103上)。GRU超参数的选择方式与LSTM类似,但通常会有更多的隐藏单元,以保持总网络规模大致相同(因为GRU单元更紧凑)。

B. 最新成果

如前所述,在某些任务上,我们使用的通用TCN和LSTM/GRU模型可以通过更专门的体系结构来获得更好的性能。表4总结了最新的结果。所有任务都使用相同的TCN体系结构。请注意,最新模型的大小可能与TCN的大小不同。

C.过滤器尺寸和剩余堵塞的影响

在这一节中,我们将简要研究TCN层的不同组件的影响。总的来说,我们认为膨胀是建模长期依赖关系所必需的因此我们主要关注另外两个因素:每一层使用的过滤器大小k,以及剩余块的影响。[W4] 

我们进行了一系列对照实验,烧蚀分析结果如图6所示。和之前一样,我们对不同的模型保持了完全相同的模型尺寸和深度,严格控制了膨胀系数。实验采用了三种不同的任务:拷贝记忆、排列MNIST (P-MNIST)和Penn Treebank单词级语言建模。这些实验证实了两个因素(过滤器尺寸和剩余连接)都有助于序列建模性能。

过滤器大小k : 在复制存储器和P-MNIST任务中,我们观察到更大的滤波器尺寸可以更快地收敛和更好的精度。特别是,从图6a可以看出,滤波器大小≤3的TCN只收敛到与随机猜测相同的级别。相反,在单词级语言建模中,过滤大小为k = 3的较小内核效果最好。我们认为这是因为较小的内核(以及固定扩展)倾向于更多地关注本地上下文,这对于PTB语言建模尤其重要(事实上,n-gram模型的成功表明建模语言只需要相对较短的内存)。

剩余块:在我们这里比较的所有三种情况中,我们观察到残差函数稳定了训练并带来更快的收敛和更好的最终结果。特别是在语言建模中,我们发现剩余连接对性能有很大的贡献(参见图6f)。

D. 门控机制

在之前的卷积架构语言建模工作中使用的一个组件是门控激活(van den-Oord et al.,2016;多芬等人,2017年)。我们选择在通用TCN模型中不使用选通。我们现在更仔细地研究这个选择。Dauphin等人(2017)比较了门控线性单位(GLU)和门控tanh单位(GTU)的效果,并在其非扩张门控神经网络中采用了GLU。按照相同的选择,我们现在比较使用ReLU的TCN和使用选通(GLU)的TCN,用两个卷积层之间的元素乘积表示,其中一个也通过了一个sigmoid函数σ(x) 是的。注意,gates架构使用的卷积层大约是ReLU TCN的两倍。

结果如表5所示,我们将模型参数的数量保持在大致相同的大小。GLU确实进一步提高了某些语言的TCN准确性建模数据集,如PTB,这与先前的工作一致。然而,我们并没有观察到在其他任务上有类似的好处,比如复调音乐建模或合成压力测试需要更长的信息保留时间。在T=1000的拷贝内存任务上,我们发现选通的TCN比ReLU的TCN收敛到更差的结果

(尽管仍然比循环模型好)。

 

 

表2 第5节实验TCN参数设置。

 

表3.第5节实验的LSTM参数设置。

 

 

 

 

 

 

 

表4.第5节中任务的最新(SoTA)结果

 

 

图6 研究TCN模型中不同成分的影响的对照实验。

表5所示。TCN门控的评价。普通的TCN与使用门控激活的TCN相比较。


 [W1]TCN相对于LSTM来说,适用于更长的序列

 [W2]LAMBADA数据集专门用于测试模型的上下文能力

 [W3]参数的设置

 [W4]影响TCN的因素

 


 [W1]卷积序列建模是否适合大多数应用领域

 [W2]评估

 [W3]提出TCN,与LSTM和GRUs比较

 [W4]递归建模最有吸引力的地方

 [W5]TCN模型的提出

 [W6]TCN的特征

 [W7]找到一个拟合函数

 [W8]TCN的两个原则

 [W9]TCN的整体框架

 [W10]TCN设计的缺点,需要很深的网络或者很大的过滤器

 [W11]扩张卷积的含义和优点

 [W12]增加感受野的方法

 [W13]残差

 [W14]TCN的优缺点

 [W15]占用内存少

你可能感兴趣的:(An Empirical Evaluation of Generic Convolutional and Recurrent Networks(中文版+注释)(时序预测)(TCN时域卷积网络))