【论文阅读】Swin Transformer V2: Scaling Up Capacity and Resolution

题目:Swin Transformer V2: Scaling Up Capacity and Resolution

motivation:作者提出了将Swin Transformer缩放到30亿个参数的技术 ,并使其能够使用高达1536×1536分辨率的图像进行训练。作者要做大做强。

method:
【论文阅读】Swin Transformer V2: Scaling Up Capacity and Resolution_第1张图片

首先,对大型视觉模型的实验揭示了训练中的不稳定性问题。

  • 作者发现,在大型模型中,各层之间的激活幅度差异显著增大。仔细观察结构可以发现,这是由直接添加回主分支的残差单元的输出引起的。结果是激活值逐层累积,因此深层的振幅明显大于早期层的振幅。为了解决这个问题,作者提出了一种新的归一化配置,称为post norm,它将LN层从每个残差单元的开始移动到后端.

  • 作者发现,这种新的配置在网络层上产生了更温和的激活值。作者还提出了一种**缩放余弦注意(scaled cosine attention)**来取代以前的点积注意(dot product attention) 。缩放余弦注意使得计算与块输入的振幅无关,并且注意值不太可能陷入极端。在本文的实验中,提出的两种技术不仅使训练过程更加稳定,而且提高了精度,特别是对于较大的模型。
    在这里插入图片描述
    其次,许多下游视觉任务,如目标检测和语义分割,需要高分辨率的输入图像或大的注意力窗口。低分辨率预训练和高分辨率微调之间的窗口大小变化可能相当大。当前的常见做法是对位置偏移map执行双三次插值(bi-cubic interpolation)。这个简单方法的结果通常是次优的。作者引入了一种对数间隔连续位置偏差(Log-CPB),它通过在对数间隔坐标输入上应用一个小型元网络,为任意坐标范围生成偏差值 。
    在这里插入图片描述
    G默认情况下是中间有ReLU激活的2层MLP。
    当在很大程度上改变窗口大小时,将有很大一部分相对坐标范围需要外推。为了缓解此问题,作者提出使用对数间隔坐标,而不是原始线性间隔坐标:
    在这里插入图片描述

模型容量和分辨率的放大也会导致现有视觉模型的GPU显存存消耗过高。为了解决显存问题,作者结合了一些重要技术,包括zero optimizer 、activation check pointing 和顺序自注意计算的新实现 。 通过这些技术,大大降低了大型模型和分辨率的GPU显存消耗,对训练速度的影响微乎其微。

experiments

【论文阅读】Swin Transformer V2: Scaling Up Capacity and Resolution_第2张图片
【论文阅读】Swin Transformer V2: Scaling Up Capacity and Resolution_第3张图片

你可能感兴趣的:(论文阅读,知识点,概率论,python)