TCN时序卷积网络详解

时序卷积网络

Temporal Convolutional Network时序卷积网络是为了结合卷积神经网络(CNNs)的优势(如更快的训练速度,更强的并行能力,适用于大规模数据处理等等)而提出的,改善RNN等网络计算性能不佳的问题。

TCN重点在于其卷积方式,主要为两种:因果卷积空洞卷积

因果卷积

由于在时序任务中,普通的卷积操作并不符合因果律,因为按道理来说不能访问到后面的数据,但是普通的卷积操作是可以的。

所以提出了因果卷积,确保符合因果律,也就是padding。通过在序列前方填0,避免读取到后方的数据。

比如说:

复制代码
[1,2,3,4,5] # 初始数据
# 现在要做卷积核大小为3的卷积操作,为符合因果律,进行padding
[0,0,1,2,3,4,5] # padding后数据,这样就ok了

注意: p a d d i n g = ( k e r n e l s i z e − 1 ) × d i l a t i o n padding=(kernelsize-1)\times dilation padding=(kernelsize−1)×dilation

空洞卷积

空洞卷积(dilated convolution),又称膨胀卷积。

空洞是因为空洞卷积后的特征图中存在空隙,不再是连续的矩形空间。膨胀来源于膨胀因子,膨胀因子可以控制卷积核采样间隔。

空洞卷积通过在卷积核中引入空洞(0)来增加感受野,使模型能够捕捉到更长范围内的依赖关系,而不需要增加网络的深度。在时序任务中,使用空洞卷积可以提取更长距离的时序依赖关系。

感受野:

也就是特征图一个点可以看到多少原始数据,感受野越大则说明看到的信息越多。比如说一个 3 × 3 3\times3 3×3卷积核,那特征图上每个点可以看到9个原始数据

扩张后的等效卷积核大小 k ′ = k + ( k − 1 ) × ( r − 1 ) k' = k + (k - 1)\times (r - 1) k′=k+(k−1)×(r−1)(r=膨胀因子)

比如说:

复制代码
[1,2,3,4,5]
[2,3,4,5,6]
[3,4,5,6,7] # 初始数据
# 现在要做2*2卷积核,r=2的空洞卷积操作
# k'=3
# 也就是说现在读到的数据是
[1,2,3]
[2,3,4]
[3,4,5]
而非
[1,2]
[2,3]
卷积核为
[1,0,1]
[0,0,0]
[1,0,1]
而非
[1,1]
[1,1]

注意:空洞卷积是通过卷积后填充实现的,所需的参数量于普通卷积相同,输出的特征图大小与普通卷积相同

gridding问题

空洞卷积存在gridding问题。因为空洞卷积得到的某一层的结果中,邻近的像素是从相互独立的子集中卷积得到的,相互之间缺少依赖,会导致局部信息丢失等等问题。

相关推荐
weixin_397578022 小时前
本地git 的使用
人工智能
霸道流氓气质2 小时前
Spring AI ChatMemory 对话记忆配置JDBC方式到Mysql数据库实战示例与原理讲解
数据库·人工智能·spring
搬砖的梦先生2 小时前
Codex 全 AI 辅助测试操作指南
人工智能
shchojj2 小时前
What is Generative AI -Welcome
人工智能·chatgpt
NebulaData2 小时前
从通用到垂直:AI 平台竞争的下半场与产业落地路径
人工智能·数据挖掘
NingboWill2 小时前
AI日报 - 2026年05月13日
人工智能·快手·ai ppt·宇树
跨境卫士苏苏2 小时前
欧盟固定收费临近轻小件卖家如何判断继续铺量还是收缩
大数据·人工智能·安全·跨境电商·亚马逊
高工智能汽车2 小时前
从新势力到合资豪华旗舰 百度地图车道级SR导航何以成为高端旗舰车型首选?
人工智能·汽车