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

相关推荐
仿生狮子17 小时前
别再说“全栈”了,AI 时代团队只认这 5 种人
前端·人工智能·后端
乒乓狂魔17 小时前
SkyWalking 也能 AI 智能化了
人工智能·skywalking
满怀冰雪18 小时前
03-第一个 Paddle 程序:Tensor 创建、计算与设备管理
人工智能·python·paddle
Maynor99618 小时前
AI Coding 零基础实战教程|第七部分:Codex Desktop 安装和使用教程
人工智能·ai编程·codex·claude code·ai coding
CClaris18 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
学编程的小虎18 小时前
SenseVoice微调
人工智能·python·自然语言处理
不爱土豆唯爱马铃薯19 小时前
aipy漫画系列创作分享之漫画技能分享
人工智能
字节跳动视频云技术团队19 小时前
豆包视频通话背后,火山引擎重构 Agent 时代多模态传输底座
人工智能·agent·音视频开发
大公产经晚间消息19 小时前
《寻访独角兽》首期走进太仓,探访小科智行的硬科技“突围”
网络·人工智能·科技