TCN 时序卷积网络 (temporal convolutional network)【因果卷积、空洞卷积】

TCN 时序卷积 (temporal convolutional network)

它由膨胀卷积核因果卷积两种卷积构成。

如图:左边是膨胀因果卷积,右边是1x1卷积构成的残差连接,两条链路并行,构成残差块,残差块在串联构成时序卷积神经网络。
在这里插入图片描述
TCN的优点:

可并行化计算:TCN采用卷积操作,可以进行高效的并行计算,充分利用现代硬件加速能力,适用于大规模数据处理。

捕捉局部依赖关系:TCN通过堆叠卷积层并增大卷积核的感受野,可以有效地捕捉序列数据中的局部依赖关系。

稳定的梯度传播:相对于RNN,TCN训练中的梯度传播更稳定,不容易遇到梯度消失或梯度爆炸的问题。

多尺度信息提取:TCN可以通过堆叠多个卷积层来提取不同尺度的特征。每个卷积层通过不同大小的卷积核对输入进行处理,从而捕捉序列数据中的不同时间范围的特征。这种多尺度信息提取能力使得TCN对序列数据中的局部依赖关系更加敏感。

TCN的缺点:

有限的建模能力:传统的卷积操作在局部感受野内工作,因此对于较长的序列建模和处理长期依赖关系,可能不如RNN表现好。

1.因果卷积

在深度学习中,卷积是一个常见的操作。但在处理时间序列数据时,特别是在预测未来的时刻,我们不希望未来的信息在当前时刻被使用。但是在一维卷积的计算过程中,很显然我们会涉及到的不止过去的时间点,还有未来的时间点(即不止会涉及到上方的样本,还会涉及到下方的样本)
在这里插入图片描述

这就引入了“因果卷积”。因果卷积保证了在任何时间点t,输出只依赖于时间点t及其之前的输入,而不依赖于t之后的输入。因果卷积可以通过对输入数据进行适当的“填充”来实现。具体地说,假设我们有一个一维的输入序列和一个大小为k的卷积核,为了实现因果卷积,我们可以在序列的开始处填充k-1个零,然后进行标准的卷积操作。这样,卷积的输出在任何时间点t都会依赖于时间点t及其之前的输入,如下图:

在这里插入图片描述

2.膨胀卷积

(1)膨胀卷积也叫空洞卷积、扩张卷积。最初的提出是为了解决图像分割的问题,常见的图像分割算法通常使用池化层和卷 积层来增加感受野,同时也缩小了特征图尺寸,然后利用上采样还原图像尺寸,特征图缩小在放大的过程造成了精度上的损失,因此需要一种操作可以在增加感受野的同时保持特征图的尺寸不变,从而代替下采样和上采样操作。

(2)感受野:指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到。如下图

在这里插入图片描述

(3)计算当前层感受野的公式:
R F i + 1 = R F i + ( k − 1 ) × S i RF_{i+1}=RF_i+(k-1)\times S_i RFi+1=RFi+(k1)×Si
​ 其中, R F i + 1 RF_{i+1} RFi+1表示当前层的感受野, R F i RF_i RFi表示上一层的感受野,k表示卷积核的大小, S i S_i Si表示之前所有层的步长的乘积(不包含本层)

(4)膨胀卷积的原理:

​ 与正常的卷积不同的是,膨胀卷积引入了“扩张率”的超参数,该超参数定义了卷积核处理数据时各值的间距。

在这里插入图片描述

dilation = 1,卷积后的感受野为3;

dilation = 2,卷积后的感受野为5;

dilation = 3,卷积后的感受野为7;

(5)理解膨胀卷积可以增大感受野,但是可以不改变图像输出特征图的尺寸。

在这里插入图片描述

从b和c可以看出,有无膨胀卷积,不影响输出特征的尺寸,但是利用膨胀卷积可以增大感受野

(6)存在的问题:The Gridding Effect

如果多次叠加 dilation rate=2 d 3 x 3 卷积核,会出现以下问题
在这里插入图片描述

如图可以看到,很多像素点没有被覆盖到。

(7)解决方法:Hybrid Dilated Convolution (HDC)

在这里插入图片描述

假设连续堆叠 N 个空洞卷积,然后卷积核大小为 K x K 膨胀卷积系数分别为 [r1,r2,r3,…,rn],想要设计出一个没有间隙的区域,需要满足以下特性:

特性1:叠加卷积的系数不能有大于1的公约数;

特性2:卷积的系数成锯齿状结构,如[1,2,5,1,2,51,2,5]

特性3:满足下列式子
M i = max ⁡ [ M i + 1 − 2 r i , M i + 1 − 2 ( M i + 1 − r i ) , r i ] M_i=\max[M_{i+1}-2r_i,M_{i+1}-2(M_{i+1}-r_i),r_i] Mi=max[Mi+12ri,Mi+12(Mi+1ri),ri]
其中 r i r_i ri是是 i 层的 dilation rate 而 M i M_i Mi是指在 i 层的最大dilation rate,那么假设总共有n层的话, 默认 M n M_n Mn= r n r_n rn。假设我们应用于 kernel 为 k x k 的话,我们的目标则是 M 2 M_2 M2≤k,这样我们至少可以用dilation rate=1的方式来覆盖所有。

☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
我是韩一,用知识认识更多的人,欢迎大家指正!

  • 12
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
tcn网络Temporal Convolutional Network)是一种用于时间序列数据分类的模型。它基于卷积神经网络(CNN)的思想,通过卷积操作来提取时间序列数据中的特征,并利用这些特征进行分类。 tcn网络主要包含两个关键的组件:卷积块和分类器。卷积块由多个卷积层和非线性激活函数组成,可以将时间序列数据分为不同的局部时间块,并提取每个时间块中的特征。这些特征能够帮助模型学习到时间序列数据中的局部模式和关系。 在tcn网络中,卷积操作可以捕捉到不同时间尺度上的特征。这是通过使用不同大小的卷积核以及不同的采样率来实现的。较小的卷积核可以捕捉到局部模式,而较大的卷积核可以捕捉到更长的时间关系。 在卷积块的最后一层,通常会使用全局最大池化或全局平均池化来汇集不同时间块的特征,将其转换为固定长度的特征向量。然后,这些特征向量经过分类器进行分类预测。 分类器可以是全连接层,也可以是其他分类模型,如多层感知机(MLP)、支持向量机(SVM)等。分类器的作用是将特征向量映射到各个类别上,并输出最终的分类结果。 tcn网络具有较好的时间建模能力和对长期时间关系的捕捉能力。它可以应用于各种时间序列分类任务,如音频分类、动作识别、自然语言处理等。由于tcn网络的并行计算能力较强,因此在训练过程中具有较高的效率。同时,由于其结构简单,参数较少,相对于其他复杂的模型,tcn网络的训练及使用也更加便捷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值