将预先训练的模型转移到下游任务时,有两种常用的方法是微调(更新所有模型参数)和线性探测(更新最后一个线性层)(tuning the head but freezing lower layers)
fine-tune的好处:better accuracy in-distribution (ID), fine-tuning 在做out-of-distribution (OOD)(在训练期间看不到的数据分布),相比于linear probing会得到一个 worse accuracy ,尤其是当预训练特征良好,distribution偏移较大
在六个distribution偏移数据集上,微调获得平均高2%的准确率ID,但低6%的准确率OOD,从理论上分析了在参数化两层线性网络上进行微调时产生的权衡,描述了微调如何扭曲高质量的预训练特征,从而导致较低的 OOD accuracy
建议two-step linear probing ,然后full fine-tuning 来实现更好的ID and OOD accuracy than fine-tuning, both the-oretically and on the above datasets (1% better ID, 8% better OOD).
微调何时以及为什么不如线性探测?
我们在理论上考虑在一个过参数化的回归设置中对两层线性网络进行微调,其中特征提取器层已经被预先训练以将高维输入映射到有用的低维的特征。我们证明了当使用高质量的预训练特征时,在最坏情况下的OOD输入上,微调比线性探测更糟糕。
即使学习速度非常小,微调也会扭曲预先训练的特征——ID数据的特征会被更新,而OOD数据的特征则保持不变
微调会扭曲预训练的特征提取程序,导致OOD精度较低,但使用线性探测头初始化会修复它。所以采用LP-FT,从而获得更好的ID和OOD精度。
由于头部和特征提取器在微调到对ID训练数据有效的配置期间同时进行了优化,因此头部只能容纳ID点的扭曲特征,而对OOD点的不变特征表现不佳。在整个微调过程中,不能通过提前停止来简单地解决这个特性失真问题,得不到性能良好的参数。另一方面,线性探测可以更好地外推OOD,因为它保留了预训练的特征,但不如微调ID,因为线性探测无法使特征适应下游任务。
在迁移学习中,微调失败是因为当试图用随机初始化的头部拟合ID训练数据时,特征提取器会因为ID特征发生显著变化,使得提取器对ID和OOD示例的特征在很大程度上不一致。
解决方法:
使用良好的头部进行初始化,在微调过程中不需要进行太多更新,从而减少功能提取器的更改量,即首先进行线性探测以找到一个好的磁头,然后进行完全微调(LP-FT)
1).如果预训练的特征质量不高,或者ID和OOD数据集非常接近,那么fine-tune可以比线性探测OOD做得更好
2). ID示例与OOD示例相比,fine-tune更能改变ID示例的特征
3). 在训练过程中,fine-tuning 没有匹配linear probing的OOD精度
4). LP-FT 对 ID 和 OOD 特征改变的数量级少于fine-tuning
假设得到预训练特征提取器B0,训练数据不同于id和ood分布。关注两种方法来从Pid中学习给定训练数据的预测值f(v,B):
(i)线性探测,其中B=B0,线性头通过最小化训练数据上的一些损失(例如,分类的逻辑损失,回归的平方损失)来获得
(ii)微调,其中v和B都通过对样本上的一些损失执行梯度下降来更新,B在B0处初始化。
2. THEORY: FINE-TUNING DISTORTS PRETRAINED FEATURES
B(k * d)表示的是特征提取器的base parameters,gB表示提取网络(实验中是深度网络,理论中采用线性投影),vТ(k * 1)表示linear head的参数(k维度)
为了方便,假定模型是特殊的
X(n * d)表示输入空间在ID上的n个长度为d的编码(维度10k),Y(n)表示相应的输出(维度5k)
1. when and why FT has higher OOD error.
1).特征会被扭曲,因为representations只在ID子空间(即沿训练数据的子空间)中改变,而在正交子空间中不变。
假设方向向量u是训练数据的正交子空间中,B的改变并不影响正交
但是如果u是在ID子空间中的非0向量,
这会导致特征扭曲,当特征在一些子空间中被更新,导致与预训练初始化相关的不一致
这是解释了为什么微调会扭曲特征,输入是二维的。给定输入x,真值输出为y=w⊤⋆ x、 我们有一个训练示例xID,预训练的特征提取器是B0。(a) 线性探测学习wlp,这是对预先训练的特征进行缩放,以获得正确的xID(wlp和w⋆) 在xID上有相同的投影(垂直虚线)(b) 微调会沿着训练方向xID更新预训练的特征提取器,以获得Bft,然后学习这些特征的缩放,从而获得正确的xID。虽然这两种方法都得到了正确的xid,但微调会在xood上产生很大的错误,因为微调会沿着xID更新B0,而不是xood。2.解决办法
只有当初始特征B0与ID子空间(即训练数据的子空间)精确对齐时,预训练特征才不会失真,并且只在FT期间缩放。在这种情况下,OOD误差在FT期间不会改变。但是,如果角度非零,更新将导致失真。
3.LINEAR PROBING THEN FINE-TUNING (LP-FT)
实验方案。对于LP-FT,初始化神经网络头作为linear probed方案,然后微调模型。LP-FT和微调使用类似的计算,因为线性探测步骤比微调快得多,与finetune一样,学习了6个步骤使用ID验证集验证准确性
数据集:
- ID真实图片,OOD“剪贴画”和“绘画”图像
- ID黑熊、懒熊和黑熊的图像,OOD有棕熊和北极熊的图片
- ID卫星图像在北美,OOD在非洲和欧洲
- CIFAR-10→ CIFAR-10.1,一个使用与CIFAR-10非常相似的协议收集的数据集,作者将其描述为“微小的分布变化”。希望在CIFAR-10上训练的分类器在CIFAR-10.1上获得高精度。
在五分之四的ID数据集上,微调优于线性探测
然而,OOD线性探测在6个OOD数据集中的5个数据集上表现更好
网友评论