点击下方卡片,关注「集智书童」公众号
本文主要解决了什么问题
视觉Transformer的计算与内存挑战 :针对视觉Transformer(ViT)在实际应用中面临显著的计算和内存开销问题,本文探讨了如何通过在线轻量化策略降低其资源消耗。
效率与精度的权衡 :研究了如何在不显著牺牲模型性能的前提下,优化ViT模型的计算复杂度和推理速度。
未来发展方向 :提出了轻量化ViT模型的潜在研究方向,包括隐私敏感模型、端到端训练系统以及自动配置等。
本文的核心创新是什么
全面综述在线轻量化技术 :将ViT的在线轻量化技术分为三大主题——高效组件设计、动态网络和知识蒸馏,并详细分析了每种方法的优缺点及适用场景。
统一评估框架 :以ImageNet-1K为基准,从精度、参数量、吞吐量等多个维度对现有轻量化策略进行了定量和定性分析,提供了清晰的对比结果。
提出未来研究方向 :指出了当前轻量化技术的局限性,并提出了多个具有前景的研究方向,如无数据知识蒸馏、表示优势扩展和推理安全性增强。
结果相较于以前的方法有哪些提升
高效组件设计 :
- • 提出了多种改进方案,例如动态Patch划分、局部Patch嵌入和低秩分解等,显著降低了计算复杂度。
- • 实验表明,SSA[66]仅用39.6M参数即可达到84.0%的高精度,而BiFormer[85]在参数和计算成本较低的情况下达到了81.4%的准确率。
动态网络 :
- • 动态分辨率策略(如token剪枝和合并)显著提高了吞吐量并减少了FLOPs,同时略微降低精度。例如,DynamicViT[71]相比DeiT-S模型,吞吐量提升了36.6%,FLOPs减少了27.5%,精度仅下降0.5%。
- • 深度自适应技术允许模型根据输入复杂度调整计算深度,进一步提升了效率。
知识蒸馏 :
- • 特征知识蒸馏和响应知识蒸馏有效提升了小型ViT模型的性能。TinyMIM[207]利用ViT固有的表示优势,通过token间的关系知识迁移,显著增强了轻量级模型的表现。
- • 温度变体、目标函数设计和软标签赋能等改进措施进一步优化了知识蒸馏的效果。
局限性总结
动态网络的指导不足 :目前动态网络中的层剪枝或合并率通常需要手动设置,缺乏自动化调整机制。
知识蒸馏的人工干预 :现有的知识蒸馏方法仍然涉及大量人工设置,例如层的位置和相应的比率。
隐私与安全问题 :传统知识蒸馏需要访问原始训练数据集,可能引发隐私泄露风险;无数据知识蒸馏尚未在ViT领域得到充分探索。
鲁棒性不足 :轻量级优化过程未明确转移教师模型对异常输入的鲁棒性知识,导致小型ViT模型更容易受到对抗性攻击。
通过以上分析,本文不仅总结了现有轻量化技术的优势与不足,还为未来的研究提供了明确的方向和参考依据。
导读
Transformer架构在自然语言处理领域取得了显著成功,这促使了其在计算机视觉任务的适应性研究。与卷积神经网络不同,视觉Transformer能够内在地捕捉长距离依赖关系并实现并行处理,但缺乏归纳偏差和效率优势,面临显著的计算和内存挑战,限制了其在实际应用中的可行性。本文综述了用于图像识别的轻量级视觉Transformer生成的多种在线策略,重点关注三个关键领域:高效组件设计、动态网络和知识蒸馏。作者在ImageNet-1K基准上评估了每个主题的相关探索,分析了精度、参数、吞吐量等方面的权衡,以突出各自的优缺点和灵活性。最后,作者提出了视觉Transformer轻量化未来的研究方向和潜在挑战,旨在激发进一步探索并为社区提供实用指导。
项目页面:https://github.com/ajxklo/Lightweight-VITAdditional
1 引言
视觉Transformer(ViT)[1,2]迅速成为图像识别领域的强大工具,挑战了传统卷积神经网络(CNN)[3-5]的主导地位。通过借鉴自然语言处理中Transformer的自注意力机制,ViT模型将图像编码为一系列图像块序列,使其能够有效捕捉全局依赖关系和上下文信息[6],并在图像生成[7-14]、目标检测[15-25]和语义分割[26-36]等多种视觉任务中取得了显著的性能提升。此外,ViT模型在传统图像识别基准测试中表现出色,实现了近乎完美的验证结果,例如在CIFAR-10数据集上达到了惊人的99%的精确度。因此,小规模数据集在全面展示ViT模型的性能优势方面的局限性,促使人们转向使用ImageNet-1K[37]等更大规模的基准数据集来评估识别任务。
尽管视觉Transformer模型表现出色,但在模型大小和计算开销方面存在显著缺点。参数数量的增加和复杂操作导致训练和推理速度变慢,并增加资源消耗,限制了实际部署,特别是在资源受限的环境中[38,39]。为解决这些问题,研究者提出了多种轻量化技术,旨在在不显著牺牲模型性能的前提下降低计算负担。
本综述聚焦于ViT模型的在线轻量化策略[40-42],这与剪枝[43-45]和量化[46-48]等离线后处理方法不同。在线技术旨在训练过程中优化模型,通过改进内部组件的设计[49, 50]、知识迁移[51, 52]或根据输入复杂度动态调整网络的计算路径[53, 54]来实现。其目标是实现"软"轻量化,在保持模型架构和表达能力的同时提升效率。如图1所示,在线轻量化技术被视为更激进离线后处理方法的先导。
作者将ViT模型在线轻量化技术分为三大主题:高效组件设计、动态网络和知识蒸馏(KD)。这些主题利用ViT基于token的输入特性,实现独特的效率提升。例如,token输入更新可以通过原生自注意力机制、精细化线性注意力机制,甚至无注意力机制[55, 56]进行处理。为解决空间冗余问题[57, 58],采用动态token剪枝[53, 59]和token合并[60, 61]策略,相较于CNN模型的传统下采样方法,提供了更细粒度的处理方式。整合这些技术能够开发出适用于实际应用的定制化轻量化策略。本综述的主要贡献如下:
- • 全面概述。作者对视觉Transformer的在线轻量化技术进行了广泛调研,将其与离线后处理技术区分开来,并将其分为三个关键主题:高效组件设计、动态网络和知识蒸馏,每个主题均在输入流前向传播的背景下进行讨论。
- • 权衡分析。以ImageNet-1K [37]作为基准,作者详细分析了各种在线轻量化策略在精度和效率之间的权衡,提供了定性和定量的见解。
- • 未来研究方向。作者指出了当前在线轻量化技术的局限性,强调了可能需要重新考虑的常见假设,并提出了有前景的研究方向,包括隐私敏感模型。
与其他综述的区别本综述主要关注ViT模型的在线轻量化技术,并提供了全面的实验报告,以统一检验现有策略在精度和效率之间做出的权衡。
综述概述 本综述使用表1中的简化符号。图2展示了结构:第2节介绍了视觉Transformer的概念和流程。随后,作者在三个主要主题上呈现了在线轻量级策略。第一个主题,在第3节中讨论,探索了ViT内部的效率组件设计。第二个主题,在第4节中呈现,探索了基于输入复杂度的动态网络,包括动态分辨率和深度自适应。
第五节的第三个主题聚焦于ViT的独特优势在知识蒸馏中的应用。对于每个主题,作者从统一的角度报告了所涉及方法在ImageNet[37]基准上的图像识别性能评估结果,分析了它们的优缺点以及灵活性。最后,在第六节中,作者讨论了未来探索的潜在方向。
2 原始ViT流程
如图3所示,对于一个分辨率为
的输入图像
,ViT流程的第一步是将图像分割成非重叠的
个大小为
的块,其中
表示块的大小。每个块
会经过展平操作得到线性嵌入
,然后进行线性投影得到块嵌入
。其中
是一个可学习的投影矩阵,
是嵌入维度。
为了整合位置信息,将位置嵌入
添加到 Patch 嵌入中。由此得到的嵌入 Patch 序列
作为Transformer编码器的输入,其中
是一个可学习的[CLS] Token ,有助于识别。
Transformer编码器由
层组成,每层包含一个多头自注意力(MHSA)模块和一个 FFN (FFN)或多层感知器(MLP)。在MHSA模块中,输入序列
通过学习到的投影矩阵
线性投影,以获得 Query Q、键
和值
。注意力权重计算为Attention
,其中
是每个头的维度。
个注意力头的输出被连接并使用
进行线性投影,以获得MSA输出。
FFN由两个线性变换和一个中间激活函数组成,这些变换以位置方式应用于MHSA输出:
,其中
、
、
和
是可学习的参数。每个Transformer编码器层都包含残差连接和层归一化(LN),最终输出为:
。经过
个Transformer编码器层后,最终输出序列
被获得。[CLS] Token 的输出
通过线性变换后应用softmax激活进行识别:
,其中
、
,且
是类别数。
3 高效的ViT组件
随着对图像识别精度提升需求的不断增长,图像质量、物体特征以及潜在依赖性等问题逐渐凸显。视觉Transformer因其独特的表征优势和强大的全局理解适应能力,在处理此类任务时表现尤为出色。因此,针对ViT各个组件的创新设计层出不穷,同时也带来了额外的训练和推理成本。在本节中,作者按网络处理输入图像的顺序,依次介绍各组件的在线轻量化设计工作。这包括嵌入结构设计(第3.1节)、高效位置编码(第3.2节)、高效token更新(第3.3节)以及框架设计(第3.4节)。
3.1 嵌入结构设计
Patch embedding是ViT流程的初始阶段,负责将输入图像转换为可以被transformer编码器处理的token序列。该阶段在决定整体模型效率方面起着关键作用,因为patch的数量直接影响后续自注意力层的计算复杂度。具体而言,作者讨论了两种主要方向:动态patch划分(DPP)和局部patch嵌入(LPE)。DPP探索对输入图像进行自适应划分,以在多个尺度和多个视图中生成有效的patch。另一方面,LPE利用CNN模型提取丰富的局部信息。
3.1.1 动态 Patch 划分。DPP通过采用不同尺寸的 Patch 或动态调整 Patch 维度来适应计算需求。CrossViT[62]采用具有多尺度 Patch 的双分支Transformer,而SSA[66]通过合并token来高效表示大型目标。TopFormer2[69]使用token和语义金字塔模块集成多尺度特征,T2T-viT3[70]则采用分层方法来建模局部结构。动态 Patch 划分技术,如IA-RED2[59]、DynamicViT[71]和[67],通过消除冗余或非必要的 Patch 来优化计算效率。
3.1.2 局部 Patch 嵌入。LPE将卷积层融入 Patch 嵌入过程中,利用其局部特征提取能力,同时保留ViT对全局上下文的理解。MobileViT [64] 使用卷积层对非重叠 Patch 内的像素信息进行编码。MobileFormer [65] 集成轻量级的MobileNet,使用全局 Token 融合局部和全局特征。CvT [63] 采用分层设计,在每个阶段使用卷积 Token Embedding 层。
3.1.3 摘要:嵌入结构设计。传统的全局块编码策略未能充分捕捉图像的局部信息,影响了在ImageNet[37]上细粒度图像识别的精度,而密集块编码方法则带来了更高的计算负担。本主题下的改进方向包括对输入图像进行多尺度和多视角自适应划分,结合卷积神经网络(CNN)提取丰富的局部特征,从而提升块嵌入的质量和效率。在表2中,作者报告了相关的实验结果,其中观察到以下现象:(i) CrossViT[62]系列引入了动态块划分和局部划分嵌入机制,显著优于传统的DeiT模型,具有具有竞争力的FLOPs,精度提升从81.0%到82.3%;(ii) MobileViT[64]和CvT[63]等轻量级变体在精度和效率之间取得了优异的平衡,例如MobileViT-S[64]仅用5.6M参数就达到了78.4%的精度;(iii) SSA[66]和DPS-ViT[67]等当前最先进(SOTA)方法在精度和效率上均实现了双赢,SSA-B[66]仅用39.6M参数就达到了84.0%的高精度。
3.2 高效位置编码
在将图像输入转换为一系列 Patch 后,需要编码在 Patch 划分过程中丢失的空间信息。这就是位置编码(PE)发挥作用的地方,如图4(a)所示。传统的绝对位置编码,如广泛使用的正弦方法:
其中
i 和
分别表示向量的索引和长度,"pos" 表示元素在序列中的位置。虽然这种方法简单,但它存在一些局限性,例如无法适应可变输入大小或缺乏先验信息。最近的研究转向了更高效和灵活的位置编码技术,这些技术能够在最小化计算开销的同时有效捕捉空间关系。
一个有前景的方向是将相对位置信息直接整合到注意力机制中。RoPE [73] 通过融合 Query 向量和键向量实现这一点,提升了自注意力机制编码空间关系的能力。类似地,PosGU [74] 在token混合层中嵌入位置信息,在保持表达力的同时减少了参数开销。另一种方法利用高效的计算方法处理相对位置嵌入。LISA [75] 采用快速傅里叶变换(FFT)来近似相对位置嵌入,实现了对数线性复杂度。FIRE [76] 引入梯度插值技术进行相对编码,LRPE [77] 提出了高效线性复杂度的编码方法。
此外,将位置编码适应不同的输入上下文显示出显著的潜力。例如,如图4所示,CPVT [72]通过调节图像块内容动态地整合位置信息,从而增强了模型的灵活性和性能。这对于诸如在Transformer中推理长度等任务特别有益,显著提升了Polyp-ViT [78]在医学分割任务中的表现。
3.2.1 摘要:高效位置编码。视觉Transformer(ViT)高度依赖自注意力机制以实现卓越的全局理解,但该机制本质上缺乏感知输入数据序列或空间关系的能力。有效编码位置信息可以在多个方面提升性能:(i) 帮助ViT模型理解图像的空间结构,使其能够区分帧内目标及其位置,这对包含大量具有多样空间配置的目标的ImageNet [37]尤为重要;(ii) 使ViT模型更有效地关注图像的相关区域;(iii) 通过确保每个像素或块的位置已知,消除特征表示中的歧义;(iv) 通过提供清晰的空间信号,加速ViT模型在训练过程中的收敛速度,使大规模图像识别数据集的学习更加可靠。
3.3 高效的 Token 更新
3.3.1 自注意力机制。随着空间上下文的重新引入,ViT架构的核心组件——自注意力机制(Self-Attention,简称SA)开始发挥作用。该机制使模型能够捕捉输入块之间的长距离依赖关系,从而实现对图像的全面理解。然而,标准自注意力机制的计算复杂度与token数量呈平方级增长,对资源受限的应用构成了显著 Bottleneck 。
为缓解这一问题,研究行人已投入大量精力开发高效的Self-Attention机制,以在降低计算成本的同时保持模型捕捉全局依赖的能力。本节探讨高效Self-Attention设计的四个主要方向:部分注意力、局部Self-Attention、线性Self-Attention和低秩分解。
部分注意力(PA)。PA专注于将注意力范围限制为 Token 子集,从而降低计算需求。Swin Transformer4 [88] 通过使用移位窗口将自注意力计算限制在非重叠的局部窗口内,实现了线性计算增长。具体而言,假设每个窗口包含
个像素,标准全局多头自注意力(MHSA)模块和基于窗口的多头自注意力(WMSA)在包含
个块输入图像上的计算复杂度如下:
其中C表示嵌入维度,符号Ω用于衡量计算复杂度,Ω(MHSA)相对于块的数量h×w具有二次复杂度,而Ω(WMSA)具有有前景的线性复杂度。类似地,CsWin Transformer [79] 将输入特征划分为水平和垂直条纹,并在这些局部区域内计算SA,如图5所示。TNT6模型[89]在块和像素 Level 采用transformer,促进对局部特征的详细关注。
局部自注意力机制。局部自注意力机制通过将注意力操作限制在输入图像的局部区域来实现部分注意力[90]。多轴注意力(Max-SA)[82]通过实现窗口化和网格注意力,将注意力的复杂度从二次方简化为线性。ReViT [86]通过残差注意力学习解决深度ViT层中的特征坍塌问题。可变形自注意力[91]和动态Sparse注意力[85, 92]分别根据数据依赖和 Query 模式动态选择注意力块。焦点自注意力模型[81]同时捕捉短程和远程依赖关系,利用细粒度局部注意力和粗粒度远程交互。ViL[93]结合多尺度架构和扩展上下文考虑,提高了高分辨率图像处理和编码能力。
线性自注意力。线性自注意力旨在将自注意力的计算复杂度从二次方降低到线性[95]。提出了多种方法,例如用位置敏感哈希替换点积注意力[96]。GFNet[80]采用离散二维傅里叶变换结合可学习的全局滤波器,Linformer[97]引入低秩矩阵以实现线性复杂度。SwifFormer[84]使用高效的加性注意力机制,而[98]提出使用元素级智能操作的可分离自注意力。邻域注意力机制[99]根据相邻块在二维曼哈顿距离上的权重调整注意力权重。类似地,Vision Outlooker (VOLO)[100]虽然主要关注计算机视觉任务,但引入了一种创新的局部敏感注意力机制,在效率和准确性之间取得平衡。
低秩分解。这些技术将注意力矩阵分解为低维表示以优化计算。MobileViT [101] 结合低秩分解和Sparse化技术将 ViT 转换为移动端友好的版本。Low-Rank Transformer [102] 通过分解自注意力层来降低计算复杂度,而 Performer [103] 则将核技术与低秩分解相结合。CP-Decomposition [104, 105] 等张量分解技术以及分解式自注意力机制 [106] 也被应用于模型优化。
3.3.2 无注意力架构。尽管自注意力机制革新了图像识别领域,但其计算复杂度促使人们探索替代架构,以在降低资源需求的同时实现相当的性能,并重新引发了人们对多层感知机(MLP)的兴趣。MLP是一种经典的神经网络架构,由全连接层和激活函数组成。
基于MLP的架构通常省略卷积和自注意力机制中的复杂性,在适应性和计算效率方面具有优势。本主题聚焦于MLP研究中用于高效图像识别的两个主要方向:纯MLP架构和混合MLP-CNN架构。这些方法突出了MLP设计作为基于注意力模型的竞争性替代方案的潜力。
纯MLP架构。纯MLP架构旨在简化 Token 更新操作以提高效率,同时保持性能。ResMLP [107] 引入了一种残差网络架构,交替使用线性层和两层 FFN 。如图6所示,MLP-Mixer' [94] 引入了用于处理图像的 Token 混合和通道混合MLP模块,避免了卷积和SA。S2-MLP [108] 受MLP-Mixer启发,依赖于通道混合并包含空间偏移操作以进行块交互。AS-MLP [109] 采用轴向偏移通道来捕获局部依赖关系,使纯MLP模型能够模拟CNN模型的局部感受野。MLP-Unet [110] 应用基于全MLP的方法和级联上采样器以有效保留局部信息。
混合MLP-CNN结构。将MLP和CNN集成的混合注意力结构提供了互补优势的平衡方案。X-MLP [120] 采用线性投影进行特征图交互,无需在块嵌入中进行卷积操作。[121] 提出一种不依赖注意力机制的预训练方法。gMLP [111] 识别了自注意力的高计算负担,并使用通道和静态空间投影来以更少的参数保持高精度。一种混合模型 [122] 通过矩阵分解和多尺度信息融合,实现了与CNN-Transformer [123] 混合相当的性能。[124] 提出一种结构化状态空间方法,用于高效建模长序列。US-MLP [125] 将CNN层与SparseMLP块集成。此外,GSS模型 [126] 通过门控状态空间有效处理长序列建模,为图像识别应用提供了巨大潜力。类似地,[124] 通过优化状态空间建模解决了长序列处理中的计算 Bottleneck 。PoolFormer [117] 用分组操作替代自注意力作为 Token 混合器。最后,Mamba [127] 通过选择性状态空间实现了序列建模的线性时间复杂度。通过应用选择性状态空间,Mamba在序列建模中有效平衡了准确性和计算负担 [128-132]。
3.3.3 摘要:高效 Token 更新。自注意力优化。虽然自注意力能够捕捉长距离依赖关系,但其计算复杂度随着ImageNet-1K等大型数据集的增加而增加。目标是在不丢失全局依赖关系捕捉的情况下优化复杂度。作者在表3中报告了相关实验结果,其中可以看出:(i) 基于局部自注意力的方法,如GFNet [133] 和SKIPAT [83],略微牺牲了准确率,但显著降低了计算负担。例如,SKIPAT [83] 将参数减少到5.8M,FLOPs减少到1.1G;(ii) BiFormer [85] 在参数、计算成本和准确率之间取得了极佳的平衡,具有13.1M参数和仅2.2G FLOPs,同时达到了81.4%的准确率;(iii) SSViT [87] 作为一种最先进的方法,仅以9.1G FLOPs就展示了85.7%的惊人准确率,这低于DeiT标准模型,表明自注意力的优化仍具有潜力。
注意力无关设计。MLP设计通过消除复杂的注意力计算,提高了计算效率,能够更快地适应各种硬件和优化策略。当与CNN结合时,MLP利用其计算效率,同时保留CNN卓越的特征提取能力,在性能和效率之间取得了平衡。表Y展示了相关方法的比较结果,揭示了以下观察结果:(i). HireMLP[112]系列表现出色,参数相对较少且FLOPs较低。例如,HireMLP-Small仅使用33M参数和4.2G FLOPs即可达到82.1%的准确率。(ii). 混合MLP-CNN架构可以根据特定需求进行调整,适应各种应用场景和资源限制。HireMLP-Small[112]仅使用4.2G FLOPs即可达到82.1%的准确率。(iii). 特别值得注意的是SVT-H-L[99],它仅使用54M参数和12.7G FLOPs就实现了令人印象深刻的Top-1准确率85.7%。
3.4 框架设计
受卷积神经网络中用于特征提取和图像金字塔的层次结构启发,研究行人正将这些原理融入视觉Transformer(ViT)架构中。这种层次化设计旨在提高ViT的效率以及表征的学习能力。层次化ViT能够区分背景和前景目标,从而提升复杂场景中具有不同尺度或遮挡的图像识别效果[142]。本文探讨层次化ViT设计,旨在捕捉多尺度特征以兼顾全局上下文和细节信息。
层次化框架。Swin Transformer [88] 引领了层次化结构在视觉Transformer(ViT)模型中的集成,引入了移位窗口注意力和子采样技术。PVT [134] 和 PVTv2 [74] 通过金字塔结构、线性复杂度注意力和重叠块嵌入来解决这些问题。FDViT [137] 引入了一种创新的下采样模块,以解决传统整数步长下采样导致的过度信息损失问题,并允许使用非整数步长减少特征图维度,从而在保留更多信息的同时平滑降低计算复杂度。Twins [136] 架构引入了两种层次化ViT变体:Twins-PCPVT 和 Twins-SVT。Twins-PCPVT 通过条件位置编码提升了PVT [134] 的性能,而 Twins-SVT 采用了一种鲁棒的局部-全局解耦自注意力机制,实现了卓越的局部细节捕捉和全局信息处理。MaxViT [82] 引入多轴注意力块(Max-SA)来融合局部和全局范式,在不同分辨率下保持效能。H-MHSA [143] 通过在建模全局和局部依赖关系的同时保持粒度,进一步优化了这些方法。
[63] 采取了不同的路线,将卷积直接集成到视觉Transformer架构中,利用CNN模型的层次化特征提取能力构建多阶段结构。这种方法弥合了CNN和ViT模型之间的差距,结合了它们的优势。类似地,
[144] 提出了更好的处理空间维度的方法,改进了空间信息的层次化处理。
其他框架。对于新颖结构的效率探索方面,Mask R-CNN [145] 展示了如何通过多种上采样或下采样操作,通过策略性分区来提升任务性能。ViT-Adapter [146] 引入了一种无需预训练的 Adapter ,以实现更有效的归纳偏差传递。MixMAE [147] 通过使用来自不同图像的可见 Token 进行重建,利用自监督技术减少了计算需求。HiViT [148] 通过排除所有 Mask Token 来提高效率。互补方法,如非对称编码器-解码器结构 [149],通过聚类注意力和Sparse卷积显著减少了内存使用。Hiera [140] 通过移除非Transformer元素并增强图像识别分析,推进了这些想法。
3.4.1 摘要:框架设计。传统的视觉Transformer(ViT)生成单分辨率特征图,限制了其在图像识别中的多尺度信息捕捉能力。通过将层次结构设计引入ViT架构,它获得了提取细粒度特征的能力,有效克服各向同性,使其能够适应多种识别任务。作者在表5中提供了相关实验结果,从中可以看出,采用层次结构进行多尺度特征提取的模型在准确率方面通常表现出更优的性能。特别是SOTA Hiera-H [140],不仅具有优异的参数量和FLOPs,还实现了最高86.9%的HAT-Net和Hiera准确率。与传统ViT相比,Hiera-H在参数和计算复杂度方面提供了多样化的优化,能够灵活适应不同容量的模型,以满足实际应用需求。
3.5 高效ViT组件讨论
在本节中,作者重点关注视觉 Transformer 内部的组件以及为在效率和精度之间取得平衡所做的努力。作者按照图像输入在网络中的流程顺序介绍方法。
具体强调四个技术创新方面:嵌入结构设计、高效位置编码、高效 Token 更新和框架设计。此外,作者讨论了这些组件在图像识别更广泛范围内的相关性,强调了它们如何对模型的总体准确性和速度做出贡献。
a. Patch 嵌入和位置编码的进步,通常独立实现,灵活地集成到现有框架中,减轻了广泛超参数调整和专门优化技术的需求;
b. 局部性成为提升ViT组件性能的主要驱动力。这在局部区域聚焦的patch embedding中尤为明显,通过注意力机制、缩小自注意力范围或整合CNN模型,以及框架设计中的分层信息提取得以体现。这些策略在不影响性能的前提下,显著提升了效率。
c. 虽然从自注意力机制转向无注意力机制设计可以显著降低FLOPs,但最近的自注意力机制优化设计在性能和效率之间展现了引人注目的平衡。因此,针对自注意力机制复杂度的优化策略研究,为未来研究提供了一个有前景的方向。
d. 在密集预测任务中,层次结构所观察到的性能提升与识别任务相比尤为显著,这表明为多个视觉任务开发通用的层次化架构是一个值得进一步探索的研究方向。
在本节中,作者按照输入流在ViT模型中前向传播的顺序,介绍所涉及的方法,其优势在于:
a. 通过分析现有模型的性能 Bottleneck ,作者可以确定哪些组件对应轻量级措施。本节通过提供一个直接且易于访问的比较框架来促进这一过程。
b. 通过强调ViT组件的相对独立性,这为自适应和集成优化提供了视角,允许沿着输入流选择多个组件以实现轻量级设计。
4 动态网络
动态网络是图像识别领域的一项关键发展,通过灵活调整其计算结构以适应不同输入的复杂性,显著提高了识别精度。与在固定计算图和参数上运行的静态模型不同,动态网络能够调整其内部配置,从而实现更高的计算效率和适应性。这种适应性在图像识别任务中尤为有益,因为图像的复杂性可能存在很大差异。此外,动态网络范式是线上轻量化策略的一种具体形式,通过动态降低计算负载来保持效率,同时不牺牲准确性。在本节中,作者基于视觉 Transformer 将动态网络分为两大主题进行综述:动态分辨率(第4.1节)和深度适应(第4.2节)。
4.1 动态分辨率
如图8所示,与传统卷积神经网络不同,后者在面对空间冗余或下采样需求时通常采用粗略采样方法,ViT模型具有独特的token表示优势,允许进行更定制化、更细粒度的下采样策略。具体而言,根据每个token的重要性,决定对其进行剪枝、保留或合并。这种方法在图像识别任务中已被证明特别有益,动态调整分辨率并关注图像的重要区域能够显著提高模型的准确性和效率。基于这些应用,作者总结了两个主要主题:动态Token剪枝和动态Token合并。在图7中,作者总结了这两个主题的重要探索时间线。
4.1.1 动态Token剪枝。关于这一主题,信息量不足的Token通常会被直接剪枝或通过不同的更新路径进行处理,而那些被识别为具有丰富语义信息的Token则会被传递到网络的更深层。
Top-K剪枝方法[164]根据注意力权重保留
个最重要的token。PS
[165]根据测量的重要性减少token以降低计算成本,同时保持性能。Patch thinning [67]采用自上而下的策略,后期层指导前期层的token选择过程。EViT 13 [152]将不太重要的token融合成一个token进行进一步计算,保留核心信息的同时减少数量。Evo-ViT [150]如图9所示,调节梯度传播的 Stream ,缓慢更新关键token,快速更新不太重要的token,然后进行融合。IdleViT [156]实现token闲置策略,每层仅处理部分token,其余token不变地传递到下一层。
近期研究强调针对不断演进的ViT架构进行适配的token选择机制的重要性。SPViT [153] 采用动态多头token选择器来过滤和整合信息量较低的token。Token补偿器(ToCom)[166] 提出了一种模型算术框架,以解耦训练与推理阶段的压缩程度,解决因压缩程度不匹配导致的性能下降问题,并在无需进一步训练的情况下实现通用性能提升。HeatViT [154] 引入了一种考虑延迟的多阶段训练策略,以优化token选择器的性能。TSNet [167] 利用轻量级评分模块从视频样本中动态选择信息量丰富的token,而DynamicViT [71] 在每个transformer模块内嵌入可学习模块,实现逐层token剪枝。TPC [158] 在token选择中采用悬挂和重用概率,以保持计算精度。最后,自适应Token采样器(ATS)[157] 提供了一种可微分的无参数方法进行自适应下采样,以最小化信息损失。在图10中,作者展示了token剪枝策略方法的视觉比较,总体上表明对目标的关注程度体现了该方法识别对决策至关重要的区域的能力。
4.1.2 动态token合并。与直接丢弃token的剪枝方法不同,通过策略性token合并这一范式,可以将信息量较低的token与关键token进行合并,减少处理的token数量,从而有助于实现模型简化的更广泛目标。
ToMe
引入了一种微调匹配算法,用于跨层合并相似token。PatchMerger [168] 允许网络处理不同数量的token,通过将输出token数量与输入解耦,提高了灵活性。[169] 提出了token剪枝与挤压(TPS)模块,该模块基于最近邻匹配和相似性策略进行token合并。MHSA [159] 提出在剪枝前合并次要token,以保留关键信息并防止性能下降。[170] 设计了一种元token机制,用于生成注意力图以合并相似token。T2T-ViT [171] 重新排列输入token序列,以关注重要的局部结构,从而促进有效的token合并。TCFormer [163] 使用渐进式聚类,灵活地合并来自不同位置的token,捕捉详细信息。最后,Token Fusion [162] 基于token计算动态结合剪枝和合并。图11展示了token合并策略的视觉比较,说明了在ViT架构的不同深度如何进行合并。特别值得注意的是,初始层主要合并细粒度纹理细节,而后续层更侧重于整合High-Level语义信息。
4.1.3 摘要:动态分辨率。消除空间冗余使ViT能够提供轻量级在线设计。通过评估token重要性,它保留、剪枝或合并token,非常适合高分辨率图像或大规模数据集上的实时图像识别。相关实验分析见表6和表7,从中可以观察到:(i). 动态分辨率策略仍能实现轻量级极限。例如,Evo-ViT [150] 仅包含5.9M参数,且具有高吞吐量。(ii). 大多数方法能显著提高吞吐量并减少FLOPs,同时略微降低精度。例如,DynamicViT [71] 与原始DeiT-S模型相比,吞吐量提高了36.6%,FLOPs减少了27.5%,精度仅下降0.5%。(iii). 更大的模型(如ViT-B、ViT-L)通常能承受更激进的token减少,同时保持高精度。例如,ToMe [161] 在保持84.2%高精度的同时,显著降低了计算成本。(iv). 不同方法在平衡性能和效率方面各有优势。例如,EViT [172] 系列在保持高精度方面表现优异,而SuperViT [160] 系列在提高吞吐量方面更具优势。
4.2 深度自适应
动态多出口网络通过支持早期计算终止提供了一种灵活的在线轻量化技术。AViT [173] 将 ViT 应用于动态调整层的深度和计算量,以根据特定任务和输入数据的复杂性进行优化。[174] 通过知识蒸馏训练过程增强了这一范式,使早期出口能够受益于深层层的抽象语义知识。如图12 所示,[175] 引入了一种新的早期出口架构,通过微调显著提高了出口精度。[176] 将多出口架构集成到 ViT 中,提出了七种不同的早期出口设计。为解决早期出口方法中的性能下降问题,LGViT [177] 利用异构出口头(局部感知和全局聚合)来平衡效率和精度。DYN-ADAPTER15 [178] 根据解耦表示动态调整模型容量。CF-ViT16 [15] 将处理流程分为粗略和精细步骤。AdaViT17 [179] 根据任务的复杂性调整 ViT 模型的深度。
为进一步提升ViT模型的高效性与适应性,研究探索了多种动态训练策略。[180]提出了一种更快的深度自适应Transformer,通过动态调整模型层来优化计算资源。[181]允许不同层在不同阶段退出,从而减少不必要的计算。[182]提出了一种自信自适应语言模型,该模型根据置信度度量动态停止计算,这一方法可应用于视觉任务以提升效率。此外,Skipdecode [183]提出了一种自回归跳过解码机制,该机制可被适配于ViT模型,通过跳过某些解码步骤来优化推理效率,同时保持性能。
4.2.1 摘要:深度自适应。在传统的固定深度网络中,简单和复杂输入都经历相同的计算过程,这在一定程度上浪费了资源。本主题介绍了一种动态多出口范式,允许模型根据输入复杂度灵活调整其计算深度,这与在线轻量化策略的原则相一致。多出口结构可以被视为一种“隐式集成”,其中不同深度的模型共享参数但提供不同的决策。此外,通过知识蒸馏技术,早期层也可以获取深层语义信息。由于ImageNet是一个大规模且难度不一致的数据集,动态深度可以提供更好的适应性,提高整体识别准确率。对于简单图像,可以在较浅的层获得结果,减少不必要的计算。
4.3 动态网络讨论
基于输入的复杂性以及ViT固有的token表示优势,可以构建多种动态网络。与CNN模型的动态网络范式相比,ViT具有处理可变长度输入序列的额外优势。这意味着ViT无需担心在消除冗余后调整大小至矩形空间,从而提供了更大的灵活性。这种灵活性在轻量级在线策略中尤为有益,其中通过token剪枝和合并来减少计算负载,同时提升识别精度。作者在表6和表7中报告了相关实验结果,并将现有方法的局限性总结如下:
a. 缺乏对层剪枝或合并的指导,当前普遍的做法是手动将它们设置为在第3、5、6和
层执行[71, 172]。
b. 自适应剪枝或合并率,尽管现在已有可学习的剪枝率方法如DiffRate [184],但它们需要额外的复杂优化技术和训练开销。
c. Token 剪枝或 Token 合并需要适应后续的模型剪枝或量化,因此需要采用端到端的训练策略。
d. 虽然ViT能够处理长度可变的token序列,但token剪枝或token合并会破坏位置信息,因此需要重新建模位置信息的方法。
另一方面,对于深度适应,CNN中早期退出策略的基本范式仍然被遵循,但仍然存在以下局限性:
a. 内部分类器主要作为到类别空间的投影,未能充分利用 Token 表示的优势。
b. 内部分类器放置缺乏有效指导
c. 跳过Transformer块内的单个组件的潜力,例如多头自注意力模块或 FFN ,而不是整个块。
5 知识蒸馏
知识蒸馏已成为将复杂视觉Transformer(ViT)模型压缩为适合图像识别任务的轻量级高效变体的有力方法。通过从大型预训练教师模型中提取并迁移知识到较小的学生模型,知识蒸馏能够创建保持高精度同时显著降低存储需求和推理时间的紧凑型ViT架构。[185, 186]提出了知识蒸馏的概念,主要集中于通过标签软化来提取类别概率分布。在轻量级在线ViT策略的背景下,知识蒸馏可以大致分为两个主要主题:第5.1节中的特征知识蒸馏和第5.2节中的响应知识蒸馏。在图13中,作者总结了这两个主题的重要探索时间线。需要注意的是,CNN模型中存在的关系蒸馏仍然适用,而ViT中 Token 之间的关系蒸馏则更具适应性。
5.1 特征知识蒸馏
基于特征的知识的蒸馏(FKD)专注于将丰富的中间层信息从教师模型转移到学生模型,利用教师网络内部层的详细表征。FKD 论文提交至 ACM 采用多方面策略:注意力特征蒸馏,捕获关键注意力模式;结构化特征蒸馏,压缩结构表征;直接特征模仿,确保重要特征直接传递。
FKD通过中间特征信息强调全面指导。基于特征的蒸馏的典型损失函数定义为:
其中
和
分别表示学生网络和教师网络的中期特征映射。函数
和
将这些特征转换为包含增强信息的形式,例如注意力机制、激活边界、神经元选择性以及概率分布。损失函数
通过均方误差和Kullback-Leibler散度等指标来度量特征之间的相似性。
5.1.1 注意力特征蒸馏。注意力特征蒸馏将有价值的信息从教师模型的注意力图中转移。AttnDisill [187] 使用投影对齐(PA)模块对类别标签进行对齐,并使用注意力引导(AG)模块近似教师网络注意力图。PFI [188] 通过基于预测方差强调高方差区域来指导特征模仿。ViT-FRD [189] 通过使用基于聚类的协同改革器(CCReformer)集成ViT和CNN,以及线性Transformer(Linformer)作为知识蒸馏模块来改进知识转移。CFD [190] 采用一个数据集无关的分类器将精细特征的分布蒸馏给学生。
[191] 利用基于注意力的元网络通过识别相似性来控制蒸馏强度。SAM-Net19 [192] 通过利用交叉注意力根据环境和空间相关性动态调整局部特征。基于注意力 Prob 的蒸馏 [187] 选择重要的真实世界数据,并使用 Prob 知识蒸馏算法来训练轻量级学生模型。
5.1.2 结构化特征蒸馏。结构化特征蒸馏在保持结构完整性的同时确保有效知识迁移,这对轻量级视觉Transformer至关重要。它保留并传递结构信息,帮助学生网络捕捉复杂的模式和关系,从而提升性能和泛化能力。
KDFAS [194] 通过在特征级知识迁移过程中采用协方差矩阵来解决嵌入维度差距问题,而DMKD [195] 采用双注意力机制引导空间和通道信息到相应的 Mask 分支并整合重建特征。PromptKD [196] 通过共享蒸馏将类别嵌入从教师模型传递给学生模型。CrossKD [197] 使学生模型生成类似于教师模型的交叉头预测。MTKD-
[198] 引入了分阶段通道蒸馏(SCD)机制,该机制利用通道注意力使学生网络能够模仿通道特征图中的权重分布。
[199] 在每个过程中结合多个自蒸馏,并在教师模型和学生模型之间共享嵌入网络,而TAKT [200] 提出了目标感知特征对齐(TAFA)模块,以在源域和目标域之间建立可迁移的特征连接。交叉架构知识蒸馏方法 [201] 使用 Projector 对中间特征进行对齐,并采用部分交叉注意力和分组线性变换,而细粒度流形蒸馏 [202] 通过学习原始特征空间中嵌入的平滑流形来创建低维特征。DearKD [203] 是一个两阶段框架,首先从CNN的早期中间层中细化归纳偏差,随后通过未精细化的训练充分利用Transformer。
5.1.3 直接特征模仿。直接特征模仿消除了对对齐目标进行复杂预处理的必要性,有助于保留信息的原生质量和固有模式[204]。如图14所示,ViTKD^2[193]对浅层任务采用线性层和相关矩阵,对深层生成任务采用卷积 Projector 。MMKD[205]使用元加权网络整合来自不同教师模型的逻辑和中间特征,以指导学生网络。[206]提出了一种一对一空间匹配方法,该方法采用目标感知Transformer(TaT)来对齐特征分量。
5.1.4 摘要:特征知识蒸馏。为了提升小容量ViT模型的性能并促进其在受限环境中的部署,直接训练紧凑型ViT模型往往无法达到令人满意的性能,而简单的知识蒸馏方法不足以充分传递嵌入在教师模型中的丰富信息。
因此,从教师网络中提取丰富的潜在模式是一个有前景的方向。注意力特征蒸馏增强了轻量级ViT模型识别关键信息的能力,而结构化特征蒸馏在蒸馏过程中保持了知识结构的完整性。直接特征模仿规避了复杂的预处理负担。这种多方面的特征知识蒸馏策略有效地传递了丰富的中间层信息。如图15所示,TinyMIM24 [207] 利用ViT架构固有的独特表示优势,将token之间的关系知识提取作为补充特征知识转移,这与传统的CNN方法在输入批次中提取图像之间关系知识的方法不同。
5.2 响应知识蒸馏
基于特征的方法近年来备受关注,因其众多应用中的卓越性能。因此,响应知识蒸馏(RKD)相对被忽视。RKD通过学生模型直接从教师模型的输出层进行学习,具有显著优势,包括快速学习和简单实现,而其潜力仍大部分未被发掘。这种结果导向的方法使其在各种任务中具有广泛适用性,在识别任务中,软概率分布
定义为:
其中
是类别 i 的 logit,
是类别数量,
是一个控制分布平滑度的温度参数。RKD 旨在通过最小化距离函数
来使教师概率分布
与学生
对齐。
可以使用多种距离度量进行实例化,例如 Kullback-Leibler 散度、均方误差或 Pearson 相关系数。例如,经典的 KD 损失公式表述如下:
其中
和
分别表示类别
的教师和学生的logits。
改进基于响应的知识蒸馏可以涉及调整蒸馏温度变体以传递信息丰富的知识,优化目标函数设计以多样化学习目标,以及赋能软标签以防止过拟合。
5.2.1 温度变体。通过调节教师模型logit输出的软度来实现温度变化。温度缩放为学生模型提供了更平滑和更具信息量的概率分布。然而,传统的固定温度方法往往无法利用不同样本中logit分布的多样性特性,导致知识迁移效果不佳[208]。
为了克服这些局限性,存在几种先进的技术。ATKD [209] 动态调整教师和学生的输出温度,平衡清晰度并减轻性能退化。MKD [210] 引入元学习的温度参数,在训练过程中根据学习目标梯度进行自适应调整。[211] 提出了一种多级logit蒸馏框架,将它们转换为具有不同温度的多个输出,并执行多级对齐匹配。NormKD [212] 通过分析logit输出为每个样本定制温度,以实现均匀分布。SKD [213] 将温度缩放的LogSoftmax函数与学习简化器相结合,在联合训练期间改进蒸馏损失。[214] 提出使用加权logit标准差作为自适应温度,结合Z分数预处理在应用Softmax之前对logits进行归一化。
5.2.2 目标函数设计。目标函数的创新性公式设计能够增强知识蒸馏过程,使紧凑型学生模型的训练更加多样化。
解耦知识蒸馏(DKD)[215] 将知识蒸馏损失分解为目标类别(TCKD)和非目标类别(NCKD)两个分量,其中NCKD的权重独立于教师模型的置信度。统一自知识蒸馏(USKD)[216] 进一步使用交叉熵将知识蒸馏损失细化为目标损失和非目标损失,对非目标logits进行归一化以构建非目标知识蒸馏(NKD)损失,并生成定制化的软标签以可能提升知识迁移效果。PTLoss [217] 通过麦克劳林级数表示原始基于KL散度的蒸馏损失函数,通过扰动该级数的一阶项将原始教师模型隐式转化为 Agent 教师模型。NTCE [218] 引入幅度Kullback-Leibler(MKL)散度以更好地表征非目标类别,结合基于多样性的数据增强(DDA)以丰富非目标类别的多样性。CSKD [51] 在最终特征图后终止池化操作,为每个对应特征位置生成密集预测,并从中推导出硬标签作为目标标签,使用交叉熵作为空间知识迁移的损失函数。
5.2.3 赋能软标签。减少教师模型在知识蒸馏中的影响旨在创建更轻量级和自主的视觉Transformer模型。这种方法摆脱了对预训练教师的过度依赖,使学生能够自主学习。
Tf-KD框架[219]用模型的自身预测替换了暗知识,使用自生成的软目标进行正则化,并实现了类似于标签平滑正则化(LSR)的平滑效果。MTKDSSR[198]结合了分阶段的通道蒸馏、分阶段响应蒸馏和跨阶段蒸馏,通过基于响应知识的自蒸馏实现学生模型的ego反思。OFA-KD框架[220]消除了特定于架构的信息,并在使用教师模型logits训练的学生模型中采用了退出分支。MEKD[221]从logits过渡到单元边界,通过去私有化和蒸馏创新了轻量级模型转换。WTTM[222]通过样本自适应加权来增强学生模型的训练,模拟教师模型的幂变换概率分布。Tiny-ViT[223]专注于通过logitSparse化和预训练期间的高效知识迁移来减少内存和计算开销。
5.2.4 摘要:响应知识蒸馏。响应知识蒸馏由于其灵活的实现方式,能够提升效率、防止过拟合,并促进跨架构知识共享[224]。作者涵盖了三个主题:温度变体比固定温度方法能更好地利用logit分布特性;目标函数设计多样化学习目标以实现更全面的知识迁移;赋能软标签减少对预训练教师模型的依赖,增强学生模型的独立学习能力。此外,(i.) 响应知识蒸馏提供软指导,提供比硬标签更丰富的信息。(ii.) 考虑到图像识别任务中普遍存在的长尾问题,通过调整响应蒸馏损失权重以关注罕见类别,可以利用教师模型在罕见类别上的表现来提升学生模型的学习能力。(iii) 提供了一种轻量级的基于响应的多尺度知识迁移路径[225],与负担沉重的多尺度特征知识蒸馏截然不同。
5.3 知识蒸馏讨论
知识蒸馏桥接了CNN和ViT模型,实现跨结构知识迁移。作者专注于利用两者的知识蒸馏策略,尤其是ViT。例如,AttnDistil [187] 利用[CLS] Token 与图像 Token 之间的重要性分布,实现更高效的目标对齐。ViT模型在响应知识蒸馏时有效提取任务相关的知识。TinyMIM [207] 通过Q-K、V-V、K-K和Q-Q Token 之间的关系,将CNN中流行的关系知识迁移到ViT。作者将现有方法的局限性总结如下:
a. 利用ViT独特的结构优势进行知识蒸馏,包括 Head Level 的蒸馏,而现有方法仍然涉及大量人工设置或任务耦合特性。
b. 快速蒸馏方向,专注于响应知识蒸馏,可以扩展到特征知识蒸馏,甚至可以与自监督优化目标相结合。
c. 在知识蒸馏过程中解决隐私和安全问题,以及增强学生网络在蒸馏后的异常场景下的鲁棒性。
6 未来研究方向
视觉Transformer模型在计算机视觉领域表现出色,但其高昂的参数和计算需求限制了其实际应用。未来的轻量级ViT模型将注重效率、智能性和安全性。
表示优势扩展。摆脱静态模型结构的限制,焦点从之前的全局视角转向更细粒度的局部视角,同时整合ViT独特的表示优势,如深度适应性和响应知识蒸馏,这些优势在与ViT巧妙结合时仍值得深入探索的方向。
端到端训练系统。离线的轻量级ViT技术,如训练后量化,仍然相对独立于在线轻量级技术。未来的探索可以集中于设计端到端训练系统,其中可以感知和控制由 Token 剪枝和合并产生的错误。
自动配置。现有的在线轻量级ViT策略仍然涉及大量需要人工干预的场景。作者主张自动化这些流程,主要关注两个方面:
a. 通过构建流水线,可以对性能 Bottleneck 进行分析并选择相应的组合策略进行自动化处理。
b. 在特定策略中,手动设置参数,例如层的位置和相应的比率,仍然用于 Token 剪枝和合并。
隐私敏感轻量级。传统的知识蒸馏需要访问原始训练数据集,这在隐私敏感的应用场景中可能并不可行。无数据知识蒸馏(DFKD)方法通过仅使用教师模型生成合成数据,而无需访问原始数据,从而保护数据隐私。然而,DFKD尚未在视觉 Transformer(ViT)领域得到探索。作者提出了几个有价值的研究方向:
a. 使用扩散视觉Transformer[226, 227]代替CNN生成器,在更符合真实数据分布的合成数据集上迁移知识。
b. 当前的DFKD设置[228]仍然向用户显示原始数据集输入分辨率,而使用灵活的ViT输入形式可以增强无数据范式的优势。
推理安全。训练有素的教师网络对异常输入具有更强的鲁棒性,但ViT模型的轻量级优化过程并未明确地转移这种知识。这使得小型ViT模型更容易受到对抗性攻击。因此,提取和转移鲁棒、抗干扰的知识是未来实际部署中的一个关键考虑因素。
7 结论
本文对图像识别中视觉Transformer的轻量化技术进行了全面研究,尤其侧重于在线轻量化策略。作者的探索分为三个关键主题:视觉Transformer高效组件设计、动态网络和知识蒸馏。作者从精度与效率之间的权衡角度,在ImageNet-1K的统一视角下,定量和定性分析了这些轻量化方法。对于每个主题,作者以输入流前向网络的形式呈现方法,允许灵活的组件组合和 Bottleneck 识别。
此外,作者讨论了每个主题中相关探索的局限性,并提出了潜在解决方案。然而,面对复杂的现实场景,仍存在许多未知挑战,因此倡导在轻量化过程中保持隐私和安全,以确保ViT的广泛接受和使用。总之,作者希望这篇综述能为研究行人提供宝贵的资源,为轻量化视觉系统的开发提供洞察和指导。
参考
[1]. Image Recognition with Online Lightweight Vision Transformer: A Survey
扫码加入👉「集智书童」交流群
(备注:方向+学校/公司+昵称)