| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Compact-Transformer:缓解数据不足带来的问题 -> 正文阅读 |
|
[人工智能]Compact-Transformer:缓解数据不足带来的问题 |
【GiantPandaCV导语】本文致力于解决ViT在小型数据集上性能不够好的问题,这个问题非常实际,现实情况下如果确实没有大量数据集,同时也没有合适的预训练模型需要从头训练的时候,ViT架构性能是不如CNN架构的。这篇文章实际上并没有引入大量的卷积操作,通过修改patch size,以及使用SeqPool的方法就可以取得不错的成绩。 引言ViT不适用于小数据集,但是由于很多领域中数据量大小是非常有限的,为了打破ViT数据匮乏下性能不好,只能应用于大数据集的问题。本文提出使用正确的尺寸以及tokenization方法,可以让Transformer在小型数据集上达到SOTA。从头开始训练CIFAR10可以达到98%准确率。 本文中首先引入了ViT-Lite,这是一种小型结构更紧密的ViT,在其基础上添加合适大小的Patch sizeing得到Compact Vision Transformer.
本文核心贡献如下:
方法提出了三种模型ViT-Lite, CVT, CCT。 ViT-Lite该模型与原始模型几乎相同,但是使用更小的patch size。小型数据集本身就很小,因此patch size比较重要。 CVT引入了Sequential Pooling方法,SeqPool消除了额外的Classification Token, 这个变换用T表示: R b × n × d ? R b ^ × d \mathbb{R}^{b \times n \times d} \mapsto \mathbb{R}^{\hat{b} \times d} Rb×n×d?Rb^×d, 输入为 x L = f ( x 0 ) ∈ R b × n × d \mathbf{x}_{L}=\mathrm{f}\left(\mathbf{x}_{0}\right) \in \mathbb{R}^{b \times n \times d} xL?=f(x0?)∈Rb×n×d, 其中b表示batch size, n表示sequence length, d是embedding 维度,g代表linear layer, g ( x L ) ∈ R d × 1 \mathrm{g}\left(\mathbf{x}_{L}\right) \in \mathbb{R}^{d \times 1} g(xL?)∈Rd×1(ps:感觉有点类似channel attention) z = x L ′ x L = softmax ? ( g ( x L ) T ) × x L ∈ R b × 1 × d \mathbf{z}=\mathbf{x}_{L}^{\prime} \mathbf{x}_{L}=\operatorname{softmax}\left(\mathrm{g}\left(\mathbf{x}_{L}\right)^{T}\right) \times \mathbf{x}_{L} \in \mathbb{R}^{b \times 1 \times d} z=xL′?xL?=softmax(g(xL?)T)×xL?∈Rb×1×d 代码实现如下:
CCT直接引入卷积作为主干,保留了局部信息,并且能够编码patch之间的关系。 CCT-12/7x2代表:Transformer encoder有12层,使用了2个Convolution block,其中用的是7x7 大小的卷积核。 实验小型数据集上结果: 这个地方其实有点不太符合直觉,直觉上来看,卷积层数越多在小数据集上性能应该越好,但是这里发现使用一个卷积要比使用两个更好。 ImageNet结果: CIFAR10上的Trade off: 消融实验:(关注SP即Seqence Pooling操作有效性) Positional Embedding的影响: 参考https://arxiv.org/abs/2104.05704 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/26 13:49:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |