推荐系统论文:AdaMML: Adaptive Multi-Modal Learning for Efficient Video Recognition

  • 摘要:

        在本文中,我们提出了一种名为 AdaMML 的自适应多模态学习框架,它能根据输入条件为每个片段即时选择最佳模态,从而实现高效的视频识别。 具体来说,给定一个视频片段后,多模态策略网络将用于决定识别模型应使用哪些模态进行处理,从而达到提高准确率和效率的目的。我们使用标准的反向传播技术对策略网络和识别模型进行了有效的联合训练。在四个具有挑战性的不同数据集上进行的广泛实验表明,与不考虑输入而使用所有模态的传统基线方法相比,我们提出的自适应方法可减少 35% - 55% 的计算量,同时准确率也比最先进的方法持续提高。

  • 引言:

        视频包含丰富的多种模式: RGB 帧、运动(光流)和音频。因此,侧重于利用各种模式来提高视频识别模型性能的多模式学习近年来备受关注。尽管取得了令人鼓舞的进展,但在现实世界中,视频未经修剪,时间跨度长达数分钟甚至数小时,多模态学习在计算上变得不切实际。在长视频中,一些模式往往会为动作类别的识别提供无关/多余的信息。因此,利用所有输入模式的信息可能会适得其反,因为在长视频中,有信息的模式往往会被无信息的模式所淹没。此外,有些模态比其他模态需要更多的计算量,因此选择性能良好、成本较低的模态可以大大节省计算量,从而提高视频识别效率。

  • Tip:

        视频的RGB帧:指的是通过RGB(红、绿、蓝)颜色通道来表示的图像帧。在一个视频中,每一帧都由像素组成,每个像素都包含了红、绿、蓝三个颜色通道的数值。这些数值决定了每个像素点的颜色和亮度。通过组合红、绿、蓝三个颜色通道的数值,我们可以得到各种各样的颜色。例如,当红色和绿色通道的数值都为最大值(255),而蓝色通道的数值为最小值(0),就会得到黄色。在每一帧中,RGB帧描述了图像中的颜色和亮度信息,从而形成了视频的可视化效果。

        视频的光流:指在连续的视频帧中,像素的运动方向和速度。光流可以用来描述视频中的物体移动、相机运动以及其他运动现象。通过计算两个连续帧之间像素的亮度变化,可以估计出光流的方向和大小。光流在计算机视觉领域中被广泛应用于动作检测、目标跟踪、三维重建等任务中。

        图 1 中的视频由视频中八个均匀采样的视频片段组成。我们会问:要识别这段视频中的 “割草 ”动作,是否所有片段都需要 RGB 和音频流?答案显而易见:不是,只有在第三段和第六段中,割草机在移动时才有相关音频,因此我们需要这两个视频片段的 RGB 和音频流来提高模型识别正确动作的可信度,而其余片段可以只用一种模式处理,甚至跳过(例如第一段和最后一段视频),而不会损失任何准确性,因此与使用两种模式处理所有片段相比,可以节省大量计算量。因此,与常用的多模态学习 “一刀切 ”方案不同,我们希望每个输入片段都能单独做出这些决定,从而为不同的视频带来不同的计算量。基于这种直觉,我们提出了一种高效视频识别的新视角,即在识别复杂动作时,按每个片段自适应地选择输入模式。

         在本文中,我们提出了 AdaMML,这是一种新颖的可微分方法,用于学习决策策略,根据输入条件选择最佳模式,以实现高效视频识别。具体来说,我们的主要想法是学习一个模型(称为多模态策略网络),该模型可按每个片段输出使用或跳过每种模态的所有二元决策的后验概率。由于这些决策函数是离散和不可分的,因此我们采用高效的 Gumbel-Softmax 采样方法 [22],通过标准的反向传播来共同学习决策策略和网络参数,而无需像 [57, 58] 那样进行复杂的强化学习。我们设计的目标函数既能达到视频识别所需的竞争性能,又能提高效率。我们证明,通过轻量级策略网络自适应地选择输入模态,不仅能显著节省计算量(例如,在 Kinetics-Sounds [2] 和 ActivityNet [6] 上,与简单使用所有模态的加权融合基线相比,分别减少了约 47.3% 和 35.2% 的 GFLOPS),而且与最先进的方法相比,准确率也得到了持续提高。

  • 相关工作:

        我们的工作涉及三个主要研究方向:高效视频识别、多模态学习和自适应计算。

  • 高效的视频识别:

        视频识别是计算机视觉领域近期最活跃的研究领域之一。在深度神经网络中,视频识别通常由二维神经网络或或三维神经网络完成。具体来说,高效识别方法主要集中在设计新的轻量级架构,或选择突出帧/片段。我们的方法与后者最为相关,后者侧重于视频的条件计算,与用于识别视频的网络架构无关。具有代表性的方法通常使用强化学习 (RL) 策略梯度或音频来选择相关视频帧。最近,LiteEval 提出了一种从粗到细的框架,使用二进制门来选择粗或细的特征。与现有研究不同的是,我们提出的方法侧重于视频的多模态特性,并能自适应地为每个输入实例选择合适的模态,以识别长视频中的复杂动作。此外,我们的框架是完全可微分的,因此比复杂的 RL 策略梯度更容易训练 。

  • 多模态学习:

        多模态学习已经从多个角度进行了研究,例如融合多种模态决策进行分类的双流网络,以及将一种模态作为输入并对另一种模态进行预测的跨模态学习。最近的研究成果解决了多模态网络中的联合训练问题,而不像我们目前的方法那样,针对给定的输入样本决定侧重哪种模态。我们提出的 AdaMML 框架还与之前在联合外观和运动建模方面的工作有关,这些工作的重点是结合 RGB 和光流。通过神经架构搜索设计不同的融合方案也是多模态学习的最新趋势。相比之下,我们提出了一个针对具体实例的通用框架,用于自动为每个片段选择正确的模式,以实现高效的视频识别。

  • 自适应计算:

        最近提出了许多自适应计算方法,目的是提高计算效率。BlockDrop可以在推理过程中动态选择每个样本要执行的层,而 GaterNet 则提出了一种门控网络,用于学习主网络的通道二进制门。通道门控网络可识别特征中对分类结果贡献较小的区域,并跳过对这些无效区域的输入通道子集的计算。SpotTune可针对不同任务,通过微调或预训练层学习自适应信息路由。文献[34, 15]介绍了自适应选择不同区域进行快速物体检测的方法。虽然我们的方法受到了这些方法的启发,但在本文中,我们的目标是为每个输入实例自适应地选择最佳模式,以提高视频识别的效率。

  • 方法:

        给定一个包含K个输入模态\left \{ M_{1}, M_{2},..., M_{K} \right \}的片段序列\left \{ s_{1},s_{2},...,s_{T} \right \}的视频V,我们的目标是寻求一个自适应的多模态选择策略,决定每个片段应该使用什么输入模态以提高准确率,同时考虑到视频识别的计算效率。

  • 方法概述:

        由于潜在配置的数量会随着视频片段和模式的数量呈指数级增长,因此将寻找最佳多模式选择策略的任务视为搜索问题很快就会变得难以解决。我们开发了一个策略网络,其中包含一个非常轻量级的联合特征提取器和一个 LSTM 模块,可为每个输入的每个片段输出一个二进制策略向量,代表是保留还是放弃某个输入模态,以实现高效的多模态学习,而不是手工制作选择。

        在训练过程中,策略网络与识别网络采用 Gumbel-Softmax 抽样进行联合训练。测试时,首先将输入视频片段输入策略网络,由其输出决定对给定片段使用的正确模态,然后将选定的输入模态路由到识别网络中的相应子网络,生成片段级预测。最后,网络将所有分段级预测的平均值作为视频级预测。请注意,与识别模型相比,轻量级策略网络(本例中为 MobileNetv2 )产生的额外计算成本可以忽略不计。

  •  学习型自适应多模态策略:
  • 多模态策略网络:

        该策略网络包含一个轻量级的联合特征提取器和一个LSTM模块,用于模拟视频中不同时间步之间的因果关系。具体来说,在第t个时间步长,LSTM接受当前视频段s_{t},先前隐藏的状态h_{t-1}、单元输出o_{t-1}以及联合特征f_{t}来计算当前隐藏状态h_{t}和单元状态o_{t}.

         给定隐藏状态后,策略网络会估算出每种模态的策略分布,并通过 Gumbel-Softmax 运算采样表示是否在时间步长 t 选择模态k 的二进制决策\left ( U={\left \{ u_t,k \right \}}_{l\leq T,k\leq K} \right ),如下所述。做出决定后,我们会将当前分段转发到相应的子网络,以获得分段级预测,并将所有分段级预测平均,从而生成输入视频的视频级预测。

  • 使用 Gumbel-Softmax 采样进行训练:

        AdaMML 对每个输入段的每种模态做出跳过或使用的决定。然而,由于策略是离散的,因此网络是不可分的,因此难以用标准的反向传播方法进行优化。解决这一问题的方法之一是将优化转换为强化学习问题,然后利用策略梯度法得出策略网络的最优参数 。然而,RL 策略梯度通常比较复杂,训练起来不方便,而且需要一些技术来减少训练过程中的方差,而且在许多应用中收敛速度较慢 。作为一种替代方案,本文采用 Gumbel-Softmax 采样来解决这种不可分性,并能以高效的方式直接优化离散策略。

        Gumbel-Softmax 技巧是一种简单有效的方法,可以用相应的 Gumbel-Softmax 分布的可变样本取代离散分布的原始不可变样本。具体来说,在每个时间步长 t,我们首先通过每个模态的全连接层z_{k}=FC_{k}(h_{t},\theta _{FC_{k}})为每个模态从隐藏状态h_{t}生成logitsz_{k}\epsilon \mathbb{R}^{2}(即模态k的策略网络输出分数)然后使用Gumbel - Max从分类分布中提取离散样本为:

         其中,G_{i,k}=-log(-logU_{i,k})是标准的Gumbel 分布,U_{i,k}从均匀独立同分布(0,1)中采样。由于方程 2 中 arg max 运算的无差别特性,Gumbel-Softmax 分布被用作 arg max 的连续松弛。因此,从 Gumbel-Softmax 分布采样可以让我们从离散样本反向传播到策略网络。\hat{P_{k}}代表one-hot向量。"one-hot向量" 是指只有一个元素为1,其余元素都为0的向量。在机器学习和自然语言处理等领域中,one-hot向量常被用来表示离散的分类或标签。假设有一个类别集合,其中包含n个不同的类别。那么一个one-hot向量的长度就是n,每个类别对应向量中的一个位置。例如,对于一个有3个类别的集合 {A, B, C},对应的one-hot向量可以分别表示为:A: [1, 0, 0] B: [0, 1, 0] C: [0, 0, 1]。然后使用softmax将one - hot编码松弛为实值向量Pk:

         其中,i\epsilon \left \{ 0,1 \right \},k\epsilon \left [ 1,...,K \right ],\tau就是一个参数,用于控制P_{k}的离散性,当\lim_{\tau \rightarrow +\infty }P_{k}收敛到均匀分布时,\lim_{\tau \rightarrow 0 }P_{k}成为单热向量。更具体地说,当\tau接近0的时候,来自Gumbel Softmax 分布的样本变得与离散分布无异(即几乎与单热向量相同)。总之,在前向传递过程中,我们使用公式 2 对策略进行采样;在后向传递过程中,我们通过计算公式 3 中连续 Softmax 松弛的梯度来近似离散采样的梯度。

  • 损失函数:

        令\Theta =\left \{ \theta _{\phi },\theta _{LSTM },\theta _{FC_{1}},...\theta _{FC_{k}},\theta _{\psi _{1}},..,\theta _{\psi _{k}} \right \}表示框架中可训练的总参数,其中\theta _{\phi }\theta _{LSTM}分别代表策略网络中使用的联合特征提取器和 LSTM 的参数。\theta _{FC_{1}},...\theta _{FC_{k}}代表从LSTM隐藏状态生成策略对数的全连接层的参数,\theta _{\psi _{1}},..,\theta _{\psi _{k}}代表为识别视频而联合训练的 K 个子网络的参数。在训练过程中,我们会尽量减少以下损失,以提高预测的正确率,并尽量减少选择需要更多计算的模式。

        其中,P(V;\Theta )和y表示训练视频样本V的预测和one - hot编码的真实标签,\lambda _{k}表示处理第k个模态的相关成本。U_{k}表示第k个模态的决策策略,C_{k}=(\frac{\left | U_{k} \right |_{0}}{C})^{2}表示当预测结果正确时,在全部 C 个视频片段中选择第 k 种模式的片段比例。用\gamma来表示预测错误,其中,\lambda _{k}来控制效率和准确性之间的权衡。我们利用这些参数来改变模型的工作点,从而根据目标预算约束训练出不同的模型。等式 4 的第一部分代表了衡量分类质量的标准交叉熵损失,而第二部分则驱动网络学习一种策略,以选择在识别视频时计算效率更高的模式(例如,处理 RGB 帧比处理音频流需要更多的计算)。

  •  实验:

  • 实验装置:
  • 数据库:

        Kinetics-Sounds:是 Kinetics的一个子集,包含 22521 个训练视频和 1532 个测试视频,涉及 31 个动作类别。

        ActivityNet-v1.3:包含 10024 个训练视频和 4926 个验证视频,涉及 200 个动作类别。

        FCVID:有 45611 个用于训练的视频和 45612 个用于测试的视频,涉及 239 个类别。

        Mini-Sports1M:是完整的 Sports1M 数据集的一个子集,在训练中每类包含 30 个视频,在测试中每类包含 10 个视频,共有 487 个动作类别。

  • 数据输入:

        对于音频,我们使用一个1通道的音频频谱图作为输入( 256 × 256 ,即1.28秒音频段)。值得注意的是,由于计算光流是非常昂贵的,我们使用RGB帧差作为代理,在我们的策略网络中进行流,并在需要时计算流。对于RGB帧间差分,我们采用光流中类似的方法,通过简单地计算帧间差分,使用一个输入片段15 × 8 × 224 × 224。对于策略网络,我们进一步对非音频模态的输入数据进行子采样,例如,RGB输入变为4 × 160 × 160。

  • 实施细节:

        在识别网络方面,我们对 RGB 和流模式使用类似 TSN 的 ResNet-50,对音频模式使用 MobileNetV2。我们只需对每种模式的预测结果应用可学习权重进行后期融合,即可获得最终预测结果。我们在策略网络中使用 MobileNetV2 提取所有模态的特征,然后应用两个维度为 2,048 的额外 FC 层,将所有模态的特征串联起来作为联合特征。LSTM 的隐藏维度设置为 256。我们在 LSTM 输出上使用 K 个并行 FC 层,为每种模态生成二元决策策略。在策略网络和识别网络中处理 RGB + 音频的计算成本分别为 0.76 和 14.52 GFLOPs。

  • 训练细节:

        在策略学习过程中,我们发现在随机初始化策略的情况下,同时优化准确性和效率是无效的。因此,我们使用单模态模型(使用 ImageNet 权重进行训练)对策略网络进行固定,并对识别网络进行 5 个历时的 “热身”,从而为策略学习提供一个良好的起点。然后,我们交替训练策略网络和识别网络 20 个历元,再用固定的策略网络微调识别网络 10 个历元。为了进行公平比较,我们对所有基线(包括我们的方法)使用相同的初始化和训练历元总数。在所有实验中,我们在训练过程中使用 5 个视频片段(C 设置为 5)。我们使用 Adam 作为策略网络,使用 SGD作为识别网络。我们将初始温度 τ 设为 5,并在训练过程中逐渐退火至 0,如文献 [22] 所述。此外,在测试时,我们使用退火计划中与训练历时相对应的相同温度 τ。权重衰减设为 0.0001,SGD 中的动量为 0.9。λk 设为模式间计算负荷的比率,γ 为 10。更多实现细节和源代码见附录。我们将公开我们的源代码和模型。

  • 基线:

        我们将我们的方法与以下基线和现有方法进行比较。首先,我们考虑单模态基线,即使用每种模态分别训练识别模型。其次,我们将其与联合训练基线(称为 “加权融合”)进行比较,后者通过可学习的权重进行后期融合,简单地使用所有模态(而不是为每个输入选择最佳模态)。这可以作为一个非常强大的分类基线,但代价是繁重的计算。最后,我们将我们的方法与现有的高效视频识别方法进行比较,包括 FrameGlimpse、FastForward 、AdaFrame 、LiteEval  和 ListenToLook 。

  • 评价指标:

        我们通过计算视频级mAP (平均平均精度)或top - 1准确率( 10个224 × 224中心裁剪均匀采样段的平均预测)来衡量不同方法的整体性能。我们还报告了平均选择率,计算为策略网络在测试集中选择的模态中的总段数的百分比,以显示我们提出的方法中的自适应模态选择。我们使用千兆浮点运算( GFLOPs )来衡量计算成本,这是一个与硬件无关的指标。

  • 主要结果:
  • 与加权融合基线对比:

 

  •  与现有方法的比较:

        

  • 总结:

            消融实验等去原文自行观看。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值