Unsupervised Learning of Video Representations using LSTMs
TL;DR 精炼摘要
本研究提出了一种利用多层长短期记忆(LSTM)网络进行视频表示无监督学习的方法。模型通过编码器LSTM将视频序列映射为固定长度表示,并利用解码器LSTM进行任务处理,如重建和预测。实验证明这些表示在UCF-101和HMDB-51人类动作识别任务中提升了分类准确率,尤其在少量训练样本情况下表现优异。
摘要
We use multilayer Long Short Term Memory (LSTM) networks to learn representations of video sequences. Our model uses an encoder LSTM to map an input sequence into a fixed length representation. This representation is decoded using single or multiple decoder LSTMs to perform different tasks, such as reconstructing the input sequence, or predicting the future sequence. We experiment with two kinds of input sequences - patches of image pixels and high-level representations ("percepts") of video frames extracted using a pretrained convolutional net. We explore different design choices such as whether the decoder LSTMs should condition on the generated output. We analyze the outputs of the model qualitatively to see how well the model can extrapolate the learned video representation into the future and into the past. We try to visualize and interpret the learned features. We stress test the model by running it on longer time scales and on out-of-domain data. We further evaluate the representations by finetuning them for a supervised learning problem - human action recognition on the UCF-101 and HMDB-51 datasets. We show that the representations help improve classification accuracy, especially when there are only a few training examples. Even models pretrained on unrelated datasets (300 hours of YouTube videos) can help action recognition performance.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
Unsupervised Learning of Video Representations using LSTMs (使用 LSTM 进行视频表示的无监督学习)
1.2. 作者
Nitish Srivastava、Elman Mansimov、Ruslan Salakhutdinov。他们都隶属于加拿大多伦多大学。
1.3. 发表期刊/会议
该论文发布于 arXiv 预印本平台,发布时间为 2015 年 2 月 16 日。arXiv 是一个开放获取的预印本服务器,允许研究人员在同行评审之前分享其研究成果,在机器学习和人工智能领域具有重要影响力。
1.4. 发表年份
2015年
1.5. 摘要
本研究利用多层长短期记忆 (Long Short Term Memory, LSTM) 网络学习视频序列的表示。模型采用一个编码器 LSTM 将输入序列映射为固定长度的表示。这个表示随后由单个或多个解码器 LSTM 进行解码,以执行不同的任务,例如重建输入序列或预测未来序列。作者实验了两种输入序列:图像像素块 (patches of image pixels) 和使用预训练卷积网络提取的视频帧高级表示(“感知” percepts)。研究探索了不同的设计选择,例如解码器 LSTM 是否应条件化于生成的输出。作者通过定性分析模型的输出,评估其在未来和过去方向上外推所学视频表示的能力,并尝试可视化和解释学习到的特征。模型通过在更长时间尺度和域外数据上运行进行压力测试。此外,作者通过对表示进行微调 (finetuning) 来评估其在监督学习任务中的效果——在 UCF-101 和 HMDB-51 数据集上进行人类动作识别 (human action recognition)。结果表明,这些表示有助于提高分类准确性,尤其是在训练样本较少的情况下。即使是在不相关数据集(300 小时的 YouTube 视频)上预训练的模型也能提升动作识别性能。
1.6. 原文链接
原文链接:https://arxiv.org/abs/1502.04681 PDF 链接:https://arxiv.org/pdf/1502.04681v3.pdf 发布状态:预印本 (Preprint)
2. 整体概括
2.1. 研究背景与动机
2.1.1. 视频理解的重要性
理解时间序列 (temporal sequences) 对于解决人工智能领域的许多问题至关重要。视频作为一种丰富且信息量巨大的视觉数据源,可以被视为了解我们所处世界物理规律的窗口,它展示了物体构成、物体如何相对于背景移动、摄像机移动的影响以及遮挡现象。
2.1.2. 现有监督学习方法的局限性
尽管监督学习在学习优秀的视觉表示方面取得了巨大成功,并且这些表示能够很好地迁移到其他任务和数据集,但将相同的方法扩展到视频表示学习面临挑战。视频是比单张图像更高维的实体,这使得进行信用分配 (credit assignment) 和学习长程结构变得越来越困难。为了克服这些困难,通常需要收集更多的标注数据或进行大量的特征工程(例如计算合适的流特征)来降低维度。然而,收集大量标注数据成本高昂,而繁琐的特征工程在解决特定问题时虽然有效,但作为一种机器学习解决方案,这最终是不令人满意的。
2.1.3. 无监督学习的需求与优势
这凸显了使用无监督学习来发现和表示视频中结构的需求。视频中包含大量的结构(空间和时间规律性),这使得它们特别适合作为构建无监督学习模型的领域。无监督学习能够利用大量未标注的视频数据,自动学习有用的特征表示,从而避免了对昂贵标注数据的依赖,并可能发现人工难以发现的模式。
2.1.4. 创新思路
本文的切入点是应用和扩展序列到序列 (sequence-to-sequence) 学习框架到视频领域,特别是在无监督设置下,仅通过未标注视频数据集进行学习。通过结合 LSTM 强大的时间序列建模能力和编码器-解码器架构,模型旨在学习视频的内在表示,这些表示既能捕捉外观信息,又能捕捉运动信息。
2.2. 核心贡献/主要发现
2.2.1. 提出了基于 LSTM 的视频表示无监督学习模型
本文提出了基于多层 LSTM 的编码器-解码器架构,用于无监督学习视频序列的表示。模型可以执行多种任务,包括重建输入序列和预测未来序列。
2.2.2. 探索了多种模型变体和输入类型
研究实验了两种类型的输入:图像像素块 (image patches) 和通过预训练卷积网络提取的高级视觉特征(“感知” percepts)。同时,探索了不同的设计选择,包括解码器 LSTM 是否条件化于生成的输出。
2.2.3. 定性分析与特征可视化
通过定性分析模型的输出,展示了模型在 MNIST 数据集上能够分离重叠数字、准确预测反弹运动,并在自然图像块上实现更锐利的重建。同时,可视化了学习到的特征,揭示了输入层和输出层特征的不同特性。
2.2.4. 定量评估视频表示的有效性
通过在 UCF-101 和 HMDB-51 数据集上进行人类动作识别任务的微调,定量评估了无监督学习获得的视频表示的有效性。
- 提升分类准确性: 结果表明,这些表示有助于提高分类准确性,尤其是在训练样本较少的情况下。
- 跨数据集泛化: 即使是在不相关的大型数据集(300 小时的 YouTube 视频)上预训练的模型,也能有效提升动作识别性能。
- 复合模型性能最优: 复合模型(结合了自编码器和未来预测任务)在预测未来和下游监督任务中的表现优于单一任务模型。
2.2.5. 泛化能力和鲁棒性测试
对模型进行了压力测试,包括在比训练时更长的时间尺度上运行(例如,预测 100 步未来)和处理域外数据(例如,训练时看到两个数字,测试时看到一个或三个数字),验证了模型的泛化能力和一定的鲁棒性。
3. 预备知识与相关工作
3.1. 基础概念
3.1.1. 循环神经网络 (Recurrent Neural Networks, RNNs)
RNN 是一种专门用于处理序列数据的神经网络。与传统神经网络不同,RNN 具有内部循环,允许信息在网络中持久存在,从而使其能够捕捉时间依赖性。在每个时间步,RNN 接收当前输入和前一时间步的隐藏状态,并输出当前隐藏状态,该隐藏状态可以传递到下一个时间步。
3.1.2. 长短期记忆网络 (Long Short-Term Memory, LSTM)
LSTM 是一种特殊类型的 RNN,旨在解决传统 RNN 中梯度消失 (vanishing gradient) 和梯度爆炸 (exploding gradient) 的问题,使其能够学习和记忆长期依赖关系。它通过引入门控机制(输入门、遗忘门、输出门)和细胞状态 (cell state) 来实现这一点。
3.1.3. 编码器-解码器架构 (Encoder-Decoder Architecture)
编码器-解码器架构是一种常用的序列到序列 (sequence-to-sequence) 模型结构,特别适用于机器翻译、文本摘要和语音识别等任务。
- 编码器 (Encoder): 接收一个输入序列,并将其压缩成一个固定长度的向量表示(也称为上下文向量或隐藏状态)。这个向量被认为是输入序列的语义摘要。
- 解码器 (Decoder): 接收编码器生成的固定长度向量,并逐步生成一个输出序列。
3.2. 前人工作
3.2.1. 传统无监督视频表示学习
早期的无监督视频表示学习方法包括:
- 独立成分分析 (Independent Component Analysis, ICA): 例如 van Hateren & Ruderman (1998) 和 Hurri & Hyvärinen (2003) 的工作,通过学习将信号分解为统计独立的非高斯成分来提取特征。
- 独立子空间分析 (Independent Subspace Analysis): Le et al. (2011) 使用多层独立子空间分析模块来处理这个问题。
- 生成模型 (Generative Models): Memisevic (2013) 和 Memisevic & Hinton (2010) 等研究关注理解连续图像对之间的变换。Michalski et al. (2014) 将此工作扩展到更长的序列。
3.2.2. 基于 RNN/LSTM 的序列学习
- 监督序列学习任务: LSTM 架构在各种监督序列学习任务中取得了成功,如语音识别 (Graves & Jaitly, 2014)、机器翻译 (Sutskever et al., 2014; Cho et al., 2014) 和图像字幕生成 (Vinyals et al., 2014)。
- 视频领域的应用: LSTM 也被应用于视频,用于识别动作和生成自然语言描述 (Donahue et al., 2014)。
- 通用序列到序列学习框架: Sutskever et al. (2014) 描述了一个通用的序列到序列学习框架,其中一个循环网络用于编码序列,另一个用于解码序列。本文的工作正是基于并扩展了这一框架来学习图像序列的表示。
3.2.3. 视频生成模型
Ranzato et al. (2014) 提出了一种用于视频的生成模型,该模型使用循环神经网络预测下一帧或在帧之间进行插值。他们强调了选择正确损失函数的重要性,并指出输入空间中的平方损失 (squared loss) 可能不是一个好的目标函数,因为它对输入空间中的微小失真不敏感。他们提出的解决方案是将图像块量化为大型字典,并训练模型预测目标块的身份。然而,这引入了任意的字典大小,并削弱了块之间相似性或不相似性的概念。本文则选择从简单的平方损失函数开始,重点关注设计一个能与任何损失函数配合使用的编码器-解码器 RNN 架构。
3.3. 技术演进
从传统的基于统计和信号处理的方法(如 ICA)到深度学习的出现,特别是卷积神经网络 (CNN) 在图像领域的成功,以及循环神经网络 (RNN) 及其变体 LSTM 在序列数据处理上的突破,视频表示学习的范式一直在演进。
- 从手工特征到端到端学习: 早期方法依赖手工设计的特征和浅层模型。随着深度学习的兴起,CNN 和 RNN 使得从原始数据中学习高级特征成为可能。
- 从静态图像到动态视频: 3D 卷积网络 (Ji et al., 2013; Tran et al., 2014) 和各种时间融合策略 (Karpathy et al., 2014) 的出现,标志着将图像领域的成功经验扩展到视频领域。
- 从监督到无监督: 鉴于视频数据的高维度和标注成本,无监督学习逐渐成为一个重要的研究方向,本文正是这一趋势的体现。
3.4. 差异化分析
本文方法与相关工作的核心区别和创新点在于:
- 无监督学习视频表示: 不同于大多数监督学习或部分无监督但目标较单一(如仅预测下一帧)的方法,本文专注于使用 LSTM 编码器-解码器架构,在完全无监督的设置下学习通用的视频表示。
- 复合任务设计: 引入了复合模型 (Composite Model),将输入序列重建和未来序列预测两个任务结合起来。这有助于克服单一任务的局限性(例如,自编码器可能学习到琐碎的恒等映射,而未来预测器可能只关注短时依赖)。
- 多样化输入探索: 不仅使用了原始像素块,还使用了来自预训练 CNN 的高级“感知”特征作为输入,探索了不同抽象层次的表示学习。
- 下游任务验证: 通过在动作识别等监督任务上进行微调,定量验证了无监督学习所获得的表示的有效性和迁移能力,特别是在数据稀缺场景下的优势。
4. 方法论
本文提出了一种基于 LSTM 的编码器-解码器模型,用于无监督地学习视频序列的表示。模型的核心思想是利用 LSTM 处理时间序列数据的能力,通过重建输入序列或预测未来序列来迫使模型学习有用的视频特征。
4.1. LSTM 单元
本文使用的 LSTM 单元实现 closely follows Graves (2013)。每个 LSTM 单元包含一个细胞状态 (cell state) 作为记忆单元。对该记忆单元的访问和修改由三个门 (gates) 控制:
-
输入门 (input gate) :控制有多少新的信息流入细胞状态。
-
遗忘门 (forget gate) :控制细胞状态中保留多少旧信息。
-
输出门 (output gate) :控制细胞状态有多少信息暴露给隐藏状态 (hidden state) 。
LSTM 单元在每个时间步的操作如下:
-
输入源: 接收两个外部输入:当前帧 和同一层所有 LSTM 单元的前一隐藏状态 。
-
窥孔连接 (Peephole Connections): 每个门还接收其自身细胞状态 作为内部输入。
-
信息融合: 来自不同源的输入与偏置项相加。
-
门激活: 门的总输入通过逻辑 Sigmoid 函数 激活,产生介于 0 和 1 之间的值。
-
候选细胞状态: 输入终端的总输入通过
tanh非线性函数,并与输入门的激活值相乘,形成新的候选信息。 -
细胞状态更新: 旧的细胞状态 与遗忘门的激活值相乘(决定保留多少旧信息),然后加上新的候选信息(决定添加多少新信息),得到新的细胞状态 。
-
输出计算: 最终的输出 是通过将更新后的细胞状态 经过
tanh非线性函数,再与输出门的激活值相乘得到。这些更新操作的数学总结如下:
-
: 输入门 (input gate) 在时间步 的激活向量。
-
: 遗忘门 (forget gate) 在时间步 的激活向量。
-
: 细胞状态 (cell state) 在时间步 的向量。
-
: 输出门 (output gate) 在时间步 的激活向量。
-
: 隐藏状态 (hidden state) 或输出向量在时间步 的向量。
-
: 当前时间步 的输入向量。
-
: 上一时间步
t-1的隐藏状态向量。 -
: 上一时间步
t-1的细胞状态向量。 -
: 输入 到输入门、遗忘门、细胞候选状态和输出门的权重矩阵。
-
: 隐藏状态 到输入门、遗忘门、细胞候选状态和输出门的权重矩阵。
-
: 窥孔连接权重矩阵,连接 或 到门。这些矩阵是对角线矩阵。
-
: 对应门的偏置向量。
-
: Sigmoid 激活函数,通常用于门控(将值压缩到 0 到 1 之间)。
-
: 双曲正切激活函数,用于缩放值到 -1 到 1 之间。
关键优势: LSTM 单元相比传统 RNN 单元的关键优势在于其细胞状态能够对活动进行时间上的累加。由于导数可以分布在求和操作上,误差导数在反向传播回时间时不会迅速消失。这使得 LSTM 能够更容易地在长序列上进行信用分配,并发现长程特征。
4.2. LSTM 自编码器模型 (LSTM Autoencoder Model)
该模型使用 LSTM 单元构建的循环神经网络 (RNN) 进行无监督学习。它由两个主要部分组成:编码器 LSTM 和解码器 LSTM。
该图像是LSTM自编码器模型的示意图,展示了如何通过编码器LSTM对输入视频序列进行学习,生成固定长度的表示,并通过解码器LSTM重构输入序列或预测未来序列。图中标出了学习到的表示和权重矩阵和的连接关系。
以下是原文 Figure 2 的模型示意图:
工作流程:
- 编码器 LSTM (Encoder LSTM): 接收一个输入序列(例如,视频帧序列 )。它逐帧读取序列,其内部隐藏状态不断更新,直到读取完最后一个输入帧。
- 学习到的表示 (Learned Representation): 编码器 LSTM 在读取完最后一个输入后,其最终的隐藏状态(或细胞状态)被视为输入视频序列的固定长度表示。
- 解码器 LSTM (Decoder LSTM): 接收这个固定长度的表示,并被要求重构目标序列。
- 目标序列: 在自编码器模型中,目标序列是输入序列本身,但通常是逆序的。例如,如果输入序列是 ,解码器将尝试生成 。
- 逆序重建的动机: 逆序目标序列使得优化过程更容易,因为模型可以通过关注短程相关性来起步。这类似于 LISP 语言中列表的表示方式:编码器通过
cons函数构建列表,解码器通过car和cdr函数解构列表,第一个输出元素对应于最后一个输入元素。
解码器类型: 解码器可以是两种类型:
-
条件解码器 (Conditional Decoder): 接收前一个时间步生成的输出作为当前时间步的输入。图 2 中的虚线输入表示这种情况。
-
非条件解码器 (Unconditioned Decoder): 不接收前一个时间步生成的输出作为输入,仅依赖于编码器学到的表示来生成序列。
多层架构: 模型可以通过堆叠多个 LSTM 层来扩展,形成多层 LSTM 自编码器。
为何能学习到好的特征:
- 编码器 LSTM 在读取完所有输入后的状态,就是输入视频的表示。
- 解码器 LSTM 需要从这个表示中重建输入序列。为了成功完成重建,这个表示必须包含关于物体外观、背景以及视频中包含的运动的所有必要信息。
- 防止学习恒等映射:
- 固定数量的隐藏单元: 隐藏单元数量固定,使得模型难以学习任意长度输入序列的琐碎恒等映射。
- 递归解码: 解码器递归地使用相同的 LSTM 操作解码表示。这意味着相同的动态过程必须应用于解码的每个阶段,这进一步阻止了模型学习简单的恒等映射。
4.3. LSTM 未来预测模型 (LSTM Future Predictor Model)
未来预测是序列无监督学习的另一个自然任务,类似于语言模型中预测单词序列的方式。
该图像是示意图,展示了LSTM未来预测模型的工作流程。图中展示了输入序列 的映射过程,以及如何生成学习到的表示(Learned Representation),并通过权重 和 连接到未来序列的预测 。箭头表示信息流动的方向,同时包含了复制操作以加强模型的预测能力。
以下是原文 Figure 3 的模型示意图:
工作流程:
- 设计与自编码器模型相同: 未来预测模型的设计与自编码器模型相同,也包含一个编码器 LSTM 和一个解码器 LSTM。
- 目标序列: 不同之处在于,解码器 LSTM 预测的是输入序列之后的未来视频帧。例如,如果输入序列是 ,解码器将尝试预测 。
- 与 Ranzato et al. (2014) 的区别: Ranzato et al. (2014) 的模型在每个时间步只预测下一帧,而本文的模型则预测一个较长的未来序列。
解码器类型: 同样,解码器可以是条件解码器或非条件解码器。
为何能学习到好的特征:
- 为了正确预测接下来的几帧,模型需要关于哪些物体和背景存在以及它们如何移动的信息,以便能够外推运动。
- 编码器输出的隐藏状态将尝试捕捉这些信息。因此,这个状态可以被视为输入序列的表示。
4.4. 条件解码器 (Conditional Decoder)
对于自编码器模型和未来预测模型,都可以选择使用条件解码器或非条件解码器。
支持条件解码器的论点:
- 建模多模态分布: 条件解码器允许模型在目标序列分布中建模多个模态。如果没有条件解码器,在低层输入空间中,模型会倾向于对多个模态进行平均。
- 对于未来预测: 对于 LSTM 未来预测器,给定一个输入,可能存在多种合理的未来。条件解码器能够更好地处理这种固有的不确定性(即使假设宇宙是确定性的,模型也不一定能观察到预测未来所需的一切)。
反对条件解码器的论点(优化角度):
- 短程相关性问题: 视频数据中存在很强的短程相关性(例如,一帧的大部分内容与前一帧相同)。如果在训练时,解码器在生成某一帧时可以访问前几帧,它会很容易地利用这些短程相关性,导致模型可能不会深入到编码器中去寻找长程信息。
- 梯度消失问题: 这样一来,只有非常小的梯度会尝试修复需要关于输入序列长期知识的极其细微的错误。
- 非条件解码器的优势: 在非条件解码器中,移除了这种对前一帧的直接依赖,迫使模型深入编码器中寻找更深层次、更丰富的长期信息。
4.5. 复合模型 (Composite Model)
复合模型结合了重建输入序列和预测未来序列这两个任务。
该图像是示意图,展示了多层LSTM模型在视频序列中的应用。图中显示了输入帧序列如何经过编码生成“学习的表示”,随后被解码为重建输入序列和未来帧的预测。不同的权重矩阵(, , )连接了输入与输出,并且指向不同的预测输出,分别对应于输入重构和未来预测的过程。
以下是原文 Figure 4 的模型示意图:
工作流程:
- 共享编码器: 编码器 LSTM 负责生成一个单一的表示状态。
- 双解码器: 这个表示状态随后被两个不同的解码器 LSTM 使用:
- 一个解码器用于重建输入序列。
- 另一个解码器用于预测未来序列。
为何能学习到好的特征(克服单一模型的缺点):
- 克服自编码器的局限性: 单独的自编码器,如果容量很高,可能会倾向于学习只是简单记忆输入的琐碎表示。然而,这种记忆对于预测未来是完全无用的。因此,复合模型不能仅仅通过记忆信息来取得成功。
- 克服未来预测器的局限性: 单独的未来预测器可能倾向于只存储关于最近几帧的信息,因为这些信息对于预测未来最重要(例如,为了预测 ,帧 比 更重要,其中 是一个小值)。因此,编码器末端的表示可能会遗忘输入的大部分信息。但是,如果模型被要求同时预测整个输入序列,它就不能只关注最近的几帧。
- 综合优势: 通过结合这两个任务,复合模型被强制学习一个更全面、更鲁棒的视频表示,这个表示既包含足以重建整个输入序列的信息,也包含足以准确预测未来运动和外观的信息。
4.6. 输入表示
本文实验了两种类型的输入来训练模型:
- 图像像素块 (Image Patches): 直接使用原始图像的像素块作为输入。作者使用了自然图像块和移动 MNIST 数字数据集上的图像块。
- 高级表示(“感知” percepts): 通过使用在 ImageNet 上预训练的卷积网络提取的高级特征。这些“感知”是卷积神经网络模型中最后(和/或倒数第二)层矫正线性隐藏状态 (rectified linear hidden states) 的输出。例如,本文使用了 4096 维的
fc6层输出作为输入表示。
5. 实验设置
5.1. 数据集
5.1.1. UCF-101
- 描述: 包含 13,320 个视频,平均时长 6.2 秒,涵盖 101 种不同的动作类别。
- 分割: 具有 3 个标准的训练/测试分割,每个训练集包含大约 9,500 个视频。
- 数据来源: (Soomro et al., 2012)
5.1.2. HMDB-51
- 描述: 包含 5100 个视频,涵盖 51 种不同的动作类别。视频平均时长 3.2 秒。
- 分割: 同样具有 3 个标准的训练/测试分割,训练集包含 3570 个视频。
- 数据来源: (Kuehne et al., 2011)
5.1.3. Sports-1M (用于无监督预训练)
- 描述: 包含 100 万个 YouTube 视频片段的数据集。
- 使用方式: 作者从该数据集中随机抽取了 300 小时的 10 秒视频片段用于无监督模型的训练。尽管该数据集带有动作标签,但由于物流限制,未在其上进行任何监督实验。
- 采样策略: 随机采样,避免引入人为偏差。
5.1.4. 移动 MNIST 数字 (Moving MNIST Digits)
- 描述: 一个无限大小的合成数据集,每个视频长 20 帧,包含两个数字在一个 区域内移动。数字随机选择,初始位置随机,速度方向和大小随机。数字会从边缘反弹,并可能相互重叠。
- 优势: 无限大,可即时生成,避免了昂贵的磁盘访问和过拟合问题。包含遮挡和反弹动力学等有趣行为。
5.1.5. 数据预处理与输入类型
- 原始视频分辨率: ,帧率接近 30 帧/秒。
- RGB 感知 (RGB Percepts): 从每帧中提取中心 的图像块,并通过 Simonyan & Zisserman (2014b) 的卷积网络模型进行处理。
- 光流感知 (Flow Percepts): 对于 UCF-101 数据集,使用 Brox 方法提取光流,并通过 Simonyan & Zisserman (2014a) 描述的时间流卷积网络进行训练。
- 特征选择: 发现
fc6层特征(4096 维)在单帧分类中优于fc7层特征,因此将其用作数据输入表示。 - 像素块输入: 此外,模型也在 像素块上进行训练。
5.2. 评估指标
5.2.1. 交叉熵 (Cross Entropy)
交叉熵是衡量两个概率分布之间差异的指标,常用于分类任务中。在本文中,用于 MNIST 数字数据集上的未来预测评估。
- 概念定义: 交叉熵衡量了模型预测的概率分布与真实标签的概率分布之间的相似度。它量化了在给定真实分布的情况下,使用模型预测分布编码事件所需的平均比特数。交叉熵值越小,模型预测的概率分布与真实分布越接近。
- 数学公式: 对于分类任务,给定真实标签 和模型预测概率 ,二分类交叉熵公式为: 对于多分类任务(例如 C 类),公式为:
- 符号解释:
- : 样本总数。
- : 类别总数。
- : 第 个样本的真实标签(对于二分类,通常为 0 或 1)。
- : 第 个样本在第 个类别上的真实标签(one-hot 编码,如果样本属于类别 ,则为 1,否则为 0)。
- : 第 个样本预测为正类的概率(二分类)。
- : 第 个样本预测为第 个类别的概率。
- : 自然对数。
5.2.2. 均方误差 (Squared Loss / Mean Squared Error, MSE)
均方误差衡量了预测值与真实值之间差异的平方的平均值。在本文中,用于自然图像块上的未来预测评估。
- 概念定义: 均方误差是回归任务中常用的损失函数,它量化了预测值与实际值之间差异的程度。误差的平方能够惩罚较大的偏差,并使得损失函数可微。
- 数学公式: 给定真实值 和预测值 ,MSE 公式为:
- 符号解释:
- : 样本总数。
- : 第 个样本的真实值。
- : 第 个样本的预测值。
5.2.3. 分类准确率 (Classification Accuracy)
分类准确率是衡量分类模型性能最直观的指标,表示模型正确预测的样本比例。在本文中,用于动作识别任务。
- 概念定义: 分类准确率是指模型正确分类的样本数量占总样本数量的比例。它提供了模型整体性能的概览。
- 数学公式:
- 符号解释:
- Number of Correct Predictions: 模型正确预测的样本数量。
- Total Number of Predictions: 总的预测样本数量。
5.3. 对比基线
5.3.1. 无监督学习模型对比
- 自编码器 (Autoencoder): 仅进行输入序列重建任务的模型。
- 未来预测器 (Future Predictor): 仅进行未来序列预测任务的模型。
- 复合模型 (Composite Model): 结合了自编码器和未来预测任务的模型。
- 条件变体 (Conditional Variants): 上述模型中,解码器条件化于前一时间步生成输出的版本。
5.3.2. 监督任务基线
- 单帧分类器 (Single Frame Classifier): 使用逻辑回归 (logistic regression) 基于单帧进行分类。
- 基线 LSTM 分类器 (Baseline LSTM Classifier): 相同的 LSTM 分类器,但权重是随机初始化的。这是一个强有力的基线,通过使用 dropout 正则化进行训练。
5.3.3. 最先进的动作识别模型 (State-of-the-Art Action Recognition Models)
在与最先进的模型进行比较时,本文提到了以下几类方法:
- 仅使用 RGB 数据的方法:
Spatial Convolutional Net(Simonyan & Zisserman, 2014a)C3D(Tran et al., 2014) - 3D 卷积网络LRCN(Donahue et al., 2014) - 结合了 CNN 和 LSTM
- 仅使用光流特征的方法:
Temporal Convolutional Net(Simonyan & Zisserman, 2014a)
- 同时使用 RGB 和光流的方法:
Two-stream Convolutional Net(Simonyan & Zisserman, 2014a)Multi-skip feature stacking(Lan et al., 2014)
5.4. 训练细节
- 硬件: 所有模型都在单个 NVIDIA Titan GPU 上训练。
- 训练时间: 一个两层 2048 单元的复合模型,预测 13 帧未来并重建 16 帧输入,在 300 小时感知数据上收敛需要 18-20 小时。
- 权重初始化: 权重从均匀分布中采样,其尺度设置为 。所有门的偏置初始化为零。窥孔连接初始化为零。
- 监督分类器训练: 训练 16 帧的监督分类器需要 5-15 分钟收敛。
- 正则化: 所有分类器都使用了 dropout 正则化,其中在层间进行激活丢弃,但在同一个 LSTM 单元内不跨时间进行丢弃 (Zaremba et al., 2014)。
6. 实验结果与分析
6.1. 可视化和定性分析
6.1.1. MNIST 实验
- 模型设置: 单层和两层复合模型,每个 LSTM 单元 2048 个单元。编码器输入 10 帧,解码器重建这 10 帧并预测未来 10 帧。使用逻辑输出单元和交叉熵损失函数。
- 结果:
-
模型能够分离叠加的数字,即使它们相互穿过也能建模。这表明模型在某种程度上解耦了序列中两个独立的变异因素。
-
模型能够正确预测数字在碰到墙壁后反弹的运动。
-
增加深度(两层复合模型)有助于模型做出更好的预测。
-
条件未来预测器 (Conditional Future Predictor) 产生更清晰的预测。
该图像是一个示意图,展示了基于LSTM的模型在输入序列、输入重构、未来预测以及一层和两层组合模型中的效果。图中清晰地对比了模型的输入、重构输出与真实未来序列的对应关系。
-
以下是原文 Figure 5 的模型输出示例,展示了真实序列、一层复合模型和两层复合模型(包括条件未来预测器)的重建和未来预测结果。
6.1.2. 自然图像块实验
- 模型设置: 在 UCF-101 数据集中提取 的自然图像块进行训练。使用线性输出单元和平方误差损失函数。输入 16 帧,模型重建 16 帧并预测未来 13 帧。
- 结果:
-
初始的两层 2048 单元复合模型产生的重建和预测都非常模糊。
-
增大模型规模(4096 单元)后,重建效果变得更锐利。
该图像是一个示意图,展示了输入序列、输入重构及未来预测的结果,对比了使用2048和4096 LSTM单元的两层复合模型所生成的输出。
-
以下是原文 Figure 6 的模型输出示例,对比了使用 2048 和 4096 LSTM 单元的两层复合模型在自然图像块上的重建和未来预测结果。
6.1.3. 泛化到不同时间尺度
- 模型设置: 使用在移动 MNIST 数字上训练的一个隐藏层非条件复合模型(2048 个 LSTM 单元),训练时输入 10 帧,重建 10 帧并预测未来 10 帧。
- 压力测试: 让模型运行 100 步来预测未来。
- 结果:
-
模型能够在长时间内生成持续的运动。
-
尽管在约 15 帧后重建输出变得模糊,但运动本身相对保持良好。
-
对比随机初始化的未来预测器,其活动迅速收敛,输出完全模糊,这表明训练后的模型确实学习到了持续的周期性行为。
该图像是一个示意图,展示了训练后的未来预测器和随机初始化的未来预测器的输入门、遗忘门、输入、输出门、单元状态及输出的可视化。上半部分显示的是训练后的网络状态,而下半部分则是未经过训练的网络状态。
-
以下是原文 Figure 7 的模型活动模式图,展示了训练后的未来预测器(顶部)和随机初始化的未来预测器(底部)在长时间尺度上的活动,包括输入门、遗忘门、输入、输出门、细胞状态和最终输出。
6.1.4. 域外输入 (Out-of-Domain Inputs)
-
模型设置: 使用在两张移动数字序列上训练的模型,测试其处理一张或三张移动数字序列的能力。
-
结果:
- 单张移动数字: 模型表现良好,但会尝试“幻觉”出第二张数字,与第一张重叠。第二张数字在未来重建的末尾出现。
- 三张移动数字: 模型将数字融合为模糊团块,但在整体运动方面表现良好。
-
局限性: 这突出显示了以单次通过方式建模整个输入帧的关键缺点。为了建模具有可变数量对象的视频,可能需要带有注意力机制 (attention mechanism) 并且能够执行可变次数计算的模型。
该图像是一个示意图,展示了长短期记忆网络(LSTM)中不同的输入和门结构。图中显示了四种不同的状态:输入、输入门、遗忘门和输出门,分别以(a)、(b)、(c)、(d)标记。在这一网络中,输入用于控制信息的流动和处理。
以下是原文 Figure 10 的模型输出示例,展示了模型在处理一张和三张移动数字的域外输入时的重建和未来预测结果。
6.1.5. 特征可视化
- 编码器 LSTM 输入权重:
- 权重连接每个输入帧到编码器 LSTM,共四组权重(对应输入门、遗忘门、输出门和输入)。
- 许多特征看起来像细条纹,其他则像更高频率的条纹。高频特征可能有助于编码运动的方向和速度。
- 解码器 LSTM 输出特征:
- 对应连接 LSTM 输出单元到输出层的权重。
- 这些特征与输入特征在定性上有所不同:输出特征中有更多局部团块,而输入特征中很少。输出特征中像条纹的区域比输入特征中的短得多。
- 解释:
-
输入层: 模型需要从输入中获取关于运动(方向、速度)的信息,这需要精确的位置信息(细条纹)和速度信息(高频条纹)。
-
输出层: 在生成输出时,模型可能倾向于“对冲赌注”,避免在错误的位置进行过于锐利的预测而导致巨大损失。这解释了输出特征中团块更大的原因。
-
条纹长度: 输入中长条纹可能有助于通过多个特征进行粗编码,而输出中,模型可能不希望生成大于任何数字的特征,因为其他单元需要协同纠正。
该图像是输入序列重构和未来序列预测的示意图,左侧为输入重构(a),右侧为未来预测(b)。这展示了模型在视频表示学习中的输出效果。
-
以下是原文 Figure 9 的特征可视化,展示了连接到编码器 LSTM 的输入特征(左)和连接到解码器 LSTM 的输出特征(右)。
6.2. UCF-101/HMDB-51 动作识别
-
模型设置: 使用在 300 小时 YouTube 数据上训练的两层 2048 隐藏单元非条件复合模型(自编码 16 帧,预测未来 13 帧)。
-
分类器构建: 将该模型中学到的编码器 LSTM 权重初始化一个 LSTM 分类器。
-
分类器结构:
- 第二层 LSTM 的输出进入一个 softmax 分类器,对每个时间步执行的动作进行预测。
- 由于数据集中每个视频只执行一个动作,目标在每个时间步都是相同的。
- 测试时,对每个时间步的预测进行平均。
- 对于整个视频的预测,平均视频中所有 16 帧块(步长 8 帧)的预测结果。
-
基线: 随机初始化权重的相同 LSTM 分类器。所有分类器都使用 dropout 正则化。
该图像是示意图,展示了LSTM分类器的结构。图中显示了输入序列 如何通过两个不同的权重矩阵 和 映射到输出序列 。图中不同层之间的连接表示信息流动,提示了LSTM在处理时间序列数据时的能力。
以下是原文 Figure 11 的 LSTM 分类器示意图。
6.2.1. 少量训练样本下的性能
该图像是图表,展示了在 UCF-101 和 HMDB-51 数据集上,不同训练示例数量下的分类准确率。图中使用红色表示单帧模型,蓝色表示 LSTM 模型,绿色表示 LSTM 加预训练模型,标记的数据点和误差范围清晰展示了各模型在不同训练样本下的表现。
以下是原文 Figure 12 的图表,比较了单帧分类器、基线 LSTM 分类器和预训练复合 LSTM 模型在 UCF-101 数据集上,当每类标注视频数量变化时的性能。
- 结果分析:
- 显著提升: 在训练样本非常少的情况下,无监督学习带来了显著的性能提升。例如,在 UCF-101 上,当仅使用一个标注视频进行训练时,性能从 29.6% 提高到 34.3%。
- 数据量增加,提升减小: 随着标注数据集规模的增长,提升幅度变小,但仍然存在。
- 全面数据集提升: 对于完整的 UCF-101 数据集,性能从 74.5% 提高到 75.8%。在 HMDB-51 上,完整数据集的性能从 42.8% 提高到 44.0%,每类一个视频时从 14.4% 提高到 19.1%。
- 结论: 尽管通过无监督学习带来的分类改进不如预期那么大,但它在强大的基线上仍然带来了额外的改进。
6.2.2. 光流感知 (Flow Percepts) 上的实验
- 基线:
Temporal stream convolutional net(Simonyan & Zisserman, 2014b),在单帧光流和 10 帧光流栈上训练,准确率分别为 72.2% 和 77.5%。 - 本文模型:
-
输入 16 帧,重建并预测未来 13 帧。
-
具有 128 个隐藏单元的 LSTM 将单帧情况下的准确率提高了 2.1% 到 74.3%。更大的 LSTM 未能进一步提升结果。
-
通过预训练 LSTM,分类准确率进一步提高到 74.9% (±0.1)。
-
对于 10 帧栈,准确率略微提高到 77.7%。
以下是原文 Table 1 的结果总结,展示了在 UCF-101 和 HMDB-51 数据集上,不同模型(单帧、LSTM 分类器、复合 LSTM 模型+微调)使用 RGB 和 1 帧光流数据时的动作识别准确率。
Model UCF-101 RGB UCF-101 1-frame flow HMDB-51 RGB Single Frame 72.2 72.2 40.1 LSTM classifier 74.5 74.3 42.8 Composite LSTM Model + Finetuning 75.8 74.9 44.1
-
6.3. 不同模型变体的比较
6.3.1. 未来预测性能比较
- 评估指标: MNIST 上使用交叉熵,图像块上使用平方损失。
- 结果:
-
复合模型 (Composite Model) 在未来预测方面始终优于未来预测器 (Future Predictor)。这表明结合自编码器任务(强制模型记忆更多输入信息)确实有助于更好地预测未来。
-
条件模型 (Conditional Models) 的性能优于非条件模型,这与 MNIST 实验中的定性观察一致。
以下是原文 Table 2 的结果总结,展示了在 MNIST 和图像块数据集上,不同模型(未来预测器、复合模型及其条件变体)的未来预测性能(交叉熵或平方损失)。
Model Cross Entropy on MNIST Squared loss on image patches Future Predictor 350.2 225.2 Composite Model 344.9 210.7 Conditional Future Predictor 343.5 221.3 Composite Model with Conditional Future Predictor 341.2 208.1
-
6.3.2. 监督任务性能比较
- 评估指标: 动作识别准确率。
- 结果:
-
所有无监督模型都优于基线 LSTM(即使基线使用了 dropout 进行了良好正则化)。
-
自编码器模型 (Autoencoder) 的性能始终优于未来预测器 (Future Predictor)。
-
复合模型 (Composite Model) 结合了两者,表现优于任何单一模型。
-
解码器是否条件化于生成输出,似乎没有带来明显的优势,尽管带条件未来预测器的复合模型表现最好,但与非条件复合模型性能几乎相同。
以下是原文 Table 3 的结果总结,展示了在 UCF-101 和 HMDB-51 数据集上,不同无监督学习模型(及其变体)经过微调后的动作识别性能,包括在完整数据集和小型子集上的表现。
Method UCF-101 small UCF-101 HMDB-51 small HMDB-51 Baseline LSTM 63.7 74.5 25.3 42.8 Autoencoder 66.2 75.1 28.6 44.0 Future Predictor 64.9 74.9 27.3 43.1 Conditional Autoencoder 65.8 74.8 27.9 43.1 Conditional Future Predictor 65.1 74.9 27.4 43.4 Composite Model 67.0 75.8 29.1 44.1 Composite Model with Conditional Future Predictor 67.1 75.8 29.2 44.0
-
注:UCF-101 small 包含每类 8 个视频,HMDB-51 small 包含每类 4 个视频。
6.4. 与其他动作识别基准的比较
-
RGB 数据: 本文模型在 RGB 数据上的性能与最好的深度模型相当。比 LRCN 模型(也使用 CNN 特征之上的 LSTM)高 3%。比 C3D 特征(3D 卷积网络)表现更好。当 C3D 特征与
fc6感知特征拼接时,性能略优于本文模型。 -
光流特征: 对于光流特征,相较于随机初始化的 LSTM 网络,改进相对较小。这可能是因为光流感知本身已经捕获了大量的运动信息。
-
RGB 和光流结合: 结合 RGB 和光流模型的预测,UCF-101 上的准确率达到 84.3%。
以下是原文 Table 4 的结果总结,展示了本文模型与其他最先进动作识别模型在 UCF-101 和 HMDB-51 数据集上的比较结果。
Method UCF-101 HMDB-51 仅使用 RGB 数据 Spatial Convolutional Net (Simonyan & Zisserman, 2014a) 73.0 40.5 C3D (Tran et al., 2014) 72.3 - C3D + fc6 (Tran et al., 2014) 76.4 LRCN (Donahue et al., 2014) 71.1 - Composite LSTM Model 75.8 44.0 仅使用 Flow 数据 Temporal Convolutional Net (Simonyan & Zisserman, 2014a) 83.7 54.6 LRCN (Donahue et al., 2014) 77.0 Composite LSTM Model 77.7 RGB + Flow 组合 LRCN (Donahue et al., 2014) 82.9 - Two-stream Convolutional Net (Simonyan & Zisserman, 2014a) 88.0 59.4 Multi-skip feature stacking (Lan et al., 2014) 89.1 Composite LSTM Model 84.3 65.1 -
7. 总结与思考
7.1. 结论总结
本文提出了基于 LSTM 的模型,能够学习有效的视频表示。通过定性分析和可视化,揭示了模型学习到的特征的特性,例如在 MNIST 数据集上分离重叠数字和预测反弹运动的能力。在监督任务(动作识别)中,这些无监督学习的表示显著提高了分类准确率,尤其是在训练数据稀缺的情况下。复合模型(结合了自编码器和未来预测器)被证明是性能最佳的变体。尽管条件化于生成输出对监督任务的性能影响不大,但它能使未来预测结果看起来更清晰。模型展示了在远超训练时间尺度上持续生成运动的能力,尽管在训练时间尺度之后,精确的物体特征会迅速模糊。对输入和输出层特征的可视化也揭示了一些有趣的特性,例如在输入层需要精确的速度和位置信息,而在输出层为了避免巨大损失而倾向于生成更模糊的团块。
7.2. 局限性与未来工作
7.2.1. 局限性
- 域外数据处理: 模型在处理域外数据(例如,不同数量的移动数字)时,会尝试“幻觉”出未见过的对象或将多个对象融合。这表明模型在处理可变数量对象时存在局限性。
- 精确特征的持久性: 尽管模型可以长时间保持运动的连贯性,但在超出训练时间尺度后,它会迅速失去精确的物体特征。
- 像素级输入建模: 以单次通过方式建模整个输入帧存在限制,尤其是对于包含可变数量对象的视频。
7.2.2. 未来工作
- 卷积化应用: 建议通过在视频的不同图像块上进行卷积应用,并堆叠多层此类模型来进一步改进。
- 整合到 CNN 低层: 将此模型应用于卷积网络的较低层,以帮助提取在最大池化层中可能丢失的运动信息。
- 从底层构建自编码器: 计划从底层开始构建基于这些自编码器的模型,而不是仅仅将其应用于“感知”特征。
- 注意力机制: 对于具有可变数量对象的视频建模,可能需要引入注意力机制,并允许模型执行可变数量的计算。
7.3. 个人启发与批判
7.3.1. 个人启发
这篇论文在 2015 年就探索了使用 LSTM 进行无监督视频表示学习,这在当时是一个相对前沿的方向。其核心思想——通过设计自监督任务(重建输入和预测未来)来迫使模型学习有用的时间特征——至今仍然是无监督学习和自监督学习的重要范式。
- 自监督学习的强大潜力: 论文清晰展示了无监督预训练如何能在数据稀缺的监督任务中带来显著提升。这对于那些难以获取大量标注数据的领域具有重要指导意义。
- 复合损失函数的设计思想: 复合模型结合自编码器和未来预测的策略非常巧妙。它通过设计互补的任务,有效地防止了模型学习琐碎的表示,并强制模型同时捕捉视频的静态外观和动态运动信息。这种多任务学习的思路在当前深度学习中仍广泛应用。
- 对模型内部机理的探索: 论文不仅关注最终性能,还通过可视化和定性分析(如 MNIST 上的数字分离、反弹运动预测,以及特征可视化)来深入理解模型学习到了什么,这对于研究者理解和改进模型具有重要价值。
- 对时间依赖的捕捉: LSTM 作为处理时间序列的强大工具,在视频理解中的应用得到了很好的验证。它能够捕捉长程依赖,这对于理解视频中的复杂事件至关重要。
7.3.2. 批判
-
“感知”输入的局限性: 论文虽然使用了预训练 CNN 提取的
fc6感知特征作为输入,但这种“感知”本身是静态图像识别的产物。直接将它们输入到 LSTM 可能限制了模型从像素级别捕捉细微运动和时间信息的潜力。作者自己也提到了未来工作是“从底层构建自编码器”,这暗示了这种局限性。 -
平方损失的不足: 论文提到了 Ranzato et al. (2014) 对平方损失在视频生成中的批判(对微小失真不敏感)。尽管作者选择继续使用平方损失并专注于架构设计,但这仍然是一个潜在的改进点。更先进的感知损失 (perceptual loss) 或对抗性损失 (adversarial loss) 可能能生成更真实、更锐利的视频帧。
-
计算成本: 300 小时 YouTube 视频的训练时间(18-20 小时)在当时可能已经很高,而现在面对更大规模的视频数据集和更复杂的模型,计算效率仍然是一个挑战。
-
模型泛化性有待提升: 在域外数据(如不同数量的移动数字)上的表现表明,模型对训练数据的分布仍然敏感,缺乏对对象数量等高级语义的抽象和泛化能力。这可能需要更复杂的架构,如引入注意力机制或对象级别的表示。
-
与最先进模型的差距: 论文在动作识别任务上取得了不错的进展,但与当时和之后的双流网络 (Two-stream Convolutional Net) 等最先进模型相比仍有一定差距。这表明纯粹的序列到序列预测可能不足以捕捉所有对动作识别至关重要的时空特征。
总体而言,这篇论文为无监督视频表示学习奠定了重要基础,其思想和方法为后续研究提供了宝贵的见解。
相似论文推荐
基于向量语义检索推荐的相关论文。