赞
踩
对于大多数深度学习从业者来说,序列建模
是循环网络
的同义词。然而最近的结果表明,卷积架构在音频合成和机器翻译等任务上的表现优于循环网络。给定一个新的序列建模任务或数据集,应该使用哪种架构? 我们对用于序列建模的通用卷积和循环架构进行了系统评估。这些模型在广泛的标准任务中进行评估,这些任务通常用于对循环网络进行基准测试。我们的结果表明,简单的卷积架构在各种任务和数据集上都优于典型的循环网络,例如 LSTM,同时展示了更长的有效记忆。我们得出结论,应该重新考虑序列建模和循环网络之间的共同关联,并且应该将卷积网络视为序列建模任务的自然起点。为了协助相关工作,我们在 http://github.com/locuslab/TCN 上提供了代码。
深度学习从业者通常将循环架构视为序列建模任务的默认起点。深度学习经典教科书中的序列建模章节标题为 “序列建模:递归和递归网络”(Goodfellow et al, 2016),捕捉了序列建模和递归架构的共同关联。最近一门备受推崇的 “序列模型” 在线课程专门关注循环架构(Ng, 2018)。
另一方面,最近的研究表明,某些卷积架构可以在音频合成、词级语言建模和机器翻译方面达到最先进的精度(van den Oord et al, 2016; Kalchbrenner et al, 2016; Dauphin et al, 2017; Gehring et al, 2017a;b)。这就提出了一个问题,即卷积序列建模的这些成功是否仅限于特定的应用领域,或者是否需要更广泛地重新考虑序列处理和循环网络之间的关联。
我们通过在广泛的序列建模任务上对卷积和循环架构进行系统的实证评估来解决这个问题。我们专门针对一组全面的任务,这些任务已被反复用于比较不同循环网络架构的有效性。这些任务包括和弦音乐建模、单词和字符级语言建模,以及专门设计并经常用于对 RNN 进行基准测试的综合压力测试。因此,我们的评估旨在比较循环网络 “主场” 上的序列建模的卷积和循环方法。
为了表示卷积网络,我们描述了一种适用于所有任务的通用时间卷积网络
(TCN)架构。该架构以最近的研究为基础,但有意保持简单,结合了现代卷积架构的一些最佳实践。它与规范的循环架构(例如 LSTM 和 GRU)进行了比较。
结果表明,TCN 在广泛的序列建模任务中令人信服地优于基线循环架构。这一点尤其值得注意,因为这些任务包括通常用于评估递归网络设计的各种基准(Chung et al, 2014; Pascanu et al, 2014; Jozefowicz et al, 2015; Zhang et al, 2016)。这表明卷积架构最近在音频处理等应用中取得的成功并不局限于这些领域。
为了进一步理解这些结果,我们更深入地分析了循环网络的记忆保留特性。我们表明,尽管递归架构在理论上具有捕捉无限长历史(history)的能力,但 TCN 表现出更长的记忆力,因此更适合需要长历史的领域。
据我们所知,本研究是对序列建模任务上的卷积和循环架构进行最广泛的系统比较。结果表明,应重新考虑序列建模和循环网络之间的常见关联。TCN 架构不仅比 LSTM 和 GRU 等经典循环网络更准确,而且更简单、更清晰。因此,它可能是将深度网络应用于序列的更合适的起点。
几十年来,卷积网络
(LeCun et al, 1989)一直应用于序列(Sejnowski & Rosenberg, 1987; Hinton, 1989)。在 80 年代和 90 年代,它们主要用于语音识别(Waibel et al, 1989; Bottou et al, 1990)。ConvNets 随后被应用于 NLP 任务,例如词性标注和语义角色标注(Collobert & Weston, 2008; Collobert et al, 2011; dos Santos & Zadrozny, 2014)。最近,卷积网络被应用于句子分类(Kalchbrenner et al, 2014; Kim, 2014)和文献分类(Zhang et al, 2015; Conneau et al, 2017; Johnson & Zhang, 2015; 2017)。对我们的工作特别鼓舞人心的是卷积架构最近在机器翻译(Kalchbrenner et al, 2016; Gehring et al, 2017a;b)、音频合成(van den Oord et al, 2016)和语言建模(Dauphin et al, 2017)。
循环网络
是专用序列模型,它维护随时间传播的隐藏激活向量(Elman, 1990; Werbos, 1990; Graves, 2012)。由于在语言建模(Sutskever et al, 2011; Graves, 2013; Hermans & Schrauwen, 2013)和机器翻译(Sutskever et al, 2014; Bahdanau et al, 2015)中的突出应用,该体系结构家族获得了极大的普及。循环建模的直观吸引力在于,隐藏状态可以代表序列中迄今为止所见的所有内容的表示。众所周知,基本的 RNN
架构很难训练(Bengio et al, 1994; Pascanu et al, 2013),通常使用更复杂的架构来代替,例如 LSTM
(Hochreiter & Schmidhuber, 1997)和 GRU(Cho et al, 2014)。许多其他循环网络的架构创新和训练技术已经被引入并继续被积极探索(El Hihi & Bengio, 1995; Schuster & Paliwal, 1997; Gers et al, 2002; Koutnik et al, 2014; Le et al, 2015; Ba et al, 2016; Wu et al, 2016; Krueger et al, 2017; Merity et al, 2017; Campos et al, 2018)。
已经进行了多项实证研究来评估不同循环架构的有效性。这些研究的部分动机是此类架构设计中的许多自由度。Chung 等人(2014)在复音音乐建模任务上比较了不同类型的循环单元(LSTM 与 GRU)。Pascanu 等人(2014)探索了构建深度 RNN 的不同方法,并评估了不同架构在和弦音乐建模、字符级语言建模和单词级语言建模方面的性能。Jozefowicz 等人(2015)搜索了超过一万种不同的 RNN 架构,并评估了它们在各种任务上的表现。他们得出的结论是,如果存在“比 LSTM 更好的架构”,那么它们“就不容易找到”。Greff 等人(2017)对八种 LSTM 变体在语音识别、手写识别和和弦音乐建模方面的性能进行了基准测试。他们还发现“没有一个变体可以显着改进标准 LSTM 架构”。Zhang 等人(2016)系统地分析了 RNN 的连接架构,并在字符级语言建模和综合压力测试上评估了不同的架构。Melis 等人(2018)在单词级和字符级语言建模方面对基于 LSTM 的架构进行了基准测试,并得出结论:“LSTM 的性能优于更新的模型”。
最近的其他工作旨在结合 RNN 和 CNN 架构的各个方面。这包括卷积 LSTM(Shi et al, 2015),它用卷积层代替 LSTM 中的全连接层,以允许在循环层中添加额外的结构; Quasi-RNN 模型(Bradbury et al, 2017),它将卷积层与简单的循环层交织在一起;扩张型(dilated)RNN(Chang et al, 2017),它为循环架构增加了扩张。虽然这些组合显示出结合两种架构的思想方面的希望,但我们在这里的研究重点是通用卷积和循环架构的比较。
虽然在代表性序列建模任务上对 RNN 架构进行了多次全面评估,但我们还没有意识到对序列建模的卷积和循环方法进行类似的彻底比较。(Yin et al, 2017) 报告了针对句子级和文档级分类任务的卷积网络和循环网络的比较。相比之下,序列建模需要能够逐个元素地合成整个序列的架构。)鉴于前面提到的卷积架构在该领域的最新成功,这种比较特别的有趣。我们的工作旨在比较典型序列建模任务的通用卷积和循环架构,这些任务通常用于对 RNN 变体本身进行基准测试(Hermans & Schrauwen, 2013; Le et al, 2015; Jozefowicz et al, 2015; Zhang et al, 2016)。
我们首先描述用于卷积序列预测的通用架构。我们的目标是将卷积网络设计中的最佳实践提炼成一个简单的架构,可以作为一个方便但功能强大的起点。我们将所提出的架构称为时序卷积网络
(TCN),强调我们采用该术语不是作为真正新架构的标签,而是作为架构家族的简单描述性术语。(请注意,该术语之前已使用过(Lea et al, 2017))TCN 的显着特征是:1)架构中的卷积是因果关系,这意味着没有信息从未来 “泄漏” 到过去;2)该架构可以采用任意长度的序列并将其映射到相同长度的输出序列,就像 RNN 一样。除此之外,我们强调如何使用非常深的网络(通过残差层增强)和扩张卷积的组合来构建非常长的有效历史规模(即,网络能够回顾过去做出预测的能力)。
我们的架构借鉴了最近的顺序数据卷积架构(van den Oord et al, 2016; Kalchbrenner et al, 2016; Dauphin et al, 2017; Gehring et al, 2017a;b),但与所有这些架构不同,它是根据第一原则设计,结合简单性、自回归预测和超长记忆。例如,TCN 比 WaveNet(van den Oord et al, 2016)简单得多(没有跨层的跳过连接、条件、上下文堆栈或门控激活)。
与 Dauphin 等人(2017)的语言建模架构相比,TCN 不使用门控机制并且具有更长的内存。
在定义网络结构之前,我们强调序列建模任务的性质。假设我们有一个输入序列 x 0 , . . . , x T x_0,\ .\ .\ .\ ,\ x_T x0, . . . , xT,并希望在每一次预测一些相应的输出 y 0 , . . . , y T y_0,\ .\ .\ .\ ,\ y_T y0, . . . , yT。关键约束是要预测某个时间 t t t 的输出 y t y_t yt,我们只能使用之前观察到的那些输入: x 0 , . . . , x t x_0,\ .\ .\ .\ ,\ x_t x0, . . . , xt。形式上,序列建模网络是产生映射的任何函数 f : X T + 1 + 1 → Y T + 1 + 1 f\ : \mathcal{X}^{T+1}+1\rightarrow\mathcal{Y}^{T+1}+1 f :XT+1+1→YT+1+1
如果它满足 y t y_t yt 仅依赖于 x 0 , . . . , x t x_0,\ .\ .\ .\ ,\ x_t x0, . . . , xt 的因果约束,而不是任何“未来”输入 x t + 1 , . . . , x T x_{t+1},\ .\ .\ .\ ,\ x_T xt+1, . . . , xT。在序列建模设置中学习的目标是找到一个网络 f f f,它最小化实际输出和预测之间的一些预期损失, L ( y 0 , . . . , y T , f ( x 0 , . . . , x T ) ) L\left(y_0,\ .\ .\ .\ ,\ y_T,\ f\left(x_0,\ .\ .\ .\ ,\ x_T\right)\right) L(y0, . . . , yT, f(x0, . . . , xT)), 其中序列和输出是根据某种分布绘制的。
这种形式主义包含许多设置,例如自回归预测
(我们试图预测一些给定过去的信号),方法是将目标输出设置为简单的输入偏移一个时间步长。然而,它并不直接捕获机器翻译
或序列到序列预测
等领域,因为在这些情况下,整个输入序列(包括 “未来” 状态)可用于预测每个输出(尽管这些技术自然可以扩展到在这样的环境中工作)。
如上所述,TCN 基于两个原则:网络产生与输入长度相同的输出,以及未来不能泄漏到过去。为了完成第一点,TCN 使用一维全卷积网络(FCN)架构(Long et al, 2015),其中每个隐藏层的长度与输入层相同,并且添加长度的零填充(内核大小 -1)以保持后续层与前一层的长度相同。为了实现第二点,TCN 使用因果卷积,即时间 t t t 的输出仅与时间 t 和前一层中更早的元素进行卷积的卷积。
简单来说: T C N = 1 D F C N + c a u s a l c o n v o l u t i o n s TCN=1D\ FCN+causal\ convolutions TCN=1D FCN+causal convolutions。
请注意,这与 Waibel 等人(1989)近 30 年前提出的时间延迟神经网络本质上是相同的架构,唯一的调整是零填充以确保所有层的大小相等。
这种基本设计的一个主要缺点是,为了实现较长的有效历史大小,我们需要极深的网络或非常大的过滤器,这在首次引入这些方法时都不是特别可行。因此,在接下来的部分中,我们将描述如何将现代卷积架构的技术集成到 TCN 中,以实现非常深的网络和非常长的有效历史。
简单的因果卷积只能回顾历史,其大小与网络深度呈线性关系。这使得将上述因果卷积应用于序列任务具有挑战性,尤其是那些需要较长历史记录的任务。根据 van den Oord 等人(2016)的工作,我们的解决方案是采用扩张卷积来实现指数级大的感受野(Yu & Koltun, 2016)。更正式地说,对于一维序列输入 x ∈ R n x\in\mathbb{R}^n x∈Rn 和过滤器 f : { 0 , . . . , k − 1 } → R f\ : \left\{0,\ .\ .\ .\ ,\ k-1\right\}\rightarrow\mathbb{R} f :{0, . . . , k−1}→R, 对序列元素 s s s 的扩张卷积运算 F F F 定义为
其中 d d d 是膨胀因子, k k k 是滤波器大小, s − d ⋅ i s-d·i s−d⋅i 表示过去的方向。因此,扩张相当于在每两个相邻的滤波器抽头(filter taps)之间引入一个固定步长。当 d = 1 d=1 d=1 时,扩张卷积退化为常规卷积。使用更大的扩张使得顶层的输出能够代表更广泛的输入,从而有效地扩展了 ConvNet 的感受野。
这为我们提供了两种增加 TCN 感受野的方法:选择更大的过滤器尺寸 k k k 和增加膨胀因子 d d d,其中一个这样的层的有效历史是 ( k − 1 ) d (k-1)d (k−1)d。正如使用扩张卷积时常见的那样,我们随着网络的深度以指数的方式增加 d d d(即,在网络的第 i i i 层, d = O ( 2 i ) d\ =\ O(2^i) d = O(2i))。这确保了有一些过滤器可以命中有效历史中的每个输入,同时还允许使用深度网络的非常大的有效历史。我们在图 1(a) 中提供了一个说明。
残差块(He et al, 2016)包含一个分支,该分支导致一系列变换 F \mathcal{F} F,其输出被添加到块的输入 x x x:
这有效地允许层学习对恒等映射的修改而不是整个转换,这已多次被证明有利于非常深的网络。
由于 TCN 的感受野取决于网络深度 n n n 以及过滤器大小 k k k 和扩张因子 d d d,因此更深和更大的 TCN 的稳定性变得很重要。例如,在预测可能取决于大小为 212 的历史记录和高维输入序列的情况下,可能需要多达 12 层的网络。更具体地说,每一层都包含多个用于特征提取的过滤器。因此,在我们设计通用 TCN 模型时,我们使用通用残差模块代替卷积层。
我们的基线 TCN 的残差块如图 1(b) 所示。在残差块内,TCN 有两层扩张因果卷积和非线性,为此我们使用了修正线性单元(ReLU)(Nair & Hinton, 2010)。对于归一化,我们将权重归一化(Salimans & Kingma, 2016)应用于卷积滤波器。此外,在每个扩张卷积之后添加了一个空间丢失(Srivastava et al, 2014)以进行正则化:在每个训练步骤中,整个通道都被清零。
然而,在标准 ResNet 中,输入直接添加到残差函数的输出中,而在 TCN(和一般的 ConvNet)中,输入和输出可能具有不同的宽度。为了解决输入输出宽度的差异,我们使用额外的 1x1 卷积来确保元素加法 ⊕ \oplus ⊕ 接收相同形状的张量(见图 1(b,c))。
我们通过列出使用 TCN 进行序列建模的几个优点
和缺点
来结束本节。
使用 TCN 也有两个明显的缺点。
我们在通常用于对不同 RNN 序列建模架构的性能进行基准测试的任务上评估 TCN 和 RNN(Hermans & Schrauwen, 2013; Chung et al, 2014; Pascanu et al, 2014; Le et al, 2015; Jozefowicz et al, 2015; Zhang et al, 2016)。目的是对 RNN 序列模型的 “主场” 进行评估。我们使用一套全面的综合压力测试以及来自多个领域的真实数据集。
The adding problem。在这个任务中,每个输入由一个深度为 2 的长度为 n n n 的序列组成,所有值在 [ 0 , 1 ] [0,\ 1] [0, 1] 中随机选择,第二个维度除了两个标记为 1 的元素外全部为零。目标是将第二维标记为 1 的两个随机值相加。简单地预测和为 1 应该给出大约 0.1767 的 MSE。由 Hochreiter & Schmidhuber(1997)首次引入,加法问题已被反复用作序列模型的压力测试(Martens & Sutskever, 2011; Pascanu et al, 2013; Le et al, 2015; Arjovsky et al, 2016; Zhang et al, 2016)。
Sequential MNIST and P-MNIST。顺序 MNIST 经常用于测试循环网络保留遥远过去信息的能力(Le et al, 2015; Zhang et al, 2016; Wisdom et al, 2016; Cooijmans et al, 2016; Krueger et al, 2017; Jing et al, 2017)。在此任务中,MNIST 图像(LeCun et al, 1998)作为 784×1 序列呈现给模型用于数字分类。在更具挑战性的 P-MNIST 设置中,序列的顺序随机排列(Le et al, 2015; Arjovsky et al, 2016; Wisdom et al, 2016; Krueger et al, 2017)。
Copy memory。在此任务中,每个输入序列的长度为 T + 20 T+20 T+20。前 10 个值是在数字 1 , . . . , 8 1,...,\ 8 1,..., 8 中随机选择的。,其余全为零,除了最后 11 个条目用数字 ‘9’ 填充(第一个 ‘9’ 是分隔符)。目标是生成一个长度相同的输出,除了分隔符后的最后 10 个值外,所有地方都为零,其中模型预计会重复它在输入开始时遇到的 10 个值。此任务已用于 Zhang 等人(2016)等先前的工作; Arjovsky 等人(2016); Wisdom 等人(2016); Jing 等人(2017)。
JSB Chorales and Nottingham。JSB Chorales(Allan & Williams, 2005)是一个复调音乐数据集,由 J. S. Bach 的 382 首四部分和声合唱的整个语料库组成。每个输入都是一个元素序列。每个元素都是一个 88 位二进制代码,对应于钢琴上的 88 个键,其中 1 表示在给定时间按下的键。Nottingham 是一个基于 1200 首英美民谣曲调的和弦音乐数据集,比 JSB Chorales 大得多。JSB Chorales 和 Nottingham 已被用于循环序列建模的大量实证研究(Chung et al, 2014; Pascanu et al, 2014; Jozefowicz et al, 2015; Greff et al, 2017)。这两项任务的表现都是根据负对数似然(NLL)来衡量的。
PennTreebank。我们使用 PennTreebank(PTB)(Marcus et al, 1993)进行字符级和单词级语言建模。当用作字符级语料库时,PTB 包含用于训练的 5,059K 个字符,用于验证的396K字符,用于测试的字符 446K,字母大小为 50。当用作词级语言语料库时,PTB 包含用于训练的单词 888K,70K 用于验证,79K 用于测试,词汇量为 10K。这是一个经过深入研究但相对较小的语言建模数据集(Miyamoto & Cho, 2016; Krueger et al, 2017; Merity et al, 2017)。
Wikitext-103。Wikitext-103(Merity et al, 2016)几乎是 PTB 的 110 倍,词汇量约为 268K。该数据集包含用于训练的 28K 篇维基百科文章(约 1.03 亿词)、用于验证的 60 篇文章(约 218K 词)和用于测试的 60 篇文章(约 246K 词)。这是一个比 PTB 更具代表性和真实性的数据集,具有更大的词汇量,包括许多生僻词,并已在 Merity 等人(2016)中使用;Grave 等人(2017);Dauphin 等人(2017)。
LAMBADA。由 Paperno 等人(2016)介绍,LAMBADA 是一个包含从小说中提取的 10K 段落的数据集,平均有 4.6 个句子作为上下文,以及 1 个要预测最后一个单词的目标句子。这个数据集的构建是为了让一个人在给出上下文句子时可以很容易地猜出缺失的单词,但如果只给出没有上下文句子的目标句子则不会。大多数现有模型在 LAMBADA 上都失败了(Paperno et al, 2016; Grave et al, 2017)。一般来说,在 LAMBADA 上更好的结果表明模型更善于从更长更广泛的上下文中捕获信息。LAMBADA 的训练数据是 2662 部小说全文,字数超过 200M。词汇量约为 93K。
text8。我们还使用 text8 数据集进行字符级语言建模(Mikolov et al, 2012)。text8 大约是 PTB 的 20 倍,包含来自维基百科的大约 1 亿个字符(90M 用于训练,5M 用于验证,5M 用于测试)。语料库包含 27 个独特的字母。
我们将第 3 节中描述的通用 TCN 架构与具有标准正则化的典型循环架构(即 LSTM、GRU 和 vanilla RNN)进行比较。本节中报告的所有实验都使用完全相同的 TCN 架构,只是改变网络深度 n 和偶尔改变内核大小 k k k,以便感受野覆盖足够的预测上下文。除非另有说明,否则我们对网络中的第 i i i 层使用指数扩张 d = 2 i d=2^i d=2i,并为 TCN 使用 Adam 优化器(Kingma & Ba, 2015),学习率为 0.002。我们还凭经验发现梯度裁剪有助于收敛,我们从 [ 0.3 , 1 ] [0.3,\ 1] [0.3, 1] 中选择裁剪的最大范数。在训练循环模型时,我们使用网格搜索来找到一组好的超参数(特别是优化器、循环下降 p ∈ [ 0.05 , 0.5 ] p\in[0.05,\ 0.5] p∈[0.05, 0.5]、学习率、梯度裁剪和初始遗忘门偏差),同时保持网络 大小与 TCN 大致相同。没有向 TCN 或 RNN 添加其他架构细节,例如门控机制或跳过连接。补充材料中提供了更多详细信息和受控实验。
结果概要如表 1 所示。请注意,在其中的几个任务中,我们研究的通用典型的循环架构(例如 LSTM、GRU)并不是最先进的。(有关更多详细信息,请参阅补充材料)有了这个警告(caveat),结果强烈表明,具有最小调整的通用 TCN 架构在通常用于对循环架构本身的性能进行基准测试的各种序列建模任务中优于典型的循环架构。我们现在更详细地分析这些结果。
The adding problem。对于问题大小 T = 200 T=200 T=200 和 600 600 600,相加问题的收敛结果如图 2 所示。所有模型都被选择为具有大约 70K 个参数。TCN 迅速收敛到几乎完美的解决方案(即 MSE 接近 0)。GRU 的表现也相当不错,尽管收敛速度比 TCN 慢。LSTM 和 vanilla RNN 的表现明显更差。
Sequential MNIST and P-MNIST。图 3 显示了顺序和置换 MNIST 的收敛结果,运行超过 10 个时期。所有模型都配置为具有大约 70K 个参数。对于这两个问题,TCN 在收敛性和任务的最终准确性方面都大大优于循环架构。对于 P-MNIST,基于带 Zoneout 和 Recurrent BatchNorm 的循环网络,TCN 的性能优于最先进的结果(95.9%)(Cooijmans et al, 2016; Krueger et al, 2017)。
Copy memory。复制内存任务的收敛结果如图 4 所示。TCN 快速收敛到正确答案,而 LSTM 和 GRU 只是收敛到与预测全零相同的损失。在这种情况下,我们还与最近提出的 EURNN(Jing et al, 2017)进行了比较,后者被强调在这项任务上表现良好。虽然 TCN 和 EURNN 在序列长度 T = 500 T=500 T=500 时表现良好,但 TCN 在 T = 1000 T=1000 T=1000 和更长时(在损失和收敛速度方面)具有明显优势。
我们现在讨论和弦音乐建模、字符级语言建模和单词级语言建模的结果。这些领域以循环架构为主,为这些任务开发了许多专门设计(Zhang et al, 2016; Ha et al, 2017; Krueger et al, 2017; Grave et al, 2017; Greff et al, 2017; Merity et al, 2017)。我们在有用的时候提到了其中一些专用架构,但我们的主要目标是在特定领域调优之前将通用 TCN 模型与类似的通用循环架构进行比较。结果总结在表 1 中。
Polyphonic music。在 Nottingham 和 JSB Chorales 上,几乎没有调优的 TCN 以相当大的优势优于循环模型,甚至优于一些针对此任务的增强循环架构,例如 HF-RNN(Boulanger-Lewandowski et al, 2012)和 Diagonal RNN(Subakan & Smaragdis, 2017)。但请注意,其他模型(例如 Deep Belief Net LSTM)的表现仍然更好(Vohra et al, 2015);我们认为这可能是由于数据集相对较小,因此正确的正则化方法或生成建模程序可以显着提高性能。这在很大程度上与 RNN / TCN 的区别正交,因为 TCN 的类似变体很可能是可能的。
Word-level language modeling。语言建模仍然是循环网络的主要应用之一,最近的许多工作都专注于为此任务优化 LSTM(Krueger et al, 2017; Merity et al, 2017)。我们的实施遵循标准做法,将 TCN 和 RNN 的编码器层和解码器层的权重联系起来(Press & Wolf, 2016),这显着减少了模型中的参数数量。对于训练,我们使用 SGD 并在验证准确率稳定时将 TCN 和 RNN 的学习率退火 0.5 倍。
在较小的 PTB 语料库上,优化的 LSTM 架构(具有循环和嵌入 dropout 等)优于 TCN,而 TCN 优于 GRU 和 vanilla RNN。然而,在更大的 Wikitext-103 语料库和 LAMBADA 数据集(Paperno et al, 2016)上,在没有任何超参数搜索的情况下,TCN 优于 Grave 等人(2017 年)的 LSTM 结果,实现了更低的复杂度。
Character-level language modeling。在字符级语言建模(PTB 和 text 8,精度以每个字符的位数衡量)中,通用 TCN 优于正则化 LSTM 和 GRU 以及规范稳定 LSTM 等方法(Krueger & Memisevic, 2015)。(存在优于所有这些的专门架构,请参阅补充材料)
循环架构的理论优势之一是它们的无限记忆:通过无限长度的序列保留信息的理论能力。我们现在具体检查不同的体系结构在实践中可以保留多长时间的信息。我们专注于 1)复制记忆任务,这是一种压力测试,旨在评估循环网络中长期、远距离的信息传播,以及 2)LAMBADA 任务,它测试本地和非本地文本理解。
复制记忆任务被完美地设置为检查模型在不同时间长度内保留信息的能力。所需的保留时间可以通过改变序列长度 T T T 来控制。与第 5.2 节相反,我们现在关注输出序列的最后 10 个元素的准确性(这些元素是必须召回的非平凡元素)。我们对 TCN 和 RNN 使用大小为 10K 的模型。
这一重点研究的结果如图 5 所示。对于所有序列长度,TCN 始终收敛到 100% 的准确性,而随着序列长度 T 的增长,相同大小的 LSTM 和 GRU 会迅速退化为随机猜测。当 T < 50 T<50 T<50 时,LSTM 的准确度低于 20%,而当 T < 200 T<200 T<200 时,GRU 的准确度低于 20%。这些结果表明,TCN 能够比其最近的同类模型(recurrent counterparts)保持更长的有效历史。
这一观察得到了大规模 LAMBADA 数据集实验的真实数据的支持,该数据集专门用于测试模型利用广泛上下文的能力(Paperno et al, 2016)。如表 1 所示,TCN 在 LAMBADA 上的复杂度明显优于 LSTM 和普通 RNN,网络规模小得多,几乎没有调优。(这个数据集上的最新结果甚至更好,但只有在额外的记忆机制的帮助下(Grave et al, 2017))
我们已经在一整套序列建模任务中对通用卷积和循环架构进行了实证评估。为此,我们描述了一个简单的时间卷积网络(TCN),它将扩张和残差连接等最佳实践与自回归预测所需的因果卷积相结合。实验结果表明,TCN 模型大大优于通用循环架构,如 LSTM 和 GRU。我们进一步研究了卷积网络和循环网络中的远程信息传播,并表明 RNN 的 “无限记忆” 优势在实践中基本不存在。TCN 比具有相同容量的循环架构表现出更长的记忆力。
已经提出了许多用于正则化和优化 LSTM 的高级方案(Press & Wolf, 2016; Krueger et al, 2017; Merity et al, 2017; Campos et al, 2018)。这些方案显着提高了基于 LSTM 的体系结构在某些数据集上实现的准确性。TCN 尚未从社区范围内对架构和算法细化的这种协调一致的投资中受益。我们认为这样的投资是可取的,并期望它能带来与近年来 LSTM 性能进步相称的 TCN 性能进步。我们将发布我们项目的代码来鼓励这种探索。
循环网络在序列建模中享有的卓越地位可能在很大程度上是历史的遗迹。直到最近,在引入扩张卷积和残差连接等架构元素之前,卷积架构确实比较弱。我们的结果表明,有了这些元素,简单的卷积架构在不同的序列建模任务中比 LSTM 等循环架构更有效。由于 TCN 具有相当的清晰度和简单性,我们得出结论,卷积网络应该被视为序列建模的自然起点和强大的工具包。
Allan, Moray and Williams, Christopher. Harmonising chorales by probabilistic inference. In NIPS, 2005.
Arjovsky, Martin, Shah, Amar, and Bengio, Y oshua. Unitary evolution recurrent neural networks. In ICML, 2016.
Ba, Lei Jimmy, Kiros, Ryan, and Hinton, Geoffrey E. Layer normalization. arXiv:1607.06450, 2016.
Bahanau, Dzmitry, Cho, Kyunghyun, and Bengio, Y oshua. Neural machine translation by jointly learning to align and translate. In ICLR, 2015.
Bengio, Y oshua, Simard, Patrice, and Frasconi, Paolo. Learning long-term dependencies with gradient descent is difficult. IEEE Transactions on Neural Networks, 5(2), 1994.
Bottou, L´eon, Soulie, F Fogelman, Blanchet, Pascal, and Li´enard, Jean-Sylvain. Speaker-independent isolated digit recognition: Multilayer perceptrons vs. dynamic time warping. Neural Networks, 3(4), 1990.
Boulanger-Lewandowski, Nicolas, Bengio, Y oshua, and Vincent, Pascal. Modeling temporal dependencies in high-dimensional sequences: Application to polyphonic music generation and transcription. arXiv:1206.6392, 2012.
Bradbury, James, Merity, Stephen, Xiong, Caiming, and Socher, Richard. Quasi-recurrent neural networks. In ICLR, 2017.
Campos, Victor, Jou, Brendan, Gir´o i Nieto, Xavier, Torres, Jordi, and Chang, Shih-Fu. Skip RNN: Learning to skip state updates in recurrent neural networks. In ICLR, 2018.
Chang, Shiyu, Zhang, Yang, Han, Wei, Y u, Mo, Guo, Xiaoxiao, Tan, Wei, Cui, Xiaodong, Witbrock, Michael J., HasegawaJohnson, Mark A., and Huang, Thomas S. Dilated recurrent neural networks. In NIPS, 2017.
Cho, Kyunghyun, V an Merri¨enboer, Bart, Bahdanau, Dzmitry, and Bengio, Y oshua. On the properties of neural machine translation: Encoder-decoder approaches. arXiv:1409.1259, 2014.
Chung, Junyoung, Gulcehre, Caglar, Cho, KyungHyun, and Bengio, Y oshua. Empirical evaluation of gated recurrent neural networks on sequence modeling. arXiv:1412.3555, 2014.
Chung, Junyoung, Ahn, Sungjin, and Bengio, Y oshua. Hierarchical multiscale recurrent neural networks. arXiv:1609.01704, 2016.
Collobert, Ronan and Weston, Jason. A unified architecture for natural language processing: Deep neural networks with multitask learning. In ICML, 2008.
Collobert, Ronan, Weston, Jason, Bottou, L´eon, Karlen, Michael, Kavukcuoglu, Koray, and Kuksa, Pavel P . Natural language processing (almost) from scratch. JMLR, 12, 2011.
Conneau, Alexis, Schwenk, Holger, LeCun, Yann, and Barrault, Lo¨ıc. V ery deep convolutional networks for text classification. In European Chapter of the Association for Computational Linguistics (EACL), 2017.
Cooijmans, Tim, Ballas, Nicolas, Laurent, C´esar, G¨ulc ¸ehre, C ¸ a˘glar, and Courville, Aaron. Recurrent batch normalization. In ICLR, 2016.
Dauphin, Yann N., Fan, Angela, Auli, Michael, and Grangier, David. Language modeling with gated convolutional networks. In ICML, 2017.
dos Santos, C´ıcero Nogueira and Zadrozny, Bianca. Learning character-level representations for part-of-speech tagging. In ICML, 2014.
El Hihi, Salah and Bengio, Y oshua. Hierarchical recurrent neural networks for long-term dependencies. In NIPS, 1995.
Elman, Jeffrey L. Finding structure in time. Cognitive Science, 14 (2), 1990.
Gehring, Jonas, Auli, Michael, Grangier, David, and Dauphin, Y ann. A convolutional encoder model for neural machine translation. In ACL, 2017a.
Gehring, Jonas, Auli, Michael, Grangier, David, Y arats, Denis, and Dauphin, Y ann N. Convolutional sequence to sequence learning. In ICML, 2017b.
Gers, Felix A, Schraudolph, Nicol N, and Schmidhuber, J¨urgen. Learning precise timing with lstm recurrent networks. JMLR, 3, 2002.
Goodfellow, Ian, Bengio, Y oshua, and Courville, Aaron. Deep Learning. MIT Press, 2016.
Grave, Edouard, Joulin, Armand, and Usunier, Nicolas. Improving neural language models with a continuous cache. In ICLR, 2017.
Graves, Alex. Supervised Sequence Labelling with Recurrent Neural Networks. Springer, 2012.
Graves, Alex. Generating sequences with recurrent neural networks. arXiv:1308.0850, 2013.
Greff, Klaus, Srivastava, Rupesh Kumar, Koutn´ık, Jan, Steunebrink, Bas R., and Schmidhuber, J¨urgen. LSTM: A search space odyssey. IEEE Transactions on Neural Networks and Learning Systems, 28(10), 2017.
Ha, David, Dai, Andrew, and Le, Quoc V . HyperNetworks. In ICLR, 2017.
He, Kaiming, Zhang, Xiangyu, Ren, Shaoqing, and Sun, Jian. Deep residual learning for image recognition. In CVPR, 2016.
Hermans, Michiel and Schrauwen, Benjamin. Training and analysing deep recurrent neural networks. In NIPS, 2013.
Hinton, Geoffrey E. Connectionist learning procedures. Artificial Intelligence, 40(1-3), 1989.
Hochreiter, Sepp and Schmidhuber, J¨urgen. Long short-term memory. Neural Computation, 9(8), 1997.
Jing, Li, Shen, Yichen, Dubcek, Tena, Peurifoy, John, Skirlo, Scott, LeCun, Yann, Tegmark, Max, and Soljaˇci´c, Marin. Tunable efficient unitary neural networks (EUNN) and their application to RNNs. In ICML, 2017.
Johnson, Rie and Zhang, Tong. Effective use of word order for text categorization with convolutional neural networks. In HLTNAACL, 2015.
Johnson, Rie and Zhang, Tong. Deep pyramid convolutional neural networks for text categorization. In ACL, 2017.
Jozefowicz, Rafal, Zaremba, Wojciech, and Sutskever, Ilya. An empirical exploration of recurrent network architectures. In ICML, 2015.
Kalchbrenner, Nal, Grefenstette, Edward, and Blunsom, Phil. A convolutional neural network for modelling sentences. In ACL, 2014.
Kalchbrenner, Nal, Espeholt, Lasse, Simonyan, Karen, van den Oord, A¨aron, Graves, Alex, and Kavukcuoglu, Koray. Neural machine translation in linear time. arXiv:1610.10099, 2016.
Kim, Yoon. Convolutional neural networks for sentence classification. In EMNLP, 2014.
Kingma, Diederik and Ba, Jimmy. Adam: A method for stochastic optimization. In ICLR, 2015.
Koutnik, Jan, Greff, Klaus, Gomez, Faustino, and Schmidhuber, Juergen. A clockwork RNN. In ICML, 2014.
Krueger, David and Memisevic, Roland. Regularizing RNNs by stabilizing activations. arXiv:1511.08400, 2015.
Krueger, David, Maharaj, Tegan, Kram´ar, J´anos, Pezeshki, Mohammad, Ballas, Nicolas, Ke, Nan Rosemary, Goyal, Anirudh, Bengio, Yoshua, Larochelle, Hugo, Courville, Aaron C., and Pal, Chris. Zoneout: Regularizing RNNs by randomly preserving hidden activations. In ICLR, 2017.
Le, Quoc V , Jaitly, Navdeep, and Hinton, Geoffrey E. A simple way to initialize recurrent networks of rectified linear units. arXiv:1504.00941, 2015.
Lea, Colin, Flynn, Michael D., Vidal, Ren´e, Reiter, Austin, and Hager, Gregory D. Temporal convolutional networks for action segmentation and detection. In CVPR, 2017.
LeCun, Yann, Boser, Bernhard, Denker, John S., Henderson, Donnie, Howard, Richard E., Hubbard, Wayne, and Jackel, Lawrence D. Backpropagation applied to handwritten zip code recognition. Neural Computation, 1(4), 1989.
LeCun, Y ann, Bottou, L´eon, Bengio, Y oshua, and Haffner, Patrick.
Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 1998.
Long, Jonathan, Shelhamer, Evan, and Darrell, Trevor. Fully convolutional networks for semantic segmentation. In CVPR, 2015.
Marcus, Mitchell P , Marcinkiewicz, Mary Ann, and Santorini, Beatrice. Building a large annotated corpus of English: The Penn treebank. Computational Linguistics, 19(2), 1993.
Martens, James and Sutskever, Ilya. Learning recurrent neural networks with Hessian-free optimization. In ICML, 2011.
Melis, G´abor, Dyer, Chris, and Blunsom, Phil. On the state of the art of evaluation in neural language models. In ICLR, 2018.
Merity, Stephen, Xiong, Caiming, Bradbury, James, and Socher, Richard. Pointer sentinel mixture models. arXiv:1609.07843, 2016.
Merity, Stephen, Keskar, Nitish Shirish, and Socher, Richard.
Regularizing and optimizing LSTM language models. arXiv:1708.02182, 2017.
Mikolov, Tom´aˇs, Sutskever, Ilya, Deoras, Anoop, Le, Hai-Son, Kombrink, Stefan, and Cernocky, Jan. Subword language modeling with neural networks. Preprint, 2012.
Miyamoto, Y asumasa and Cho, Kyunghyun. Gated word-character recurrent language model. arXiv:1606.01700, 2016.
Nair, Vinod and Hinton, Geoffrey E. Rectified linear units improve restricted Boltzmann machines. In ICML, 2010.
Ng, Andrew. Sequence Models (Course 5 of Deep Learning Specialization). Coursera, 2018.
Paperno, Denis, Kruszewski, Germ´an, Lazaridou, Angeliki, Pham, Quan Ngoc, Bernardi, Raffaella, Pezzelle, Sandro, Baroni, Marco, Boleda, Gemma, and Fern´andez, Raquel. The LAMBADA dataset: Word prediction requiring a broad discourse context. arXiv:1606.06031, 2016.
Pascanu, Razvan, Mikolov, Tomas, and Bengio, Y oshua. On the difficulty of training recurrent neural networks. In ICML, 2013.
Pascanu, Razvan, G¨ulc ¸ehre, C ¸ aglar, Cho, Kyunghyun, and Bengio, Y oshua. How to construct deep recurrent neural networks. In ICLR, 2014.
Press, Ofir and Wolf, Lior. Using the output embedding to improve language models. arXiv:1608.05859, 2016.
Salimans, Tim and Kingma, Diederik P . Weight normalization: A simple reparameterization to accelerate training of deep neural networks. In NIPS, 2016.
Schuster, Mike and Paliwal, Kuldip K. Bidirectional recurrent neural networks. IEEE Transactions on Signal Processing, 45 (11), 1997.
Sejnowski, Terrence J. and Rosenberg, Charles R. Parallel networks that learn to pronounce English text. Complex Systems, 1, 1987.
Shi, Xingjian, Chen, Zhourong, Wang, Hao, Yeung, Dit-Yan, Wong, Wai-Kin, and Woo, Wang-chun. Convolutional LSTM network: A machine learning approach for precipitation nowcasting. In NIPS, 2015.
Srivastava, Nitish, Hinton, Geoffrey E, Krizhevsky, Alex, Sutskever, Ilya, and Salakhutdinov, Ruslan. Dropout: A simple way to prevent neural networks from overfitting. JMLR, 15(1), 2014.
Subakan, Y Cem and Smaragdis, Paris. Diagonal RNNs in symbolic music modeling. arXiv:1704.05420, 2017.
Sutskever, Ilya, Martens, James, and Hinton, Geoffrey E. Generating text with recurrent neural networks. In ICML, 2011.
Sutskever, Ilya, Vinyals, Oriol, and Le, Quoc V . Sequence to sequence learning with neural networks. In NIPS, 2014.
van den Oord, A¨aron, Dieleman, Sander, Zen, Heiga, Simonyan, Karen, Vinyals, Oriol, Graves, Alex, Kalchbrenner, Nal, Senior, Andrew W., and Kavukcuoglu, Koray. WaveNet: A generative model for raw audio. arXiv:1609.03499, 2016.
V ohra, Raunaq, Goel, Kratarth, and Sahoo, JK. Modeling temporal dependencies in data using a DBN-LSTM. In Data Science and Advanced Analytics (DSAA), 2015.
Waibel, Alex, Hanazawa, Toshiyuki, Hinton, Geoffrey, Shikano, Kiyohiro, and Lang, Kevin J. Phoneme recognition using timedelay neural networks. IEEE Transactions on Acoustics, Speech, and Signal Processing, 37(3), 1989.
Werbos, Paul J. Backpropagation through time: What it does and how to do it. Proceedings of the IEEE, 78(10), 1990.
Wisdom, Scott, Powers, Thomas, Hershey, John, Le Roux, Jonathan, and Atlas, Les. Full-capacity unitary recurrent neural networks. In NIPS, 2016.
Wu, Yuhuai, Zhang, Saizheng, Zhang, Ying, Bengio, Y oshua, and Salakhutdinov, Ruslan R. On multiplicative integration with recurrent neural networks. In NIPS, 2016.
Yang, Zhilin, Dai, Zihang, Salakhutdinov, Ruslan, and Cohen, William W. Breaking the softmax bottleneck: A high-rank RNN language model. ICLR, 2018.
Yin, Wenpeng, Kann, Katharina, Y u, Mo, and Sch¨utze, Hinrich. Comparative study of CNN and RNN for natural language processing. arXiv:1702.01923, 2017.
Yu, Fisher and Koltun, Vladlen. Multi-scale context aggregation by dilated convolutions. In ICLR, 2016.
Zhang, Saizheng, Wu, Y uhuai, Che, Tong, Lin, Zhouhan, Memisevic, Roland, Salakhutdinov, Ruslan R, and Bengio, Yoshua.
Architectural complexity measures of recurrent neural networks. In NIPS, 2016.
Zhang, Xiang, Zhao, Junbo Jake, and LeCun, Yann. Characterlevel convolutional networks for text classification. In NIPS, 2015.
表 2 列出了我们在将通用 TCN 模型应用于各种任务和数据集时使用的超参数。选择参数最重要的因素是通过选择能够覆盖任务所需上下文量的 k k k 和 d d d 来确保 TCN 具有足够大的感受野。
正如第 5 节中所讨论的,隐藏单元的数量被选择为使模型大小与我们正在比较的循环模型大致处于同一水平。在表 2 中,N/A 的梯度剪辑意味着没有应用梯度剪辑。在更大的任务(例如,语言建模)中,我们凭经验发现梯度裁剪(我们从 [ 0.3 , 1 ] [0.3,\ 1] [0.3, 1] 中随机选择一个阈值)有助于正则化 TCN 和加速收敛。
所有权重均从高斯分布 N ( 0 , 0.01 ) \mathcal{N}(0,\ 0.01) N(0, 0.01) 初始化。一般来说,我们发现 TCN 对超参数变化相对不敏感,只要有效历史(即感受野)大小足够。
表 3 报告了用于 LSTM 的超参数设置。这些值是从对最多 3 层的 LSTM 的超参数搜索中选择的,优化器是从 {SGD、Adam、RMSprop、Adagrad} 中选择的。对于某些较大的数据集,我们采用了先前工作中使用的设置(例如 Wikitext-103 上的 Grave 等人(2017))。GRU 超参数以类似的方式选择,但通常具有比 LSTM 中更多的隐藏单元,以保持总网络大小大致相同(因为 GRU 单元更紧凑)。
如前所述,我们使用的通用 TCN 和 LSTM / GRU 模型在某些任务上可能会被更专业的架构超越。表 4 总结了最先进的结果。所有任务都使用相同的 TCN 架构。请注意,最先进模型的大小可能与 TCN 的大小不同。
在本节中,我们将简要研究 TCN 层的不同组件的影响。总的来说,我们认为对长期依赖建模需要扩张,因此我们在这里主要关注另外两个因素:每层使用的滤波器大小 k k k 和残差块的影响。
我们进行了一系列对照实验,烧蚀分析(ablative analysis)的结果如图 6 所示。与之前一样,我们保持不同模型的模型大小和深度完全相同,以便严格控制扩张因子。实验针对三个不同的任务进行:复制记忆、置换 MNIST(P-MNIST)和 Penn Treebank 词级语言建模。这些实验证实,这两个因素(过滤器大小和残差连接)都有助于序列建模性能。
过滤器尺寸 k \boldsymbol{k} k。在复制内存和 P-MNIST 任务中,我们观察到对于较大的过滤器尺寸,收敛速度更快,准确性更高。特别是,查看图 6a,过滤器大小 ≤ 3 ≤3 ≤3 的 TCN 仅收敛到与随机猜测相同的水平。相反,在词级语言建模中,过滤器大小为 k = 3 k=3 k=3 的较小内核效果最好。我们认为这是因为较小的内核(以及固定的扩张)倾向于更多地关注局部上下文,这对于 PTB 语言建模尤为重要(事实上,n-gram 模型的成功表明建模语言只有相对较短的记忆)。
残差块。在我们在这里比较的所有三种情况下,我们观察到残差函数稳定了训练并带来了更快的收敛和更好的最终结果。特别是在语言建模中,我们发现残留连接对性能有很大贡献(见图 6f)。
门控激活(van den Oord et al, 2016; Dauphin et al, 2017)是先前用于语言建模的卷积架构工作中使用的一个组成部分。我们选择不在通用 TCN 模型中使用门控。我们现在更仔细地检查这个选择。Dauphin 等人(2017)比较了门控线性单元(GLU)和门控 tanh 单元(GTU)的效果,并在他们的非扩张门控 ConvNet 中采用了 GLU。按照相同的选择,我们现在比较使用 ReLU 的 TCN 和带门控(GLU)的 TCN,由两个卷积层之间的元素乘积表示,其中一个还通过 sigmoid 函数 σ ( x ) σ(x) σ(x)。请注意,gates 架构使用的卷积层数量大约是 ReLU-TCN 的两倍。
结果如表 5 所示,我们将模型参数的数量保持在大致相同的大小。GLU 确实进一步提高了 TCN 在某些语言建模数据集(如 PTB)上的准确性,这与之前的工作一致。然而,我们没有观察到其他任务的类似好处,例如需要更长信息保留的复调音乐建模或合成压力测试。在 T = 1000 T = 1000 T=1000 的复制内存任务中,我们发现带门控的 TCN 收敛到比带 ReLU 的 TCN 更差的结果(尽管仍然优于循环模型)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。