Parameter and Computation Efficient Transfer Learning for Vision-Language Pre-trained Models
许多研究关注视觉语言模型中仅通过微调少量参数来实现有效的参数迁移。
PETL回顾
对于是一种预训练语言模型G(\cdot)来说,PETL的主要目标是通过在下游数据集上实现参数高效地适应,这可以定义为...
\arg\min_{\sigma}\mathcal{L}(G(I,T|[\boldsymbol{\theta},\boldsymbol{\sigma}]))
\boldsymbol{\theta} = \left\{ \theta_1, \ldots, \theta_n \right\} 代表 VLP 模型中的 n 层参数;通常情况下,在 PETL 框架中 \boldsymbol{\theta} 参数会被冻结;其中 (I, T) 表示图像与文本的配对关系;\boldsymbol{\sigma} 包含较少数量的更新参数;由于所有 VLP 层在下游任务中被保留下来,在 PETL 架构中只能减少参数量而无法降低整体计算成本。
在VLP模型中存在普遍存在的冗余特征,并且本文中的参数与计算高效迁移学习任务能够以一种高效的数学形式被简洁地表示出来。
使得拉普拉斯映射的结果G(I,T|\,[\theta_K,\sigma])关于\sigma和\mathbf{K}达到了最小值
动态架构跳跃
本文引入了一种叫做动态架构跳跃(Dynamic Architecture Skipping, DAS)的方法
冗余度估计
该算法识别出在跳跃VLP模型层之前存在显著的模型冗余度。我们将其视为一个多臂 bandit 问题,并首先定义冗余度为 \mathbf{r}。并从零开始初始化每个 \mathbf{r}_{i}, 随后每隔周期进行更新。
在每一个训练周期中,在\mathbf{r}的均匀分布下跳过了m模块,并基于下游数据对采样架构进行了更新。针对第t步,VLP模型的第i个模块的动作策略\pi_{i}^{(t)}遵循以下分布规律:
\pi_{t}^{(t)}\sim U(0,\rho(\mathbf{r}_{i}^{(t)}))
U(a,b) 代表a与b之间的均匀分布;ρ 作为sigmoid函数使用;在算法中,每个模块从 \pi_{i}^{(t)} 中随机选取一个概率值来确定分数 s_{i}^{(t)};基于计算出的分数s_i^{(t)} ,所选子网的定义即为此处所描述的内容。
该函数由一系列函数按顺序连接构成。
其中定义为:
对于所有满足特定条件的索引i,
有g_{i}=\theta_{i}。
其中s_{m}^{(t)} 代表第m大的选择分数,在训练过程中表现更为突出的模块更容易被排除其具有较高值的模块在训练过程中更容易被排除
通过强化学习方法评估VLP模块的冗余性。采用DAS方法筛选c个候选网络架构,并基于验证集损失计算相应的奖励值 v = e^{-\text{loss}}。通过这些奖励值更新冗余度参数r。
\mathbf{r}_{i}^{(t+1)}=\mathbf{r}_{i}^{(t)}+(v_{h}-\frac{1}{c}\sum_{j=1}^{c}v_{j})
若验证损失超过平均值,则说明跳跃模块更为冗余。该等式在较短的时间间隔内应用,并确保大多数子网络可通过多轮采样获取样本集以实现基础验证过程;大数定律则支持搜索结果的最佳收敛性
模型适应
为降低适应时参数规模的需求,DAS团队开发了一种轻量化设计,该设计旨在服务VLP模型中的特征映射过程以及直接跳跃连接.该适配器由两个线性投影层和一个激活层构成,其数学表达式为adapter(x)=ReLU(xW_{in})W_{out}.
W_{in} 和 W_{out} 是两个可训练矩阵。对于第i VLP模块,自适应定义为:
x_{i}=x_{i-1}+VLP(x_{i-1})+adapter(x_{i-1})
通过移除冗余模块可以让后续层受到隐藏特征的剧烈变化;为了使跳跃层能够快速连接到其他层级,在这种情况下
x_{i}=x_{i-1}+adapter_{r}(x_{i-1})
以这种方式,DAS不仅弥补了特征变换之间的差异,而且保持了参数效率。
