Straightforward Layer-wise Pruning for More Efficient Visual Adaptation

对于模型中冗余的参数,一个常见的方法是通过结构化剪枝方法减少参数容量。例如,基于幅度值和基于梯度的剪枝方法。尽管这些方法在传统训练上通用性,本文关注的PETL迁移有两个不可避免的问题:

  1. 显著增加了模型存储负担。由于不同的下游数据,剪枝方法设置的剪枝率不同,导致不同数据集的不同网络结构,这导致这些不同结构大的存储空间。
  2. 模型精度的损失。剪枝冗余参数从网络中的预训练参数,这不与下游数据集直接相关。可训练参数需要适应剪枝的新结构,实验中表明这阻碍了模型精度恢复。

本文方法

这里首先介绍广泛使用的维度约简算法,t-SNE和聚类算法标准,轮廓系数索引(silhouette coefficient index)。给定d维度的输入特征集合 X = { x 1 , x 2 , ... , x n } X=\{x_{1},x_{2},\ldots,x_{n}\} X={x1,x2,...,xn},t-SNE计算s维度嵌入集合,定义为 Y={y_{1},y_{2},\\ldots,y_{n},满足 s ≪ d s\ll d s≪d。t-SNE计算 x i x_{i} xi 与 x j x_{j} xj 之间相似度的公式为以下的联合概率 p i j = p i ∣ j + p j ∣ i 2 n p_{ij}=\frac{p_{i|j}+p_{j|i}}{2n} pij=2npi∣j+pj∣i

其中

p i ∣ j = exp ⁡ ( − ∣ ∣ x i − x j ∣ ∣ 2 / 2 σ i 2 ) ∑ k ≠ i exp ⁡ ( − ∣ ∣ x i − x k ∣ ∣ 2 / 2 σ i 2 ) p_{i|j}=\frac{\exp(-||x_{i}-x_{j}||^{2}/2\sigma_{i}^{2})}{\sum_{k\neq i}\exp(-||x_{i}-x_{k}||^{2}/2\sigma_{i}^{2})} pi∣j=∑k=iexp(−∣∣xi−xk∣∣2/2σi2)exp(−∣∣xi−xj∣∣2/2σi2)

基于上述 X X X 和 Y Y Y 的联合分布 P P P 和 Q Q Q,t-SNE通过梯度下降优化 P P P 和 Q Q Q 之间KL散度。

轮廓系数索引

给定聚类结果集合 X = { x 1 , x 2 , ... , x n } X=\{x_{1},x_{2},\ldots,x_{n}\} X={x1,x2,...,xn},对于每一点 x i x_{i} xi,定义 a i a_{i} ai 是在这疑惧类剩下点和 x i x_{i} xi 平均距离。 b ( i ) b(i) b(i) 是在最近聚类的所有点到 x i x_{i} xi 平均距离。定义轮廓系数索引为

s ˉ = 1 n ∑ i = 1 n b ( i ) − a ( i ) max ⁡ ( a ( i , b ( i ) \bar{s}=\frac{1}{n}\sum_{i=1}^{n}\frac{b(i)-a(i)}{\max(a(i,b(i)} sˉ=n1i=1∑nmax(a(i,b(i)b(i)−a(i)

基于特征视角的逐层剪枝

先前研究已经显示较低的层捕捉一般特征,较高的层关注于特定特征。基于此理解和PETL冻结预训练网络参数的限制,本文提出了一个假设:当存在下游数据分布和预训练数据分布显著差异时,由PETL迁移的较深的层将包含大量的冗余参数。本文目标是动态识别并剪枝这些冗余参数。后续关键评价指标需要满足:

  • 维持PETL迁移模型相同存储参数数量
  • 不需要额外训练预测冗余参数

不增加存储参数数量

考虑一个PETL迁移的N层ViT模型,定义每层预训练参数为 W P i W_{P}^{i} WPi,定义每层新引入的参数为 W A i , j W_{A}^{i,j} WAi,j,头参数为 W H j W_{H}^{j} WHj,由SLS预测的剪枝层索引为 I n d e x j Index_{j} Indexj。对于层级别的剪枝方法,在K个下游数据集的存储的参数量 S S S 为
S = ∑ j = 1 K ∑ i = 1 I n d e x j ( W P i + W A i , j ) + ∑ j = 1 K W H j S=\sum_{j=1}^{K}\sum_{i=1}^{Index_{j}}(W_{P}^{i}+W_{A}^{i,j})+\sum_{j=1}^{K}W_{H}^{j} S=j=1∑Ki=1∑Indexj(WPi+WAi,j)+j=1∑KWHj

显然剪枝层数量不会超过网络层的范围。

S ≤ ∑ j = 1 K ∑ i = 1 N ( W P i + W A i , j ) + ∑ j = 1 K W H j = K ∑ i = 1 N W P i + ∑ j = 1 N ∑ i = 1 N W A i , j + ∑ j = 1 K W H j S\leq \sum_{j=1}^{K}\sum_{i=1}^{N}(W_{P}^{i}+W_{A}^{i,j})+\sum_{j=1}^{K}W_{H}^{j}=K\sum_{i=1}^{N}W_{P}^{i}+\sum_{j=1}^{N}\sum_{i=1}^{N}W_{A}^{i,j}+\sum_{j=1}^{K}W_{H}^{j} S≤j=1∑Ki=1∑N(WPi+WAi,j)+j=1∑KWHj=Ki=1∑NWPi+j=1∑Ni=1∑NWAi,j+j=1∑KWHj

对于存储的参数,每一层的参数 W P i W_{P}^{i} WPi 是可以再次使用的,因此满足:
S ≤ ∑ i = 1 N W P i + ∑ j = 1 N ∑ i = 1 N W A i , j + ∑ j = 1 K W H j S\leq \sum_{i=1}^{N}W_{P}^{i}+\sum_{j=1}^{N}\sum_{i=1}^{N}W_{A}^{i,j}+\sum_{j=1}^{K}W_{H}^{j} S≤i=1∑NWPi+j=1∑Ni=1∑NWAi,j+j=1∑KWHj

基于从每层的中间特征做剪枝决策

本文提出使用约简维度特征的聚类度评估层特征。该方法没有引入额外的监督训练。

给定输入 X X X,ViT模型将其通过补丁嵌入曾嵌入d维度潜在空间获得 e 0 e_{0} e0。 e 0 e_{0} e0 与CLS令牌连接作为模型输入。ViT模型backbone前向过程可以描述为:
[ x i , e i ] = L i ( [ x i − 1 , e i − 1 ] ) [x_{i},e_{i}]=L_{i}([x_{i-1},e_{i-1}]) [xi,ei]=Li([xi−1,ei−1])

本文提出特征评估模块(FEM)评估从层 L i L_{i} Li 的特征。FEM从层 L i L_{i} Li 的输出获得CLS令牌 x i x_{i} xi 表示当前特征。之后使用t-SNE算法约简 x i x_{i} xi 为 x i ′ x_{i}^{\prime} xi′。通过结合当前输入的标签,获得 p p p 类别的聚类结果。之后获得对应 C C C 的 a ( i ) a(i) a(i), b ( i ) b(i) b(i),最后是当前层的特征评估 S C _ i n d e x i SC\index{i} SC_indexi。

对于N层的模型,定义 α \alpha α 是控制SLS剪枝度的超参数。在当前数据集的对于剪枝层的阈值 T T T 定义为:

T = α × S C _ I n d e x N T=\alpha\times SC\Index{N} T=α×SC_IndexN

在模型剪枝过程中,从最高层往下。当第i层特征的评估 S C _ I n d e x i SC\Index{i} SC_Indexi 小于T,停止遍历并剪枝从i+2到N的层。核心思想是当第 i层评估与最终层特征评估差距小于一个特定阈值,分类头不再能有效区分当前特征。

相关推荐
黑客-雨8 分钟前
AI时代的产品经理修炼手册:《人工智能产品经理》
人工智能·学习·大模型·产品经理·大模型学习·大模型入门·大模型教程
懒惰才能让科技进步16 分钟前
从零学习大模型(十三)-----LayerDrop 和 Layer Pruning
人工智能·python·深度学习·chatgpt·transformer·剪枝
z千鑫20 分钟前
【VScode】VScode内的ChatGPT插件——CodeMoss全解析与实用教程
ide·人工智能·vscode·ai·chatgpt·编辑器·ai编程
梦想的初衷~38 分钟前
WRF-LES与PALM微尺度气象大涡模拟
人工智能·深度学习·palm
jiuyikeji1 小时前
四川益泰佳法律咨询有限公司得力助手
人工智能
a48224251 小时前
【零售和消费品&厨房】厨房电器检测系统源码&数据集全套:改进yolo11-rmt
人工智能·目标跟踪·零售
电子手信1 小时前
快消零售行业的培训创新:构建在线培训知识库
人工智能·语言模型·自然语言处理·自动化·零售
QYR市场调研2 小时前
创新材料科技:铜冷却壁助力高炉节能降耗
大数据·人工智能
爱数学的程序猿2 小时前
深入解密 K 均值聚类:从理论基础到 Python 实践
人工智能·机器学习·支持向量机
Crazy learner2 小时前
MFCC特征与Fbank特征在语音识别中的应用
人工智能·语音识别