达摩院开源预训练数据微调框架UOT NeurIPS论文深入解读
团队模型、论文、博文、直播合集,点击此处浏览
一、论文
论文链接: Improved Fine-Tuning by Better Leveraging Pre-Training Data
代码链接:https://github.com/ziquanliu/NeurIPS2022_UOT_fine_tuning
二、背景
三、理论分析
首先定义下游的目标函数和上游预训练函数,然后我们对这两个函数的性质做出如下四个假设。其中第一个假设是对两个训练分布的相似性给一个上界,第二和第三是描述优化目标函数的unbiased, bounded variance和smoothness性质,第四个是常用的PL condition.
给定以上四个假设,我们可以得到下面的引理。引理1说明了当下游数据的数据量到达一定程度的时候,预训练模型对于随机初始化来说其实没有什么优势。这个引理也解释了之前人们在实验中发现的现象[1]。
当下游任务的数据量有限时,我们提出在fine-tuning时重复利用预训练数据。具体来说我们在fine-tuning时把两个训练数据的损失函数做一个加权,然后用两部分数据训练这个网络。在实际的操作中,我们对于下游数据和预训练数据使用不同的线性分类器,以便我们可以使用任意数量的下游类别,而且下游和预训练的标签互不影响。
对于这种joint fine-tuning的效果,我们推导了如下定理。该定理说明,如果我们能够选取适当的预训练数据,使得两个训练数据的距离缩小,那么joint fine-tuning的效果会变得更好。
四、数据选择
我们提出一种基于unbalanced optimal transport的通用的数据选择方法,简记为UOT数据选择。我们的思想是找到一个运输方式把预训练数据运输到下游数据,而这种运输方式体现了预训练数据的某个类和下游数据的距离。我们发现这种UOT数据选择的方式在选择相似数据上非常的有效,如下图所示。因为CUB数据只包含鸟类图片,所以我们知道这时候需要从预训练集上选择的数据是鸟类。UOT成功地选择了几乎所有ImageNet中的鸟类
五、结果
1. 效果展示
我们分别用有监督和无监督的预训练模型在8个下游数据集上做了我们的实验。当预训练数据集无标签时,我们用K-means聚类给数据打上伪标签。实验结果表明,我们的UOT joint-fine-tuning在多数数据集上取得了最优的效果。
2. 小数据集与长尾类分布
我们进一步模拟了下游的小数据集和长尾类分布的情况。左图中我们展示了对CUB和Caltech数据集按类进行数据量下采样的实验结果。当数据量越小时,我们的UOT方法取得了越大的提升。右表显示了我们对于3个数据集进行长尾累分布采样后,再进行UOT和标准微调的结果。我们的方法在这种情况下取得了显著更好的结果。
六、参考文献
[1] He, Kaiming, Ross Girshick, and Piotr Dollár. "Rethinking imagenet pre-training." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.
七、应用
接下来给大家介绍下我们研发的各个域上的开源免费模型,欢迎大家体验、下载(大部分手机端即可体验):
更多推荐
所有评论(0)