TCN-时间卷积网络

TCN-时间卷积网络目录一 引言二 时序卷积神经网络 2 1 因果卷积 CausalConvol 2 2 膨胀卷积 DilatedConvo 2 3 残差链接 ResidualConn 三 讨论和总结 1 TCN 的优点 2 TCN 的缺点参考论文 AnEmpiricalE

目录

一、引言

二、时序卷积神经网络

2.1 因果卷积(Causal Convolution)

2.2 膨胀卷积(Dilated Convolution)

2.3 残差链接(Residual Connections)

三、讨论和总结

1. TCN的优点

2. TCN的缺点


参考论文:An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling

Github:https://github.com/LOCUSLAB/tcn

参考链接:

       序列建模之时间卷积网络TCN – 杨镒铭的文章 – 知乎

      TCN时间卷积网络 – 剪水作花飞的文章 – 知乎

       时间卷积网络(TCN)在 NLP 多领域发光,RNN 或将没落

一、引言

       时序问题的建模大家一般习惯性的采用循环神经网络(RNN)来建模,这是因为RNN天生的循环自回归的结构是对时间序列的很好的表示。传统的卷积神经网络一般认为不太适合时序问题的建模,这主要由于其卷积核大小的限制,不能很好的抓取长时的依赖信息。 但是最近也有很多的工作显示,特定的卷积神经网络结构也可以达到很好的效果,比如Goolgle提出的用来做语音合成的wavenet,Facebook提出的用来做翻译的卷积神经网络。这就带来一个问题,用卷积来做神经网络到底是只适用于特定的领域还是一种普适的模型? 本文就带着这个问题,将一种特殊的卷积神经网络——时序卷积网络(Temporal convolutional network, TCN)与多种RNN结构相对比,发现在多种任务上TCN都能达到甚至超过RNN模型。

二、时序卷积神经网络

2.1 因果卷积(Causal Convolution)

                    preview

        因果卷积可以用上图直观表示。 即对于上一层t时刻的值,只依赖于下一层t时刻及其之前的值。和传统的卷积神经网络的不同之处在于,因果卷积不能看到未来的数据,它是单向的结构,不是双向的。也就是说只有有了前面的因才有后面的果,是一种严格的时间约束模型,因此被成为因果卷积。

2.2 膨胀卷积(Dilated Convolution)

       单纯的因果卷积还是存在传统卷积神经网络的问题,即对时间的建模长度受限于卷积核大小的,如果要想抓去更长的依赖关系,就需要线性的堆叠很多的层。为了解决这个问题,研究人员提出了膨胀卷积。如下图所示。

                                preview

        和传统卷积不同的是,膨胀卷积允许卷积时的输入存在间隔采样,采样率受图中的d控制。 最下面一层的d=1,表示输入时每个点都采样,中间层d=2,表示输入时每2个点采样一个作为输入。一般来讲,越高的层级使用的d的大小越大。所以,膨胀卷积使得有效窗口的大小随着层数呈指数型增长。这样卷积网络用比较少的层,就可以获得很大的感受野。

2.3 残差链接(Residual Connections)

                preview

        残差链接被证明是训练深层网络的有效方法,它使得网络可以以跨层的方式传递信息。本文构建了一个残差块来代替一层的卷积。如上图所示,一个残差块包含两层的卷积和非线性映射,在每层中还加入了WeightNorm和Dropout来正则化网络。

三、讨论和总结

       总体来讲,TCN模型上的创新并不是很大,因果卷积和扩展卷积也并不是本论文提出来,本文主要是将TCN的结构梳理了一下,相比于wavenet中的结构,去掉了门机制,加入了残差结构,并在很多的序列问题上进行了实验。实验效果如下:

              TCN-时间卷积网络

在多个任务上,都比标准的LSTM、GRU等效果好。

1. TCN的优点

    (1)并行性。当给定一个句子时,TCN可以将句子并行的处理,而不需要像RNN那样顺序的处理。

    (2)灵活的感受野。TCN的感受野的大小受层数、卷积核大小、扩张系数等决定。可以根据不同的任务不同的特性灵活定制。

    (3)稳定的梯度。RNN经常存在梯度消失和梯度爆炸的问题,这主要是由不同时间段上共用参数导致的,和传统卷积神经网络一样,TCN不太存在梯度消失和爆炸问题。

    (4)内存更低。RNN在使用时需要将每步的信息都保存下来,这会占据大量的内存,TCN在一层里面卷积核是共享的,内存使用更低。

2. TCN的缺点

    (1)TCN 在迁移学习方面可能没有那么强的适应能力。这是因为在不同的领域,模型预测所需要的历史信息量可能是不同的。因此,在将一个模型从一个对记忆信息需求量少的问题迁移到一个需要更长记忆的问题上时,TCN 可能会表现得很差,因为其感受野不够大。

    (2)论文中描述的TCN还是一种单向的结构,在语音识别和语音合成等任务上,纯单向的结构还是相当有用的。但是在文本中大多使用双向的结构,当然将TCN也很容易扩展成双向的结构,不使用因果卷积,使用传统的卷积结构即可。

    (3)TCN毕竟是卷积神经网络的变种,虽然使用扩展卷积可以扩大感受野,但是仍然受到限制,相比于Transformer那种可以任意长度的相关信息都可以抓取到的特性还是差了点。TCN在文本中的应用还有待检验。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202047.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:00
下一篇 2026年3月20日 上午8:00


相关推荐

  • js逆向_知识小结

    js逆向_知识小结目录 1 开发者工具小技巧 2 Fiddler 使用小技巧 3 python 代码小技巧 4 js 代码知识点

    2026年3月19日
    2
  • 自动化测试平台(五):搭建前端开发框架并实现前端登录功能

    自动化测试平台(五):搭建前端开发框架并实现前端登录功能一 前言上一章节我们实现了用户模块的增删改查接口 现在有了接口了就需要开始开发前端页面对其进行展示交互了 这一章节将通过 react Web 开发框架 antd UI 组件库 ts Javascript 的超集 的技术栈来搭建我们的前端项目

    2026年3月18日
    2
  • python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用

    python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:codedq,发送下载链接帮助你免费下载!本博客日IP超过2000,PV3000左右,急需赞助商。极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:codedq,之前的微信号好友位已满,备注:返现饿了么大量招人,我内推!Java方向!薪资不设上限,工作年龄不限…

    2025年5月23日
    5
  • initramfs实作「建议收藏」

    initramfs实作「建议收藏」这个是翻译来的,原文地址:http://www.landley.net/writing/rootfs-howto.html //TechTip:Howtouseinitramfs.怎样使用initramfs 工作过程简述在2.6kernel启动时,它把rootfs作为它的第一个文件系统挂载(注意:这里的rootfs是真名!!!不是roo

    2022年8月11日
    10
  • 微信小程序列表点击跳转对应详情页[通俗易懂]

    微信小程序列表点击跳转对应详情页[通俗易懂]效果展示:列表页js部分:onLoad:function(options){varthat=this;wx.request({url:’你的接口’,data:{ 接口参数},header:{‘content-type’:’ap…

    2022年8月19日
    17
  • [原译]AVALONDOCK 2.0入门指南第一部分「建议收藏」

    [原译]AVALONDOCK 2.0入门指南第一部分「建议收藏」AvalonDock2.0可以用来为WPF创建一个类似VisualStudio的界面,深入理解如何使用AvalonDock进行开发是很重要的。在这个入门指南里,我将演示如何开始使用AvalonDock,下面的文章都是基于2.0版本的。并且不能用于早期的版本。AvalonDock是一个组合的布局模型,很多的控件都在视图上显示,一个DockingManager类也显示在停靠区,用于可以拖…

    2022年7月20日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号