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

相关推荐
阿图灵几秒前
OpenCV 轮廓与属性:查找轮廓、面积周长、形状拟合与点测试
图像处理·人工智能·python·opencv·计算机视觉·轮廓
AI_AGENT_DEV_AI6 分钟前
AI 英语教培软件系统的开发费用
人工智能
数据知道10 分钟前
白盒审计入门:Source Code Review 检查清单
网络·安全·网络安全·代码复审
叠层归一研究院11 分钟前
缝合维度:时空3+1结构的拓扑起源
人工智能·算法·机器学习·agi
梦梦代码精13 分钟前
深度体验BuildingAI:一款集成商业闭环的开源智能体平台
人工智能·docker·开源·代码规范
秋名山码民17 分钟前
拙见AI——AI操作系统
数据库·人工智能
得物技术18 分钟前
企业级 MultiAgent 的记忆系统:短期上下文与四层记忆架构实现|得物技术
java·人工智能·后端
vivo互联网技术19 分钟前
vivo 广告小游戏:从"写代码"到"说需求"
前端·人工智能·游戏开发
CDN36019 分钟前
IP 黑白名单防护实操:出海网站拦截恶意爬虫、扫描 IP,CDN 流量管控落地指南
网络·爬虫·tcp/ip