作者:赵俊博 Jake
浙江大学 / NYU AI博士 / ex-Facebook
来源链接:
https://www.zhihu.com/question/439865186/answer/1734654426
现有的小样本学习的benchmark和数据集,基本围绕在实现AGI这个目标上面。
以Lake et al.开发的omniglot为例,通过小样本学习来实现复杂象形文字的识别。但是说真的,这东西我们人看上去都不知道是什么 — 它距离实际应用有点远。
其实在工业界中真正有意义的小样本学习场景有很多。
我举个例子。在化学反应这个场景下,专业人员的最终目标是提升某种产物的产率。这里面的搜索空间的关键变量包括各种反应物,反应物的质量,催化剂,反应条件(包括湿度、温度等等)。而可用的数据是多少呢?可能是零。
你不要以为我在开玩笑,正经的应用其实数据就是零。在工程实施的环节,一般的流程是专家通过实验的方式积累一些数据,可能也就几十个。有意义的人工智能这里要做的是用过这几十个数据,对剩余的搜索空间进行一个搜索(其他的反应物、催化条件、反应条件等)。如果说搜索空间最终的高产率是个很小的子空间,那么初期的数据往往是低产率的数据。之后通过模型推荐出来的组合之后再做一批实验,之后融入到训练集里,反复上个流程。
这里就有了个非常有意思的小样本学习的问题,如何用产率很小的数据来预测高产率的反应组合?或者是这里的训练集是有偏的,它们的产率往往很小,距离最终的最优子空间的距离很远。
我没有谈要用什么方法来做这个,不管是监督学习(分类啊 回归啊啥的),还是元学习(maml啊之类的),或者其他的什么方法。这些暂时还不是那么重要。
可能在我们这个bubble里面,我们已经习惯了那种反馈很快的环境(比如说alphago,模拟一遍就出来结果了)。在这个场景下,一批数据的获取可能要花上几天甚至几周的时间。类似于这种情况的还有各路生物、材料等等场景。我认为凡是数据获取周期很长,成本不低的场景下,都是一个又一个鲜活的有意义的小样本学习问题。
作者:杨朔
悉尼科技大学 计算机科学博士在读
来源链接:
https://www.zhihu.com/question/439865186/answer/1683322623
要想较好的解决少样本学习这个问题,甚至达到与多样本学习相近的性能表现,就需要思考造成少样本学习如此困难的本质是什么。
是因为少样本导致经验风险最小化不可靠?少样本导致深度模型极易过拟合?或者是极少的样本无法反映真实数据分布?
针对“少样本无法反映真实数据分布,所以导致模型过拟合”这个现象,我们最新的一篇工作试图利用有限的样本去估计潜在的真实数据分布,并且实现了还不错的效果。
杨朔:ICLR2021 Oral |利用一个样本估计类别数据分布 9行代码提高少样本学习泛化能力
https://zhuanlan.zhihu.com/p/344531704
我觉得这是一个有趣的方向,假如该分布估计足够准确,少样本和传统多样本学习还存在很大的差别吗?
作者:ICOZ
Chi Zhang, PhD in ML & CV, NTU
来源链接:
https://www.zhihu.com/question/439865186/answer/1747593000
如果你只是focus在小样本分类的那几个benchmark上,那的确看起来很局限。事实上小样本学习的应用可以是很广泛的, 其中的研究思路也可以对其他领域产生启发。这两个方面展开说可以写很多。
随便举几个例子,很多相关的问题都可以看做小样本学习,比如图像检索,人脸识别验证,行人重识别。都是直接依据少样本来做预测。对于这些更具体的task,往往区别在于数据的类型和评测指标,比如few shot learning benchmark上的数据类别更强调语义,而且上面的几个例子里的数据可能是一些更细粒度的特征。
小样本的研究思路同样会给相关领域带来启发。比如小样本学习里的metric based的方法 (Prototypical Network, Matching Network, DeepEMD等)带来的启发就是如何表示fully connected layer里prototype,这样便可以迅速获得一个classifier来用于训练。这样思路用在其他领域也相当有效。
比如在这篇Distilling Cross-Task Knowledge via Relationship Matching
(
https://openaccess.thecvf.com/content_CVPR_2020/html/Ye_Distilling_Cross-Task_Knowledge_via_Relationship_Matching_CVPR_2020_paper.html
)
里, 在跨数据集的任务里蒸馏知识,label space不一样,预测的logits不一样怎么办。 就可以利用其中一个数据集的backbone到另一个数据集里用prototype的思想迅速获得classifier来训练。这种data relation也可以作为knowledge,同feature/logits一样,可以被distill。 最近也有将类似思路用在蒸馏self-supervised 模型,这种情况下没有label只有data embedding,也可以看做一种特殊的小样本情形。同样,小样本学习里,固定住backbone只调整prototype的做法直接搬到long tail classification问题里就可以取得SOTA的结果。
类似地,如果把小样本学习看做是一种conditional prediction模型的话,那又可以和大量领域建立联系。比如小样本分割领域经常会把support数据当做conditional input来预测,这和style transfer,group segmentation等任务又十分相似。比如如何更好的融入conditional input的信息? 可以是在feature 上concantenate ,可以是pixel level attention,可以是style transfer里经常用的AdaIN,可以用上graph来propagate信息,等等等。这些任务的learning方法都可以互相借鉴。 又比如,小样本里的数据可以被拆分成很多更小的数据,就像style transfer的工作里强调了一些局部的style, DeepEMD里使用local region feature来做分类,PGnet里把小样本分割数据表示成graph来传递信息。
总的来说,参考目前的 few-shot classification leaderboard(
https://few-shot.yyliu.net/miniimagenet.html)
,即使是最简单的few shot分类问题还是有很大的研究空间的。其他的setting下,比如transductive learning, large scale, cross domain,fine-grained, open set 下也有很多task specific的算法,也都很有研究价值。
推荐阅读
备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)
即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群
每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~
觉得有用麻烦给个在看啦~