时间卷积网络(TCN)

作者: 西部的玫瑰 | 来源:发表于2019-10-09 23:08 被阅读0次

    一、序列模型

    1、定义

    1.1X^{T+1} ={𝑥_0,𝑥_1,…,𝑥_𝑇 },𝑌^{𝑇+1}={𝑦_0,𝑦_1,…,𝑦_𝑇 },存在函数f:X^{T+1} \rightarrow Y^{T+1}使得f(𝑥_0,𝑥_1,…,𝑥_𝑇)=𝑦_0,𝑦_1,…,𝑦_𝑇注意,任意𝑦_𝑡只与𝑥_0,𝑥_1,…,𝑥_𝑡有关,而与𝑥_(𝑡+1),𝑥_(𝑡+2),…,𝑥_𝑇无关。

    1.2 序列模型就是通过机器学习等方法来拟合这个函数ƒ ,最小化实际输出和预测之间的一些预期损失。

    2、示例

    正例:句子生成;反例:机器翻译,𝑦_𝑡𝑥_(𝑡+1),𝑥_(𝑡+2),…,𝑥_𝑇无关。

    二、TCN模型

    1、TCN模型概要

    形式简洁:卷积形式 convolutions

    试用序列模型:因果卷积 causal convolution

    对历史有记忆:扩张卷积 dilated convolutions +残差模块 residual block

    输入输出维度一致:全卷积网络 fully-convolutional network

    一维因果卷积与扩张卷积作为标准卷积层,并将每两个这样的卷积层与恒等映射可以封装为一个残差模块。再由残差模块堆叠起深度网络,并在最后几层使用全卷积层代替全连接层。

    2、网络结构

    2.1 因果卷积

    从直观上来说,它类似于将卷积运算「劈」去一半,令其只能对过去时间步的输入进行运算。对于 TCN 所使用的一维卷积来说,因果卷积可以简单将一般卷积的输出移动几个时间步而实现。TCN使用因果卷积,其中时间t的输出仅与来自前一层中的时间t和更早的元素卷积。

    2.2 扩张卷积

    因果卷积其实还有一个问题,它需要非常多的层级数或较大的卷积核来扩宽感受野,而较大的感受野正式构建长期记忆所必须的。增加感受野一种方法是卷积层数的增加,但是卷积层数的增加就带来:梯度消失,训练复杂,拟合效果不好的问题,为了决绝这个问题,出现了扩张卷积(dilated)。

    扩展卷积在保持参数个数不变的情况下增大了卷积核的感受野,同时它可以保证输出的特征映射(featuremap)的大小保持不变。

    2.3 残差模块

    残差网络在计算机视觉中有非常强大的表达能力,它因为解决了深层网络的训练问题而可以大大增加网络的层数。

    残差网络加入跨层连接的恒等映射。

    学习变换函数H(X)改为学习残差函数F(X)=H(X)-X,即学习对输入X的整体变换,改为学习对输入X的部分修改。

    残差引入残差模块可以解决梯度消失的问题,浅层网络很容易扩展为深层网络。

    2.4 全卷积网络

    TCN使用1D全卷积网络(FCN)架构(Longetal。,2015),其中每个隐藏层与输入层的长度相同,并且零填充长度(内核大小-1)是添加以保持后续图层与之前图层的长度相同。使用卷积层代替全连接层,使得输出与输入维度一致,实现端对端序列建模的预测效果。

    2.5 网络结构模型

    三、TCN的优缺点

    1、优点

    不同于RNN结构,TCN可以大规模并行处理,因此在训练和验证时网络的速度都会更快;

    TCN可以通过增加层数、改变膨胀系数和滤波器的大小改变感受野,历史信息长短上更加灵活,且避免了RNN中的梯度弥散和梯度爆炸的问题;

    训练时占用的内存更少,尤其是对于长序列。

    2、缺点

    在测试中,RNN只需要维护一个隐藏状态并接受当前输入,便可以生成一个预测,这意味着观察到的序列可以被丢弃。但是TCN仍旧需要完整的序列才能进行预测。

    不同领域的超参数(如K和d)可能不同,迁移模型调整参数比较麻烦。

    An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling:https://arxiv.org/abs/1803.01271

    Fully Convolutional Networks for Semantic Segmentation:https://arxiv.org/pdf/1605.06211.pdf

    相关文章

      网友评论

        本文标题:时间卷积网络(TCN)

        本文链接:https://www.haomeiwen.com/subject/xaynpctx.html