查看原文
其他

【综述专栏】各细分学习领域调研(A Survey for Learning Fields)

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

作者:知乎—熵周

地址:https://www.zhihu.com/people/zhou-peng-fei-98

有些各细分学习领域(如Few-Shot Learning等)自成一个火热的领域,有些是很不错的tools,而有些仅可以被用作tricks。这篇文章对它们没有很统一的划分标准,因为它们本身就太多太杂,而且各种路径也有多少交织在一起,我不可能把所有的方法都调研完整,因此选一些我比较感兴趣而且对我现在在做的领域(Object Detection)有帮助的方向,粗略调研一波并且做个汇总。下面先列一个大致的Outline,也交代一下这篇文章都调研过哪些方向:
以上是主要的调研方向,其中斜杠表示两个领域的原理十分相关,但其实原理还是都会多少有所不同。下面还有一些可供选择的调研方向,我在调研中也对它们多少有所涉猎,但因为它们本身就跟前面那些较大的学习领域牵丝万连,限于本篇篇幅,就不一一详细阐述了,只是简单列一下,或许会稍微提及:
  • Fine-Grained Learning
  • Contrast Learning
  • Causal Learning
  • Metric Learning
  • Auto Learning
好了,下面开始正文:


01

Transfer Learning(迁移学习)
Transfer Learning可能是大家一开始刚走进深度学习领域都开始用的,因此或多或少可能会想我曾经一样把其误解为只是调用一个在Imagenet上预训练过的网络(如ResNet等)然后再具体数据集上fine-tune,但其实迁移学习没有那么简单,其丰厚的背景理论知识使其自成一个不小的学习领域。
Transfer Learning,根据其应用场景的不同,可具体划分为以下四大类:
图1.1 迁移学习分类
迁移学习,其本质idea都是把从一个广义域A数据分布(A数据集)上训练好的模型,应用在广义域B上(B域数据集),使效果尽量好,也就是使迁移尽可能成功。
其中Domain Transfer是跨狭义域的迁移,即A域(如生活图像)到B域的迁移(如遥感图像),其数据分布差异较大;Category Transfer一般是比较相近的域之间的迁移,但是有类别差别,如在动物图像域,将从A域(如各类猫数据集)训练好的模型迁移到B域(如各类狗数据集)上;Style Transfer即风格迁移曾是个很有意思的方向,一般表现为用GAN来做跨越风格的图片生成;最后Task Transfer[1]比较新,是指任务驱动不同,即把从上游任务中(如分类识别任务)训练好的模型迁移到下游任务中(如目标检测)。
迁移学习,其具体方法有通过度量学习的方式等,使模型从A、B域能学到的特征尽可能相近;或者通过元学习等方法使从A域上学习到的模型的泛化能力尽可能强,从而方便迁移到B域上;或者通过一些少样本学习等应用方法,使已在A域上预训练好的模型在B域上微调时梯度下降尽量理想。
图1.2 长尾迁移概念
迁移学习还有一个比较新比较有意思的点是Long-Tail Transfer(长尾迁移),是因为随着各类数据的增多,数据不平衡的问题日益得到深度学习领域学者们的关注,怎么样从有Bias的数据集中学到尽可能公平的模型也是一个不错的方向。而有学者提出可以通过迁移学习的概念弥补类别不平衡的长尾数据集本身的Bias,如图1.2所示,即将从长尾上预训练好的模型迁移到头部类别上做微调,使其既能满足长尾的需要,又能精确predict头部类别的数据,确保模型的性能。当然,有些更先进的框架基于这一idea提出了更先进的长尾迁移方法,读者们可以自行去深入调研。


02

Weakly-Supervised/Semi-Supervised Learning(弱监督学习/半监督学习)
虽然Weakly-Supervised Learning其概念可能相对于曾经小热过一段时间的Semi-Supervised Learning更新,但是其实他们之间的包含关系是弱监督学习包含但不限于半监督学习。
图2.1 弱监督数据示意图
弱监督学习的概念如图2.1所示,是通过有标签噪音(且较大)的数据集中学习到有效的特征,甚至使模型的表现不弱于在完整标签数据集上训练的强监督模型。其中,噪音数据包括但不限于如标签缺失、标签不全、标签错标等,图2.1为检测数据集,最左边为部分标注不全(一个数据只有目标框没有类别)、中间为标注信息弱(对每一张图像只有类别信息没有目标框标注)、右边为错标。
其中,如果此数据集A中,只有部分图像精确标注了目标框和相应类别,而其他图像完全是0标注,那么这个弱监督问题就成了具体的半监督学习问题,其示意图如2.2。
图2.2 半监督学习示意图
解决弱监督与半监督问题的思路还是十分相近,比如图2.3这篇ECCV2020[2]的文章是通过知识迁移的思路,利用有限标注迁移到弱监督数据上,具体方法可以见论文。
图2.3 Boosting Weakly Supervised Object Detection with Progressive Knowledge Transfer[2]
在解决半监督问题的方法中,Pseudo-Label(伪标签)一直是一种很高效的方法,比如上述那个ECCV弱监督的方法也多有借鉴伪标签的思路,而在半监督学习领域,伪标签的方法已经慢慢沦为了一个基本的Trick,比如周志华组在IJCAI2018提出的Tri-Net[3],Tri-Net是用基于三个不同模型的协同训练概念,并通过整个自训练的pipeline迭代补充标签数据,最后达到在半监督数据集上面近于强监督训练的性能。
图2.4 Tri-Net for Semi-Supervised Deep Learning[3]


03

Unsupervised/Self-Supervised Learning(无监督学习/自监督学习)
无监督学习是一个比较老的概念了,是通过无标签的数据帮助神经网络建模representations,但是最近在无监督的大领域内,涌现一波新的名为Self-Supervised Learning(自监督学习)的潮流,与上面第2节很像的是,无监督学习包括但不限于自监督学习。无监督的大体概念见图3.1,与有监督学习通过一个具体任务ground truth标签y对比预测的y'来帮助encoder学习特征表达Z不同的是,无监督不使用标签,即不用到约束y,而只是通过特别方式重建X',通过对比X与X'的差异来帮助模型学习特征表达Z。
图3.1 无监督学习的概念
自监督基于无监督的概念,与其十分相近,它具体的是在重建X'的过程中不涉及到复杂的方法,而只是简单从已有无标签数据中做一个简单变换,然后利用变换后的数据跟此前的数据(或者是两种不同变换的数据)做对比来学习representations。比如此前在NLP领域掀起很大一阵波澜,而且长期居于各类任务SOTA的BERT模型与GPT-3模型,都是通过自监督的方法在大规模无标签的语料库上做预训练,才达到那么好的效果的。(所以,自监督学习的关键是尽可能大的模型和尽可能丰富的数据)
图3.2 BERT与GPT-3
如图3.3所示,自监督学习的根据其方法思路来分可大约分为三大类,Temporal-Based(基于时序的),Context-Based(基于上下文的),Contrastive-Based(基于对比损失的)。还有一种不重要的分法,根据其应用方式来分,可分经微调使用的方法,与直接应用的方法。
图3.3 自监督算法分类
基于时序的自监督方法主要被应用在视频数据中,视频数据天然有丰富的多模态对齐信息供其选择,是理想的自监督材料,因此该领域自监督论文也比较丰富对其感兴趣可以自行去学习。由于我目前是做2D检测任务的,对图像关注更多一点,下面两种方法现在主要应用在图像上的。第一种基于上下文的自监督是从NLP的自监督获取的灵感,比如扣图的方法借鉴BERT预训练时的完形填空任务,即让模型在训练中猜测当前缺少的patch图像;拼图方法类似,将图像分成patches然后打乱,让模型学会判断什么是正确顺序的图像[4];而预测旋转简单但出乎意料地有效,即通过让模型学会判断图像旋转的角度这样的训练学到有用的representations。
上面这一分类多为naive的自监督方法,现在比较先进的框架如何恺明大神的MOCO[5]、Hinton指导的Google Brain组的SimCLR[6]、以及后续改进的SimSiam[7]等,大多是基于对比学习的自监督方法。图3.4选择的是三个具有代表性的自监督方法,可以看得到,其基本都是基于对比损失和(孪生神经网络)的。
图3.4 三个classical and SOTA自监督方法
即先对batch中每一个样本进行基于图像增强的变换,将同一张图像变换出的两张不同views作为样本与正样本,将batch中其他(与memory bank中预存的负样本)图像作为负样本,通过对比损失,让学到的样本与正变换的样本的representations之间距离尽可能近,学到的样本与负样本的representations之间距离尽可能远。
而通过对比训练见识到足够多图片的模型,可以学到很好的representations,甚至在SimCLR中,足够大的batch size和数据量保证无监督训练出来的模型达到不弱于强监督训练的效果。当然,真要在下游任务中表现良好且跟其他方法对比出色,那还是要将无监督预训练好的模型参数读入模型然后在有标签的数据中做微调。而下游任务与被称为任务不可知的自监督预训练之间的相关性,也决定了预训练的参数是否有效,因此,之前的自监督预训练模型大多直接用于分类上,应用在目标检测中的自监督工作很少,只有寥寥几篇,比如ECCV 2020这篇的工作[8]利用少数有标签数据和部分启发式的模块,使模型利用无标签数据做自监督的自训练,其实解决的是一个半监督任务的问题。
图3.5 Improving Object Detection with Selective Self-Supervised Self-Training[8]


04

Few-Shot Learning/Meta Learning(少样本学习/元学习)
为什么把大名鼎鼎的少样本学习和近来刚兴起的元学习放到一起,是因为元学习已经基本成为解决少样本学习问题的一种不可或缺的方法,很多少样本学习方法都是直接使用了元学习或间接借鉴了元学习的思路,而元学习本身的方案就是利用分布差异足够大的各类少样本训练一个元学习机,所以渐渐地,少样本学习与元学习已经越来越分不开了。
对于少样本学习,可以大致划分为三类,基于(深度)模型(Model Based)的少样本学习,基于度量(Metric Based)的少样本学习,和基于优化(Optimization Based)的少样本学习。其中基于模型的方法通过(迁移的手段或参数共享等)操作模型参数来实现少样本学习,这一类方法一般是要基于元学习的;基于度量的方法一般基于孪生网络和对比学习等(与model based结合),或是改进度量距离的函数或方法;基于优化的方法通过改进梯度下降的方法,即结合optimizer如ADAM等改进训练的过程来实现少样本学习。
图4.1 少样本学习类别[9]
比较经典的少样本学习的工作有图4.2这一篇CVPR2018的,它通过一些类元学习的概念,使模型在训练过程中能利用从数量较多的类别中训练出来的权重也同时很好地适应数量较少的类别。
图4.2 Few-Shot Image Recognition by Predicting Parameters from Activations[10]
比如蒋树强老师组[11]在IJCAI2020上的,也是一个通过元学习来解决少样本学习问题的值得借鉴的工作,其中的task embedding单元是一个元学习机,通过记忆数据分布来学习调整下游任务的模型参数,从而使得在下游任务中训练模型时只需要很少的样本就能通过特定的梯度下降方法优化到很好的参数分布。
图4.3 Multi-Attention Meta Learning for Few-Shot Fine-Grained Image Recognition[11]
元学习(/少样本学习)领域还有一个比较有意思的新颖工作,是魏秀参组发布的一个商品收货数据集,其中的训练样本只有少量的单商品图像,即每张图就一个孤零零的商品,更像是分类数据集,而测试集是要做有大量密集商品的检测任务。所以解决其中涉及的方法,也是做了一个弱监督的任务迁移(通过基于GAN的数据增强方法把不同的单商品拼到背景统一的同一图片里面,这样学习,完成从分类到检测的迁移)。
图4.4 RPC: A Large-Scale Retail Product Checkout Dataset[12]

05

Incremental Learning/Lifelong Learning(增量学习/(持续)终生学习)
关于增量学习,(又常常被与持续学习和终生学习放在一起),是一个概念相对比较新,且近年来并没有较大突破,因此还没有到鼎盛火热期(像自监督那样)的一个潜力无限的领域。因为它所解决的问题更能面向实际应用场景,比如在A场景训练好的模型,很可能要同时面对场景B进行部署应用,所以怎么样在能不忘记A场景上训练出的representations的同时,更好地去同步拟合B场景的数据,使模型在两个场景下均能达到最优,这就是一个典型的增量学习要解决的问题。同样还有比如在A上训练好模型之后,怎么样能让其适应包括部分A数据在内而模式更复杂类别更多的C场景,也是类似的一个增量学习的概念。
对于终生学习,其概念如图5.1所示,就是让模型在不断学习新知识的同时拥有永远忘记不了前面学过的知识的能力,这样学完了task1后学task2可以同时适应task1和2,再学3之后又能同时适应三者,这样无限持续学习下去,直到诞生一个巨无霸的模型,其可以解决一切问题(那不就是强人工智能了吗)。
图5.1 终生学习概念
前面说的那么诱人,其实作为一个实际学术即应用相关领域来讲,增量学习一直以来发展地还是比较慢的,它只有最初在人脸识别领域有非常promising的应用。如图5.2所示,人脸识别其应用场景的特殊性决定模型在学习到新出现的人脸的同时不能忘记之前已经通过学习记录下的,所以早期的解决方案大致还是用了类似聚类的技术将人脸与已有的数据做比对匹配,后辅助模型适应新出现的数据。但是其大致增量学习的思路已经形成,并一直影响到现在,即利用前后数据的特点,增量式地调整模型参数,简化fine-tune的过程,使其使用新数据进行训练调整参数时不影响在原数据上的应用能力的相关参数。
图5.2 人脸识别与增量学习
有一脉增量学习的发展与度量学习(Metric Learning)息息相关,它通过不断改进度量函数来把相似的数据归类,方便对比新老数据差异以有针对性地调整模型参数。
图5.3 增量学习与度量学习
增量学习领域有意思的工作很多,而且各有特点:比如Il2m: Class incremental learning with dual memory[13]还是通过记忆与增量参数调整的传统思路来做有类别增量的学习;Random path selection for incremental learning[14]使用一个比较大的模型,而通过面向不同数据激活不同神经元的方式,来给每一批数据一个神经路径,增强模型容纳不同批次记忆的能力;Incremental few-shot object detection[15]通过一个Class code generator 来增强模型适应新类别的能力;还有一个我特别想要highlight的工作[16],Modeling the background for incremental learning in semantic segmentation这篇CVPR2020的论文中提出了一种通过重建场景来适应语义分割中新数据的方法,其idea与那篇大巧若拙且大名鼎鼎的Google Brain的Copy&Paste[17]有异曲同工之妙。
图5.4 Modeling the background for incremental learning in semantic segmentation[16]
由于这个领域比较小众,最近我也刚刚开始接触,[13-16]只是粗略涉猎了一下,接下来还要很惊喜地去读去了解,如果大家有同一时期能和我一起阅读学习的,欢迎一起交流讨论。
以上就是本次广而泛调研的全部主题,本人也只是学术之路上的一个小学生,经验难免有不足之处,references可能也不甚全,以上的各处细节若有纰漏之处,欢迎提出指正或补充,谢谢啦!

06

References

[1] Tang Y , Wang J , Wang X , et al. Visual and Semantic Knowledge Transfer for Large Scale Semi-supervised Object Detection[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence (TPAMI), 2018, PP(99):1-1.

[2] Zhong, Yuanyi, et al. “Boosting Weakly Supervised Object Detection with Progressive Knowledge Transfer.” ECCV, 2020.

[3] Dong-Dong Chen ,Wei Wang ,Wei Gao and Zhi-Hua Zhou. “Tri-Net for Semi-Supervised Deep Learning.” IJCAI'18 Proceedings of the 27th International Joint Conference on Artificial Intelligence, 2018, pp. 2014–2020.

[4] Dosovitskiy, Alexey, et al. “An Image Is Worth 16x16 Words: Transformers for Image Recognition at Scale.” ArXiv, 2020.

[5] He, Kaiming, et al. “Momentum Contrast for Unsupervised Visual Representation Learning.” CVPR, 2020, pp. 9729–9738.

[6] Chen, Ting & Kornblith, Simon & Hinton, Geoffrey. A Simple Framework for Contrastive Learning of Visual Representations. ICML, 2020

[7] Chen, Xinlei, and Kaiming He. "Exploring Simple Siamese Representation Learning." ArXiv, 2020.

[8] Li, Yandong, et al. “Improving Object Detection with Selective Self-Supervised Self-Training.” ECCV (29), 2020, pp. 589–607.

[9]Shu, Jun, et al. “Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting.” NeurIPS, vol. 32, 2019, pp. 1919–1930.

[10]Qiao, Siyuan, et al. “Few-Shot Image Recognition by Predicting Parameters from Activations.” CVPR, 2018, pp. 7229–7238.

[11]Zhu, Yaohui, Chenlong Liu, and Shuqiang Jiang. "Multi-attention meta learning for few-shot fine-grained image recognition." IJCAI, 2020.

[12]Wei, Xiu-Shen, et al. “RPC: A Large-Scale Retail Product Checkout Dataset.” ArXiv Preprint ArXiv:1901.07249, 2019.

[13]Belouadah, Eden, and Adrian Popescu. "Il2m: Class incremental learning with dual memory." CVPR, 2019.

[14]MLARajasegaran, Jathushan, et al. "Random path selection for incremental learning." NeurIPS, 2019.

[15]Perez-Rua, Juan-Manuel, et al. "Incremental few-shot object detection." CVPR, 2020.

[16]Cermelli, Fabio, et al. "Modeling the background for incremental learning in semantic segmentation." CVPR, 2020.

[17]Ghiasi, Golnaz & Cui, Yin & Srinivas, Aravind & Qian, Rui & Lin, Tsung-Yi & Cubuk, Ekin & Le, Quoc & Zoph, Barret. Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation, 2020.


本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存