### 2.3时空卷积网络
通过使用ConvNets为各种基于图像的应用程序带来的显着性能提升,如第2.2节所述,引发了对将2D空间ConvNets扩展到用于视频分析的3D时空ConvNets的兴趣。通常,文献中提出的各种时空架构只是试图将2D架构从空间域![](https://img.kancloud.cn/e3/52/e3525a37737641aedf64a87c4d730002_40x18.gif)扩展到时域![](https://img.kancloud.cn/87/7c/877cf62ba415c8a9e022fb6869ee8865_54x18.gif)。在基于训练的时空ConvNets领域,有三种不同的建筑设计决策是突出的:基于LSTM(_例如_。[112,33]),3D(_例如_。[139] ,84]和双流会议(_,例如_。[134,43]),将在本节中描述。
#### 2.3.1基于LSTM的时空ConvNet
基于LSTM的时空转换,_,例如_。 [112,33]是将2D网络扩展到时空处理的早期尝试。他们的操作可以分为三个步骤,如图2.16所示。首先,使用2D网络处理每个帧,并从其最后一层提取特征向量。其次,这些来自不同时间步骤的特征然后被用作产生时间结果的LSTM的输入,![](https://img.kancloud.cn/5a/bc/5abc4cc46dce76c9b23c3acd9ae4abb6_14x12.gif)。第三,然后将这些结果平均或线性组合并传递给softmax分类器以进行最终预测。
![](https://img.kancloud.cn/15/c8/15c88de0694783f954be32daa524924b_299x263.png)
图2.16:基于LSTM的时空ConvNet示例。在该网络中,输入包括来自视频流的连续帧。图[33]再版。
基于LSTM的ConvNets的目标是逐步整合时态信息,同时不受限于严格的输入大小(暂时)。这种架构的一个好处是使网络能够生成可变大小的文本描述(_,即_ .LSTMs优秀的任务),如[33]中所做的那样。然而,虽然LSTM可以捕获全局运动关系,但它们可能无法捕获更精细的运动模式。此外,这些模型通常较大,需要更多数据,因此难以训练。迄今为止,除了正在整合视频和文本分析的情况(_,例如_。[33]),LSTM通常在时空图像分析中取得了有限的成功。
#### 2.3.2 3D ConvNet
第二种突出类型的时空网络为标准2D ConvNet处理提供了最简单的图像时空概括。它直接与RGB图像的时间流一起工作,并通过应用学习的3D,![](https://img.kancloud.cn/87/7c/877cf62ba415c8a9e022fb6869ee8865_54x18.gif),卷积滤波器对这些图像进行操作。这种泛化形式的一些早期尝试使用过滤器,这些过滤器延伸到具有非常浅的网络的时间域[80]或仅在第一卷积层[84]。当仅在第一层使用3D卷积时,在每3或4个连续帧上应用小抽头时空滤波器。为了捕获更长距离的运动,并行使用多个这样的流,并且由堆叠这样的流产生的层级增加了网络的时间接收场。但是,由于时空滤波仅限于第一层,因此这种方法与基于朴素帧的2D ConvNets应用相比没有产生显着的改进。现在广泛使用的C3D网络提供了更强的泛化,它在所有层使用3D卷积和汇集操作[139]。 C3D从2D到3D架构的直接推广需要大量增加要学习的参数数量,这可以通过在所有层使用非常有限的时空支持来补偿(_即_。![](https://img.kancloud.cn/4d/dc/4ddcb2ef1fdfd1c00d99144cae172605_72x12.gif)卷积)。最近略有不同的方法提出通过修改ResNet架构[64]来集成时间过滤,以成为时间ResNet(T-ResNet)[42]。特别是,T-ResNet使用![](https://img.kancloud.cn/c9/97/c997665c80c3767424e2b34a18a66b51_75x13.gif)滤波器增加剩余单位(如图2.10(a)所示),该滤波器沿时间维度应用一维学习滤波操作。
最终,此类3D ConvNet架构的目标是在整个模型中直接集成时空滤波,以便同时捕获外观和运动信息。这些方法的主要缺点是其参数数量的增加。
#### 2.3.3双流ConvNet
第三种类型的时空架构依赖于双流设计。标准的双流结构[134],如图2.17所示,在两个平行路径中运行,一个用于处理外观,另一个用于运动,类似于生物视觉系统研究中的双流假设[55]。输入到外观路径是RGB图像;输入到运动路径是光流场的堆栈。基本上,每个流都使用相当标准的2D ConvNet架构单独处理。每个途径进行单独分类,后期融合用于实现最终结果。原始双流网络的各种改进遵循相同的基本思想,同时为各个流使用各种基线架构(_,例如_。[43,443,144])或提出连接两个流的不同方式(_例如_。[43,40,41])。值得注意的是,最近的工作称为I3D [20],建议通过在两个流上使用3D卷积来使用3D滤波和双流架构。然而,除了网络在基准动作识别数据集上获得稍好的结果之外,作者还没有提出令人信服的论据来支持除3D过滤之外的冗余光流流的需求。
![](https://img.kancloud.cn/09/a9/09a9a5e6b9043eab1ad12d69c70fb059_530x188.png)
图2.17:原始的双流网络。网络将RGB帧和光流堆栈作为输入。图[134]转载。
总体而言,双流控制系统支持外观和运动信息的分离,以便了解时空内容。值得注意的是,这种架构似乎是时空ConvNets中最受欢迎的,因为它的变化导致了各种动作识别基准的最新结果(_,例如_。[43,40,41,144]) 。
### 2.4总体讨论
多层表示一直在计算机视觉中发挥重要作用。实际上,即使是标准广泛使用的手工制作的特征,如SIFT [99],也可以看作浅层多层表示,松散地说,它包括卷积层,然后是汇集操作。此外,前ConvNet最先进的识别系统通常遵循手工制作的特征提取与(学习的)编码,然后是空间组织的池和学习的分类器[_,例如_。[39]),也是一种多层代表性方法。现代多层体系结构推动了分层数据表示的思想更深层次,同时通常避开手工设计的特征,转而采用基于学习的方法。在计算机视觉应用方面,ConvNets的特定架构使它们成为最具吸引力的架构之一。
总的来说,虽然处理多层网络的文献非常庞大,每个派系都提倡一种架构优于另一种架构,但已经出现了一些常见的“最佳实践”。突出的例子包括:大多数架构依赖于四个常见构建块(_即_。卷积,整流,规范化和池化),深度架构与小型支持卷积内核的重要性,以实现具有可管理数量的抽象参数,残余连接以应对学习过程中误差梯度传播的挑战。更一般地,文献同意关键点,输入数据的良好表示是分层的,如前面几个贡献中所述[119]。
重要的是,虽然这些网络在许多计算机视觉应用中取得了竞争性成果,但它们的主要缺点依然存在:对学习表示的确切性质的理解有限,对大量训练数据集的依赖性,缺乏支持精确性能界限的能力以及缺乏关于网络超参数选择的清晰度。这些选择包括滤波器大小,非线性选择,池功能和参数以及层数和架构本身。在ConvNets“构建块”的背景下,其中几个选择背后的动机将在下一章中讨论。
- TensorFlow 1.x 深度学习秘籍
- 零、前言
- 一、TensorFlow 简介
- 二、回归
- 三、神经网络:感知器
- 四、卷积神经网络
- 五、高级卷积神经网络
- 六、循环神经网络
- 七、无监督学习
- 八、自编码器
- 九、强化学习
- 十、移动计算
- 十一、生成模型和 CapsNet
- 十二、分布式 TensorFlow 和云深度学习
- 十三、AutoML 和学习如何学习(元学习)
- 十四、TensorFlow 处理单元
- 使用 TensorFlow 构建机器学习项目中文版
- 一、探索和转换数据
- 二、聚类
- 三、线性回归
- 四、逻辑回归
- 五、简单的前馈神经网络
- 六、卷积神经网络
- 七、循环神经网络和 LSTM
- 八、深度神经网络
- 九、大规模运行模型 -- GPU 和服务
- 十、库安装和其他提示
- TensorFlow 深度学习中文第二版
- 一、人工神经网络
- 二、TensorFlow v1.6 的新功能是什么?
- 三、实现前馈神经网络
- 四、CNN 实战
- 五、使用 TensorFlow 实现自编码器
- 六、RNN 和梯度消失或爆炸问题
- 七、TensorFlow GPU 配置
- 八、TFLearn
- 九、使用协同过滤的电影推荐
- 十、OpenAI Gym
- TensorFlow 深度学习实战指南中文版
- 一、入门
- 二、深度神经网络
- 三、卷积神经网络
- 四、循环神经网络介绍
- 五、总结
- 精通 TensorFlow 1.x
- 一、TensorFlow 101
- 二、TensorFlow 的高级库
- 三、Keras 101
- 四、TensorFlow 中的经典机器学习
- 五、TensorFlow 和 Keras 中的神经网络和 MLP
- 六、TensorFlow 和 Keras 中的 RNN
- 七、TensorFlow 和 Keras 中的用于时间序列数据的 RNN
- 八、TensorFlow 和 Keras 中的用于文本数据的 RNN
- 九、TensorFlow 和 Keras 中的 CNN
- 十、TensorFlow 和 Keras 中的自编码器
- 十一、TF 服务:生产中的 TensorFlow 模型
- 十二、迁移学习和预训练模型
- 十三、深度强化学习
- 十四、生成对抗网络
- 十五、TensorFlow 集群的分布式模型
- 十六、移动和嵌入式平台上的 TensorFlow 模型
- 十七、R 中的 TensorFlow 和 Keras
- 十八、调试 TensorFlow 模型
- 十九、张量处理单元
- TensorFlow 机器学习秘籍中文第二版
- 一、TensorFlow 入门
- 二、TensorFlow 的方式
- 三、线性回归
- 四、支持向量机
- 五、最近邻方法
- 六、神经网络
- 七、自然语言处理
- 八、卷积神经网络
- 九、循环神经网络
- 十、将 TensorFlow 投入生产
- 十一、更多 TensorFlow
- 与 TensorFlow 的初次接触
- 前言
- 1. TensorFlow 基础知识
- 2. TensorFlow 中的线性回归
- 3. TensorFlow 中的聚类
- 4. TensorFlow 中的单层神经网络
- 5. TensorFlow 中的多层神经网络
- 6. 并行
- 后记
- TensorFlow 学习指南
- 一、基础
- 二、线性模型
- 三、学习
- 四、分布式
- TensorFlow Rager 教程
- 一、如何使用 TensorFlow Eager 构建简单的神经网络
- 二、在 Eager 模式中使用指标
- 三、如何保存和恢复训练模型
- 四、文本序列到 TFRecords
- 五、如何将原始图片数据转换为 TFRecords
- 六、如何使用 TensorFlow Eager 从 TFRecords 批量读取数据
- 七、使用 TensorFlow Eager 构建用于情感识别的卷积神经网络(CNN)
- 八、用于 TensorFlow Eager 序列分类的动态循坏神经网络
- 九、用于 TensorFlow Eager 时间序列回归的递归神经网络
- TensorFlow 高效编程
- 图嵌入综述:问题,技术与应用
- 一、引言
- 三、图嵌入的问题设定
- 四、图嵌入技术
- 基于边重构的优化问题
- 应用
- 基于深度学习的推荐系统:综述和新视角
- 引言
- 基于深度学习的推荐:最先进的技术
- 基于卷积神经网络的推荐
- 关于卷积神经网络我们理解了什么
- 第1章概论
- 第2章多层网络
- 2.1.4生成对抗网络
- 2.2.1最近ConvNets演变中的关键架构
- 2.2.2走向ConvNet不变性
- 2.3时空卷积网络
- 第3章了解ConvNets构建块
- 3.2整改
- 3.3规范化
- 3.4汇集
- 第四章现状
- 4.2打开问题
- 参考
- 机器学习超级复习笔记
- Python 迁移学习实用指南
- 零、前言
- 一、机器学习基础
- 二、深度学习基础
- 三、了解深度学习架构
- 四、迁移学习基础
- 五、释放迁移学习的力量
- 六、图像识别与分类
- 七、文本文件分类
- 八、音频事件识别与分类
- 九、DeepDream
- 十、自动图像字幕生成器
- 十一、图像着色
- 面向计算机视觉的深度学习
- 零、前言
- 一、入门
- 二、图像分类
- 三、图像检索
- 四、对象检测
- 五、语义分割
- 六、相似性学习
- 七、图像字幕
- 八、生成模型
- 九、视频分类
- 十、部署
- 深度学习快速参考
- 零、前言
- 一、深度学习的基础
- 二、使用深度学习解决回归问题
- 三、使用 TensorBoard 监控网络训练
- 四、使用深度学习解决二分类问题
- 五、使用 Keras 解决多分类问题
- 六、超参数优化
- 七、从头开始训练 CNN
- 八、将预训练的 CNN 用于迁移学习
- 九、从头开始训练 RNN
- 十、使用词嵌入从头开始训练 LSTM
- 十一、训练 Seq2Seq 模型
- 十二、深度强化学习
- 十三、生成对抗网络
- TensorFlow 2.0 快速入门指南
- 零、前言
- 第 1 部分:TensorFlow 2.00 Alpha 简介
- 一、TensorFlow 2 简介
- 二、Keras:TensorFlow 2 的高级 API
- 三、TensorFlow 2 和 ANN 技术
- 第 2 部分:TensorFlow 2.00 Alpha 中的监督和无监督学习
- 四、TensorFlow 2 和监督机器学习
- 五、TensorFlow 2 和无监督学习
- 第 3 部分:TensorFlow 2.00 Alpha 的神经网络应用
- 六、使用 TensorFlow 2 识别图像
- 七、TensorFlow 2 和神经风格迁移
- 八、TensorFlow 2 和循环神经网络
- 九、TensorFlow 估计器和 TensorFlow HUB
- 十、从 tf1.12 转换为 tf2
- TensorFlow 入门
- 零、前言
- 一、TensorFlow 基本概念
- 二、TensorFlow 数学运算
- 三、机器学习入门
- 四、神经网络简介
- 五、深度学习
- 六、TensorFlow GPU 编程和服务
- TensorFlow 卷积神经网络实用指南
- 零、前言
- 一、TensorFlow 的设置和介绍
- 二、深度学习和卷积神经网络
- 三、TensorFlow 中的图像分类
- 四、目标检测与分割
- 五、VGG,Inception,ResNet 和 MobileNets
- 六、自编码器,变分自编码器和生成对抗网络
- 七、迁移学习
- 八、机器学习最佳实践和故障排除
- 九、大规模训练
- 十、参考文献