| |
|
开发:
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 论文代码链接 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 BiasViT模型在将图片变成词向量的过程中,感受野受限于划分patch时的卷积的卷积核大小。因此出现了本节标题中的问题。 以下等式代表视觉词向量visual tokens的感受野的计算 k是划分patch时的kernel size,j是stride,是词向量的感受野,是transformer layer的感受野大小。 参考论文:?Computing receptive fields of convolutional neural networks 在词向量化后,transformer layer的操作并不影响感受野,因此,最后词向量的感受野就是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 ? [B, N+1, embed_dim],? ?K ? [B, N+1, embed_dim],? ?V ? [B, N+1, embed_dim] 相似矩阵similarity matrix R ? ?[B, N+1, N+1] 注意力分数attention score ? ?[B, N+1, embed_dim]
根据实验显示,输出的注意力分数趋于平滑会导致ViT模型的表现下降。 解决办法: 提出了LSA(Locality Self-Attention) 5 方法Method5.1 SPT, Shifted Patch Tokenization每个输入的图像都会经过平移策略S的处理,S会将图像向着四个方向(左上、右上、左下、右下)移动patch_size/2的距离。也可以使用其他不同的策略S。 移动后的图像会裁剪到输入图像的尺寸,然后与输入图像拼接起来。 然后拼接得到的特征会被划分为patch并且展平。 最后经过LayerNorn和Linear映射得到词向量tokens。 P代表划分Patch,代表根据策略S平移处理得到的第i个图像,代表Linear映射的参数。 SPT的使用分为图像到词向量的转换、词向量变化为特征图然后下采样两种情况。 5.2?Locality SelfAttention MechanismLSA的核心技术包含对角线掩藏(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矩阵,是可学习的温度系数。 LSA解决了自注意力分数的分布平滑的问题。 上面的图是自注意力分数的分布的KL散度与模型的关系。T-ViT是只带可学习的温度系数技术的ViT,M-ViT是只带对角线掩藏操作的技术,L-ViT是两个技术都有的模型。 KL散度越大,分布越尖锐。 6 实验带SL-的模型是加入了本文的SPT和LSA模块的模型。 S_pool代表应用了SPT到池化层中。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |