当前位置: 首页 > 编程日记 > 正文

时间序列的建模新思路:清华、李飞飞团队等提出强记忆力E3D-LSTM网络

640?wx_fmt=jpeg


作者 | Yunbo Wang,、Lu Jiang、 Ming-Hsuan Yang、Li-Jia Li、Mingsheng Long、Li Fei-Fei

译者 | 凯隐

编辑 | Jane

出品 | AI科技大本营(ID:rgznai100)

 

【导读】如何对时间序列进行时空建模及特征抽取,是RGB视频预测分类,动作识别,姿态估计等相关领域的研究热点。清华大学、Google AI 和斯坦福大学李飞飞团队提出了一种具有强记忆力的E3D-LSTM网络,用3D卷积代替2D卷积作为LSTM网络的基础计算操作,并加入自注意力机制,使网络能同时兼顾长时和短时信息依赖以及局部时空特征抽取。这为视频预测、动作分类等相关问题提供了新思路,是一项非常具有启发性的工作。

 

640?wx_fmt=png

 

论文地址:

https://openreview.net/pdf?id=B1lKS2AqtX

 

时间序列的时空建模问题

 

现实生活中许多数据都同时具有时间特征和空间特征,例如人体的运动轨迹,连续帧的视频等,每个时间点都对应一组数据,而数据往往又具有一定的空间特征。因此要在这样的时间序列数据上开展分类,预测等工作,就必须在时间(temporal)和空间(spatial)上对其进行建模和特征抽取。

 

常用的时间建模工具是循环神经网络(RNN)相关模型(LSTM等),由于其特有的门结构设计,对时间序列特征具有强大的抽取能力,因此被广泛应用于预测问题并取得了良好的成果,但是RNN并不能很好的学习到原始特征的高阶表示,这不利于对空间信息的提取。空间建模则当属卷积神经网络(CNN),其具有强大的空间特征抽取能力,其中3D-CNN又能将卷积核可控范围扩大到时域上,相对于2D卷积灵活性更高,能学习到更多的运动信息(motion信息),相对于RNN则更有利于学习到信息的高级表示(层数越深,信息越高级),是目前动作识别领域的流行方法。当然3D卷积的时间特征抽取能力并不能和RNN媲美。

 

得益于3D卷积和RNN在各自领域的成功,如何进一步将二者结合起来使用也成为了研究热点,常见的简单方法是将二者串联堆叠或者并联结合(在图卷积网络出现之前,动作识别领域的最优方法就是将CNN和RNN并联),但测试发现这么做并不能带来太大的提升,这是因为二者的工作机制差距太大,简单的结合并不能很好的实现优势互补。本文提出用3D卷积代替原始LSTM中的门更新操作,使LSTM不仅能在时间层面,也能在空间层面上进行短期依赖的表象特征和运动特征的抽取,从而在更深的机制层面实现两种网络的结合。此外,在LSTM中引入自注意力(self-attention)机制,进一步强化了LSTM的长时记忆能力,使其对长距离信息作用具有更好的感知力。作者将这种网络称为Eidetic 3D LSTM(E3D-LSTM),Eidetic意思是具有逼真记忆,强调网络的强记忆能力。

 

E3D-LSTM网络结构


640?wx_fmt=png

图1:三种不同的3D卷积和LSTM的结合方法

 

图中每个颜色的模块都代表了多层相应的网络。图(a)和图(b)是两种3D卷积和LSTM结合的基线方法,3D卷积和LSTM线性叠加,主要起到了编码(解码器)的作用,并没有和RNN有机制上的结合。图(a)中3D卷积作为编码器,输入是一段视频帧,图(b)中作为解码器,得到每个单元的最终输出。这两个方法中的绿色模块使用的是时空长短时记忆网络(ST-LSTM)[1],这种LSTM独立的维护两个记忆状态M和C,但由于记忆状态C的遗忘门过于响应具有短期依赖的特征,因此容易忽略长时依赖信息,因此E3D-LSTM在ST-LSTM的基础添加了自注意力机制和3D卷积操作,在一定程度上解决了这个问题。具体单元结构下一节介绍。

 

图(c)是E3D-LSTM网络的结构,3D卷积作为编码-解码器(蓝色模块),同时和LSTM结合(橙色模块)。E3D-LSTM既可用于分类任务,也可用于预测任务。分类时将所有LSTM单元的输出结合,预测时则利用3D卷积解码器的输出作为预测值。

 

E3D-LSTM单元结构设计

 

640?wx_fmt=png

图2:标准LSTM单元结构

 

首先简要介绍一下标准LSTM结构,和RNN相比LSTM增加了更复杂的门结构(图中黄色模块),主要解决RNN中存在的梯度消失问题,从而提高网络对长时依赖(long-term dependency)的记忆感知能力。LSTM有两个输入门640?wx_fmt=png,一个输出门640?wx_fmt=png和遗忘门640?wx_fmt=png

 

640?wx_fmt=png

图2:ST-LSTM网络结构和单元结构

 

和标准LSTM相比,ST-LSTM还增加了不同层间对应位置的cell连接,如图2左侧,水平灰色连接线表示标准LSTM的单元连接,竖直黄色连接线表示层间同一时刻的单元连接,通过张量M传播,注意当l=1时,640?wx_fmt=png(作者认为t时刻的顶层信息对t+1时刻的底层信息影响很大),这样记忆信息就能同时在层内和层间传播。

 

640?wx_fmt=png

 

640?wx_fmt=png

 

640?wx_fmt=png

 

640?wx_fmt=png

 

640?wx_fmt=png

图3 E3D-LSTM单元结构

 

图3 是本文提出的E3D-LSTM模型的单元结构,640?wx_fmt=png是一个维度为640?wx_fmt=png的五维张量,代表之前640?wx_fmt=png个时间步的所有隐状态。640?wx_fmt=png表示召回门(代替遗忘门),和ST-LSTM相比,主要有以下改进:

 

1、输入数据是640?wx_fmt=png的四维张量,对应时刻640?wx_fmt=png的连续帧序列,因此现在每个单元时间步都对应一段视频,而不是单帧视频。 

2、针对帧序列数据额外添加了一个召回门(recall gate)以及相关结构,用于实现长时依赖学习,也就是自注意力机制。这部分对应网络名称中的Eidetic。

 

3、由于输入数据变成了四维张量,因此在更新公式中采用3D卷积操作而不是2D卷积。

 

大部分门结构的更新公式和ST-LSTM相同,额外添加了召回门更新公式:

 

640?wx_fmt=png

 

640?wx_fmt=png

上面介绍的机制用于同一层不同时间步连接,作者将这种机制也用在了不同层同一时间步的连接,但效果并不好,这是因为不同层在同一时刻学习到的信息并没有太好的依赖性。

 

基于E3D-LSTM的半监督辅助学习

 

在许多监督学习任务,例如视频动作识别中,没有足够的监督信息和标注信息来帮助训练一个令人满意的RNN,因此可以将视频预测作为一个辅助的表征学习方法,来帮助网络更好的理解视频特征,并提高时间域上的监督性。

 

具体的,让视频预测和动作识别任务共享相同的主干网络(图1),只不过损失函数不同,在视频预测任务中,目标函数为:

 

640?wx_fmt=png

 

带上标的X表示预测值,不带上标的表示真值,F表示Frobenius归一化。

在动作识别任务中,目标函数为:

 

640?wx_fmt=png

 

其中Y和640?wx_fmt=png是预测值和帧值,这样通过将预测任务的损失函数嵌入到识别任务中,以及主干网络的共享,能在一定程度上帮助识别任务学习到更多的时序信息。为了保证过渡平滑,额外添加了一个权重因子640?wx_fmt=png640?wx_fmt=png会随着迭代次数的增加而线性衰减:

 

640?wx_fmt=png

 

作者将这种方法称为半监督辅助学习。

 

实验结果

 

视频预测任务,在Moving MINIST数据集上的结果:

 

640?wx_fmt=png

 

为了验证E3D-LSTM中不同模块对性能的影响,作者还在该数据集上进行了烧蚀研究:

640?wx_fmt=png

可以看到不管是添加3D卷积还是自注意力机制,网络性能相对于基线方法都有提升。

 

视频预测任务,在KTH人体动作数据集上的结果:

 

640?wx_fmt=png

 

接下来在一个实际视频预测任务:交通流预测中,与其他方法进行了对比:

 

640?wx_fmt=png

 

动作识别任务,在Something-Something数据集上进行了测试:

 

640?wx_fmt=png

 

同样在该数据集上进行了烧蚀研究:

 

640?wx_fmt=png

 

以及不同的半监督辅助学习策略带来的性能提升:

 

640?wx_fmt=png

 

总结

 

本文对ST-LSTM进行了改进,将流行的3D卷积操作作为其基本张量操作,同时添加了自注意力模块,进一步强化了网络对长距离依赖信息的刻画能力,不仅能用于预测任务,还能通过辅助学习的方法拓展到其他任务上,是非常具有启发性的工作。

 

 

[1] Yunbo Wang, Mingsheng Long, Jianmin Wang, Zhifeng Gao, and S Yu Philip. Predrnn: Recurrent neural networks for predictive learning using spatiotemporal lstms. In NIPS, 2017.

(*本文为 AI科技大本营原创文章,转载请联系微信 1092722531)

福利时刻



入群参与每周抽奖~

扫码添加小助手,回复:大会,加入福利群,参与抽奖送礼!

640?wx_fmt=jpeg

AI ProCon 2019 邀请到了亚马逊首席科学家@李沐,在大会的前一天(9.5)亲授「深度学习实训营」,通过动手实操,帮助开发者全面了解深度学习的基础知识和开发技巧。还有 9大技术论坛、60+主题分享,百余家企业、千余名开发者共同相约 2019 AI ProCon!5折优惠票抢购中!

640?wx_fmt=jpeg

推荐阅读

  • 机器学习知识点全攻略

  • 开发者华丽转身的新机会

  • 白话中台战略:中台是个什么鬼?

  • 从原理到代码,轻松深入逻辑回归模型!

  • 只需要支付0.5元就可以撤回交易?这下可坑苦DApp了……

  • 鸿蒙 OS 背后神秘人物曝光!

  • 5G基站功耗,到底有多大?

640?wx_fmt=png

你点的每个“在看”,我都认真当成了喜欢

相关文章:

了解node.js

转载自http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb 当我向人们介绍node.js时,通常会得到两种反应,一种人马上就能了解,另一种则是非常困惑。 如果你是第二种人,请看一下我对node的解…

VS2013中Image Watch插件的使用(OpenCV)

之前在vs2010中写OpenCV程序时经常用NativeViewer,安装此插件后,在调试代码时,对于cv::Mat变量,CV_TYPE类型为CV_8UC1或CV_8UC3,可以随时查看显示结果。其操作步骤为:1. 从http://sourceforge.net/p…

【spring boot2】第8篇:spring boot 中的 servlet 容器及如何使用war包部署

嵌入式 servlet 容器 在 spring boot 之前的web开发,我们都是把我们的应用部署到 Tomcat 等servelt容器,这些容器一般都会在我们的应用服务器上安装好环境,但是 spring boot 中并不需要外部应用服务器安装这些servlet容器,spring …

让织梦内容页arclist标签的当前文章标题加亮显示

很多人在用织梦做站的时候,会用到在当前栏目页面,给当前栏目标题使用指定样式如标题加亮,或者放个背景图。这是一个很常用和实用的功能,比如在导航页面,标识当前在浏览哪个栏目。如下图: 但是有些时候&…

RHEL6入门系列之九,常用命令2

今天还是继续来学习Linux的基本命令。4、touch命令——建立空文件touch命令用于建立空文件。[rootlocalhost ~]# mkdir /root/test ‘创建目录/root/test[rootlocalhost ~]# touch /root/test/test1.txt ‘在目录/root/test中创建空文件test1.txt[rootlocalhos…

为什么华为200万招聘AI博士,马斯克却推出脑机接口对抗AI?

作者 | 伍杏玲来源 | CSDN(ID:CSDNnews)7 月,华为一则薪资通知刷爆朋友圈:华为给8位博士应届生给予 89.6 万至 201 万的年薪。其中薪资最高的两位博士均研究人工智能相关专业。7 月还有一件大事:马斯克发布…

Artistic Style在windows下的使用(C/C++)

ArtisticStyle是一个开源的源代码格式化工具。主页地址为:http://astyle.sourceforge.net/,它可以应用在C、C、Objective-C、C#、Java等程序语言中。http://astyle.sourceforge.net/astyle.html中为对使用它的详细介绍。从http://sourceforge.net/projec…

ESXi主机与网络中其他主机的网咯数据包捕获

1、tcpdump-uw -i vmk0 -s 1514 host x.x.x.x 指定捕获与某台主机间的网络数据包2、tcpdump -i vmk0 -s 1514 port not 22 and port not 53 在捕获的数据包中,过滤掉指定端口的数据包3、tcpdump-uw -i vmk0 -s 1514 -w traffic.pcap 捕获的数据包保存成PCAP文件&…

Windows下批处理文件(.bat)的使用

批处理(Batch),就是进行批量的处理,英文译文BATCH,批处理文件后缀BAT就取的前三个字母,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件是扩展名为.bat或.cmd的文本文件,包含一条或…

金融业加速智能化,解析360金融AI基础架构和应用

传统金融信贷业务中,催收、客服及电销人员占比超过 60%,人员素质参差不齐的现状造成了管理成本过高的问题,由此衍生的客户体验差,也成为困扰金融业的一大通病。 8 月 15 日,在 360金融 AI 媒体开放日上,360…

正则:匹配一个汉字姓名

//汉字姓名正则var reg/^[\u4e00-\u9fa5]{2,}(\.[\u4e00-\u9fa5])?$/console.log(reg.test(张卫健.爱新觉罗))console.log(reg.test(兔子)) 复制代码

NLP命名实体识别开源实战教程 | 深度应用

作者 | 小宋是呢来源 | CSDN博客近几年来,基于神经网络的深度学习方法在计算机视觉、语音识别等领域取得了巨大成功,另外在自然语言处理领域也取得了不少进展。在NLP的关键性基础任务—命名实体识别(Named Entity Recognition,NER…

poj 2063完全背包

题意:给出总资金和投资年份 ,n个股票 给出股票价格和其一年的利润。问如何选择能获得最大利润。 思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序不…

UTF-8 CPP的使用

UTF-8 CPP是一个简单、小巧、轻量级、跨平台的UTF-8编码字符串库。下面对其使用方法进行简单的介绍:1. 从http://sourceforge.net/projects/utfcpp/下载最新的utf8_v2_3_4.zip源码,将其解压缩;2. 新建一个vs2013 控制台工程TestUTF…

一行js代码识别Selenium+Webdriver及其应对方案

有不少朋友在开发爬虫的过程中喜欢使用Selenium Chromedriver,以为这样就能做到不被网站的反爬虫机制发现。 先不说淘宝这种基于用户行为的反爬虫策略,仅仅是一个普通的小网站,使用一行Javascript代码,就能轻轻松松识别你是否使用…

Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...

1、首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面 具体的修改内容在下一篇中具体介绍。 Android系统移植与调试之------->如何修改Android设备添加重启、飞行模式、静音模式等功能(二) 作者:欧阳鹏 欢迎转载&#xf…

鸿蒙霸榜GitHub,从最初的Plan B到“取代Android”?

整理 | 郭芮出品 | CSDN(ID:CSDNnews)距离 8 月 9 日鸿蒙(HarmonyOS)正式发布刚刚过去九天,这场由华为领衔的技术风暴,经过十年蛰伏,终于成功引爆全球。与此同时,一个非官…

CODING 最佳实践:快课网研发效能提升之路

快课企业移动学习平台是上海快微网络科技有限公司自主研发的企业级 SaaS 平台,提供移动学习、考试练习、培训管理、知识分享、统计分析等学习和培训功能,为员工、经销商及客户等全价值链合作伙伴提供全面的知识服务。本文将详细介绍快课网的研发团队是如…

基于chyh1990/caffe-compact在windows vs2013上编译caffe步骤

1. 从https://github.com/chyh1990/caffe-compact下载caffe-compact代码; 2. 通过CMake(cmake-gui)生成vs2013 x64 caffe工程; 3. 从https://github.com/google/protobuf下载ProtoBuf,解压缩,编译ProtoBuf&#xf…

菜鸟学***——菜鸟的旅程

第一章.菜鸟的旅程作为一个典型的菜鸟,第一次去网吧上网我不知道怎么开机是很正常的事情,但是无论怎么菜怎么无知也无法阻止我对于***的崇拜,我喜欢他们的那种神秘和在我们普通人眼中的无所不能,在网络世界里他们就想鱼…

程序员假冒AI,印度公司竟骗取2亿元投资

作者 | 神经小姐姐来源 | HyperAI超神经(ID:HyperAI)人工智能界有句调侃的话——「有多少智能,就有多少人工」,今天,印度的一家人工智能公司就印证了这句话。据《华尔街日报》报道,印度创业公司…

Windows7上使用VS2013编译Caffe源码(不带GPU支持)步骤

1. 从https://github.com/BVLC/caffe/通过git clone下载caffe源码,master分支,版本号为09868ac:$ git clone https://github.com/BVLC/caffe.git ;2. 先使用cmake-gui构建生成vs2013工程,发现有很多错误,提示缺少各种依…

区块链之比特币的潜在激励

想知道更多区块链技术知识,请百度【链客区块链技术问答社区】链客,有问必答!! 比特币,这个建立在开放P2P(点对点)网络结构之上的货币(文献9),继续享受人们的追…

每天超50亿推广流量、3亿商品展现,阿里妈妈的推荐技术有多牛?

作者 | 夕颜出品 | AI科技大本营(ID:rgznai100)随着深度学习、强化学习、知识图谱、AutoML 等 AI 技术出现更多突破,推荐系统领域的企业和开发者开始将这些技术与传统推荐算法相结合,使得推荐效果得到显著提升。不过,越…

常用的JQuery数字类型验证正则表达式

var regexEnum { intege:"^-?[1-9]//d*$", //整数 intege1:"^[1-9]//d*$", //正整数 intege2:"^-[1-9]//d*$", //负整数 num:"^([-]?)//d*//.?//d$", //数字 num1:"^([1-9]//d*|0)$", //正数&#xff…

Java多线程编程实战:模拟大量数据同步

背景 最近对于 Java 多线程做了一段时间的学习,笔者一直认为,学习东西就是要应用到实际的业务需求中的。否则要么无法深入理解,要么硬生生地套用技术只是达到炫技的效果。 不过笔者仍旧认为自己对于多线程掌握不够熟练,不敢轻易应…

Ubuntu中Atom编辑器显示中文乱码的处理方法

在Ubuntu14.04 64位机上安装Atom,依次在终端输入如下命令: 1. $ sudo add-apt-repository ppa:webupd8team/atom 2. $ sudo apt-get update 3. $ sudo apt-get install atom处理中文乱码的问题: 1. 安装文泉驿正黑等相关中文字体&#…

我的世界游戏安装

2019独角兽企业重金招聘Python工程师标准>>> Minecraft 是一款沙盘独立视频游戏,灵感来自于Infiniminer,使用Java编写,由Markus "Notch" Persson 所建立,现由Mojang AB 公司开发。 这里我们介绍如何在pcDuin…

RSA签名的PSS模式

本文由云社区发表作者:mariolu 一、什么是PSS模式? 1.1、两种签名方式之一RSA-PSS PSS (Probabilistic Signature Scheme)私钥签名流程的一种填充模式。目前主流的RSA签名包括RSA-PSS和RSA-PKCS#1 v1.5。相对应PKCS(Public Key Cryptography …

AI真人表情包、斗地主AI......DeeCamp学员做了50个好玩又实用的AI项目

8月16日,2019 DeeCamp人工智能训练营的结营仪式上,展示了600名DeeCamp学员的50个AI实践课题。 结营仪式上,由2019 DeeCamp学员组成的6个项目小组作为代表,现场展示了自己Demo成果,并由李开复、张潼等学术及产业导师现…