Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

CVPR 2022 Oral | 腾讯优图&厦门大学提出无需训练的ViT结构搜索算法

无需训练的 ViT 结构搜索算法是怎么样的?性能又如何呢?腾讯优图实验室、厦门大学等机构对此进行了深入的探讨与研究。论文被选中为 CVPR 2022 Oral。

近期,ViT 在计算机视觉领域展现了出强大的竞争力、在多个任务里取得了惊人的进展。随着许多人工设计的 ViT 结构(如Swin-Transformer、PVT、XCiT 等)的出现,面向 ViT 的结构搜索(TAS) 开始受到越来越多的关注。TAS 旨在以自动化的方式在 ViT 搜索空间(如MSA 的 head 数量、channel ratio 等)中找到更优的网络结构。基于 one-shot NAS 的方案(如AutoFormer、GLiT 等)已经取得了初步进展,但他们仍然需要很高的计算成本(如24 GPU days 以上)。主要原因有以下两点:

  1. 在空间的复杂度上,ViT 搜索空间(如,GLiT 空间的量级约 10^30)在数量上远远超过 CNN 搜索空间(如,DARTS 空间的量级约 10^18);

  2. ViT 模型通常需要更多的训练周期(如300 epochs)才能知道其对应的效果。


在近期的一篇论文《Training-free Transformer Architecture Search》中,来自腾讯优图实验室、厦门大学、鹏城实验室等结构的研究者回顾近些年 NAS 领域的进展,并注意到:为了提高搜索效率,研究社区提出了若干零成本代理(zero-cost proxy)的评估指标(如GraSP、TE-score 和 NASWOT)。这些方法让我们能够在无需训练的条件下就能评估出不同 CNN 结构的排序关系,从而极大程度上节省计算成本。


  • 论文地址:https://arxiv.org/pdf/2203.12217.pdf

  • 项目地址:https://github.com/decemberzhou/TF_TAS


从技术上来说,一个典型的 CNN 模型主要由卷积模块组成,而一个 ViT 模型主要由多头注意力模块(MSA)和多层感知机模块(MLP)组成。这种网络结构上的差异会让现有的、在 CNN 搜索空间上验证有效的零成本代理无法保证其在 ViT 搜索空间上模型评估效果(见下图 1)。

因此,研究一种更适合 ViT 结构评估、有利于 TAS 训练效率的零成本代理指标是有必要且值得探索的。这一问题也将促使研究者进一步研究和更好地理解 ViT 结构,从而设计一种有效的、无需训练的 TAS 搜索算法

图 1. (a)研究者采样的 1000 个 ViT 模型的参数量和效果分布。(b-e)在 CNN 搜索空间效果好的 zero-cost proxy 方法并不适用于 ViT 搜索空间。(f)他们的 DSS-indicator 更适合用来评估不同的 ViT 模型。

方法主体

为了达到这个目的,研究者对 MSA 和 MLP 模块进行了理论分析,希望找到某种可量化的属性来有效地评估 ViT 网络

基于量化结果,他们观察到:在 ViT 中,MSA 和 MLP 确实具有各自不同的、适合用来揭示模型效果的性质。研究者有如下定义:衡量一个 MSA 的秩复杂程度,将其计作突触多样性(synaptic diversity);估计一个 MLP 内重要参数的数量,将其计作突触显著性(synaptic saliency)。当 MSA 拥有更高的突触多样性或者当 MLP 有更多的突触显著性时,其对应的 ViT 模型总是拥有更好的效果。

基于这个重要的结果,研究者设计了一个有效且高效的零代价代理评估指标 DSS-indicator(下图 2),并基于此设计了一个包含模块化策略的无训练 Transformer 结构搜索算法(Transformer Architecture Search,TF-TAS)。

图 2. 方法的整体框架图。

具体来说,DSS-indicator 通过计算 MSA 的突触多样性和 MLP 的突触显著性来得到 ViT 结构的评价分数。这是学术界首次提出基于 MSA 的突触多样性和 MLP 的突触显著性来作为评价 ViT 结构的代理评估指标。而且需要注意的是,TF-TAS 与搜索空间设计和权值共享策略是正交的。因此,可以灵活地将 TF-TAS 与其他 ViT 搜索空间或 TAS 方法相结合,进一步提高搜索效率。

与人工设计的 ViT 和自动搜索的 ViT 相比,研究者设计的 TF-TAS 实现了具有竞争力的效果,将搜索过程从 24 GPU 天数缩短到不到 0.5 GPU 天数,大约快 48 倍


MSA 的突触多样性

MSA 是 ViT 结构的一个基本组件,其多样性对 ViT 效果有重要意义。基于已有的工作可以知道:MSA 模块学到的特征表示存在秩崩溃(rank collapse)的现象。随着输入在网络中前向传播和深度的不断加深,ViT 中 MSA 的输出会逐渐收敛到秩为 1、并最终退化为一个秩为 1 的矩阵(每一行的值不变,即多样性出现稀疏的情况)。秩崩溃意味着 ViT 模型效果很差。因此,我们可以通过估计秩崩溃的程度来推测 ViT 模型的效果。

然而,在高维空间中估计秩崩溃需要大量计算量。实际上,已经被证明矩阵的秩包含特征中多样性信息的代表性线索。基于这些理解,MSA 模块中权重参数的秩可以作为评价 ViT 结构的指标

对于 MSA 模块,直接对其权值矩阵的秩进行度量,存在计算量较大的问题。为了加速计算,研究者利用 MSA 权重矩阵的核范数近似其秩作为多样性指标。理论上,当权重矩阵的 Frobenius 范数(F 范数)满足一定条件时,权重矩阵的核范数可视为其秩的等价替换。具体来说,研究者将 MSA 模块的权值参数矩阵表示为。m 表示 MSA 中第 m 个线性层。因此,的 F 范数可以定义为:


其中,表示中第 i 行 j 列的元素,根据算术均值和几何均值的不等式,的上界为:



上式表示的上界即为的最大线性独立的向量数,即矩阵的秩。随机给定中的两个向量。当独立时,的值相应的会更大。这表明:的 F 范数越大,的秩越接近的多样性。当时,的核范数可以是秩的近似。形式上,的核范数被定义为:


其中,表示相应矩阵的迹,从而容易得到:。因此,的秩可近似为。理论上,成正比,这也表明利用的核范数可以测度的多样性。为了更好地估计权重随机初始化的 ViT 网络中 MSA 模块的突触多样性,研究者在每个 MSA 模块的梯度矩阵(L 为损失函数) 上进一步考虑上述步骤。


总的来说,研究者对第 l 个 MSA 模块中权重参数的突触多样性定义如下:

为了验证 MSA 的突触多样性与给定 ViT 架构的测试精度之间的正相关关系,研究者对从 AutoFormer 搜索空间中采样的 200 个 ViT 网络进行完整的训练,得到其对应的 MSA 模块的分类效果和突触多样性。它们之间的 Kentall’s τ 相关系数为 0.65,如下图 3a 所示。表明 MSA 的突触多样性与每个输入 ViT 架构的效果之间的正相关联系。

图 3. (a)MSA 的突触多样性(红)以及 MLP 的突触显著性(蓝)的评估效果;(b-c)MSA 和 MLP 具有不同的剪枝敏感性。

MLP 的突触显著性

模型剪枝对于 CNN 领域已经取得了很多进展,并开始在 Transformer 上得到应用。目前已经有几种有效的 CNN 剪枝方法被提出用来衡量早期训练阶段模型权重的重要性。主要有以下两派方法:

  1. 测量在初始化状态下衡量突触的显著性用于 CNN 模型的剪枝

  2. 由于 Transformer 中不同模块在初始化阶段也有不同程度的冗余,因而可以通过对不同大小的 Transformer 进行剪枝


剪枝相似,TAS 主要搜索几个重要维度,包括注意力头数量、MSA 和 MLP 比值等。受这些剪枝方法的启发,研究者尝试使用突触显著性来评估不同的 ViT。然而, MSA 和 MLP 的结构差异较大,因此需要分析剪枝敏感性对度量 ViT 中不同模块的影响。

为了进一步分析 MSA 和 MLP 对剪枝的敏感性不同对评估 ViT 模型的影响,研究者通过剪枝敏感性实验给出了一些定量结果。如图 3b 所示,他们从 AutoFormer 搜索空间中随机抽样 5 个 ViT 架构,分析 MSA 和 MLP 对剪枝的敏感性。结果显示,MLP 对修剪比 MSA 更敏感。他们还对 PiT 搜索空间进行了分析,得到了类似的观察结果 (图 3c)。

此外,研究者采用 MSA 和 MLP 模块上的突触显著性作为代理,分别计算代理 ViT 基准上的 Kendall’s τ 相关性系数。最终结果表明在 MLP 上突触显著性的 Kendall’s τ 为 0.47,优于 MSA (0.24)、MLP 和 MSA (0.41)。


由于突触显著性通常以总和的形式计算,冗余的权重往往带来负面的累积效应。MSA 模块对剪枝不敏感,说明 MSA 的权值参数具有较高的冗余性。在剪枝领域中被证明冗余权参数的值要比非冗余权参数的值小得多。尽管这些冗余参数的值相对较小,但超过 50% 的冗余往往会产生较大的累积效应,尤其是在区分相似的 ViT 结构时。

对于累积效应,一般的零成本代理中不加区分地将 MSA 的冗余权重参数考虑在内来衡量显著性,导致相应的零成本代理中的累加形式存在 MSA 的累积效应。累积效应可能会使零成本代理给差的网络更高的排名。同时,权重冗余对 MLP 模块突触显著性的影响较小,因此可以作为评估 MLP 模块权重次数秩的复杂性的一个指标,从一个方面指示模型的优劣。

为了评估 ViT 中的 MLP,研究者基于突触显著性设计了评估的代理指标。在网络剪枝中,对模型权值的重要性进行了广泛的研究。由于神经网络主要由卷积层组成,有几种基于剪枝的零成本代理可以直接用于测量神经网络的突触显著性。另一方面,ViT 体系结构主要由 MLP 和 MSA 模块组成,它们具有不同的剪枝特性。通过对 MSA 和 MLP 模块的剪枝敏感性分析,他们验证了 MLP 模块对剪枝更加敏感。因此,突触显著性可以更好地反映 MLP 模块中权重重要性的差异。相比之下,MSA 模块对剪枝相对不敏感,其突触显著性往往受到冗余权重的影响。

基于 MLP 的修剪敏感性,研究者建议以模块化的方式测量突触显著性。具体来说,所提出的模块化策略测量了作为 ViT 结构的一个重要部分的 MLPs 的突触显著性。给定一个 ViT 架构,第 l 个 MLP 模块的显著性得分为:


其中 n 为指定 ViT 网络中第 l 个 MLP 的线性层数,通常设为 2。图 3a 显示了一些定性结果,以验证在评估 ViT 架构方面的有效性。


无需训练的 TAS

基于上述分析,研究者设计了一种基于模块化策略的无需训练的 TAS(TF-TAS),来提高搜索 TAS 的搜索效率。如下公式所示,DSS-indicator 同时考虑 MSA 的突触多样性和 MLP 的突触显著性来对模型进行评分:


总的来说,DSS-indicator 从两个不同的维度评估每个 ViT 结构。TF-TAS 在输入模型经过一个前向传播和后向更新后计算,作为相应的 ViT 模型的代理分数。研究者保持模型的输入数据的每个像素为 1,以消除输入数据对权重计算的影响。因此,对随机种子具有不变性,与真实的图片输入数据无关。

实验结果

1.Image-Net

研究者首先在 ImageNet 数据集上进行搜索效果测试,结果如下所示。在三种参数量级上,研究者都能找到不亚于、甚至比基于 one-shot NAS 的 TAS 方法更好的模型结果。而且所需要的耗时(0.5 GPU days)要远小于现有 TAS 方法所需的计算成本(24 GPU days 以上)。


2. 迁移实验

为了进一步验证搜索得到的模型的效果,研究者在 CIFAR-10、CIFAR-100 数据集上验证其迁移性。按照 AutoFormer 论文的设定,他们将模型在 384 x 384 大小的图像上进行 fintune,效果如下所示。基于 DSS-indicator 找到的模型与基于 one-shot NAS 找到的模型在迁移性上不相上下。


3. 在其他 ViT 搜索空间的搜索效果

此外,研究者也在 PiT 搜索空间上进行了搜索测试,并按照论文的设定,在 COCO 数据集上测试了搜索到的模型结果对应的检测效果。结果如下表所示:他们搜索找到的 PiT 模型 TF-TAS-Ti、TF-TAS-XS 和 TF-TAS-S 和基于手工设计的 PiT 的效果不相上下,而且远好于随机搜索的模型结果。并且在检测效果上,研究者的方法也有一定的优势。这些结果验证了该方法的有效性和普适性。

理论CVPR2022厦门大学腾讯优图计算机视觉ViT
相关数据
范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

多层感知机技术

感知机(Perceptron)一般只有一个输入层与一个输出层,导致了学习能力有限而只能解决线性可分问题。多层感知机(Multilayer Perceptron)是一类前馈(人工)神经网络及感知机的延伸,它至少由三层功能神经元(functional neuron)组成(输入层,隐层,输出层),每层神经元与下一层神经元全互连,神经元之间不存在同层连接或跨层连接,其中隐层或隐含层(hidden layer)介于输入层与输出层之间的,主要通过非线性的函数复合对信号进行逐步加工,特征提取以及表示学习。多层感知机的强大学习能力在于,虽然训练数据没有指明每层的功能,但网络的层数、每层的神经元的个数、神经元的激活函数均为可调且由模型选择预先决定,学习算法只需通过模型训练决定网络参数(连接权重与阈值),即可最好地实现对于目标函数的近似,故也被称为函数的泛逼近器(universal function approximator)。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

相关性系数技术

相关系数是某种相关性的数字度量,意味着两个变量之间的统计关系。有问题的值可能是给定的观察数据集的两列,通常称为样本,或者是具有已知分布的多变量随机变量的两个分量。

敏感性分析技术

敏感性分析是研究数学模型或系统的输出的不确定性(数值或其他)如何能够分配到输入中不同的不确定性来源

随机搜索技术

腾讯机构

腾讯,1998年11月诞生于中国深圳,是一家以互联网为基础的科技与文化公司。我们的使命是“通过互联网服务提升人类生活品质”。腾讯秉承着 “一切以用户价值为依归”的经营理念,为亿万网民提供优质的互联网综合服务。 腾讯的战略目标是“连接一切”,我们长期致力于社交平台与数字内容两大核心业务:一方面通过微信与QQ等社交平台,实现人与人、服务及设备的智慧连接;另一方面为数以亿计的用户提供优质的新闻、视频、游戏、音乐、文学、动漫、影业等数字内容产品及相关服务。我们还积极推动金融科技的发展,通过普及移动支付等技术能力,为智慧交通、智慧零售、智慧城市等领域提供有力支持。

http://www.tencent.com/
相关技术
算术技术

算术(英语:arithmetic)是数学最古老且最简单的一个分支,几乎被每个人使用着,从日常生活上简单的算数到高深的科学及工商业计算都会用到。一般而言,算术这一词指的是记录数字某些运算基本性质的数学分支。

结构搜索技术

深度学习提供了这样一种承诺:它可以绕过手动特征工程的流程,通过端对端的方式联合学习中间表征与统计模型。 然而,神经网络架构本身通常由专家以艰苦的、一事一议的方式临时设计出来。 神经网络架构搜索(NAS)被誉为一条减轻痛苦之路,它可以自动识别哪些网络优于手工设计的网络。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~