无需训练,自动扩展的视觉Transformer来了(1)

简介: 无需训练,自动扩展的视觉Transformer来了

来自德克萨斯大学奥斯汀分校、悉尼科技大学和谷歌的研究者提出了一个无需训练就能自动扩展框架 As-ViT,其能以高效和有原则的方式自动发现和扩展 ViT。

当前 Vision Transformers (ViT)领域有两个主要的痛点:1、缺少对 ViT 进行设计和扩展的有效方法;2、训练 ViT 的计算成本比卷积网络要大得多。


为了解决这两个问题,来自得克萨斯大学奥斯汀分校、悉尼科技大学和谷歌的研究者提出了 As-ViT(Auto-scaling Vision Transformers),这是一个无需训练的 ViT 自动扩展框架,它能以高效且有原则的方式自动设计和扩展 ViT。



论文链接:https://arxiv.org/abs/2202.11921


具体来说,研究人员首先利用无训练搜索过程设计了 ViT 拓扑的「种子」,这种极快的搜索是通过对 ViT 网络复杂性的全面研究来实现的,从而产生了与真实准确度的强 Kendall-tau 相关性。其次,从「种子」拓扑开始,通过将宽度 / 深度增加到不同的 ViT 层来自动化 ViT 的扩展规则,实现了在一次运行中具有不同数量参数的一系列架构。最后,基于 ViT 在早期训练阶段可以容忍粗粒度 tokenization 的经验,该研究提出了一种渐进式 tokenization 策略来更快、更节约地训练 ViT。


作为统一的框架,As-ViT 在分类(ImageNet-1k 上 83.5% 的 top1)和检测(COCO 上 52.7% 的 mAP)任务上实现了强大的性能,无需任何手动调整或扩展 ViT 架构,端到端模型设计和扩展过程在一块 V100 GPU 上只需 12 小时。

具有网络复杂度的 ViT 自动设计和扩展


为加快 ViT 设计并避免繁琐的手动工作,该研究希望以高效、自动化和有原则的 ViT 搜索和扩展为目标。具体来说有两个问题需要解决:1)在训练成本最小甚至为零的情况下,如何高效地找到最优的 ViT 架构拓扑?2)如何扩大 ViT 拓扑的深度和宽度以满足模型尺寸的不同需求?


扩展 ViT 的拓扑空间


在设计和扩展之前,首先是为 As-ViT 扩展的拓扑搜索空间:首先将输入图像嵌入到 1/4 尺度分辨率的块中,并采用逐级空间缩减和通道加倍策略。这是为了方便密集预测任务,例如需要多尺度特征的检测。



通过流形传播评估初始化时的 ViT 复杂性


ViT 训练速度很慢,因此,通过评估训练模型的准确率来进行架构搜索的成本将高得让人难以承受。最近学界出现很多用基于 ReLU 的 CNN 的免训练神经架构搜索方法,利用局部线性图 (Mellor et al., 2020)、梯度敏感性 (Abdelfattah et al., 2021)、线性区域数量 (Chen et al., 2021e;f) 或网络拓扑(Bhardwaj et al., 2021)等方式。


然而 ViT 配备了更复杂的非线性函数如 self-attention、softmax 和 GeLU。因此需要以更一般的方式衡量其学习能力。在新研究中,研究者考虑通过 ViT 测量流形传播的复杂性,以估计复杂函数可以如何被 ViT 逼近。直观地说,一个复杂的网络可以在其输出层将一个简单的输入传播到一个复杂的流形中,因此可能具有很强的学习能力。在 UT Austin 的工作中,他们通过 ViT 映射简单圆输入的多种复杂性:h(θ) = √ N [u^0 cos(θ) + u^1 sin(θ)]。这里,N 是 ViT 输入的维度(例如,对于 ImageNet 图像,N = 3 × 224 × 224),u^0 和 u^1 形成了圆所在的 R^N 的二维子空间的标准正交基。


搜索 ViT 拓扑奖励


研究者提出了基于 L^E 的免训练搜索(算法 1),大多数 NAS(神经架构搜索)方法将单路径或超级网络的准确率或损失值评估为代理推理。当应用于 ViT 时,这种基于训练的搜索将需要更多的计算成本。对于采样的每个架构,这里不是训练 ViT,而是计算 L^E 并将其视为指导搜索过程的奖励。


除了 L^E,还包括 NTK 条件数 κΘ = λ_max/λ_min ,以指示 ViT 的可训练性(Chen et al., 2021e; Xiao et al., 2019; Yang, 2020; Hron et al., 2020)。λ_max 和 λ_min 是 NTK 矩阵 Θ 的最大和最小特征值。


搜索使用强化学习方法,策略被定为联合分类分布,并通过策略梯度进行更新,该研究将策略更新为 500 step,观察到足以使策略收敛(熵从 15.3 下降到 5.7)。搜索过程非常快:在 ImageNet-1k 数据集上只有七个 GPU 小时 (V100),这要归功于绕过 ViT 训练的 L^E 的简单计算。为了解决 L^E 和 κΘ 的不同大小,该研究通过它们的相对值范围对它们进行归一化(算法 1 中的第 5 行)。


表 3 总结了新搜索方法的 ViT 拓扑统计数据。我们可以看到 L^E 和 κΘ 高度偏好:(1)具有重叠的 token (K_1∼K_4 都大于 stride ),以及(2)在更深层中更大的 FFN 扩展率(E_1 < E_2 < E_3 < E_4)。在注意力分裂和正面数量上没有发现 L^E 和 κΘ 的明显偏好。




相关文章
|
Web App开发 安全 iOS开发
TrollStore巨魔商店永久安装APP 可实现IOS应用双开 安装任意APP
TrollStore 是一个永久签名的监禁应用程序,可以永久安装您在其中打开的任何 IPA。
15296 0
|
NoSQL Redis
Redis安装布隆(Bloom Filter)过滤器
Redis安装布隆(Bloom Filter)过滤器
938 0
Redis安装布隆(Bloom Filter)过滤器
|
10月前
|
机器学习/深度学习 人工智能 编解码
Text to Bark:让狗狗听懂人话!全球首个AI"狗语"生成器,137种狗狗口音任君挑选
ElevenLabs推出的Text to Bark是全球首个能将文本转换为逼真狗吠声的AI模型,支持多种犬种选择并适配智能家居设备,其核心技术基于深度神经网络训练。
2014 15
Text to Bark:让狗狗听懂人话!全球首个AI"狗语"生成器,137种狗狗口音任君挑选
|
6月前
|
传感器 人工智能 自然语言处理
魔搭社区模型速递(7.26-8.2)
🙋魔搭ModelScope本期社区进展:1498个模型,130个数据集,85个创新应用, 7 篇内容
722 0
|
存储 Java 关系型数据库
高效连接之道:Java连接池原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。频繁创建和关闭连接会消耗大量资源,导致性能瓶颈。为此,Java连接池技术通过复用连接,实现高效、稳定的数据库连接管理。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接池的基本操作、配置和使用方法,以及在电商应用中的具体应用示例。
385 5
|
XML JSON 数据可视化
数据集学习笔记(六):目标检测和图像分割标注软件介绍和使用,并转换成YOLO系列可使用的数据集格式
本文介绍了labelImg和labelme两款图像标注工具的安装、使用、数据转换和验证方法,适用于目标检测和图像分割任务,支持YOLO等数据集格式。
4852 2
数据集学习笔记(六):目标检测和图像分割标注软件介绍和使用,并转换成YOLO系列可使用的数据集格式
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带你走进Node.js的世界,从基础到进阶,逐步解析Node.js在后端开发中的应用。我们将通过实例来理解Node.js的异步特性、事件驱动模型以及如何利用它处理高并发请求。此外,文章还会介绍如何搭建一个基本的Node.js服务器,并探讨如何利用现代前端框架与Node.js进行交互,实现全栈式开发。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
485 4
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
Docker 容器
解决:Error response from daemon: manifest for xxx:latest not found: manifest unknown.
解决:Error response from daemon: manifest for xxx:latest not found: manifest unknown.
2082 0
|
数据采集 人工智能 算法
数据准备:AI训练的第一步
【7月更文第16天】在人工智能(AI)的旅程中,数据是燃料,而数据准备则是启动引擎的关键步骤。本文将深入探讨数据收集、清洗、标注与预处理的重要性及实施方法,为你的AI项目奠定坚实的基础。
1121 1