ResNet 和 ViT 模型取得了有竞争力的性能,但它们并不是最好的。例如,DenseNets 实现了优于 ResNets 的性能。然而,DenseNet 不如 ResNet 受欢迎。那么为什么 ResNets 和 ViT 模型在文学中如此受欢迎呢?人们不应将他们的成功归因于单一因素。然而,这两种架构之间有一个共同点。这两种架构都易于实现和理解。它们都很简单。
虽然这种简单性对他们的成功至关重要,但 ResNet 和 ViT 是为具有小分辨率(例如 224x224)的自然图像而设计的。两种架构都在处理高分辨率输入(例如 2500x2500)。一方面,ViT 模型难以处理高分辨率图像,因为这些图像会转化为大量标记,即大序列长度。由于它们的二次复杂性,这些大序列对于自注意力层来说在计算上是昂贵的。另一方面,ResNet——或纯 CNN——难以处理高分辨率图像,因为它的有效感受野不够大,无法覆盖高分辨率图像。具体来说,需要更深的 ResNet 才能有效处理高分辨率图像。很遗憾,
因此,对于医学成像和卫星图像应用中常见的高分辨率输入,需要一种简单且计算友好的架构。本文 [1] 提出了一种称为高分辨率卷积变压器 (HCT) 的新型架构。这种简单的架构结合了卷积层的效率和变压器的全局注意力。HCT 可有效处理高达 3328x2560 像素的高分辨率图像,如图 1 所示。
图 1:对纯 CNN 架构和高分辨率卷积变换器 (HCT) 的有效感受野的定性评估。该评估利用 3328x2560 的乳房 X 光图像,其中包含 100 个随机的左乳房(顶行)和右乳房(底行)。
HCT 的效率在训练期间体现出来,因为我们希望在单个 GPU 上适应大批量大小。大批量大小有两个原因:(1)它通过增加我们的 GPU 利用率来减少训练时间(挂钟);(2) 它通过稳定规范化层(例如 BatchNorm2d)的运行统计数据来提高性能。HCT 在单个A6000 GPU上利用批量大小为 bz=32 的高分辨率图像 (3328x2560) 和全精度 (float32) 。幸运的是,所有这些优势都伴随着简单的架构设计。
HCT 遵循 ResNet 风格,如图 2 所示。HCT 有一个 7x7 卷积干,后面跟着五个阶段。这种 ResNet 风格有多个优点:(1)它支持不同的输入分辨率。因此,HCT 可以在不同的输入分辨率之间切换,而无需进行任何架构更改;(2) 不同阶段产生不同分辨率的特征金字塔。因此,HCT 支持分类和检测任务。
图 2:纯 CNN 与 HCT 架构。Pure CNN 有一个卷积干,后面跟着五个卷积阶段。HCT 是一种基于卷积变压器的架构。GAP 表示全局平均池化。
在纯 CNN 中,每个阶段都包含纯卷积块(例如 BasicBlock 和 Bottleneck)。同样,HCT 使用纯卷积块,但仅在早期阶段使用。与纯 CNN 不同,HCT 在后期使用了 transformer。这些转换器为 HCT 配备了一个全局感受野,可以减少处理高分辨率图像所需的层数(深度)。
为了在 ResNet Stage 中集成一个高效的变压器,HCT 提出了一个注意力卷积 (AC) 块,如图 3 所示。AC 块结合了变压器的全局感受野和卷积层的效率。AC 块使用并生成空间特征图。因此,它可以无缝集成到各种计算机视觉架构中。HCT 利用 Performers 来执行注意力操作。Performer 是一种具有线性复杂性自注意力层的高效转换器。
图 3:神经网络的构建块。(左)具有空间下采样能力的视觉模型的标准卷积块。(中)具有远程注意能力的语言模型的标准注意块。(右)我们的注意力卷积 (AC) 块具有空间下采样和远程注意力功能。在AC块中,卷积层既降低了空间分辨率又增加了通道数。
使用简单的“reshape”操作,将自注意力层应用于特征图中的所有空间位置,如图 4 所示。这种全局注意力具有多个优点:(1)与块相比,它减少了超参数的数量-明智的方法(例如,局部注意力),(2)它不假设标记的数量(特征图的大小)。所以这允许不同的输入分辨率——就像在 CNN 中一样——没有花里胡哨的东西。
图 4:所提出的自注意力层在应用全局自注意力之前将输入特征图展平,然后将结果重塑为空间特征图。因此,该层无缝集成到为不同任务(例如,分类或检测)设计的各种视觉架构中。
这些简单的设计决策使 HCT 的实施变得微不足道。图 5 显示了注意力卷积 (AC) 块的前馈。它遵循标准 ResNet(例如 ResNet 18)中使用的 BasicBlock 样式。唯一的区别是它用包裹在“重塑”操作中的全局自注意力操作代替了一个卷积操作。
图 5:建议的 AC 块的前向传播。
除了图 1 中的定性评估外,HCT 还带来了显着的性能提升,如表 1 所示。1. HCT 通过更少的参数和 GFlops 提升性能。
表 1:对高分辨率医学图像数据集的定量评估。我们报告了参数数量(百万)和架构的性能。使用 AUC 报告性能,其 95% 置信区间 (CI) 位于方括号中。我们评估小补丁 (512x512) 和完整图像 (3328x2560) 模型。线性近似列表示自注意力层内采用的线性近似方法。
为了强调以高分辨率处理医学图像的重要性,图 6 展示了具有全分辨率 (3328x2560) 和半分辨率 (1664x1280) 的多种架构的性能。通过使用全分辨率的医学图像,轻量级架构(例如 HCT)可显着提高性能。
图 6:使用半 (1664x1280) 和全 (3328x2560) 分辨率输入进行定量评估。△表示相同架构在全分辨率上实现的绝对提升幅度。 这突出了在早期寻找恶性组织时高分辨率输入的优势。
最后的想法
- 对于那些有兴趣了解和评估有效感受野的人,我写了这篇文章来解释这个话题。
- HCT 的代码已在 Github 上公开发布。
- HCT 是一个有 170 万个参数的小型模型。因此,HCT 是具有中小型数据集的完全监督设置的良好起点。然而,HCT 需要扩展(例如,更多维度和层)以应对通常用于非/自监督学习方法的巨大数据集。
- HCT 需要扩展以应对非/自我监督的方法。我想通过引用另一篇论文 [2] 来强调这一点,该论文声称与大型(过度参数化)模型相比,小型模型在训练期间从其初始化移得更远,如图 7 所示。这意味着轻量级模型的性能较差自我监督学习。这些轻量级模型会“忘记”他们在自我监督学习中学到的东西。这与最近的经验证据一致,即需要大型(缩放)架构来处理更大的未标记数据集。
图 7:与较小的网络相比,较大的模型在训练中的移动较少。
参考
[1] Taha, A.、Truong Vu, YN、Mombourquette, B.、Matthews, TP、Su, J. 和 Singh, S.,2022 年 9 月。深度是我们没有的奢侈品。MICCAI 2022
[2] Raghu, M.、Zhang, C.、Kleinberg, J. 和 Bengio, S.,2019。输血:了解医学成像的迁移学习。神经IPS。