点击上方“视学算法”,选择加"星标"或“置顶”
重磅干货,第一时间送达
AI科技评论报道
编辑 | 陈大鑫
AI 科技评论 今天给大家介绍一篇想法简单但是很有意思的文章,是研究 fine-tuning 在 few-shot 任务上的工作机制,论文发表于AAAI 2021,作者来自于CMU,HKUST和 IIAI:
文章的动机非常明确:
如下图,在 few-shot 任务上,我们通常会有一个 base set(有大量数据)和一个 novel set(只有少量数据),base set 里面的数据类别跟 novel set 是没有重叠的。我们通常需要在base set上训练我们的基础模型用来作为特征提取器,然后在novel set上进行微调等操作,这跟常见的迁移学习(transfer learning),比如从 ImageNet 迁移到细粒度分类数据集上的做法是相似的。对于few-shot问题,之前的做法在做微调(fine-tuning)过程整个网络的权重通常是固定不变的,而只是去学习最后的一个分类器。
于是本文就提出了这样一个疑问:既然 base set 和 novel set 的类别是没有交叉的,那么在 base set 上学到的特征提取器在novel set会是最佳的吗(毕竟通常的做法我们不会再去微调整个网络权重)?
答案很显然不是,在 base set 上学到的权重在 novel set 上肯定不是最佳的,由于类别分布的不同必然存在偏差,同理正常的 transfer learning 也会有这个类似的问题。作者在实验部分也进行了从 ImageNet 局部迁移模型权重到细粒度数据集 CUB200-2012 的实验,验证了他们的方法在这种常见的 transfer knowledge 场景下的有效性。
那么为什么之前的工作不在 novel set 上微调特征提取网络呢?
主要原因是 novel set 每个类别提供的样本实在太少了,比如 1-shot(每类一张图)或者 5-shot(每类五张图),通常的全局微调的做法没法保证 fine-tuning训练过程的稳定性,反而会破坏特征提取器学到的信息,导致 transfer 性能变差,因此作者提出一个自适应的局部微调的做法,即有些 layer 需要被微调,有些 layer 需要 fix 原来的权重,不同 layer 使用的学习率也是不同的,这也是为什么文章被称为 “Partial Is Better Than All” 的原因,它指的就是 fine-tuning 的策略。作者强调这个 fine-tuning 的策略在 Meta 或者 Non-meta based few-shot learning 算法上都是适用的。
解决方法:采用 search 的方式
如何来确定哪些 layers 需要被微调,哪些不需要,每层需要被微调的 layer 用多大的 learning rate 是这个问题的核心,也是在一个比较大的搜索空间寻找最佳方案的问题,因此作者提出可以使用 Evolutionary search algorithm 来比较高效的找出这个最佳的 fine-tuning策略。
当然了,searching 只是来解决这个问题的一种手段,你也可以人为去尝试不同的 layers 和 learning rates 来做 fine-tuning,手动去找出较好的组合,但是效率相比自动化的searching肯定会低不少。
搜索算法整个流程如下:
搜索算法详细过程:
整个搜索算法包含繁殖(reproduction)、交叉(crossover)和突变阶段(mutation),具体过程如下算法流程图。
方法结果:
上表为在 mini-ImageNet 数据集上的结果,可以看到,在使用相同的模型网络结构和 setting 的前提下,本文提出的方法比 Meta-Baseline 高了一个多点,这个提升也是非常可观的了。
Fine-tuning 结论:
通过 searching 找出最佳的 fine-tuning 策略之后,作者发现,需要 fine-tune的 layers 主要集中在网络的高层,大体上只 fine-tune 最后几层的效果是最好的,这个结论还是挺有意思的,说明在 few-shot 任务上,就算 base 和 novel 的类别完全不同,但是在浅层 low-level 特征的模式(pattern)还是相似的,或者说是可以相互 share 的,这其实也跟我们平时做 transfer learning 通过大量人为实验尝试得到的经验和结论也是一致的。
文章带来的启示:
本文最大的启示在于,对于 few-shot 这种有 base 和 novel 两种 sets 的场景,如何让 knowledge更好的从 base 到 novel 做 transfer 是非常重要的一个方向,本文提供了一个方案是使用 partial transferring 的策略,相信将来还会有一些其他的 knowledge transfer 的策略被挖掘出来。
更多文章细节和结论欢迎去阅读原原文。
References:
[1] Shen, Z., Liu, Z., Qin, J., Savvides, M., & Cheng, K. T. (2021, February). Partial Is Better Than All: Revisiting Fine-tuning Strategy for Few-shot Learning. In Proceedings of the AAAI Conference on Artificial Intelligence (Vol. 35, No. 11, pp. 9594-9602).
点个在看 paper不断!