Vision Transformer作为一种基于自注意力机制的高效图像分类工具被提出。近年来出现了基于Poolingbased Vision Transformer (PiT)、卷积视觉变压器(CvT)、CrossFormer、CrossViT、NesT、MaxViT和分离式视觉变压器(SepViT)等新模型。
它们被用于BreakHis和IDC数据集上的图像分类,用于数字乳腺癌组织病理学。在BreakHis上训练之后,他们在IDC上进行微调,以测试他们的泛化能力。
组织病理学是医学诊断的一个重要分支,涉及组织疾病的研究和发现。组织病理学家在显微镜下观察组织样本的许多特性,如细胞密度、大小、细胞核和组织颜色。在乳腺癌组织病理学中,需要检测的组织样本取自患者的乳房,用于诊断患者是否患有乳腺癌。诊断还可以揭示病人可能患的癌症的阶段和类型。
数字组织病理学:使用计算机视觉的图像分类用于帮助机器学习如何区分健康和病变组织样本
当模型被训练来明确区分代表健康和癌变乳腺组织样本的图像时,这个过程被称为数字乳腺癌组织病理学。
Vision Transformer显示出了在使用更少的计算资源的同时提供更高分类精度的潜力。
CNN模型仍然是处理计算机视觉任务的首选。它们已被广泛用于各种应用,如蒙面识别、行人检测、植物病害分类、道路物体检测等。AlexNet, ResNet和VGG-16架构似乎是最受欢迎的,并且很少显示出低于95%的准确性。
尽管ViT对任何类型的图像数据都具有良好的分类精度,但是其缺乏归纳偏差。
归纳偏差的含义如下:
- 指人们根据有限的样本和经验得出普遍性的结论时产生的偏差 。这种偏差在一定程度上是有道理的,但如果样本和经验有限或不典型,就会导致结论出现偏差。
- 指机器学习算法在学习过程中出现的不准确和不稳定的情况 。由于机器学习算法通常基于训练数据进行学习,并且在训练数据的分布上存在一定的偏差,算法可能无法在学习过程中完全归纳到这些偏差,导致学习结果的偏差和不准确性。
数据集
本研究选择BreakHis和IDC两个乳腺癌组织病理学数据集。来自这些数据集的图像在用于训练和测试所选模型之前进行数据增强。
- 本研究选择的所有模型都在BreakHis和IDC数据集上进行了训练和测试。(左图所示)
- 一旦记录了初始性能,在BreakHis数据集上从头开始训练的所有模型(现在被认为是预训练模型)也会在IDC数据集上进行微调。(右图所示)这样做不会对执行环境作出任何更改,但是会再次记录前面提到的指标。选择IDC数据集进行微调,因为其图像仅代表导管癌的存在或不存在
BreakHis数据集
BreakHis数据集由7909张乳腺肿瘤组织图像组成,以四种不同的放大倍数:40倍、100倍、200倍和400倍。其中良性样本2480个,恶性样本5429个。每张图像的大小为700 x 460像素,3通道(RGB),并提供PNG格式。
IDC数据集
IDC数据集采集了162张40x扫描的浸润性导管癌(乳腺恶性肿瘤的一种)整张幻灯片图像,从中提取50x50大小的斑块277,524块。由此产生的补丁集被标记为“IDC”(78,786个样本)或“非IDC”(198,738个样本)。所有图像都有3个通道(RGB),并以PNG格式提供。本研究还使用该数据集进行二值分类。为了大致匹配BreakHis数据集的大小,我们的实验中只使用了7906个补丁。
模型对比
ViT
输入
输入首先将输入图像分割成大小相等、互不重叠的补丁。patch的个数:。这些补丁被平面化和线性投影,将其以一维的方式存储,而不是以原本的二维格式存储。最后,分别对平面化补丁的偶数和奇数位置使用不同频率的交替正弦和余弦函数进行位置编码。在将补丁序列传递给Transformer编码器之前,将额外的分类令牌添加到补丁序列中。
之后,使用此令牌对图像进行实际分类。
注意力机制
ViT的核心组成部分是它的自注意力机制。在自注意力机制中,输入补丁不被视为图像,而是被视为向量序列。它们被放入一个归一化层,得到的编码补丁序列被放入三个不同的线性层。每个线性层的输出本质上是同一组补丁的不同投影。
这些投影被命名为Q、K、V,经过Softmax函数传递,给出一个概率/权重矩阵
Transformer编码器:整个编码器结构包括一个前馈连接,它将原始输入(带有位置嵌入的补丁向量)添加到多头注意力的输出中。再经过一个归一化和MLP层(多层感知器由一个带有dropout的密集层组成),并且也将前馈添加到它们的结果中。
MLP头接收Transformer层的输出,并且丢弃除显式包含的分类令牌以外的所有补丁。这个令牌包含与分类过程相关的图像数据,因为它在每个其他补丁中都经历了自注意力机制,MLP头仅使用这些数据来预测图像的类别。
基于池化的Vision Transformer(PiT)
随着特征在CNN结构中的移动,它们的空间大小减小,通道大小增大。这种维度转换是使用池化层造成的。另一方面,特征尺寸在Transformer结构的所有层中保持不变。
基于池化的Vision Transformer旨在将CNN的降维原理融入到ViT中,以提高其性能和泛化能力。
ViT处理二维格式的输入数据,而池化层则处理三维格式的张量。为了在ViT网络中实现池化机制,对输入矩阵进行重构为三维张量。然后,减小空间大小,增加通道大小,即执行基于深度卷积的池化。最后,这些操作的输出被重新塑造成一个二维矩阵,并传递到Transformer结构的下一个部分进行处理。
此时,可以将一个全连接层与池化层一起使用,从而改变其与其他令牌的通道大小相匹配。
PiT的整体结构与ViT相似,但还增加了两个池化层,以便在三个空间尺度上处理数据。通过这种修改,注意力在模型的初始层中广泛分布,在模型的较深层中更加集中。
Convolutional Vision Transformer
当应用于计算机视觉领域时,Transformer引入了动态关注和数据的全局上下文化等优点。然而,CNN表现出更强的平移、尺度和畸变不变性。卷积视觉变换器 (CvT) 结合了两种设计的元素,以便通过单个模型实现两组优点。 Vision Transformer 结构中纳入了两种基于卷积的操作(卷积令牌嵌入和卷积投影)来实现此目的。
模型架构
CvT涉及三个分层阶段,每个阶段都有两部分。在每个阶段的第一部分,指定的步长用于对输入的重叠块执行卷积。这形成了该阶段的卷积令牌嵌入层。然后将层归一化应用于生成的令牌上,其输出传递到由Convolutional Transformer Block组成的阶段的第二部分。这些块与常规Transformer块的不同在于,将深度可分离卷积应用于输入以获得查询、键和值嵌入,而不是通常的线性投影操作。较大的步幅值特别用于获取键和值嵌入,因此与查询嵌入相比,它们的大小更小。这种投影方法称为卷积投影。
在整个CvT中,分类标记只是在最后阶段引入的。最后,在分类标记上使用 MLP 头对图像进行分类,匹配 ViT 的分类机制。
通过使用层归一化,随着tokens在各个阶段中移动,令牌所表示的信息变得更加集中。更少的令牌数量以及每个Convolutional Transformer Block中键和值嵌入大小的额外减少,可以带来更好的计算效率。将卷积引入ViT模型可以很好地捕获局部上下文,从而无需位置嵌入。这简化了新的计算机视觉任务的实现方法,提高了模型的泛化能力。研究还发现,CvT 在微调任务上的表现优于 ViT。
CrossFormer
在ViT中,所有嵌入都是从相同大小的补丁生成的,即图像特征仅以一种尺度进行处理。CrossFormer 旨在通过在过程中引入跨尺度特征提取来改进基本模型。为此提出了两种机制,即 Crossscale Embedding Layer 和 Long Short Distance Attention。
CrossFormer 模型是通过将 ViT 模型分为四个阶段而创建的。
1、跨尺度嵌入层出现在每个阶段的开始处,输入由四个不同大小的内核进行采样,所有内核都具有相同的步长。结果,每个内核生成相同数量的嵌入,其中每组嵌入从不同尺度的角度保存有关输入的信息。来自所有内核的相应嵌入被连接起来以创建该层的最终嵌入输出。
2、为了管理层的计算效率,较大的内核使用较低的维度,而较小的内核使用较高的维度。每个阶段的其余部分由多个 CrossFormer 块组成。
3、每个CrossFormer块都采用长短距离注意力模块,该模块跨块交替执行短距离注意力和长距离注意力。该模块的每个实例中还存在多层感知机,在短距离注意力中,相邻嵌入被组合。而在长距离注意力中,要组合的嵌入是通过以固定间隔采样来选取的。
4、在任何一种情况下,都会对组合嵌入执行定期自注意力。
跨尺度嵌入层允许在多个不同尺度下观察输入图像,从而为提取的特征带来多样性和丰富性。另一方面,长短距离注意力模块确保注意力机制在本地和全局的嵌入上执行。
CrossViT
CrossViT 旨在在 ViT 结构中引入用于图像表示的多尺度特征。为了实现这一目标,提出了一种双分支Transformer系统,该系统利用交叉注意力融合进行两个分支之间的通信。
首先,相同的输入图像被分两次块,一次具有较小的块尺寸,另一次具有较大的块尺寸。两组都被馈送到两个独立的Transformer结构中,分别称为 s 分支和 l 分支,分别对应于小和大输入补丁大小以及嵌入大小。每个分支都会在其输入中添加一个分类标记,该分类标记在 l 分支中较大,在 s 分支中较小。输入与分类标记一起并行传递到分支的单独Transformer编码器。
接下来,来自两个分支的信息通过交叉注意力模块融合。 l 分支使用自己的分类标记来生成查询投影,而 s 分支的处理输出(补丁及分类标记)用于生成键和值投影。注意力机制像往常一样使用这些投影来执行,并包含一些额外的函数以确保所有输入具有相同的维度。
之后,在下一个交叉注意力块中,l-分支的令牌将与自注意力机制中自己的补丁进行交互。此过程交替指定次数。但是相同的步骤在 s 分支中并行进行,具有自己的令牌和来自 l 分支的补丁。
最后,将两个分类标记连接起来,并将输出用于实际的图像分类。
通过在分支之间交换令牌以获得注意力机制内的查询投影,每个分支都能够学习另一个分支收集的累积信息。此外,通过将此步骤与具有自己的令牌和补丁的分支内执行注意力的交替进行,学习到的新信息能够丰富自身的信息。
用于分支之间通信的交叉注意融合方案以线性时间运行,CrossViT的性能也优于或与现有图像分类模型相当。
NesT
ViT 在准确性方面表现出良好的性能,但需要大量的训练数据。此外,它不能很好地推广到新数据或任务。 NesT 使用由嵌套Transformer block组成的分层结构来改进这些缺点。
首先,每个Transformer块包含多个Transformer层,用于处理经过线性投影的输入图像的非重叠、大小相等的部分。每个块将自己的一部分划分为补丁并且执行自注意力。
若移动到层次结构的下一个阶段,则需要块聚合。在此过程中,每组四个连接的块都会合并为一个。合并是使用卷积和最大池化操作完成的,这些操作在所有四个块的输出上共同执行。块的数量减少了四倍,重复块聚合,直到只剩下一个块。直到到达层次结构的顶部。根据最后一个块的输出对图像进行分类。
通过使用块聚合,NesT 能够在每个层次阶段实现跨块非本地信息通信。此外,局部注意力是通过在不同图像部分上使用单独的Transformer block来实现的,而全局注意力是通过块聚合来实现的。随着信息在层次结构中向上移动,模型的“感受野”就会扩大。人们发现 NesT 收敛速度更快,并且需要更少的训练数据来匹配 ViT 的性能。它还对数据增强表现出较低的敏感性,并表现出更好的泛化能力。
MaxViT
基于自注意力机制的ViT模型在输入图像大小和计算机视觉任务的复杂性方面缺乏可扩展性。
通过在基础模型中引入多轴注意力和卷积来解决这一问题。
多轴注意力的目标是允许对任何分辨率的输入的空间信息进行局部和全局处理。
MaxViT 将其初始卷积层的结果作为输入。在整个工作过程中,它使用相对自我注意力,其中相对学习偏差被添加到获得的注意力权重中。
输入通过多个堆叠的 MaxViT 模块传递,每个模块以不同的输入分辨率运行。每个块涉及三个过程:MBConv、Block Attention 和 Grid Attention。 MBConv(倒置瓶颈卷积:主要思想是倒转残差结构) 由深度卷积层组成,后面是挤压和激励模块。 MBConv的输出作为Block Attention的输入。它被分为多个窗口,并且将 self-attention 应用于每个窗口。
接下来,网格注意力 混合 获得的令牌并对它们实施稀疏注意力。
对于分类,全局平均池化应用于这些连续 MaxViT 块的输出。所得的特征表示被输入到分类头中。
相对自注意力的使用为常规注意力机制添加了位置意识和归纳偏差。多轴自注意力(由Block Attention和Grid Attention组成)非常灵活,可以适应任何输入大小。它还允许在单个块内进行本地和全局信息处理。通过将常规自注意力过程分为两个连续的、较小规模的注意力机制,操作的复杂性也降低了。每个 MBConv 块中使用的挤压和激励模块提高了网络的泛化能力。MBConv 块作为一个整体也有利于条件位置编码,消除了模型中对显式位置编码层的需要。
可分离Vision Transformer(SepViT)
该模型旨在降低 ViT 的高计算复杂性。它引入了深度方向可分离自注意力、窗口令牌嵌入和逐点自注意力作为 ViT 结构中使用的常规自注意力机制的三步替代。还实施了分组自注意力方案以进一步提高模型的性能。
SepViT注意力层:首先,输入图像用于生成特征图,该特征图经过窗口分区,并为每个窗口创建一个token。深度自注意力应用于每个窗口内的所有像素及其相应的token。窗口token包含有关其各自窗口的聚合信息,从而完成窗口标记嵌入步骤。之后是逐点自注意力,其中窗口token经过层归一化和GeLu激活以生成查询和关键分支。 直接获取窗口的特征图并将其视为注意力机制中的值分支。
分组自注意力在模型的后期阶段取代了这一层,深度可分离的自注意力是在一组窗口上执行的,而不是在每个窗口上单独执行的。
深度可分离自注意力有助于捕获局部图像特征,而点自注意力可以实现全局信息处理。窗口标记嵌入对跨窗口的注意力关系进行建模。利用这些功能,SepViT能够在单个Transformer块中捕获局部和全局信息。并且其还实现了性能和延迟之间的竞争性权衡。最后,自注意力方案还帮助模型从输入中学习长程依赖性,从而提高其整体性能。
实验如下进行。 BreakHis 和 IDC 数据集均分别分为各自的训练集、验证集和测试集,其中包含 85%、5% 和 10% 的图像。每张图像都经过数据增强。
之前在 BreakHis 上从头开始训练的模型现在被认为是预训练模型。然后在 IDC 数据集上对它们进行微调。
训练模型的周期数与其性能之间没有直接相关性。收敛速度更快的模型不一定表现更好。