TCN时间卷积网络

简介: 翻译:《Sequence Modeling Benchmarks and Temporal Convolutional Networks 》

TCN时间卷积网络

参考使用的benchmark:
https://github.com/locuslab/TCN

包含多种分类、预测样例,基于pytorch环境。

Introduction

通常序列模型问题都是使用循环神经网络解决的,然而最近一些结果发现卷积神经网络在序列问题上可以实现超过循环神经网络的结果。一般在研究的时候都会把循环神经网络作为一个序列模型任务的起始点,但是现在我们要选择卷积神经网络。于是就产生了一个问题:卷积序列模型的成功是否和特定的应用领域有关,序列处理和循环网络之间的关联是否可以重新考虑。

论文作者通过在一系列序列模型任务上进行对卷积结构和循环结构的比较解决了这一问题。这些任务包括音乐模型、语言模型和合成测试等。作者使用时序卷积模型TCN和LSTMs GRU等模型进行比较,结果显示TCN模型超过了这些循环神经网络结构。这也证明了卷积结构最近在音频处理上的成果不代表其只适用于该领域。

Temporal Convolutional Networks

我们从一个卷积序列预测的一般架构开始。这个模型被称为时间卷积网络,这个概念指的不是一个架构,而是一种类型的架构。TCN网络的特性包括:1. 卷积中的关系是因果关系,意味着不存在从未来到过去的信息。2. 这个架构可以用任意长的序列作为输入并映射到相同长度的输出上,就像RNN一样。此外,作者强调了如何构建一个长且有效的历史大小,使用残差层和空洞卷积的技术。

sequence modeling

在定义网络结构之前,我们先解释一下序列模型任务。假设我们被给定了一个输入序列并且想要预测对应的结果。核心的制约是,预测一个输出的时候,我们只能使用这个时间之前的观察。一个序列模型网络通常指的是能产生以下映射的一个函数:ˆy0,...,ˆyT=f(x0,...,xT)


目标是找到一个网络最小化真实输出和预测之间的损失,其中输入序列和输出都遵循某个分布。这个形式包括了多种设置,比如自回归预测,目标输出是将输入平移一步得到的。而这种不适合机器翻译或者序列-序列预测,因为输入的序列中包含了“未来”状态。

causal convolutions

TCN是基于两个原则的:网络产生和输入一样长的输出,不存在从未来到现在的信息。为了实现这一点,TCN使用了1维全卷积网络架构,每个隐藏层和输入层长度都一样,并加入了padding来保持后续层的长度。

简单来说:TCN=1D FCN + causal convolutions

这个设计的主要缺点是为了实现长而有效的历史记录,我们需要一个特别深的网络或者非常大的滤波器,在这个模型刚提出来的时候以上两点都不能实现,因此接下来的部分会介绍帮助TCN模型达成这两个点的技巧。

dilated convolutions

一个简单的因果卷积只能够回顾和网络深度呈线性关系的大小的历史。这使得上述的因果卷积在序列任务上遇到挑战,尤其在要求比较长的历史记录的时候。
作者的解决办法,使用了具有扩大感受野能力的空洞卷积。对于一个1维的序列,和一个滤波器,空洞卷积在序列中每个元素s上的操作可以定义为:F(s)=(xdf)(s)=k1i=0f(i)xs=di


d在这里是空洞因子,k是滤波器大小,s-d*i指示了过去的方向。具体不讲了空洞卷积也算是个常识。这就给了我们两个方法来提高感受野:1. 选择较大的核,2. 提供空洞因子。一个这样一层对应的有效历史是(k-1)d长,当使用空洞卷积时,这个d可以随着网络的深度指数型增长。

residual connections

一个残差块包含了一个指向transformation操作的分支F,他的输出和原始输入相加:o=Activation(x+F(x))

这句话意思理解了但是翻译不出来-this effectively allows layers to learn modifications to the identity mapping rather than entire transformation, which has repeatedly been shown to benefit very deep networks. 大致意思就是加上输入后对学习的过程有帮助。

TCN的感受野由网络深度n核核大小k和空洞因子d,对更深和更大的TCN来说稳定性是十分重要的。比如,在预测结果依赖于2的12次方大小的历史和一个高维输入序列时,需要一个12层的网络。并且每一层都有用来提取特征的多个滤波器。在TCN中输入和输出大小不一样,所以我们用了 1x1卷积使得它们具有相同的大小。

Discussion

我们列出了我们的TCN在序列模型上应用的一些优点和缺点。
以下部分是优点

  1. parallelism:
    不像RNN对后面时间戳的预测需要等前面的步骤都完成,CNN可以平行地进行,因为每一层用的是一样的滤波器。因此一个长序列可以当作一个整体进行处理,而不是像在RNN中一样按顺序进行。
  2. flexible receptive field size:
    一个TCN能够用多种方法改变它的感受野大小,比如:堆叠更多的空洞卷积层,使用更大的空洞因子,提高滤波器大小。因此TCN也能够更好的控制模型的内存大小并应用到多个领域。
    1. stable gradients:
      不像循环结构,TCN具有一个和序列时间方向不同的bp路径,因此TCN可以避免梯度爆炸梯度消失等问题,而这是RNN的主要问题之一。
    2. low memory requirement for training:
      尤其对于长序列,LSTM和GRU需要使用大量的内存来存储中间结果,然而在TCN中滤波器是共享的,bp路径只和网络的深度有关系。因此我们发现RNN通常内存占用要比TCN多几倍。
    3. variable length inputs:
      像RNN可以用变长序列作为输入,TCN也可以将任意长序列作为属于通过滑动1D卷积核。这意味着TCN可以取代RNN用来处理任意长度的有序数据。

以下部分是缺点

  1. data storage during evaluation:
    在验证或测试阶段,RNNs只需要保证隐藏层状态和一个当前输入来产生一个预测,换句话说只需要一个对历史的总结,而实际的观察到的序列是可以忽略的。相反的,TCN需要放入所有的序列,因此可能需要更多的内存。
  2. potential parameter change for a transfer of domain:
    不同的领域对模型的历史的量有不同的要求,因此模型在对内存要求不一致的不同领域转换时,TCN表现可能会比较差。
目录
打赏
0
0
0
0
9
分享
相关文章
基于PSO粒子群优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本内容展示了一种基于粒子群优化(PSO)与时间卷积神经网络(TCN)的时间序列预测方法。通过 MATLAB2022a 实现,完整程序运行无水印,核心代码附详细中文注释及操作视频。算法利用 PSO 优化 TCN 的超参数(如卷积核大小、层数等),提升非线性时间序列预测性能。TCN 结构包含因果卷积层与残差连接,结合 LSTM 构建混合模型,经多次迭代选择最优超参数,最终实现更准确可靠的预测效果,适用于金融、气象等领域。
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
137 3
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
深度解析:基于卷积神经网络的宠物识别
宠物识别技术随着饲养规模扩大而兴起,传统手段存在局限性,基于卷积神经网络的宠物识别技术应运而生。快瞳AI通过优化MobileNet-SSD架构、多尺度特征融合及动态网络剪枝等技术,实现高效精准识别。其在智能家居、宠物医疗和防走失领域展现广泛应用前景,为宠物管理带来智能化解决方案,推动行业迈向新高度。
基于PSO粒子群优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于PSO(粒子群优化)改进TCN(时间卷积神经网络)的时间序列预测方法。使用Matlab2022a运行,完整程序无水印,附带核心代码中文注释及操作视频。TCN通过因果卷积层与残差连接处理序列数据,PSO优化其卷积核权重等参数以降低预测误差。算法中,粒子根据个体与全局最优位置更新速度和位置,逐步逼近最佳参数组合,提升预测性能。
基于WOA鲸鱼优化的TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于TCN(Temporal Convolutional Network)与WOA(Whale Optimization Algorithm)的时间序列预测算法。TCN通过扩张卷积捕捉时间序列长距离依赖关系,结合批归一化和激活函数提取特征;WOA用于优化TCN网络参数,提高预测精度。算法流程包括数据归一化、种群初始化、适应度计算及参数更新等步骤。程序基于Matlab2022a/2024b开发,完整版含详细中文注释与操作视频,运行效果无水印展示。适用于函数优化、机器学习调参及工程设计等领域复杂任务。
基于PSO粒子群优化TCN-GRU时间卷积神经网络时间序列预测算法matlab仿真
本内容涵盖基于粒子群优化(PSO)与时间卷积神经网络(TCN)的时间序列预测算法。完整程序运行效果无水印,适用于Matlab2022a版本。核心代码配有详细中文注释及操作视频。理论部分阐述了传统方法(如ARIMA)在非线性预测中的局限性,以及TCN结合PSO优化超参数的优势。模型由因果卷积层和残差连接组成,通过迭代训练与评估选择最优超参数,最终实现高精度预测,广泛应用于金融、气象等领域。
基于GA遗传优化TCN-GRU时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB2022a开发,提供无水印算法运行效果预览及核心程序(含详细中文注释与操作视频)。通过结合时间卷积神经网络(TCN)和遗传算法(GA),实现复杂非线性时间序列的高精度预测。TCN利用因果卷积层与残差连接提取时间特征,GA优化超参数(如卷积核大小、层数等),显著提升模型性能。项目涵盖理论概述、程序代码及完整实现流程,适用于金融、气象、工业等领域的时间序列预测任务。
基于GA遗传优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于遗传算法优化的时间卷积神经网络(TCN)用于时间序列预测的方法。算法运行于 Matlab2022a,完整程序无水印,附带核心代码、中文注释及操作视频。TCN通过因果卷积层与残差连接学习时间序列复杂特征,但其性能依赖超参数设置。遗传算法通过对种群迭代优化,确定最佳超参数组合,提升预测精度。此方法适用于金融、气象等领域,实现更准确可靠的未来趋势预测。
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
294 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
334 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问