An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling

对RNN和CNN进行比较

时间卷积网络TCN代码:GitHub - locuslab/TCN: Sequence modeling benchmarks and temporal convolutional networks


 TCN的显着特征:1)体系结构中的卷积是因果关系的,这意味着从未来到过去都不会发生信息“泄漏”; 2)可以采用任意长度的序列并将其映射到相同长度的输出序列,像RNN一样。

除此之外,我们强调如何结合使用非常深的网络(使用残差层增强)和扩张的卷积来构建非常长的有效历史记录大小(即,网络可以很远地看过去进行预测的能力)。

TCN结构图

序列建模

给定序列x_1,x_2,...,x_T,期望每个时刻得到对应输出y_1,y_2,...,y_T.y_t只依赖于x_1,x_2,...x_t。序列建模的目的就是寻找到一个网络f最小化真实值和预测值的误差。

因果卷积

如上,TCN基于两个原则:1.网络产生与输入长度相同的输出,2.从将来到过去都不会泄漏的事实。 为完成1,TCN使用一维全卷积网络(FCN)架构,其中每个隐藏层的长度与输入层的长度相同,并且zero-padding长度(kernel size-1)被添加以保持后续层与先前层的长度相同。 为了达到2,TCN使用因果卷积,即在卷积中,时间t的输出仅与时间t或更早的上一层中的元素卷积。

TCN = 1D FCN + 因果卷积.

空洞卷积dilated convolutions

简单的因果卷积只能回顾网络深度为线性的历史。 这使得将上述因果卷积应用于序列任务(尤其是需要较长历史记录的任务)具有挑战性。在这里采用空洞卷积,以实现指数级大的接收场。

对于一个1-D序列输入X\in R^n,一个过滤器f:\{0,...k-1\}\rightarrow R,那么对于序列元素s的空洞卷积操作F定义为:

F(s)=(x*_df)(s)=\sum_{i=1}^{k-1}f(i) \cdot  x_{s-d\cdot i} .

d为空洞因子,k为过滤器大小,s-d\cdot i表示过去方向。

因此,空洞相当于在每两个相邻的filter taps之间引入一个固定的step。 当d = 1时,空洞卷积为常规卷积。 使用较大的dilation可使顶层的输出代表更大范围的输入,从而有效地扩展了ConvNet的接受野。

两种增加TCN接收野的方法:1.选择较大的filter size k和增大空洞系数d,其中一层为(k-1)d。随着网络深度的增加,d呈指数增长(在网络第i 层d=O(2^i))。

残差连接

残差块包含一个分支,该分支通向一系列变换\Gamma ,其输出被添加到块的输入x中:

o=Activation(X+\Gamma (X))

在残差块内,TCN有两层空洞因果卷积和非线性ReLU。 为了归一化,对卷积滤波器应用了权重归一化。 另外,在每个空洞的卷积后进行正则化:在每个训练步骤中,整个通道都被清零。

在TCN中,输入和输出的宽度可能不同。 为了解决输入输出宽度的差异,使用额外的1x1卷积,确保逐元素加法⊕接收到相同形状的张量(图b,c)。


总结:

文章用一系列综合的序列建模任务对通用卷积和循环体系结构的实证评估。

TCN结合了最佳实践(如dilation和残差连接)以及自回归预测所需的因果卷积。 实验结果表明,TCN模型的性能明显优于通用RNN体系结构,如LSTM和GRU。 进一步研究了卷积网络和递归网络中的远程信息传播,并表明RNN的“无限记忆”优势在实践中基本上不存在。 与具有相同容量的循环体系结构相比,TCN具有更长的内存。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容