Advertisement

ViT(Vision Transformer)算法入门

阅读量:

Transformers架构作为事实标准,在自然语言处理领域已经得到了广泛应用。然而,在计算机视觉方面的应用仍显有限。值得注意的是,在视觉领域中注意力机制既可以与卷积神经网络相结合使用又可替代卷积神经网络的部分组件以保留原有结构。研究表明这种对卷积神经网络(CNN)的高度依赖并非必要而且通过直接将纯变换器应用于图像块序列能够有效地完成图像分类任务。

基于Transformer的方法,在不大幅修改现有流程的前提下尝试将其标准化架构直接应用于视觉数据处理上,并仅需对整个视觉分类过程进行最小程度的改动即可达到预期效果。具体而言,在ViT方法中首先会对输入视觉数据进行分割操作以获取独立的小块表示;随后会对这些分割出的小块分别执行线性嵌入操作生成序列化表示;最后将这些经过处理后的特征序列作为模型输入并结合监督学习机制完成最终的任务目标

参考论文https://arxiv.org/pdf/2010.11929.pdf

我们采用固定尺寸的方式对图像进行分块处理,在每个区域应用线性嵌入技术,并对获取到的编码序列输入到标准Transformer架构中进行特征提取。随后,在执行分类任务时,在编码序列末尾附加可学习的分类标记以提升识别效果

vit 模型结构示意图

作为原始图像块的替代性方案,在该混合架构中使用CNN生成特征序列作为输入数据的一部分。特别地,在这种混合模型架构中,“将面片嵌入投影应用于从CNN特征图中提取的面片”的方法被采用。“在这种特殊情况下”,当所考虑的面片具有空间尺寸为1x1时,“通过直接展平特征地图的空间维度并将其映射到变换维度来生成输入序列”的过程得以实现。“如前所述”,在此框架下增加了分类输入嵌入层以及位置编码层以提高模型性能。

论文通过将图像划分为固定尺寸的区域并对其进行线性映射来处理每个区域,在每个区域中引入位置编码后再将生成序列输入到标准Transformer编码器中。研究者在处理过程中通过标准技术引入了可学习的位置标记。

研究人员对ResNet、Vision Transformer(ViT)以及混合型架构在表征学习方面的性能进行了系统性评估。为了深入分析各模型所需的数据量与性能关系,在多个不同规模的数据集上进行了预训练工作,并对一系列标准测试任务进行了全面评估。在计算资源投入与性能表现之间权衡时发现,在相同预算下ViT能够实现比其他方法更高的准确率

Transformer 是一种基于 encoder-decoder 结构的模型

每个解码器都可以分解成两个子层。

在编码器输入的过程中,句子会首先经历一个自注意力(self-attention)机制的过程,在这个过程中帮助编码器在对每个单词进行编码时捕获额外信息。

自注意力机制的输出会被前馈(feed-forward)神经网络接收处理。对于每一个位置上的特征值而言,其对应的前馈神经网络结构是完全相同的。

解码器中也包含编码器级自注意力机制及前馈网络结构

这两个层之间还有一个自注意力层。

总之就是输入图像,然后提取特征训练,最后通过分类器进行图像的分类

全部评论 (0)

还没有任何评论哟~