没有合适的资源?快使用搜索试试~ 我知道了~
32020视频 Swin Transformer0刘泽 * 12 宁佳 � 13 曹越 1 † 魏一轩 14 张铮 1 林石 1 胡瀚 1 †01 微软亚洲研究院 2 中国科学技术大学 3 华中科技大学 4 清华大学0{ t-liuze,v-jianing,yuecao,t-yixuanwei,zhez,stevelin,hanhu } @microsoft.com0摘要0视觉社区正在从CNN向Transformer的建模转变,其中纯Transformer架构在主要视频识别基准上达到了最高准确性。这些视频模型都是基于在空间和时间维度上全局连接补丁的Transformer层构建的。在本文中,我们提倡在视频Transformer中引入归纳偏差,以实现更好的速度-准确性权衡,与先前的方法相比,即使在空间-时间分解的情况下,也可以全局计算自注意力。所提出的视频架构的局部性是通过调整用于图像领域的SwinTransformer实现的,同时继续利用预训练图像模型的能力。我们的方法在广泛的视频识别基准上实现了最先进的准确性,包括动作识别(在Kinetics-400上的84.9%top-1准确性和在Kinetics-600上的85.9%top-1准确性,使用约20倍较少的预训练数据和约3倍较小的模型尺寸)和时间建模(在Something-Something v2上的69.6%top-1准确性)。01. 引言0基于卷积的主干架构长期以来一直在计算机视觉中主导着视觉建模[14, 18, 22, 24, 32,33]。然而,目前在图像分类的主干架构上正在进行一种建模转变,从卷积神经网络(CNN)转向Transformer[8, 28,34]。这一趋势始于Vision Transformer(ViT)[8,34]的引入,ViT通过标准Transformer编码器在非重叠图像补丁上全局建模空间关系。ViT在图像上取得的巨大成功导致了对基于Transformer的视频识别任务的研究[1,3]。以前对于卷积模型,视频的主干架构是通过在时间轴上扩展建模来从图像简单地进行调整的。例如,3D卷积[35]是2D卷积在操作符级别上进行联合空间和时间建模的直接扩展。由于联合时空建模不经济或难以优化,因此提出了对空间和时间域进行分解以实现更好的速度-准确性权衡[30,41]。在基于Transformer的视频识别的初步尝试中,也采用了分解方法,通过分解编码器[1]或分解自注意力[1,3]。这已经被证明在不显著降低性能的情况下大大减小了模型尺寸。在本文中,我们提出了一种纯Transformer的视频识别主干架构,发现其在效率上超过了分解模型。它通过利用视频的固有时空局部性来实现这一点,其中在时空距离上彼此更接近的像素更有可能相关。由于这个属性,完全的时空自注意力可以通过在本地计算自注意力来很好地近似,从而节省了计算和模型尺寸。我们通过对Swin Transformer[28]进行时空适应来实现这种方法,SwinTransformer最近被引入为图像理解的通用视觉主干。SwinTransformer不仅具有空间局部性的归纳偏差,还具有层次结构和平移不变性的归纳偏差。我们的模型称为Video SwinTransformer,严格遵循原始SwinTransformer的层次结构,但将局部注意力计算的范围从仅空间域扩展到时空域。由于局部注意力是在非重叠窗口上计算的,因此原始Swin Transformer的移位窗口机制也被重新制定为处理时空输入。由于我们的架构是从SwinTransformer进行调整的,因此可以使用在大规模图像数据集上进行预训练的强大模型进行初始化。有趣的是,通过在ImageNet-21K上进行预训练的模型,我们发现主干架构的学习率需要更小(例如0.1×)0* 相等贡献。†相等指导。这项工作是在刘泽、宁佳和魏一轩实习期间在微软亚洲研究院完成的。0以往对于视频的主干架构是通过在图像上进行建模的方法,简单地通过在时间轴上扩展建模。例如,3D卷积[35]是2D卷积在操作符级别上进行联合空间和时间建模的直接扩展。由于联合时空建模不经济或难以优化,因此提出了对空间和时间域进行分解以实现更好的速度-准确性权衡[30,41]。在基于Transformer的视频识别的初步尝试中,也采用了分解方法,通过分解编码器[1]或分解自注意力[1,3]。这已经被证明在不显著降低性能的情况下大大减小了模型尺寸。在本文中,我们提出了一种纯Transformer的视频识别主干架构,发现其在效率上超过了分解模型。它通过利用视频的固有时空局部性来实现这一点,其中在时空距离上彼此更接近的像素更有可能相关。由于这个属性,完全的时空自注意力可以通过在本地计算自注意力来很好地近似,从而节省了计算和模型尺寸。我们通过对SwinTransformer[28]进行时空适应来实现这种方法,SwinTransformer最近被引入为图像理解的通用视觉主干。SwinTransformer不仅具有空间局部性的归纳偏差,还具有层次结构和平移不变性的归纳偏差。我们的模型称为Video SwinTransformer,严格遵循原始SwinTransformer的层次结构,但将局部注意力计算的范围从仅空间域扩展到时空域。由于局部注意力是在非重叠窗口上计算的,因此原始SwinTransformer的移位窗口机制也被重新制定为处理时空输入。由于我们的架构是从SwinTransformer进行调整的,因此可以使用在大规模图像数据集上进行预训练的强大模型进行初始化。有趣的是,通过在ImageNet-21K上进行预训练的模型,我们发现主干架构的学习率需要更小(例如0.1×)32030比头部的参数初始化更大,这是随机初始化的。因此,骨干网络在拟合新的视频输入时,会慢慢忘记预训练的参数和数据,导致更好的泛化能力。这一观察结果为进一步研究如何更好地利用预训练权重提供了方向。所提出的方法在动作识别的Kinetics-400/Kinetics-600和Something-Somethingv2的时间建模等视频识别任务上表现出强大的性能。对于视频动作识别,其在Kinetics-400上的84.9%的top-1准确率和在Kinetics-600上的85.9%的top-1准确率略高于先前的最先进结果(ViViT[1]),分别提高了+0.1个百分点,同时模型尺寸更小(Swin-L为200.0M参数,ViViT-H为647.5M参数)和更小的预训练数据集(ImageNet-21K vs.JFT-300M)。对于SSv2的时间建模,它获得了69.6%的top-1准确率,比先前的最先进结果(MViT[9])提高了+0.9个百分点。02. 相关工作0CNN和变种在计算机视觉中,卷积网络长期以来一直是骨干架构的标准。对于3D建模,C3D[35]是一项开创性的工作,它设计了一个11层深的网络,使用3D卷积。I3D [5]的研究揭示了将InceptionV1中的2D卷积扩展为3D卷积,并使用ImageNet预训练权重进行初始化,在大规模的Kinetics数据集上取得了良好的结果。在P3D [30]、S3D [41]和R(2+1)D[37]中,发现将空间和时间卷积解耦会比原始的3D卷积具有更好的速度-准确性权衡。基于卷积的方法的潜力受到卷积运算符的小感受野的限制。通过自我注意机制,感受野可以通过更少的参数和更低的计算成本扩大,从而提高视觉Transformer在视频识别中的性能。0自注意力/Transformer来补充CNNs NLNet[40]是第一个采用自注意力来模拟像素级长程依赖性的视觉识别任务的工作。GCNet[4]提出了一个观察结果,即NLNet的准确性改进主要归因于其全局上下文建模,因此它将NL块简化为一个轻量级的全局上下文块,其在性能上与NLNet相当,但参数更少,计算量更小。相反,DNL[43]试图通过一个分离的设计来缓解这个退化问题,该设计允许为不同的像素学习不同的上下文,同时保留共享的全局上下文。所有这些方法为CNNs提供了一个补充组件,用于建模长程依赖性。在我们的工作中,我们展示了一个纯Transformer的方法更充分地0捕捉了自注意力的力量,从而实现了卓越的性能。0视觉Transformer最近,从CNNs到Transformer的骨干架构在计算机视觉中发生了转变,这始于Vision Transformer (ViT) [8,34]。这项开创性的工作引发了随后的研究,旨在提高其效用。DeiT[34]整合了几种训练策略,使得ViT在使用较小的ImageNet-1K数据集时也能有效。Swin Transformer[28]进一步引入了局部性、层次性和平移不变性的归纳偏差,使其能够成为各种图像识别任务的通用骨干。图像Transformer的巨大成功导致了对基于Transformer的视频识别任务的架构的研究[1, 3, 9, 25, 29]。VTN[29]提出在预训练的ViT之上添加一个时间注意编码器,从而在视频动作识别上获得良好的性能。TimeSformer[3]研究了五种不同的时空注意力变体,并建议使用分解的时空注意力来实现强大的速度-准确性权衡。ViViT[1]研究了四种分解设计的空间和时间注意力,用于预训练的ViT模型,并提出了与VTN类似的架构,在Kinetics数据集上实现了最先进的性能。MViT[9]是一个从头开始训练的多尺度视觉Transformer,通过对时空建模进行注意力池化,减少了计算量,从而在SSv2上取得了最先进的结果。所有这些研究都是基于全局自注意力模块的。在本文中,我们首先研究了时空局部性,然后经验性地展示了具有时空局部性偏差的视频SwinTransformer在各种视频识别任务上超越了所有其他视觉Transformer的性能。03. Video Swin Transformer03.1. 总体架构0所提出的Video SwinTransformer的总体架构如图2所示,图中展示了其微小版本(Swin-T)。输入视频的大小定义为T×H×W×3,由T帧组成,每帧包含H×W×3个像素。在Video SwinTransformer中,我们将大小为2×4×4×3的每个3D补丁视为一个标记。因此,3D补丁分区层获得T个3D令牌,每个补丁/令牌由96维特征组成。然后,应用线性嵌入层将每个令牌的特征投影到由C表示的任意维度。根据之前的研究[11, 12, 30,41],我们不沿时间维度进行下采样。这使我们能够严格遵循原始Swin Transformer[28]的分层架构,该架构由四个阶段组成,并在补丁合并中进行2×空间下采样04个3D令牌,每个补丁/令牌由96维特征组成。然后,应用线性嵌入层将每个令牌的特征投影到由C表示的任意维度。根据之前的研究[11, 12, 30,41],我们不沿时间维度进行下采样。这使我们能够严格遵循原始Swin Transformer[28]的分层架构,该架构由四个阶段组成,并在补丁合并中进行2×空间下采样we straightforwardly extend this design to process videoinput.Given a video composed of T ′×H′×W ′ 3D to-kens and a 3D window size of P×M×M, the windowsare arranged to evenly partition the video input in a non-overlapping manner.That is, the input tokens are parti-secutive layers, the self-attention module in the first layeruses the regular window partition strategy such that we ob-ˆzl = 3DW-MSA�LN�zl−1��+ zl−1,zl = FFN�LN�ˆzl��+ ˆzl,ˆzl+1 = 3DSW-MSA�LN�zl��+ zl,zl+1 = FFN LN ˆzl+1+ ˆzl+1,(1)32040LN03D W-MSA0MLP0LN0LN03D SW-MSA0MLP0LN0图1. 两个连续的Video Swin Transformer块的示意图。0每个阶段的每个层。补丁合并层将每组2×2空间相邻补丁的特征连接起来,并应用线性层将连接的特征投影到其维度的一半。例如,第二阶段的线性层将每个标记的4C维特征投影到2C维。架构的主要组成部分是Video SwinTransformer块,它通过将标准Transformer层中的多头自注意力(MSA)模块替换为基于3D移位窗口的多头自注意力模块(在第3.2节中介绍)并保持其他组件不变来构建。具体而言,视频变换器块由一个基于3D移位窗口的MSA模块和一个前馈网络组成,具体而言,是一个具有GELU非线性的2层MLP。在每个MSA模块和FFN之前应用层归一化(LN),并在每个模块之后应用残差连接。Video SwinTransformer块的计算公式如公式(1)所示。03.2. 基于3D移位窗口的MSA模块0与图像相比,视频需要更多的输入标记来表示,因为视频还具有时间维度。因此,全局自注意力模块对于视频任务来说是不合适的,因为这将导致巨大的计算和内存成本。在这里,我们遵循SwinTransformer的做法,为自注意力模块引入了局部归纳偏差,后来证明对于视频识别是有效的。0非重叠的3D窗口上的多头自注意力非重叠的2D窗口上的多头自注意力(MSA)机制已被证明对于图像识别既有效又高效。在这里,0M �非重叠的3D窗口。例如,如图3所示,对于输入大小为8×8×8个标记和窗口大小为4×4×4的情况,第l层中的窗口数将为2×2×2=8。并且在每个3D窗口内执行多头自注意力。03D移位窗口由于多头自注意力机制应用于每个非重叠的3D窗口内,不同窗口之间缺乏连接,这可能限制了架构的表示能力。因此,我们将SwinTransformer的移位2D窗口机制扩展到3D窗口,以引入跨窗口连接,同时保持基于非重叠窗口的自注意力的高效计算。假设输入的3D令牌数为T'×H'×W'0M �个非重叠的3D窗口。对于第二层的自注意力模块,窗口划分配置沿着时间、高度和宽度轴平移 ( P02)个标记,与前一层的自注意力模块不同。我们在图3中用一个示例进行说明。输入尺寸为8 × 8 × 8,窗口尺寸为 4 × 4 × 4。第 l 层采用常规窗口划分,第 l 层的窗口数量为 2 ×2 × 2 = 8。对于第 l + 1 层,窗口沿着 ( P02 )=(2, 2, 2)个标记,窗口数量变为 3 × 3 × 3 =27。尽管窗口数量增加了,但可以按照[28]中的平移配置进行高效的批处理计算,从而计算的最终窗口数量仍为8。通过平移窗口划分方法,两个连续的视频SwinTransformer块的计算方式为0其中 ˆ z l 和 z l 分别表示块 l的3D(S)W-MSA模块和FFN模块的输出特征;3DW-MSA和3DSW-MSA分别表示基于3D窗口的多头自注意力,使用常规和平移窗口划分配置。2262d + B)V,(2)32050视频0视频SwinTransformer0块0线性嵌入0视频SwinTransformer0块0块合并0视频SwinTransformer0块0块合并0视频SwinTransformer0块0块合并0阶段1 阶段2 阶段3 阶段403D块划分0图2. 视频Swin Transformer的整体架构(迷你版本,简称Swin-T)。0图3. 3D平移窗口的示例说明。输入尺寸 T' × H' × W' 为 8 × 8 × 8,3D窗口尺寸 P × M × M 为 4 × 4 × 4。第 l 层采用常规窗口划分,第 l 层的窗口数量为 2 × 2 × 2 = 8。对于第 l + 1 层,窗口沿着 ( P02 )=(2, 2, 2)个标记,窗口数量变为 3 × 3 × 3 =27。尽管窗口数量增加了,但可以按照[28]中的平移配置进行高效的批处理计算,从而计算的最终窗口数量仍为 8。0与图像识别类似[28],这种3D平移窗口设计在前一层的非重叠3D窗口之间引入了连接。这在后续的视频识别任务中被证明是有效的,例如在Kinetics400/600上的动作识别和在SSv2上的时间建模。03D相对位置偏置之前的许多研究[2,31]表明,注意力计算中引入相对位置偏置是有益的。016 , 17 , 31]研究表明,在自注意力计算中,为每个头部引入相对位置偏置可能是有利的。因此,我们按照[28]的方法,为每个头部引入3D相对位置偏置 B ∈ R P 2 × M 2 × M 2。0注意力( Q, K, V )= SoftMax( QK T / √0其中 Q, K, V ∈ R P M 2 × d 是查询、键和值矩阵;d是查询和键特征的维度,PM 2是3D窗口中的标记数量。由于每个轴上的相对位置范围为 [-P + 1 , P - 1 ](时间轴)或 [ -M + 1 , M - 1](高度或宽度轴),我们使用较小尺寸的偏置矩阵 ˆ B ∈0R(2P-1)×(2M-1)×(2M-1),B中的值取自ˆB。03.3. 架构变体0根据[28],我们介绍了四个不同版本的Video SwinTransformer。这些模型变体的架构超参数如下:0• Swin-T: C = 96,层数 = {2, 2, 6, 2}0• Swin-S: C = 96,层数 = {2, 2, 18, 2}0• Swin-B: C = 128,层数 = {2, 2, 18, 2}0• Swin-L: C = 192,层数 = {2, 2, 18, 2}0其中C表示第一阶段隐藏层的通道数。这四个版本分别是基础模型大小和计算复杂度的0.25倍、0.5倍、1倍和2倍。默认情况下,窗口大小设置为P = 8和M =7。每个头的查询维度为d =32,每个MLP的扩展层设置为α = 4。320603.4. 从预训练模型初始化0由于我们的架构是从Swin Transformer[28]进行调整的,因此我们的模型可以通过其在大规模数据集上的强预训练模型进行初始化。与原始的SwinTransformer相比,Video SwinTransformers中只有两个构建块具有不同的形状,即第一阶段的线性嵌入层和Video SwinTransformer块中的相对位置偏差。对于我们的模型,输入令牌被扩展到时间维度为2,因此线性嵌入层的形状从原始Swin的48×C变为96×C。在这里,我们直接将预训练模型的权重复制两次,然后将整个矩阵乘以0.5,以保持输出的均值和方差不变。相对位置偏差矩阵的形状为(2P-1,2M-1,2M-1),而原始Swin的形状为(2M-1,2M-1)。为了使每个帧内的相对位置偏差相同,我们将预训练模型中的矩阵复制2P-1次,以获得初始化的形状为(2P-1,2M-1,2M-1)的矩阵。04. 实验04.1. 设置0数据集对于人体动作识别,我们采用了广泛使用的Kinetics[20]数据集的两个版本,Kinetics-400和Kinetics-600。Kinetics-400(K400)包含约240k个训练视频和20k个验证视频,涵盖400个人体动作类别。Kinetics-600(K600)是K400的扩展,包含约370k个训练视频和28.3k个验证视频,涵盖600个人体动作类别。对于时间建模,我们使用了流行的Something-SomethingV2(SSv2)[13]数据集,该数据集包含168.9k个训练视频和24.7k个验证视频,涵盖174个类别。对于所有方法,我们按照先前的方法报告top-1和top-5的识别准确率。0实现细节对于K400和K600,我们使用AdamW[21]优化器进行30个时期的训练,使用余弦衰减学习率调度程序和2.5个时期的线性预热。使用批量大小为64。由于骨干网络是从预训练模型初始化的,但头部是随机初始化的,我们发现将骨干网络的学习率乘以0.1可以提高性能(在表7中显示)。具体而言,ImageNet预训练骨干网络和随机初始化头部的初始学习率分别设置为3e-5和3e-4。除非另有说明,对于所有模型变体,我们从每个完整长度视频中采样32帧的剪辑,使用时间步长为2和空间大小为224×224,结果为16×56×56的输入3D令牌。根据[28],对于更大的模型,采用逐渐增加的随机深度[19]和权重衰减,即0.1、0.1、0.3的随机深度率和0.02、0.02、0.05的权重衰减。0分别为Swin-T、Swin-S和Swin-B的权重衰减。对于推理,我们遵循[1]的方法,使用4×3个视图,其中一个视频在时间维度上均匀采样为4个剪辑,对于每个剪辑,较短的空间边缘被缩放为224像素,并且我们采取3个大小为224×224的裁剪,覆盖较长的空间轴。最终得分是所有视图上得分的平均值。对于从头开始训练的实验,我们采用[9]的代码库,并遵循其设置和超参数,使用时间维度为8的Swintiny进行训练。我们还报告了使用测试视图5×1的准确性。对于SSv2,我们使用AdamW[21]优化器进行更长时间的训练,共60个时期,其中2.5个时期进行线性预热。批量大小、学习率和权重衰减与Kinetics相同。我们遵循[9]的方法,采用更强的数据增强,包括标签平滑、Ran-dAugment[7]和随机擦除[44]。我们还采用随机深度[19],比例为0.4。与[9]一样,我们使用在Kinetics-400上预训练的模型作为初始化,并使用时间维度为16的窗口大小。对于推理,最终得分是1×3个视图的平均得分。04.2. 与最先进方法的比较0Kinetics-400表1展示了与最先进的骨干网络的比较,包括基于卷积和基于Transformer的网络在Kinetics-400上的表现。与没有大规模预训练的最先进视觉Transformer相比,具有ImageNet-1K预训练的Swin-S在类似计算成本下实现了稍微更好的性能,超过了从头开始训练的MViT-B(32×3)[9]。与最先进的卷积网络X3D-XXL[11]相比,Swin-S在类似的计算成本和更少的视图下也取得了更好的性能。对于Swin-B,ImageNet-21K预训练相比从头开始在ImageNet-1K上训练带来了2.1%的提升。通过ImageNet-21K预训练,我们的Swin-L(384↑)在类似的计算成本下,比ViViT-L(320)在top-1准确率上提高了3.6%。相比于ViViT-H(JFT-300M)在一个显著较小的数据集(ImageNet-21K)上进行预训练,我们的Swin-L(384↑)在K400上实现了84.9%的最先进性能。为了与MViT[9]进行公平比较,我们从头开始训练了Swin-T,没有改变超参数。我们的方法与MViT[9]取得了竞争性的结果,但我们注意到从头开始训练需要200个epoch,使用两次重复增强[15],这比我们的微调设置需要的训练时间多约13.3倍。0Kinetics-600在K600上的结果如表2所示。K600的观察结果与K400类似。与具有ImageNet-21K预训练的最先进方法相比,我们的Swin-L(384 ↑)超过了ViViT-L(320)R(2+1)D [37]-72.090.010 × 17561.8I3D [6]ImageNet-1K72.190.3-10825.0NL I3D-101 [40]ImageNet-1K77.793.310 × 335961.8ip-CSN-152 [36]-77.892.810 × 310932.8TPN-R101 [42]ImageNet-1K78.993.9-374-CorrNet-101 [39]-79.2-10 × 3224-SlowFast R101+NL [12]-79.893.910 × 323459.9X3D-XXL [11]-80.494.610 × 314420.3MViT-S [9]-76.092.15 × 132.926.1MViT-B, 32×3 [9]-80.294.45 × 117036.6MViT-B, 64×3 [9]-81.295.13 × 345536.6TimeSformer-L [3]ImageNet-21K80.794.71 × 32380121.4ViT-B-VTN [29]ImageNet-21K78.693.71 × 1421811.04ViViT-L/16x2 [1]ImageNet-21K80.694.74 × 31446310.8ViViT-L/16x2 320 [1]ImageNet-21K81.394.74 × 33992310.8ip-CSN-152 [36]IG-65M82.595.310 × 310932.8ViViT-L/16x2 [1]JFT-300M82.895.54 × 31446310.8ViViT-L/16x2 320 [1]JFT-300M83.595.54 × 33992310.8ViViT-H/16x2 [1]JFT-300M84.895.84 × 3≈ 2800647.5Swin-T (T’=8,P=8)-76.692.55 × 14428.2Swin-TImageNet-1K78.893.64 × 38828.2Swin-SImageNet-1K80.694.54 × 316649.8Swin-BImageNet-1K80.694.64 × 328288.1Swin-BImageNet-21K82.795.54 × 328288.1Swin-LImageNet-21K83.195.94 × 3604197.0Swin-L (384↑)ImageNet-21K84.996.610 × 52107200.0SlowFast R101+NL [12]-81.895.110 × 323459.9X3D-XL [11]-81.995.510 × 34811.0MViT-B-24, 32×3 [9]-83.896.35 × 123652.9TimeSformer-HR [3]ImageNet-21K82.4961 × 31703121.4ViViT-L/16x2 320 [1]ImageNet-21K83.095.74 × 33992310.8ViViT-H/16x2 [9]JFT-300M85.896.54 × 38316647.5Swin-BImageNet-21K83.896.44 × 328288.1Swin-L (384↑)ImageNet-21K85.997.14 × 32107200.032070表1. 在Kinetics-400上与最先进方法的比较。 “384↑”表示模型使用更大的空间分辨率384×384。“视图”表示#时间剪辑×#空间裁剪。FLOPs和参数的数量分别以十亿(10^9)和百万(10^6)为单位。0方法 预训练 Top-1 Top-5 视图 FLOPs 参数0表2. 在Kinetics-600上与最先进方法的比较。0方法 预训练 Top-1 Top-5 视图 FLOPs 参数0在类似的计算成本下,与ViViT-H(JFT-300M)相比,我们的Swin-L(384↑)在一个显著较小的数据集(ImageNet-21K)上进行预训练,准确率提高了2.9%。在K600上,我们的Swin-B K400预训练模型获得了85.9%的最新准确率。0Something-Somethingv2表3将我们的方法与SSv2上的最新方法进行了比较。我们遵循MViT[9],使用K400预训练模型作为初始化。通过在K400上进行预训练,Swin-B达到了69.6%的top-1准确率和92.7%的top-5准确率。0达到了69.6%的top-1准确率,超过了之前最好的方法MViT-B-24在K600预训练上提高了0.9%。我们的方法可以通过使用更大的模型(如Swin-L),更高分辨率的输入(如384×384)和更好的预训练模型(如K600)进一步改进。我们将这些尝试留作未来的工作。04.3.消融研究0时空注意力的不同设计。我们对时空注意力进行了三种主要设计的消融研究:联合版本,1616×7×779.193.866.290.810628.588×7×778.593.264.590.14428.244 7 776.792.561.187.72028.032080表3将我们的方法与Something-Something v2上的最新方法进行了比较。0方法 预训练 Top-1 Top-5 视图 FLOPs 参数0TimeSformer-HR [3] ImageNet-21K 62.5 - 1 × 3 1703 121.4 SlowFast R101, 8×8[12] K400 63.1 87.6 1 × 3 106 53.3 TSM-RGB [27] K400 63.3 88.2 2 × 3 62 42.9MSNet [23] ImageNet-21K 64.7 89.4 1 × 1 67 24.6 TEA [26] ImageNet-21K 65.189.9 10 × 3 70 - blVNet [10] SSv2 65.2 90.3 1 × 1 129 40.2 ViViT-L/16x2 [1] - 65.489.8 - 903 352.1 MViT-B, 64×3 [9] K400 67.7 90.9 1 × 3 455 36.60MViT-B-24, 32×3 [9] K600 68.7 91.5 1 × 3 236 53.20Swin-B K400 69.6 92.7 1 × 3 321 88.80分离和分解变体。联合版本在每个基于3D窗口的MSA层中同时计算时空注意力,这是我们的默认设置。分离版本在空间仅有的SwinTransformer之上添加了两个时间变换器层,这在ViViT[1]和VTN [29]中已被证明是有效的。分解版本在SwinTransformer的每个空间仅有的MSA层之后添加了一个仅包含时间的MSA层,这在TimeSformer[3]中被发现是有效的。对于分解版本,为了减少将随机初始化的层添加到具有预训练权重的主干网络中所带来的不良影响,我们在每个仅包含时间的MSA层的末尾添加了一个权重参数,其初始化为零。0表4将我们的方法与Swin-T在K400上的不同时空注意力设计进行了消融研究。0Top-1 Top-5 FLOPs 参数0联合 78.8 93.6 88 28.2 分离 76.4 92.1 8342.0 分解 78.5 93.5 95 36.50结果如表4所示。我们可以观察到,联合版本在速度和准确性的权衡上取得了最佳效果。这主要是因为空间域中的局部性减少了联合版本的计算量,同时保持了有效性。相比之下,基于ViT/DeiT的联合版本计算量过大。分离版本在我们的场景中效果不好。尽管这个版本可以从预训练模型中自然受益,但是这个版本的时间建模效率不高。分解版本的top-1准确率相对较高,但是需要比联合版本更多的参数。这是因为分解版本在每个仅包含空间注意力层之后都有一个仅包含时间注意力层,而联合版本在同一注意力层中执行空间和时间注意力。03D令牌的时间维度。我们对3D令牌的时间维度进行了消融研究,在一个0表5.在K400和SSv2上使用Swin-T进行的关于3D令牌时间维度和时间窗口大小的消融研究。0T’ 窗口大小 K400 SSv2 FLOPs 参数 Top-1 Top-5Top-1 Top-5016 16 × 7 × 7 79.1 93.8 66.2 90.8 106 28.5 16 8 × 7× 7 78.8 93.6 64.7 89.8 88 28.2 16 4 × 7 × 7 78.693.4 64.2 89.6 79 28.00在3D令牌的时间维度等于时间窗口大小的情况下,我们在K400和SSv2上使用Swin-T进行了实验,结果如表5所示。一般来说,较大的时间维度会导致更高的top-1准确率,但计算成本更高,推理速度更慢。SSv2从增加时间维度中获益更多,这归因于SSv2中更高的时间依赖性。0时间窗口大小将3D令牌的时间维度固定为16,我们对时间窗口大小为4/8/16进行了消融研究。在K400上使用Swin-T的结果如表5所示。我们观察到,时间窗口大小为8的Swin-T仅导致0.3的性能下降,但计算量减少了17%(88 vs.106)。因此,我们将其作为K400的默认设置。然而,SSv2倾向于需要更多的时间令牌和更大的(全局)时间窗口,因此我们将16个时间令牌和全局窗口作为SSv2数据集的默认设置。03D偏移窗口在表6中报告了对Swin-T的3D偏移窗口方法在K400和SSv2上的消融研究。3D偏移窗口可以使top-1准确率提高0.7%/3.5%,而时间偏移窗口则产生了K40078.893.6✓75.591.5SSv266.290.8✓16.338.432090表6.在K400和SSv2上使用Swin-T进行的3D偏移窗口方法的消融研究。0K400 SSv20Top-1 Top-5 Top-1 Top-50带3D偏移 78.8 93.6 64.7 89.8 不带时间偏移 78.5 93.562.1 88.5 不带3D偏移 78.1 93.3 61.2 87.70分别在K400/SSv2上提高了0.3%/2.6%。结果表明,3D偏移窗口方案在非重叠窗口之间建立连接方面是有效的。0主干/头部学习率比例在表7中展示了关于主干和头部学习率比例的有趣发现。通过在ImageNet-1K/ImageNet-21K上预训练模型,我们观察到相对于随机初始化的头部,主干架构的学习率较低(例如0.1×)可以提高K400的top-1准确率。此外,使用在ImageNet-21K上预训练的模型对此技术更有益处,因为在ImageNet-21K上预训练的模型更强大。因此,主干在拟合新的视频输入时较慢地遗忘预训练参数和数据,从而提高了泛化性能。这个观察结果为进一步研究如何更好地利用预训练权重提供了一个方向。0表7. 在K400上使用Swin-B进行的主干学习率和头部学习率比例的消融研究。0比例 预训练 Top-1 Top-500.1× ImageNet-1K 80.6 94.6 1.0×ImageNet-1K 80.2 94.2 0.1×ImageNet-21K 82.6 95.7 1.0×ImageNet-21K 82.0 95.30在ViViT[1]中,线性嵌入层的中心初始化优于膨胀初始化。这激发了我们对这两种初始化方法在Video SwinTransformer中进行消融研究的动机。如表8所示,令人惊讶的是,使用中心初始化的Swin-T与使用膨胀初始化的Swin-T获得了相同的性能,即使用ImageNet-1K预训练模型时的78.8% top-1准确率。0在K400上。在本文中,我们默认采用线性嵌入层的传统膨胀初始化。对于3D相对位置偏差矩阵,我们还有两种不同的初始化选择,即复制初始化和中心初始化。与线性初始化方法不同,中心初始化方法01 由于这个观察结果与[1]中的观察结果不一致,我们将在ViViT的代码发布后分析这个差异。0表8.在K400上使用Swin-T的线性嵌入层的两种初始化方法的消融研究。0初始化 Top 1 Top 50扩张 78.8 93.6 中心 78.893.70表9. 在K400上使用Swin-T的3D相对位置偏差矩阵的两种初始化方法的消融研究。0初始化 Top 1 Top 50重复 78.8 93.6 中心 78.893.60在初始化3D相对位置偏差矩阵时,我们通过在不同帧之间屏蔽相对位置偏差,并赋予一个小的负值(例如-4.6),以便每个标
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 达梦数据库DM8手册大全:安装、管理与优化指南
- Python Matplotlib库文件发布:适用于macOS的最新版本
- QPixmap小demo教程:图片处理功能实现
- YOLOv8与深度学习在玉米叶病识别中的应用笔记
- 扫码购物商城小程序源码设计与应用
- 划词小窗搜索插件:个性化搜索引擎与快速启动
- C#语言结合OpenVINO实现YOLO模型部署及同步推理
- AutoTorch最新包文件下载指南
- 小程序源码‘有调’功能实现与设计课程作品解析
- Redis 7.2.3离线安装包快速指南
- AutoTorch-0.0.2b版本安装教程与文件概述
- 蚁群算法在MATLAB上的实现与应用
- Quicker Connector: 浏览器自动化插件升级指南
- 京东白条小程序源码解析与实践
- JAVA公交搜索系统:前端到后端的完整解决方案
- C语言实现50行代码爱心电子相册教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功