当前位置: 首页 > news >正文

济南网站建设服务哪家好望野眼

济南网站建设服务哪家好,望野眼,烟台h5响应式网站建设,网站建设的说明摘要 https://arxiv.org/pdf/2401.06197.pdf 我们介绍了可变形卷积v4#xff08;DCNv4#xff09;#xff0c;这是一种高效且有效的运算符#xff0c;专为广泛的视觉应用而设计。DCNv4解决了其前身DCNv3的局限性#xff0c;通过两个关键改进#xff1a;1. 去除空间聚合中…摘要 https://arxiv.org/pdf/2401.06197.pdf 我们介绍了可变形卷积v4DCNv4这是一种高效且有效的运算符专为广泛的视觉应用而设计。DCNv4解决了其前身DCNv3的局限性通过两个关键改进1. 去除空间聚合中的softmax归一化以增强其动态属性和表达力2. 优化内存访问以最小化冗余操作以提高速度。这些改进导致与DCNv3相比收敛速度显著加快处理速度大幅提升DCNv4的前向速度提高了三倍以上。DCNv4在各种任务中表现出色包括图像分类、实例和语义分割尤其是图像生成。当将其集成到诸如U-Net之类的潜在扩散模型中的生成模型中时DCNv4超过了其基线突显了其增强生成模型的潜力。在实践应用中将DCNv3替换为DCNv4在InternImage模型中创建FlashInternImage可实现高达80的速度提升和性能改进而无需进一步修改。DCNv4在速度和效率方面的进步以及其在各种视觉任务中稳健的性能表现表明其作为未来视觉模型的基础构建块的潜力。 1、简介 在计算机视觉领域关于卷积网络ConvNets和Transformer哪个性能更优越的争论一直在进行。近年来具有注意力机制的大型视觉模型中的Transformer模型[12、25、44]取得了显著成果显示出超越ConvNets的潜力。然而诸如InternImage [38]和ConvNeXt [26]等最新研究工作表明基于ConvNet的视觉模型在各种下游任务中仍保持稳健的性能、效率和简单性并具有适当的归纳偏差[15、41]。值得注意的是在图像生成等领域[29、31]卷积仍然是首选方法。这一情况突显了基于卷积的方法的持久价值。 基于卷积的优势先进的ConvNet模型InternImage的核心操作符Deformable Convolution v3DCNv3创新地将稀疏注意力机制与卷积相结合它以滑动窗口的方式处理每个输出位置使用小窗口大小例如3×39这类似于局部稀疏操作符如卷积同时动态地采样点并具有适应性的范围并使用输入相关的注意力权重聚合空间特征。由于其小窗口大小和ConvNet的归纳偏差DCNv3有望实现更快的收敛速度和更低的推理延迟尤其是在与密集的全局[12]或局部窗口式[25]的注意力方法相比时。 尽管有这些优势DCN尚未成为视觉主干模型的优选解决方案。这一观察结果促使我们对DCN操作符的持久限制进行调查。我们首先注意到的是运行速度。DCN的慢速已知是一个长期存在的问题[1]因为它在采样非附近位置时引入了额外的开销使其不适合现代卷积算法。我们在图1a中进行的比较分析揭示了DCNv3可能比经过适当优化的密集全局注意力[9]慢这突显了进一步优化的必要性。此外我们发现DCNv3在初始主干训练阶段甚至比全局注意力收敛得更慢如图1b所示这有点出乎意料因为DCNv3配备了ConvNet的归纳偏差。 为了克服这些挑战我们提出了Deformable Convolution v4DCNv4这是对稀疏DCN操作符进行实际效率优化的创新改进。DCNv4具有更快的实现和改进的操作符设计以提高性能我们将对其进行详细阐述 首先我们对现有实现进行指令级内核分析发现DCNv3已经相当轻量级。计算成本不到1%而内存访问成本占99%。这促使我们重新审视操作符实现并发现DCN正向过程中的许多内存访问是多余的因此可以进行优化从而获得更快的DCNv4实现。 其次受到卷积无界权重范围的启发我们发现空间聚合中的softmax归一化在DCNv3中是不必要的因为对于每个位置具有专用聚合窗口的操作符来说这并不是一个要求。直观地说softmax将权重限制在0到1的值范围内这将限制聚合权重的表达力。这一见解促使我们在DCNv4中移除了softmax增强了其动态属性并提高了性能。 因此DCNv4不仅比DCNv3快得多而且前向速度提高了3倍以上。这一改进使DCNv4能够充分利用其稀疏属性成为最快的常见核心视觉操作符之一。 我们进一步将DCNv3替换为DCNv4创建了FlashInternImage。值得注意的是与未进行任何额外修改的InternImage相比FlashInternImage实现了 50 8 ˜ 0 50\~80% 508˜0的速度提升。这一改进使FlashInternImage成为最快的现代视觉主干网络之一同时保持了卓越的性能。在DCNv4的帮助下FlashInternImage显著提高了在ImageNet分类[10]和迁移学习设置中的收敛速度并在下游任务中进一步证明了其性能的改进。 此外DCNv4显示出作为各种架构和任务中的通用视觉操作符的潜力。我们将DCNv4集成到其他现代主干架构中包括ConvNeXt [26]和ViT [12]替换depthwise卷积[6]和密集自注意力层[35]。令人惊讶的是这些精心设计的网络使用DCNv4时无需任何超参数调整即可表现出与原始网络相当的性能同时速度更快这表明动态、稀疏的DCNv4的高效性和有效性。此外我们探索了DCNv4在生成模型中的潜力将其作为新的应用领域。具体来说我们将其应用于用于潜在扩散模型[29]的U-Net [30]架构中用DCNv4替换常规卷积。实验结果表明 D C N v 4 \mathrm{DCNv} 4 DCNv4 在图像生成方面比基线表现更好这表明使用DCNv4改进生成模型的巨大潜力。 我们将发布我们的DCNv4实现并希望这个高效的运算符能够促进视觉社区的未来研究。 2、相关工作 视觉模型中的核心操作符标准卷积[17]是最普遍和最有影响力的操作符构成了大多数计算机视觉架构的支柱[14, 16, 32]。然而许多具有独特特征的操作符在计算机视觉的发展中共同发挥着至关重要的作用。Depthwise separable convolutionDWConv[6]将空间和通道操作分离在开发轻量级和高效的模型方面具有重要作用[26,27]。RepLKNet [11]表明利用大型内核深度卷积的纯卷积网络可以在效率和效果方面取得有竞争力的性能。Deformable ConvolutionDCN系列[7, 38, 47]通过向卷积核添加可学习的偏移量显著提高了卷积的适应性。与卷积相反注意力机制[35]具有建模长距离依赖的能力并已成功应用于各种计算机视觉任务[3, 12, 24, 33]。窗口注意力[25,36]通过将注意力操作限制在固定大小的窗口中减少了普通注意力所固有的计算复杂性。为了减轻普通注意力所涉及的高计算复杂性可变形注意力[48]使每个查询集中于一定数量的关键采样点这些采样点的位置和权重都是动态确定的。这种高效的方法在后续的艺术感知方法中得到广泛应用[4,19,21,22,43,45]。DynamicConv [40]和dynamicDWNet [13]通过整合动态权重增强了Depthwise卷积DWConv从而能够使用实例特定的动态适应权重。对于非网格结构化数据稀疏操作符[34, 37, 42]利用双线性插值或参数化方式获得的动态权重。 视觉主干中的内存访问成本MAC如之前的研究[18, 27]所强调的尽管浮点运算次数FLOPs是衡量模型复杂性的常用指标但它并不能准确地表示模型的运行速度或延迟。在实际情况中模型的运行速度受到多种因素的影响而不仅仅是FLOPs。内存访问成本MAC在这方面起着特别重要的作用。[27]。通过减少对高带宽内存HBM的访问次数Flash-Attention [9]在实践中实现了显著更快的速度尽管与普通注意力相比其浮点运算次数更高。虽然DCN操作在FLOPs方面没有劣势但在相同的FLOPs预算下与DW-Conv相比它们的延迟要长得多这主要是由于大量的内存访问成本。在本工作中我们对与DCN操作相关的内存访问成本进行了深入分析和优化显著加快了DCN的运行速度。 3、方法 3.1、重新思考可变形卷积的动态属性 重新审视DCNv3给定一个输入 x ∈ R H × W × C \mathbf{x} \in \mathbb{R}^{H \times W \times C} x∈RH×W×C 其中高度为 H 宽度为 W 通道数为 C 每个点 p 0 p_{0} p0​ 的DCNv3操作由式 (2) 定义。 y g ∑ k 1 K m g k x g ( p 0 p k Δ p g k ) , (1) \mathbf{y}_{g} \sum_{k1}^{K} \mathbf{m}_{g k} \mathbf{x}_{g}\left(p_{0}p_{k}\Delta p_{g k}\right), \tag{1} yg​k1∑K​mgk​xg​(p0​pk​Δpgk​),(1) y concat ⁡ ( [ y 1 , y 2 , … , y G ] , axis-1  ) , (2) \begin{aligned} \mathbf{y} \operatorname{concat}\left(\left[\mathbf{y}_{1}, \mathbf{y}_{2}, \ldots, \mathbf{y}_{G}\right], \text { axis-1 }\right), \end{aligned} \tag{2} y​concat([y1​,y2​,…,yG​], axis-1 ),​(2) 其中 G 表示空间聚合组的数量。对于第 g 组 x g , y g ∈ R H × W × C ′ \mathbf{x}_{g}, \mathbf{y}_{g} \in \mathbb{R}^{H \times W \times C^{\prime}} xg​,yg​∈RH×W×C′ 表示切片的输入/输出特征图其中 C ′ C / G C^{\prime}C / G C′C/G 表示组维度 m g k ∈ R \mathbf{m}_{g k} \in \mathbb{R} mgk​∈R 表示第 g 组中第 k 个采样点的空间聚合权重也称为调制标量条件是输入 x \mathbf{x} x 并按 K 维度进行 softmax 归一化 p k p_{k} pk​ 表示预定义的网格采样点 ( − 1 , − 1 ) , ( − 1 , 0 ) , … , ( 0 , 1 ) , … , ( 1 , 1 ) {(-1,-1),(-1,0), \ldots,(0,1), \ldots,(1,1)} (−1,−1),(−1,0),…,(0,1),…,(1,1) 中的第 k 个位置与常规卷积中的采样位置相同而 Δ p g k \Delta p_{g k} Δpgk​ 是对应于第 g 组中网格采样位置 p k p_{k} pk​ 的偏移量。在 DCNv3 操作符之前和之后可以在 x 和 y \mathbf{x} 和 \mathbf{y} x和y 上应用 1 × 1 1 \times 1 1×1 的点对点卷积以增强模型的表达能力遵循可分离卷积 [6]。DCNv3 是卷积和注意力机制的组合一方面它以滑动窗口的方式处理输入数据遵循卷积并具有其固有的偏置另一方面采样偏移量 Δ p \Delta p Δp 和空间聚合权重 m \mathbf{m} m 是从输入特征动态预测的这显示了其动态属性并使其更像是一种注意力机制。我们比较了具有各自属性的不同操作符如图 2 所示。 softmax归一化卷积和DCNv3之间的一个关键区别在于DCNv3使用softmax函数对空间聚合权重 m \mathbf{m} m 进行归一化遵循缩放点积自注意力机制的惯例。相反卷积在其权重上并不使用softmax并且仍然工作得很好。为什么注意力需要softmax的原因很简单对于 Q K V ∈ R N × d \mathbf{Q} \mathbf{K} \mathbf{V} \in \mathbb{R}^{N \times d} QKV∈RN×d 的缩放点积自注意力机制其定义如下 softmax ⁡ ( 1 d Q K ⊤ ) V (3) \operatorname{softmax}\left(\frac{1}{\sqrt{d}} Q K^{\top}\right) V \tag{3} softmax(d ​1​QK⊤)V(3) 其中 N 是同一注意力窗口中的点数可以是全局 [12] 或局部 [25]d 是隐藏维度QKV 是从输入计算得出的查询、键和值矩阵。在式 (3) 中需要使用 softmax 操作进行注意力计算如果没有 softmax可以先计算 K ⊤ V ∈ R d × d K^{\top} V \in \mathbb{R}^{d \times d} K⊤V∈Rd×d 对于同一注意力窗口中的所有查询这将退化为线性投影导致性能下降。然而对于像深度卷积和 DCNv3 这样的卷积算子每个点都有自己专用的聚合窗口每个聚合窗口中的值已经不同并且没有“键”的概念因此这种退化问题不再存在归一化也变得不必要。事实上使用 softmax 将固定在 0-1 范围内的卷积权重归一化可能会对操作的可表达性造成很大限制并使学习速度变慢。 为了证实这一假设我们训练了一个 ConvNeXt 模型并在卷积前对深度卷积权重的 7 × 7 7 \times 7 7×7 窗口应用了 softmax。我们从表 1 中的结果观察到模型的性能和收敛速度都显著下降。这表明对于每个位置有专用的聚合窗口的算子如卷积或 DCN与经过 softmax 归一化、范围有限的权重相比范围不受限制的聚合权重提供了更好的表达能力。 增强动态属性受到这一观察的启发我们移除了 D C N v 3 \mathrm{DCNv}3 DCNv3 中的 softmax 归一化将范围从 0 到 1 的调制标量转换为类似于卷积的不受限制的动态权重。如图 2 所示这一改变进一步增强了 DCN 的动态属性而其他算子具有某些限制例如值范围有限注意力/DCNv3或具有与输入无关的聚合权重的固定聚合窗口卷积。图1b 显示通过进行此更改DCNv4 的收敛速度显著快于 DCNv3 和其他常见算子包括卷积和注意力。第 4 节中的结果进一步表明DCNv4 在预训练和迁移学习设置中均表现良好。 3.2、加速 DCN 理论上DCN 作为一个具有 3 × 3 3 \times 3 3×3 窗口的稀疏算子其运行速度应该快于其他采用更大窗口大小的常见算子例如密集注意力或 7 × 7 7 \times 7 7×7 的深度卷积。然而我们发现情况并非如此如图 1a 所示。在本小节中我们首先对 GPU 效率进行理论分析指出内存访问成本会因读取内存的方式而产生很大的差异。我们根据观察结果进行优化通过节省额外的内存指令显著提高了 DCN 的速度使稀疏算子的速度优势成为现实。 GPU 效率的理论分析 我们从对 DCNv3 算子的计算行为的理论检查开始研究。我们采用 roofline 模型来评估其性能重点关注理论浮点运算和内存访问成本MAC。对于形状为 (H, W, C) 的输入和输出张量DCNv3 算子需要 36 H W C F L O P s 36 H W C FLOPs 36HWCFLOPs其中 3 × 3 3 \times 3 3×3 表示卷积核的空间维度因子 4 用于每个采样点的双线性插值。 按照[27]中概述的框架DCNv3的MAC计算为 2 H W C 27 H W G 2 H W C 27 H W G 2HWC27HWG。第一项对应于输入/输出特征图的大小第二项对应于DCNv3的偏移量和聚合权重其中 G 组。假设组维度为 16我们近似 G 为 C / 16 C / 16 C/16得到大约 3.7 H W C M A C 3.7 HWC MAC 3.7HWCMAC。然而这是在假设无限缓存和每个值只进行一次内存读取的理想情况下得出的这在并行计算环境中常常是不现实的因为并发线程执行需要同时进行数据访问。 为了估计最大的内存访问需求我们考虑一个没有缓存的场景其中每个输出位置都需要进行新的内存读取双线性插值涉及 36 次读取偏移/聚合权重涉及 27 次读取并有一次写入操作导致 MAC 为 64 H W C 64 HWC 64HWC。这比理想情况大 17 倍。 这一分析揭示了计算与内存访问之间的比率存在巨大差距范围从 0.6 到 9.7 突显出内存访问优化的巨大潜力。值得注意的是尽管 DCNv3 使用输入依赖的动态偏移量导致非确定性内存访问但同一组内的通道共享偏移值这一事实是确定的。这促使我们提出一种特定的优化策略来提高 DCNv3 的速度。 消除冗余工作负载在之前对 DCN 内核的 CUDA 实现中对于形状为 ( H , W , C ) 1 (H, W, C)^{1} (H,W,C)1 的输入、偏移 ( H , W , G , K 2 × 2 H, W, G, K^{2} \times 2 H,W,G,K2×2) 和聚合权重 ( H , W , G , K 2 H, W, G, K^{2} H,W,G,K2) 我们将创建总计 H × W × C H \times W \times C H×W×C 个线程以最大限度地提高并行性其中每个线程处理一个通道的输出位置。值得注意的是每个组内的 D C / G DC / G DC/G 个通道对于每个输出位置共享相同的采样偏移和聚合权重值。使用多个线程在相同输出位置上处理这些 D 个通道是浪费的因为不同线程会多次从 GPU 内存中读取相同的采样偏移和聚合权重值这对于内存受限的操作来说是至关重要的。在每个输出位置使用一个线程处理同一组内的多个通道可以消除这些冗余的内存读取请求大大减少内存带宽的使用。由于采样位置相同我们也可以只计算一次 DCN 中使用的双线性插值系数。具体来说如果每个线程处理 D ′ D^{\prime} D′ 个通道读取偏移和聚合权重的内存访问成本以及计算双线性插值系数的计算成本都可以降低 D ′ D^{\prime} D′ 倍。 消除冗余内存指令实际上仅仅重复使用线程处理多个通道并不会看到速度上的提升。原因是当 D ′ D^{\prime} D′ 增加时我们创建的线程数减少现在每个线程的工作负载增加了 D ′ D^{\prime} D′ 倍。这实质上降低了 CUDA 内核的并行度。幸运的是由于双线性插值只需要对所有 D ′ D^{\prime} D′ 个通道执行一次DCN 内核的计算量现在变得很轻并且大部分工作负载是读取不同通道的输入值的内存指令。当内存布局为通道最后时所有 D ′ D^{\prime} D′ 个通道的值都是连续的我们可以利用向量化的加载例如从内存中读取四个 32 位浮点值而不是使用四个指令四次读取一个 32 位浮点值我们可以使用单个指令一次性加载一个 128 位打包的值从而减少每个线程的指令数和执行时间。当将最终结果写入 GPU 内存时我们可以应用类似的技巧以最小化内存访问时间并提高内存带宽利用率。此外现代的半精度数据格式 f l o a t 16 / b f l o a t 16 float16/bfloat16 float16/bfloat16将需要加载的字节数减半这意味着在相同的内存带宽下使用半精度格式时的内存效率可以提高一倍。然而在原始的 DCNv3 实现中我们没有看到使用半精度数据带来的速度提升这可能是由于数据访问和计算的开销过大而在我们的新实现中速度提升是显著的。值得注意的是上述优化技术也可以应用于 DCNv1/v2 和可变形注意力 [48]因为它们具有相似的性能瓶颈和问题。 DCNv3 模块中的微设计DCNv3 模块引入了多种微设计随着核心内核的优化它们对速度的影响变得不可忽视。我们确定了 DCNv3 设计中可以进一步优化的两点首先在移除 softmax 并将调制标量转换为动态聚合权重之后如前文所述。用于计算偏移和动态权重的线性层实际上可以合并为一个线性层。这减少了网络碎片化消除了额外的开销例如内核启动和同步提高了 GPU 上的运行时效率其次在原始的 DCNv3 模块设计中使用了一个由 d e p t h w i s e 3 × 3 c o n v depthwise 3 \times 3 conv depthwise3×3conv、层归一化LN、GELU 和线性层组成的复杂子网络来计算偏移和动态权重。遵循 Xception [6] 中的设计我们删除了额外的 LN-GELU 层并使用了原始的分离卷积结构进一步减少了运行时间。我们通过经验发现如果延迟是更高的优先级也可以只进行微小的性能牺牲而删除 depthwise 卷积。 4、实验 本节中我们将从速度和性能两个角度验证我们提出的 DCNv4 模块的有效性。我们首先对操作级别速度进行基准测试并将 DCNv4 集成到主干模型中以进一步测试系统级别性能。所有速度测试结果均使用 NVIDIA A100 80G SXM GPU 获得。由于篇幅限制我们将其他实验结果和实现细节包括其他超参数设置和硬件/软件环境放在补充文件中。 4.1、操作级别速度基准测试 设置我们通过仅测量构建最先进视觉主干模型的几个代表性操作的时间来进行 op 级别的基准测试包括使用 PyTorch 实现的完整注意力 [35] 和先进的 FlashAttention-2 [8] 实现、窗口大小为 7 × 7 7 \times 7 7×7 的窗口注意力 [25]、使用 cuDNN [5] 和 PyTorch 的 ATen 库 [28] 实现的深度卷积窗口大小为 7 × 7 7 \times 7 7×7。为了简化我们只对空间聚合的核心操作进行基准测试并且排除了附加的线性层例如 qkv 投影和输出投影层这些不包括在运行时测量中。请参阅补充文件以获得更全面的模块级别比较。对于输入规模我们首先考虑使用 4 , 8 , 16 , 32 × 4,8,16,32 \times 4,8,16,32× 下采样率的通用分层 ConvNet/transformer 主干所使用的标准 224 × 224 224 \times 224 224×224 输入分辨率生成的特征图形状我们还添加了像 ViT 这样具有下采样率 16 和更大隐藏维度的各向同性主干中的特征图形状。 对于分层特征图和各向同性特征图我们将输入形状分别设置为 800 × 1280 800 \times 1280 800×1280 和 1024 × 1024 1024 \times 1024 1024×1024这是目标检测中的常见做法 [15,20]。对于这两种输入集批量大小分别为 64 和 1。对于具有头/组概念的运算符我们将每个头/组的维度设置为 32并在隐藏维度变化时更改头/组的数量。 结果我们分别在表 2 和表 3 中展示了标准分辨率和高分辨率输入的基准测试结果。我们报告了使用 FP32 和 FP16 数据格式的结果但 FlashAttention 没有 FP32 实现。使用 PyTorch 实现的密集全局注意力在输入分辨率较大时显著变慢甚至超出内存。FlashAttention 显著提高了注意力的速度在某些情况下甚至比 7 × 7 7 \times 7 7×7 窗口注意力更快这表明适当的优化非常重要。然而它并没有改变注意力的二次复杂性当输入分辨率较高时它仍然落后于本地/稀疏运算符如窗口注意力或卷积。虽然 DCNv3 可以比使用纯实现方式的 DWConv 更快但它比经过大量优化的 cuDNN 版本慢。相反我们的 DCNv4 可以提供比 DCNv3 快 3 倍以上的速度提升大大节省了运行时间。此外DCNv4 可以成功利用使用 3 × 3 3 \times 3 3×3 稀疏窗口的优势在各种设置下显著快于其他基线。 4.2、图像分类 设置我们评估了 DCNv4 在 ImageNet 分类任务上的有效性。我们从强大的基准模型 InternImage [38] 开始因为它在基于 ConvNet 的模型中表现出最佳性能。我们将 InternImage 中的原始 DCNv3 替换为 DCNv4并创建了 FlashInternImage。所有其他实现细节包括网络架构和超参数均与 [38] 保持一致。我们还比较了 Swin-Transformer 和 ConvNeXt它们是 Transformer 和 ConvNet 模型中的两个代表性基准。我们遵循常见的做法 [25,26,38]在 I m a g e N e t − 1 K ImageNet-1 \mathrm{~K} ImageNet−1 K上对 FlashInternImage-Tiny/Small/Base 进行 300 个 epoch 的训练。首先在 ImageNet-22K 上对 FlashInternImage-Large 进行 90 个 epoch 的训练然后在 I m a g e N e t − 1 K ImageNet-1 \mathrm{~K} ImageNet−1 K 上进行 20 个 epoch 的微调。其他基准模型采用相同的设置以进行公平比较。 结果表 4 显示了不同规模的模型结果。除了模型大小和训练/推理分辨率外我们还报告了每个模型在 FP32/FP16 数据格式下的整体吞吐量每秒处理的图像数。为了公平比较我们使用 timm [39] 对 ConvNeXt 和 Swin Transformer 进行实现这实际上比原始实现更快。配备 DCNv4 的 FlashInternImage 显著提高了 InternImage 的吞吐量提高了 50 % ∼ 80 % 50 \% \sim 80 \% 50%∼80% 并略微提高了模型性能。FlashInternImage 现在以更高的准确率与 ConvNeXt 的速度相匹配。值得注意的是FlashInternImage-S 可以优于 ConvNeXt-B 84.4 % v s . 83.8 % 84.4 \% vs. 83.8 \% 84.4%vs.83.8%的同时还比它更快这表明速度和准确率之间的权衡更佳。此外FlashInternImage-L 甚至可以超过 ConvNeXt-XL 和 InternImage-XL并比它们快 30 % ∼ 130 % 30 \% \sim 130 \% 30%∼130% 401 vs. 174这表明我们的 DCNv4 模块非常有效。 4.3、高分辨率输入的下游任务 我们进一步评估了 DCNv4 在具有高分辨率输入的代表性下游感知任务中的性能包括实例分割、语义分割和 3D 目标检测。我们保持与 InternImage 相同的所有实现细节并仅更改主干模型以进行公平比较。在训练下游模型时主干模型使用 ImageNet 的预训练权重进行初始化。 实例分割我们使用两个代表性的实例分割框架Mask R-CNN [15] 和 Cascade Mask-RCNN [2]在 COCO 数据集 [23] 上对 FlashInternImage 进行训练训练计划为 1 × ( 12 个 e p o c h s ) 1 \times (12 个 epochs) 1×(12个epochs) 和 3 × ( 36 个 e p o c h s ) 3 \times (36 个 epochs) 3×(36个epochs)。结果在 表5 中展示。我们还报告了批量大小为 16 的 FPS包括 FP32/FP16 数据格式。FlashInternImage 在所有模型规模和训练计划上都表现出优越的结果实现了更高的速度与准确率的权衡。例如FlashInternImage-T/S 在与相同规模的模型相比时表现出色并且与更大的 InternImage-S/B 相当但速度要快 80 % − 90 % 80 \%-90 \% 80%−90%。 语义分割我们使用 UperNet [41] 在 ADE20K [46] 数据集上对 FlashInternImage 进行 160 K 160 \mathrm{~K} 160 K 次迭代训练进行语义分割。从 表6 中的结果可以得出与实例分割相似的结论我们还报告了批量大小为 16 的 FP32/FP16 数据格式的 FPS。配备 DCNv4 的 FlashInternImage 可以显著提高速度并在不同模型规模上进一步改进 InternImage 的性能从而实现了新的最佳性能。 3D 检测我们进一步在自动驾驶场景中的基于相机的 3D 物体检测任务上测试 DCNv4。我们使用 FlashInternImageSmall 和 Base 主干模型在 nuScenes 数据集上对 BEVFormer v2 [43] 进行 24 个 epoch 的训练BEVFormer v2 是一个最先进的基于多相机的 3D 物体检测器。我们在 表7 中报告了 nuScenes 测试集上的结果并报告了每个模型的 FPS。我们注意到 BEVFormer v2 中的头部分如 BEV 编码器和对象解码器还有待优化运行时间超过 50 % 50 \% 50% 随着更快的骨干网络这一比例甚至更高。因此我们还报告了骨干网络的 FPS以便更清楚地说明。我们的结果表明仅考虑骨干网络时FlashInternImage 的速度是 InternImage 的两倍甚至三倍同时性能相当大大提高了模型效率。 4.4、DCNv4 作为通用运算符 在其他视觉骨干网络中的直接替换我们验证 DCNv4 是否可以在使用其他运算符设计的架构中正常工作例如 ConvNeXt 和 Vision Transformer (ViT)。为了实现这一目标我们将在 ViT 和 ConvNeXt 中用 DCNv4 替换注意力模块和深度卷积层并在 ImageNet-1K 上进行有监督学习同时不改变任何其他架构和超参数类似于 FlashInternImage 和 InternImage。结果在表4 中展示。我们可以看到在这些针对特定运算符进行精心调整的架构中我们的 DCNv4 同样表现出色。由于 DCNv4 的速度快新模型甚至可以实现更高的吞吐量展现了 DCNv4 的卓越性能。 在扩散模型中进行直接替换DCN 已被公认为感知任务的有效的运算符。随着生成模型成为 AI 生成内容 (AIGC) 的基本工具我们也很好奇 DCNv4 是否能在基于扩散的生成模型上很好地完成生成任务。具体来说我们选择 Stable Diffusion [29] 中使用的 U-Net [30] 作为基准并用 DCNv4 替换 U-Net 中的注意力模块和常规 3x3 卷积。我们使用 U-ViT 的代码库遵循其训练计划并根据 Stable Diffusion 提供的图像自编码器提取的图像潜在值训练一个潜在扩散模型。我们将在表9中展示结果。我们可以看到DCNv4 在生成建模中同样表现良好与 U-Net 中的常规卷积相比它在 FID/吞吐量方面取得了更好的结果同时参数更少。请注意架构/超参数可能不是为 DCNv4 优化的重新设计模型或为 DCNv4 搜索新超参数可能会得到更好的结果。 4.5、消融实验 我们在第 3.2 节中描述的优化选择中进行了消融实验。结果在表10 中展示。表中的时间是在 56x56x128 的输入、批量大小为 64 和 4 组每组 32 个通道的条件下获得的。我们首先移除了 softmax 操作并改进了微观设计这意味着我们将两个线性层合并为一个并删除了在偏移/聚合权重计算中代价高昂的层归一化和 GELU 激活函数简化了整体模块并提高了速度。然后我们开始修改内核实现。首先我们改变了并行执行模式让每个线程处理 8 个通道而不是 1 个通道从而可以节省从 GPU 内存中加载采样偏移和聚合权重值的无谓内存访问。正如我们所预期的那样仅应用此更改不会增加速度因为并行度降低现在每个线程的工作负载增加了 8 倍。延迟反而增加了。通过重用双线性插值系数第 4 行消除冗余计算可以节省一些时间但效果并不明显。通过向量化加载/存储消除冗余内存指令可以大大减少每个线程的工作负载并大大加速 GPU 内核速度第 5 行。使用半精度数据类型减少内核读取/写入所需字节数的一半进一步增加了数据吞吐量如第 6 行所示。最后我们达到了最终的 DCNv4 设计其效率是原始实现的 3 倍。 5、结论 我们提出了可变形卷积 v4 (DCNv4)一种高效的动态和稀疏运算符。通过重新思考可变形卷积中的动态属性并简化内存访问DCNv4 成为比其前身 DCNv3 更快、更有效的运算符。配备 DCNv4 的 FlashInternImage 骨干网络不仅提高了速度还改善了各种视觉任务的表现。我们进一步展示了 DCNv4 作为通用运算符的多功能性和有效性通过将其集成到 ConvNeXt 和 ViT 等最先进的架构中提高了吞吐量和准确性它还适用于潜在扩散模型显示出增强生成模型的潜力。 A、实现细节 环境我们使用 A100 80GB SXM GPU 对所有实验进行吞吐量基准测试。软件环境是 PyTorch 1.13、CUDA 11.7、cuDNN 8.5。当测试 Flash Attention [8] 时我们使用 Flash Attention 2.3.1。当测试 Swin Transformer 中的窗口注意力时我们使用 timm 0.9.7 [39] 中的 PyTorch 实现。 COCO 的 2D 目标检测为了验证我们方法在 2D 目标检测中的有效性我们采用了两种目标检测方法Mask R-CNN 和 Cascade Mask R-CNN主要参考了 Internimage 的设置。按照常规做法我们使用了两个训练计划1x12 个周期和 3x36 个周期以分别评估模型的收敛速度和最终性能。对于 1x 计划我们将图像的短边调整为 800 像素长边不超过 1333 像素。在评估阶段输入图像的短边始终设置为 800 像素。对于 3x 计划短边调整为介于 480 和 800 像素之间的范围而长边仍限制在 1333 像素。基础学习率设为每个批次 16 的 1 e − 4 1 \mathrm{e}^{-4} 1e−4 。我们采用 AdamW 优化器并加入权重衰减为 0.05 。骨干网络的初始化是预训练的分类权重。 ADE20K 的 2D 语义分割我们采用了 UperNet 来验证我们方法在 ADE20K 数据集上的 2D 语义分割的有效性。我们的实验设置主要基于 InternImage。对于 FlashInternImage-T/S/B 和 FlashInternImage-L我们分别使用学习率为 6 e − 5 6 \mathrm{e}^{-5} 6e−5 和 2 e − 5 2 \mathrm{e}^{-5} 2e−5 的 AdamW 优化器。FlashInternimage T/S/B 的裁剪大小设置为 512而 FlashInternImage-L 的裁剪大小设置为 640。我们使用批量大小为 16 的所有模型进行 160k 次迭代以确保与之前的方法进行公平比较。骨干网络的初始化也是预训练的分类权重。 nuScenes 的 3D 目标检测我们采用了 BEVFormerV2 来验证我们方法在 nuScenes 数据集上的 3D 目标检测的有效性。遵循 BEVFormerV2 的设置骨干网络的初始化是在 COCO 数据集上预训练的。与 BEVFormerV2 一致我们使用了总共 8 秒的数据包括过去和未来的信息。我们使用批量大小为 16、学习率为 4 e − 4 4 \mathrm{e}^{-4} 4e−4 的 AdamW 优化器。我们训练模型 24 个周期。 B、其他实验结果 具有高级头部的下游结果我们采用了更高级的 DINO [45] 和 Mask2Former [4] 来进一步验证我们的 FlashInternImage 的有效性如表1 和 表3 中所示。对于 COCO 的 2D 目标检测与 DINO 头部我们使用 12 个周期训练我们的模型。在训练阶段我们采用与上面介绍相同的多种尺度训练策略。其他设置包括优化器、权重衰减和学习率与 Mask-RCNN 中使用的设置相同。对于 ADE20K 的 2D 语义分割我们将学习率设置为 1e-4批量大小为 16 。对于 Base 和 Large scale我们使用裁剪大小为 640 。其他设置与 UperNet 中使用的设置相同。 在更高级任务头部的应用下我们的方法在准确度方面仍保持显著优势同时在推理速度方面也具有竞争力。 其他骨干网络的下游结果如表4 中所示我们评估了 “ConvNextDCNv4” 和 “ViTDCNv4” 在下游任务中的性能特别是使用 UperNet 头部的语义分割任务。我们的观察结果表明将以前使用的 DWConv 或 Attention 替换为我们的 DCNv4 可以提高推理速度。对于 ConvNext使用 DCNv4 而非 DWConv 可以获得更高的性能。 图像生成的可视化为了更好地说明我们在图1中展示了我们的潜在扩散模型与DCNv4的定性结果。DCNv4也可以很好地应用于这个生成任务。 模块级速度基准我们在表2和5中展示了模块级速度基准结果其中还考虑了每个操作中的附加线性投影层。我们还包括了一个混合通道信息的3x3窗口常规卷积。对于DCNv4我们展示了两种变体第一种实现移除了模块内部的输入/输出投影层标记为轻量级。我们在ConvNeXt DCNv4实验中使用这个实现因为它具有与原始深度卷积在ConvNeXt中相似的属性仅执行空间聚合和计算量/参数数量。第二种实现包括输入/输出线性投影并在本文中描述的其他模型中使用。
http://www.zqtcl.cn/news/879014/

相关文章:

  • 江山市住房和城乡建设局网站iis部署网站 错误400
  • 网站域名如何备案建设厅公积金中心网站
  • 网站怎么建设?电子商务网站开发相关技术
  • 苏州网站设计公司济南兴田德润厉害吗python基础教程第3版
  • 网站多久备案一次电子商务平台信息系统建设
  • 网站开发方面的文献自己怎么建个免费网站吗
  • 建设网站前的市场分析百度竞价推广是什么
  • 专门做照片书的网站阳谷聊城网站优化
  • 国际贸易相关网站网站建设的目标与思路
  • 小型网站建设费用云南网站建设企业推荐
  • 设备租赁业务网站如何做看板娘 wordpress
  • 上海网站设计工作室二手交易网站建设目标
  • 深圳智能响应网站建设平面设计基础教程
  • 网站建设 推广全流程案例分析网站
  • 企业建网站多少钱怎样做网站挣钱
  • 经营性质的网站asp.ne做网站
  • 天津都有哪些制作网站开网站挣不挣钱
  • 网站建设云技术公司推荐重庆网页设计培训
  • 做房产网站不备案可以吗北京爱空间装修公司
  • 手机网站是用什么开发的厦门公司网站制作流程
  • 网站是广西住房和城乡建设厅wordpress插件数据库存在哪
  • 网站图片如何做链接网站制作及管理教程
  • 企业建立企业网站有哪些优势?app下载排行榜
  • 广州天河网站建设gif在线制作
  • 建个大型网站要多少钱小程序开发公司简介
  • 定制建设网站商洛做网站的公司
  • 网站建设目标活动策划书模板
  • 手机网站空间申请做网站需要空间跟域名吗
  • 洛阳专业网站设计开发制作建站公司长沙网站制作app开发公司
  • 王也个人资料网页网络优化