要想较好的解决少样本学习这个问题,甚至达到与多样本学习相近的性能表现,就需要思考造成少样本学习如此困难的本质是什么。
是因为少样本导致经验风险最小化不可靠?少样本导致深度模型极易过拟合?或者是极少的样本无法反映真实数据分布?
针对“少样本无法反映真实数据分布,所以导致模型过拟合”这个现象,我们最新的一篇工作试图利用有限的样本去估计潜在的真实数据分布,并且实现了还不错的效果。
我觉得这是一个有趣的方向,假如该分布估计足够准确,少样本和传统多样本学习还存在很大的差别吗?
现有的小样本学习的benchmark和数据集,基本围绕在实现AGI这个目标上面。
以Lake et al.开发的omniglot为例,通过小样本学习来实现复杂象形文字的识别。但是说真的,这东西我们人看上去都不知道是什么 — 它距离实际应用有点远。
其实在工业界中真正有意义的小样本学习场景有很多。
我举个例子。在化学反应这个场景下,专业人员的最终目标是提升某种产物的产率。这里面的搜索空间的关键变量包括各种反应物,反应物的质量,催化剂,反应条件(包括湿度、温度等等)。而可用的数据是多少呢?可能是零。
你不要以为我在开玩笑,正经的应用其实数据就是零。在工程实施的环节,一般的流程是专家通过实验的方式积累一些数据,可能也就几十个。有意义的人工智能这里要做的是用过这几十个数据,对剩余的搜索空间进行一个搜索(其他的反应物、催化条件、反应条件等)。如果说搜索空间最终的高产率是个很小的子空间,那么初期的数据往往是低产率的数据。之后通过模型推荐出来的组合之后再做一批实验,之后融入到训练集里,反复上个流程。
这里就有了个非常有意思的小样本学习的问题,如何用产率很小的数据来预测高产率的反应组合?或者是这里的训练集是有偏的,它们的产率往往很小,距离最终的最优子空间的距离很远。
我没有谈要用什么方法来做这个,不管是监督学习(分类啊 回归啊啥的),还是元学习(maml啊之类的),或者其他的什么方法。这些暂时还不是那么重要。
可能在我们这个bubble里面,我们已经习惯了那种反馈很快的环境(比如说alphago,模拟一遍就出来结果了)。在这个场景下,一批数据的获取可能要花上几天甚至几周的时间。类似于这种情况的还有各路生物、材料等等场景。我认为凡是数据获取周期很长,成本不低的场景下,都是一个又一个鲜活的有意义的小样本学习问题。