IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 论文阅读笔记Vision Transformer for Small-Size Datasets -> 正文阅读

[人工智能]论文阅读笔记Vision Transformer for Small-Size Datasets

1 论文简介

论文标题

Vision Transformer for Small-Size Datasets

暂时没有找到发表在哪个期刊或者会议。

只是在arxiv上公开了。

论文链接arxivhttps://arxiv.org/abs/2112.13492

论文署名单位

Inha University? ?仁荷大学? ?坐落于韩国仁川? QS: 531-540

论文代码链接

GitHub - aanna0701/SPT_LSA_ViT: Implementation of Visual Transformer for Small-size DatasetsImplementation of Visual Transformer for Small-size Datasets - GitHub - aanna0701/SPT_LSA_ViT: Implementation of Visual Transformer for Small-size Datasetshttps://github.com/aanna0701/SPT_LSA_ViT实验使用了一张2080TI

2 摘要Abstract

近年来,ViT模型将Transformer运用到图像分类任务中取得了超越卷积神经网络的效果。

但是ViT模型的优越表现依赖于大规模数据集上的预训练(例如在数据集JFT-300M上训练)。这种依赖被归因于较低的局部归纳偏移(low locality inuctive bias)。

本文提出了SPT(Shifted Patch Tokenization)和LSA(Locality Self-Attention)去解决这个问题,使得ViT模型能够在小数据集上从零开始训练。另外这两个模块是通用的,可以很容易的加到不同的ViT变种模型中去。

实验显示,加入了SPT和LSA后,ViT模型在Tiny-ImageNet数据集(代表性的小数据集)上的表现平均上升了2.96%。特别是SwinTransformer可以收获4.08%的精度上升。

3 总结Conclusion

为了能够在小数据集上使用ViT模型,本文提出了两个新的技术去提升模型的局部归纳偏置。

首先,使用SPT通过特定的转换给visual tokens嵌入丰富的空间信息。

第二,LSA通过带可学习参数的softmax给ViT引入局部性。

SPT和LSA单独使用都能给ViT模型带来提升,并且有着很大的兼容性。

4 论文思路

4.1 较低的局部归纳偏置Low Local Indective Bias

ViT模型在将图片变成词向量的过程中,感受野受限于划分patch时的卷积的卷积核大小。因此出现了本节标题中的问题。

以下等式代表视觉词向量visual tokens的感受野的计算

k是划分patch时的kernel size,j是stride,r_{token}是词向量的感受野,r_{trans}是transformer layer的感受野大小。

r_{token} = r_{trans}\cdot j + (k-j)

参考论文:?Computing receptive fields of convolutional neural networks

在词向量化后,transformer layer的操作并不影响感受野,因此r_{trans}=1,最后词向量的感受野就是kernel size,即patch size(ViT中划分patch的卷积的卷积核大小等于patch size)。

输入是[3, 224, 224]时,patch size是16,则普通ViT模型中词向量的感受野是16,而ResNet50是483(根据上面的参考论文)。两者相差了30倍,作者认为较小的感受野导致了低局部归纳偏置(具体代表什么有待进一步探究)。

解决办法:提出了SPT(Shifted Patch Tokenization)

4.2 标准ViT中自注意力分数的分布倾向于平滑

attention of standard ViT tend to be similar to each other regardless of relations.

输入x? ? [B, N+1, embed_dim]? ?N是patch的数量。

Q=xE_q

K=xE_k

V=xE_v

Q ? [B, N+1, embed_dim],? ?K ? [B, N+1, embed_dim],? ?V ? [B, N+1, embed_dim]

相似矩阵similarity matrix R

R=QK^T? ?[B, N+1, N+1]

注意力分数attention score

SA = softmax(\frac{R}{\sqrt{d_k}})V? ?[B, N+1, embed_dim]

  • 在得到Q和K时,是通过不同的Linear 层从同样的输入x映射得来,Q和K倾向于拥有相似的大小。而R矩阵通过Q和K计算得到,因此R矩阵中token与自己的关系的值通常总是大于token之间的关系的值。进一步,在softmax输出的值中也会出现这种情况。
  • 为了防止梯度消失,R矩阵会除以root(d_k),在root(d_k)的值较大时(softmax的温度大,参考链接),输出的注意力分数的分布会倾向于平滑

根据实验显示,输出的注意力分数趋于平滑会导致ViT模型的表现下降。

解决办法: 提出了LSA(Locality Self-Attention)

5 方法Method

5.1 SPT, Shifted Patch Tokenization

每个输入的图像都会经过平移策略S的处理,S会将图像向着四个方向(左上、右上、左下、右下)移动patch_size/2的距离。也可以使用其他不同的策略S。

移动后的图像会裁剪到输入图像的尺寸,然后与输入图像拼接起来。

然后拼接得到的特征会被划分为patch并且展平。

最后经过LayerNorn和Linear映射得到词向量tokens。

S(x)=LN(P([x s^1 s^2...s^{N_s}]))E_s

P代表划分Patch,s^i代表根据策略S平移处理得到的第i个图像,E_s代表Linear映射的参数。

SPT的使用分为图像到词向量的转换、词向量变化为特征图然后下采样两种情况。

5.2?Locality SelfAttention Mechanism

LSA的核心技术包含对角线掩藏(Diagonal Masking)和可学习的温度放缩系数(learnable temperature scaling)。

5.2.1?Diagonal Masking

对角线掩藏的作用:在softmax操作中将tokens与自己之间的关系排除在外,从而增大tokens之间的关系的分数。

在之前介绍到的R矩阵中(4.2节),对角线的元素是tokens与自己的关系的分数,其他的元素是tokens之间的关系的分数。

在对角线掩藏的操作中,会强制将R矩阵的对角线元素赋值为负无穷。

?5.2.2?学习的温度放缩系数 learnable temperature scaling

可学习的温度放缩系数的作用:允许ViT模型在训练的过程中根据情况觉得softmax的温度放缩系数。

红色的虚线是以前使用的恒定值的温度放缩系数;其他的曲线是学习出来的温度系数与深度的关系(我猜测深度指softmax所在的transformer block所在的深度)。可以看到学习出来的基本低于设定的恒定值。

更低的温度系数使得自注意力分数的分布更加尖锐,不那么平滑。

5.2.3 结合了这两项技术的LSA

?R^M是带对角线掩藏操作的R矩阵,\tau是可学习的温度系数。

LSA解决了自注意力分数的分布平滑的问题。

上面的图是自注意力分数的分布的KL散度与模型的关系。T-ViT是只带可学习的温度系数技术的ViT,M-ViT是只带对角线掩藏操作的技术,L-ViT是两个技术都有的模型。

KL散度越大,分布越尖锐。

6 实验

带SL-的模型是加入了本文的SPT和LSA模块的模型。 S_pool代表应用了SPT到池化层中。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:15:05  更:2022-09-13 11:20:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 17:45:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计