TCN-时间卷积网络

article/2025/11/5 8:13:59

目录

一、引言

二、时序卷积神经网络

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中的结构,去掉了门机制,加入了残差结构,并在很多的序列问题上进行了实验。实验效果如下:

              

在多个任务上,都比标准的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在文本中的应用还有待检验。


http://chatgpt.dhexx.cn/article/m02DxwcU.shtml

相关文章

时间卷积网络TCN:CNN也可以处理时序数据并且比LSTM更好

本文回顾了 Shaojie Bai、J. Zico Kolter 和 Vladlen Koltun 撰写的论文:An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling。 TCN源代码:https://github.com/locuslab/TCN 文章目录 1. 序列建模2. 因果…

TCN(Temporal Convolutional Network,时间卷积网络)

1 前言 实验表明,RNN 在几乎所有的序列问题上都有良好表现,包括语音/文本识别、机器翻译、手写体识别、序列数据分析(预测)等。 在实际应用中,RNN 在内部设计上存在一个严重的问题:由于网络一次只能处理一个…

机器学习进阶之 时域/时间卷积网络 TCN 概念+由来+原理+代码实现

TCN 从“阿巴阿巴”到“巴拉巴拉” TCN的概念(干嘛来的!能解决什么问题)TCN的父母(由来)TCN的原理介绍上代码! 1、TCN(时域卷积网络、时间卷积网络)是干嘛的,能干嘛 主…

htop与top的区别

总览: 什么是htop top和htop的区别 htop和top的比较 在centos7上安装htop 下载htop源码交叉编译安装 如何使用htop命令 更改htop刷新时间间隔 htop命令的快捷键 什么是htop? htop是一个交互式和实时监视进程查看器的linux编写的 它取代了Unix程序的top …

AIX的topas命令详解

说明 topas命令的说明可以直接执行man topas了解,或者直接看IBM给的 原始文档,路径为:https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/com.ibm.aix.cmds5/topas.htm 命令详解 先上在AIX服务器上执行topas命令后的图片 区域1&…

Linux中 top命令详解

一、基础概念 指令: top 作用: 查看服务器的进程占用资源 进入命令: top (动态显示) 推出命令: 按 q 键 二、输出结果 表头字段含义: PID: 进程id USER: 该进程对应的用户 PR: …

TOP用法详解

1、top命令:相当于Windows下的资源管理器,能够动态实时的显示系统中进程的资源占用情况。 2、在Linux终端上输入top命令出现的结果及其表示的含义如下图: 顺便说一下uptime命令 3、以上是默认的显示内容,可以通过快捷键来更改显示…

topas命令解析

topas命令解析 Posted on 2011-12-08 11:40 疯狂 阅读(984) 评论(1) 编辑 收藏 所属分类: unix <!----> 上一张我们测试机的topas的图(aix 5.3)&#xff1a;然后后面附上解释&#xff1a; topas命令用于监控各种系统资源&#xff0c;如CPU的使用情况&#xff0c;CPU…

Top-Down性能分析

2014年Ahmand Yasin在它的IEEE论文《A top-down method for performance analysis and counter architercture》中&#xff0c;革命性地给出了一个从CPU指令执行的顺畅程度来评估和发现瓶颈的方法&#xff0c;允许我们从黑盒的角度来看问题。 TMAM&#xff1a;自顶向下的微体系…

TOP-K

目录 TOP-K介绍 TOP-K实现 源码 TOP-K介绍 什么是TOP-K&#xff1f; 贴近生活来说&#xff0c;点外卖&#xff0c;打游戏。比如某团&#xff0c;你点一个美食&#xff0c;选你选在城市后&#xff0c;你选择按评分排序&#xff0c;那么它会将这个城市里所有美食店铺评分最高的…

AIX系统 topas查看系统各项指标性能

AIX系统 topas查看系统各项指标性能 topas命令默认2秒更新一次 一、topas命令以区域形式表现系统各项指标性能 如下图&#xff1a; 1、 CPU&#xff1a;反应CPU性能区域&#xff0c;如果有多个 CPU&#xff0c;按 c 键两次就可显示 CPU 列表。仅按 c 键一次会关闭此区域 Us…

top 与 htop

top 与 htop 区别 一、相同点 两者均是可以查看cpu使用情况的命令 二、不同点 top 在linux系统中&#xff0c;top 命令用来显示系统中正在运行的进程的实时状态&#xff0c;它显示了一些非常有用的信息&#xff0c;比如 CPU 利用情况、内存消耗情况&#xff0c;以及每个进…

top cpu

我们有时会把%CPU和us%搞晕&#xff0c;也就是下图所示在top的时候查看cpu的信息。 这时有人会问&#xff1a;这两个CPU到底哪个是对的。 其实都是对的&#xff0c;只是表达的意思不一样。 官方解释如下 Cpu(s)&#xff1a;34.0% us: 用户空间占用CPU百分比 %CPU&#xff1…

TOP TOPAS

在IBM的OS AIX中,root用户输入topas可以查看系统的运行情况(有的OS是使用top查看),如图: (此图截于IBM eServer p5 590)Kernel:内存使用百分率 Network:网络信息区User: 用户进程使用百分率 Disk: 存储信息区Wait: …

安装TOPAS RTion extension, 出现的问题及解决方法

TOPAS MC上有安装general extension的教程&#xff0c;在To add User Extensions部分中。GitHub dicom-interface的readme应该是由于长时间没有更新&#xff0c;所以有些错误。本文是在Linux系统下安装RTion extension&#xff0c;其他系统应该也能借鉴。计算机小白&#xff0c…

TOPAS详解

原文出处&#xff1a;http://www.blogjava.net/freeman1984/archive/2011/12/08/365848.html 上一张我们测试机的topas的图(aix 5.3)&#xff1a;然后后面附上解释&#xff1a; topas命令用于监控各种系统资源&#xff0c;如CPU的使用情况&#xff0c;CPU事件和队列&#xff0…

AIX之topas命令详解

AIX基本命令topas简介 Posted on 2015 年 11 月 11 日 by xiaoyu 由于最近工作需要涉及到AIX主机、存储层面&#xff0c;就对这方面的内容做个简要的笔记&#xff0c;以供后续参考。 topas命令利用System Performance Measurement Interface&#xff08;SPMI) API获得有关信…

AIX topas命令详解

topas命令默认2秒更新一次 一、topas命令以区域形式表现系统各项指标性能&#xff0c; 如下图&#xff1a; 1、 CPU&#xff1a;反应CPU性能区域&#xff0c;如果有多个 CPU&#xff0c;按 c 键两次就可显示 CPU 列表。仅按 c 键一次会关闭此区域 User%&#xff1a;用户进程占…

Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具

Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具 关于Topas学习前提 安装Topas获取topas.tar.gz获取方法一获取方法二 配置unix环境安装Topas安装Geant4设置Geant4环境 使用Topas一个简单的 HelloWorld 程序 OneBox.txtTopas中txt参数文件的编写规则&#xff08;1&#xff…

java给时间设置格式化_java怎样给时间格式化

java怎样给时间格式化 【提要】本篇《java如何给时间格式化》特别为需要格式编程学习的朋友收集整理的&#xff0c;仅供参考。内容如下&#xff1a; java中如何格式化的时间&#xff0c;这是一个很简单的问题&#xff0c;在实际的编程中经常用&#xff0c;以下是小编为大家搜索…