DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

这篇具有很好参考价值的文章主要介绍了DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

VIT在归纳偏置方面存在空间相关性和信道表示的多样性两大缺陷。所以论文提出了动态混合视觉变压器(DHVT)来增强这两种感应偏差。

在空间方面,采用混合结构,将卷积集成到补丁嵌入和多层感知器模块中,迫使模型捕获令牌特征及其相邻特征。

在信道方面,引入了MLP中的动态特征聚合模块和多头注意力模块中全新的“head token”设计,帮助重新校准信道表示,并使不同的信道组表示相互交互。

Dynamic Hybrid Vision Transformer (DHVT)

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

1、顺序重叠补丁嵌入 (Sequential Overlapping Patch Embedding )

改进后的补丁嵌入称为Sequential overlap patch embedding(SOPE),它包含了3×3步长s=2的卷积、BN和GELU激活的几个连续卷积层。卷积层数与patch大小的关系为P=2^k。SOPE能够消除以前嵌入模块带来的不连续性,保留重要的底层特征。它能在一定程度上提供位置信息。

在一系列卷积层前后分别采用两次仿射变换。该操作对输入特征进行了缩放和移位,其作用类似于归一化,使训练性能在小数据集上更加稳定。

SOPE的整个流程可以表述如下。

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

这里的α和β为可学习参数,分别初始化为1和0。

2、编码器整体架构

然后将特征映射重塑为补丁并与cls令牌连接,并发到编码器层。每个编码器包含层归一化、多头自注意力和前馈网络。将MHSA网络改进为头部交互多头自注意网络(HI-MHSA),将前馈网络改进为动态聚合前馈网络(DAFF)。在最后的编码器层之后,输出类标记将被馈送到线性头部进行最终预测。

3、动态聚合前馈 (Dynamic Aggregation Feed Forward )

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

ViT 中的普通前馈网络 (FFN) 由两个全连接层和 GELU 组成。DAFF 在 FFN 中集成了来自 MobileNetV1 的深度卷积 (DWCONV)。由于深度卷积带来的归纳偏差,模型被迫捕获相邻特征,解决了空间视图上的问题。它极大地减少了在小型数据集上从头开始训练时的性能差距,并且比标准 CNN 收敛得更快。还使用了与来自 SENet 的 SE 模块类似的机制。

Xc、Xp 分别表示类标记和补丁标记。类标记在投影层之前从序列中分离为 Xc。剩余的令牌 Xp 则通过一个内部有残差连接的深度集成多层感知器。

然后将输出的补丁标记平均为权重向量 W。在squeeze-excitation操作之后,输出权重向量将与类标记通道相乘。然后重新校准的类令牌将与输出补丁令牌以恢复令牌序列。

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

4、相互作用多头自注意(HI-MHSA)

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

在最初的MHSA模块中,每个注意头都没有与其他头交互。在缺乏训练数据的情况下,每个通道组的表征都太弱而无法识别。

在HI-MHSA中,每个d维令牌,包括类令牌,将被重塑为h部分。每个部分包含d个通道,其中d =d×h。所有分离的标记在它们各自的部分中取平均值。因此总共得到h个令牌,每个令牌都是d维的。所有这样的中间令牌将再次投影到d维,总共产生h个头部令牌。最后,将它们与补丁令牌和类令牌连接起来。

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

5、模型变体

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

DHVT-T: 12层编码器,嵌入维度为192,MLP比为4,CIFAR-100和DomainNet上的注意头为4,ImageNet-1K上的注意头为3。DHVT-S: 12层编码器,嵌入维度为384,MLP比4,CIFAR-100上注意头为8,DomainNet和ImageNet-1K上注意头为6。

需要说明的是:论文和模型的重点是在小数据集上从零开始训练。

结果展示

1、DomainNet & ImageNet-1K

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

在DomainNet上,DHVT表现出比标准ResNet-50更好的结果。在ImageNet-1K上,DHVT-T的准确率达到76.47,DHVT-S的准确率达到82.3。论文说这是在VIT的最佳性能。

2、CIFAR-100

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

DHVT-T在5.8M参数下达到83.54。DHVT-S仅用2280万个参数即可达到85.68。与其他基于vit的模型和CNN(ResNeXt, SENet, SKNet, DenseNet和Res2Net)相比,所提出的模型参数更少,性能更高。

3、消融研究

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

DeiT-T 4头,从头开始训练300次,基线成绩67.59。当移除绝对位置嵌入时,性能急剧下降至58.72。当采用SOPE并取消绝对位置嵌入时,性能下降幅度并不大。

同时采用SOPE和DAFF时,可以对位置信息进行全面编码,SOPE也有助于解决这里的不重叠问题,在早期保留了细粒度的底层特征。

table6发现了跨不同模型结构的head令牌带来的稳定性能增益。

当采用这三种修改时,获得了+13.26的精度增益,成功地弥合了与CNN的性能差距。

4、可视化

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

不同的head令牌在不同的补丁上激活

https://avoid.overfit.cn/post/806ce15b180440d988de5f76e22a2aaf

作者:Sik-Ho Tsang文章来源地址https://www.toymoban.com/news/detail-480324.html

到了这里,关于DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 经典神经网络(7)DenseNet及其在Fashion-MNIST数据集上的应用

    DenseNet 不是通过更深或者更宽的结构,而是通过特征重用来提升网络的学习能力。 ResNet 的思想是:创建从“靠近输入的层” 到 “靠近输出的层” 的直连。而 DenseNet 做得更为彻底:将所有层以前馈的形式相连,这种网络因此称作 DenseNet 。 DenseNet 具有以下的优点: 缓解梯度

    2024年02月12日
    浏览(40)
  • GoogLeNet卷积神经网络输出数据形参分析-笔记

    GoogLeNet卷积神经网络输出数据形参分析-笔记 分析结果为: 输入数据形状:[10, 3, 224, 224] 最后输出结果:linear_0 [10, 1] [1024, 1] [1] 子空间执行逻辑 其中拼接张量情况为: 拼接代码:paddle.concat([p1, p2, p3, p4], axis=1) 如 p1=[10,64,5,6,56] p2=[10,128,56,56] p3=[10,32,56,56] p4=[10,32,56,56] 拼接后结果

    2024年02月14日
    浏览(39)
  • ResNet50卷积神经网络输出数据形参分析-笔记

    ResNet50卷积神经网络输出数据形参分析-笔记 ResNet50包含多个模块,其中第2到第5个模块分别包含3、4、6、3个残差块 50=49个卷积(3+4+6+3)*3+1和一个全连接层 分析结果为: 输入数据形状:[10, 3, 224, 224] 最后输出结果:linear_0 [10, 1] [2048, 1] [1] ResNet50包含多个模块,其中第2到第5个模

    2024年02月14日
    浏览(48)
  • 卷积神经网络狗猫数据集的分类

    安装Anaconda 具体安装过程,请自行百度 配置TensorFlow、Keras 创建虚拟环境 输入下面命令: 激活环境 使用下面命令: 安装tensorflow和keras 使用下面命令: 安装完成后,我们需要在指定虚拟环境中新建一个 jupyter notebook 项目,执行如下命令即可将指定环境添加到 jupyter notebook 中

    2024年02月12日
    浏览(37)
  • 卷积神经网络的安全应用:防范恶意攻击与数据保护

    卷积神经网络(Convolutional Neural Networks,简称CNN)是一种深度学习算法,主要应用于图像和语音处理领域。在近年来,CNN在计算机视觉、自然语言处理等领域取得了显著的成果,如图像分类、目标检测、语音识别等。然而,随着人工智能技术的不断发展,数据安全和恶意攻击问题

    2024年02月19日
    浏览(50)
  • 【Matlab】基于卷积神经网络的数据回归预测(Excel可直接替换数据))

    基于卷积神经网络(Convolutional Neural Network,CNN)的数据回归预测是一种常见的机器学习方法,适用于处理具有空间结构的数据,如图像、时间序列等。在这种预测中,我们使用卷积层来自动学习输入数据中的特征,并通过回归层预测输出值。下面详细介绍其原理: 卷积神经

    2024年02月15日
    浏览(46)
  • 卷积神经网络|猫狗分类系列--导入kaggle猫狗数据集

    解决任何真实问题的重要一步是获取数据,Kaggle提供了大量不同数据科学问题的竞赛。 我们将从 https://www.kaggle.com/competitions/dogs-vs-cats/data 下载猫狗数据集,并对其进行一定的操作,以正确的导入到我们的计算机,为接下来的模型训练做准备。 数据集(带有标号的)包含250

    2024年01月23日
    浏览(52)
  • python基于卷积神经网络实现自定义数据集训练与测试

           如何更改图像尺寸在这篇文章中,修改完之后你就可以把你自己的数据集应用到网络 。 如果你的训练集与测试集也分别为30和5,并且样本类别也为3类,那么你只需要更改图像标签文件地址以及标签内容(如下面两图所示)。 图片名-标签文件如何生成请看这篇文

    2024年02月04日
    浏览(43)
  • 机器学习实验4——CNN卷积神经网络分类Minst数据集

    基于手写minst数据集,完成关于卷积网络CNN的模型训练、测试与评估。 卷积层 通过使用一组可学习的滤波器(也称为卷积核)对输入图像进行滑动窗口卷积操作,这样可以提取出不同位置的局部特征,从而捕捉到图像的空间结构信息。 激活函数 在卷积层之后,通常会应用一

    2024年01月24日
    浏览(53)
  • Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类)

    卷积神经网络,也叫 CNN ,它是计算机视觉应用几乎都在使用的一种深度学习模型。我们都知道,成功提取显著相关的特征是保障任何机器学习的算法成功的保障,传统的机器学习模型依赖领域专家的输入特征,或者基于计算特征的提取技术。神经网络能够自动地从原始数据

    2024年02月03日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包