【视觉提示学习】3.21论文随想
. . Frontiers of Information Technology & Electronic Engineering. 2024, 25(1): 42-63 https://doi.org/10.1631/FITEE.2300389
中文综述,根据里面的架构,把视觉提示学习分成两类,一类是单模态提示学习(以vit为代表),一类是多模态提示学习(以clip为代表)接下来就是顺藤摸瓜去看对应的论文。
https://arxiv.org/pdf/2203.12119 Visual Prompt Tuning
VPT:像是高效微调。图a是卷积神经网络适应新任务时的策略,仅微调部分参数,如检测头,偏置项等等,图b是vpt的工作,冻结backbone,在输入时引端入一部分参数作为prompt,微调输入参数与检测头。
探索了两个版本,一个浅提示,一个深提示,浅提示就是只在最开始的encoder层加一组p个连续的d维嵌入(即prompts),深提示就是每个encoder开始都会加。
【与主线无关的记录】:1.迁移学习在卷积神经网络(ConvNet)的视觉任务中已经得到了广泛研究,并引入了许多技术,包括侧调(side tuning)、残差适配器(residual adapter)、偏置调整(bias tuning)等。为了基准测试目的,我们重点关注以下两种代表性方法:适配器(Adapters)和BitFit。适配器在每个Transformer层内部插入额外的轻量级模块。一个适配器模块通常包括一个线性降维投影,随后是一个非线性激活函数,以及一个线性升维投影,同时带有残差连接。与插入新模块不同,[8]提出在微调卷积神经网络时,仅更新偏置项并冻结其余骨干网络参数。BitFit[5]将这种技术应用于Transformer,并验证了其在语言模型调整中的有效性。2.结果图有个蛮有意思的,mark一下 t-SNE.
Learning Common and Specific Visual Prompts for Domain Generalization
问题公式化定义:
CSVPT算法:说到底,原先VPT是一个任务训练一组常数prompt张量,现在变成了不仅仅是训练一组常数,还要训练一个网络,将输入的图片放到网络里面的输出作为prompt张量。【也就是文章中提到的特定提示和共通提示】最后把二者相加。【感觉这里有点像做了个残差连接 合起来的效果只会是只升不降的?后面看消融实验也是 只有特定提示的效果降了】
也是设计了两种具体的实现方式:CSVPT-Shallow和CSVPT-Deep。
【与主线无关的记录】:1.尽管深度学习在许多领域取得了显著的成功,但它依赖于训练和测试数据是独立同分布(i.i.d.)的假设。(5. Z. Shen, J. Liu, Y. He, X. Zhang, R. Xu, H. Yu, and P. Cui, “Towards out-ofdistribution generalization: A survey,” arXiv preprint arXiv:2108.13624, 2021. 4273)然而,这一假设在实际应用中并不总是成立。当在不同条件下或从不同来源收集数据时,测试数据往往来自与训练数据不同的分布。分布外(OOD)问题显著降低了深度模型的性能。近年来,DG算法取得了进展,其中最常见的是学习跨领域的不变特征和将模型参数分解为共享和领域特定的组件。然而,一些研究人员发现,在多样化的DG基准测试中,没有任何现有的DG方法能够显著优于简单的基线模型。这是因为训练和测试分布之间的差异太大,仅从训练领域中无法学习到领域不变特征或获得出色的共享 - 特定分解。2.分解学习可以分为以下三类:特征分解学习:尝试将特征表示分解为两部分,即领域特定部分和领域共通部分。之后,我们可以仅使用领域共通特征,或将其与增强的领域特定特征结合用于预测。预测器分解学习:例如CSD,它学习一个领域共通的预测器(有助于泛化)和一个领域特定的预测器(可能会损害泛化)。在训练完成后丢弃领域特定的预测器,仅使用共通预测器进行预测。梯度分解学习:例如AndMask,仅在不同领域的梯度指向同一方向时更新权重,即保留领域共通的梯度分量。3.当训练和测试数据是独立同分布时,全微调通常优于线性探测。然而,一些研究人员指出,全微调可能会扭曲预训练特征,并在分布外表现不佳,因为在分布内的训练数据特征被大幅更新,而分布外数据的特征变化较小。Ananya Kumar等人提出了一种两步方法(先线性探测,然后全微调)来解决这一问题。此外,一些研究人员利用预训练模型中的互信息正则化,称为互信息正则化与预训练模型(Mutual Information Regularization with Oracle,MIRO),以防止过拟合和特征扭曲。