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

相关推荐
AI码农小姐姐11 分钟前
一站式 AI 漫剧生产方案:知漫剧,降低多模态内容创作门槛
人工智能
鲲穹AI种草29 分钟前
小红书 AI 创作工具怎么选?鲲穹 RedNote 功能实测与横向对比
大数据·人工智能
这张生成的图像能检测吗35 分钟前
(论文速读)LogSAD:无需训练的结构异常与逻辑异常统一检测
人工智能·机器学习·计算机视觉·大模型·多模态·异常检测
Ai-_Man1 小时前
您您这可以把Grok的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭
javascript·人工智能·ai·小程序·电脑
汤姆yu1 小时前
Gemini 4 Argon模型综述:技术、能力与实际使用指南
网络·安全·web安全·ai·大模型
Eric.461 小时前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
搭贝1 小时前
上厕所的时间搭好一套系统:AI自动生成实测
开发语言·人工智能·低代码·ai·php·搭贝
明月_清风1 小时前
SaaS 的三层挣钱逻辑,正在被 AI 从第一层击穿
人工智能·后端
福兮说2 小时前
秋招复习操作系统并发,我让 AI 生成了一张知识图谱,15 条关系里改了 5 条
人工智能·操作系统·知识图谱·秋招
Seraphina362 小时前
SQL注入(二)盲注
网络·数据库·经验分享·笔记·sql