本书介绍了元学习方法的发展历史、起源、思想、近来流行的元学习方法,以及这些方法的组织思路、改进方案、相互继承、如何应用。本书共11章,分为两部分:元学习方法思想的介绍和元学习应用场景中模型的介绍。这些内容介绍了如何在元学习框架下融入强化学习、模仿学习、在线学习、无监督学习、迁移学习等,实现对实际应用中深度模型的改进,以适应复杂多变的实际任务。
系统梳理元学习知识体系的首著!
元学习(Meta-Learning)的概念起源于强人工智能(General AI)的范畴,是指让机器学会学习(Learning-to-Learn),从而让机器变得更加智能,代替人类完成复杂多变的任务。近来,MAML(Model-Agnostic Meta-Learning)的兴起带火了元学习的概念,MAML将元学习视为深度学习模型的补充,引入MAML模块,通过适当的组合、调试,可以在保持深度模型精度的同时,额外提高深度学习模型的泛化能力,避免了过拟合问题的出现,提高了深度学习模型在分布外任务的精度。泛化能力的作用有以下这些:(1)可以减小模型过拟合的可能性;(2)可以提高模型的样本外预测能力;(3)扩大模型适用的范围,提高模型的适应性;(4)有利于在不同场景之间模型的融合,在同一场景下有更多模型可供考虑和选择,既可以重新训练模型,也可以从类似任务的深度模型泛化而来;(5)提供模型之间互相借鉴的通道和框架,有利于不同模型和机器学习框架的交流和合作,基础学习器和元学习器可以是不同种类的机器学习模型。
其实元学习并不是一个新概念,早在1987年,科学家就已经提出了元学习的概念,指的是机器通过与环境进行交互,不断获取信息,进行自我更新调整,从而不断地适应环境,在没有任何人为干预的场景下,机器能自发地适应并且进化,智能化地学会怎么解决遇到的任何任务。元学习框架包括两个部分,(1)解决任务的基础层,对应每个任务上的基础学习器,(2)综合所有任务并且对基础学习器进行指导的元层,元层指导基础学习器更快适应新任务、更好解决新问题。元层是综合所有解决问题的经验并且进行分析的指挥层,元层代表知识层级中更加本质、普适的知识逻辑,可以很好地推广到新任务。基础层和元层是任务中知识层级的天然表达形式,基础层代表每个任务特性的知识,元层代表所有任务共性的知识。
本书介绍了元学习方法的发展历史、起源、思想、近来流行的元学习方法,以及这些方法的组织思路、改进方案、相互继承、如何应用。实际上,元学习这个领域的范畴并没有一个明确的界定,元学习最早是作为强人工智能的概念提出,主要通过模型与环境的交互实现模型的自更新,也可以认为元学习和迁移学习是同样的概念,都是将已有的模型应用于解决新的任务,而不用重新训练模型,事实上,许多近代元学习方法借鉴了迁移学习方法的思路。本书的内容来源于对最早期元学习理论和近年来元学习方法文献的整理,笔者对元学习的理解也不一定全面准确,读者可对本书内容进行批判型阅读,在此过程中读者也可对元学习的当代应用和早期起源有更多了解,在读者的科研工作中,遇到可以用元学习解决的问题,也可考虑设计合适的元学习方案。当下,元学习的应用场景主要有以下这些,(1)数据量很小却需要深度学习模型的场景,(2)在线学习需要及时更新深度模型,每个时刻获取的数据包都很小,(3)优化问题及其复杂,包括许多连续和离散的超参数需要优化,元学习器指导基础学习器优先探索更有希望的超参数组合,(4)解决重头训练深度模型过于复杂或者无法实现的场景,必须依靠过去的经验对深度模型的训练进行加速。
笔者2017年获得美国北卡罗莱纳州立大学统计学博士,目前从事人工智能研究。笔者接触元学习是在2018年,当时笔者使用频率较低(每半年)的公募基金持仓数据计算了频率较低的反映基金盈利能力的指标,然而笔者又希望根据频率较低的指标进行基金未来表现的预测,例如,根据仅有的3-4个观测点预测未来走势。这个问题本身并不是一个好问题,数据量太小,但是笔者尝试用了最简单的直线斜率来直接预测未来走势,得到的预测结果竟然对大多数基金有用,可是,仍然有部分基金无法预测。笔者希望找到方法将这部分无法预测的基金比例降低,遍寻无果,笔者开始转向人工智能方向寻找。由于深度学习适用于数据量较大的情况,所以对于小样本的情形无法使用,而元学习适用于小样本问题的解决,由此,笔者开始对元学习领域感兴趣。除了笔者遇到的情形之外,元学习可以解决许多小样本的实际问题,例如任何数据量不足或者任务环境剧烈变化的场景。其实,元学习不仅限于解决小样本问题,本书中介绍的元学习思想也不仅限于解决小样本问题。元学习最早提出时是为了实现强人工智能,让机器学会学习,从而机器可以学会解决小样本问题。元学习的终极目标是让机器变得更加智能,可以自行学会解决新问题,而不用每次都要收集大量有标注数据,花大量时间和计算资源来训练深度模型。科研的过程就像是探险,解决一个谜团之后,不会带来终结,之后只会带来更多需要解决的谜团,需要人们前赴后继地去探索追寻。
笔者写这本书时的愿望如下:(1)期待元学习的发展让机器学会学习,促进强人工智能的进步,最终实现让机器将人类从繁琐的重复性劳动中解放出来,让人类将精力放在更加重要的领域,让人类的工作变得轻松,提高人类的工作效率;(2)元学习算法的框架灵活多变,对任何任务的适应性都不错,可以促进人工智能和传统领域的双赢融合,达到应用场景更好的解决方案,人工智能的发展并不仅限于在现有的任务上实现更高精度、更快速度、更好效果,还要将人工智能方法更好地与传统领域结合,扩大人工智能的应用范围,将人工智能渗透到传统领域;(3)希望元学习的思想能促进基础领域研究的发展,通常认为的是基础领域研究的进步促进了所有其他领域的发展,而元学习的思想却可以影响到基础领域的理论研究,提高理论的适应性,扩大理论的适应范围,放松理论成立要求的苛刻假设条件;(4)提供解决问题的新思路,元学习的基本思想和框架下,可以灵活地组合和改动现有的方法,解决复杂问题,化繁为简,实现问题分解;(5)促进统计学习和深度学习的融合发展,元学习提供了融合这些方法的灵活框架。
本书分为11个章节,在宏观上可以分为两大部分:元学习方法思想的介绍和元学习应用场景中模型的具体介绍。第1章是元学习介绍,讲述元学习思想的起源和发展脉络,第2章是元学习研究框架,介绍元学习研究中搭建的理论框架,这两章作为对元学习这本书的引入。第3章是神经网络元学习方法,第4章是基于度量学习的元学习方法,第5章是基础学习器和元学习器结合的元学习方法,第6章是贝叶斯思想下的元学习方法,这些章节分别介绍了元学习方法的主要框架,给出了元学习框架的基础理论。第7章详细介绍了元学习的实际应用场景,之后,第8章讲述了元强化学习,第9章描述了元模仿学习,第10章介绍了在线元学习,第11章是无监督元学习,这些章节介绍了在实际应用中,元学习框架下融入了强化学习、模仿学习、在线学习、无监督学习、迁移学习等,实现了对实际应用中深度模型的改进,适应复杂多变的实际任务。
本书中介绍的方法都来自论文,每个章节中引用过的论文都列在每个章节的最后一小节中,每个章节中引用论文的数字编号都对应于每个章节后引用文献列表中的文献编号。引用文献列表中的论文都有对应的代码在Github上,代码可以在Github上面搜索得到。本书中涉及的论文年代都是最新的论文版本对应的论文年代,而不是论文最初那个版本对应的论文年代,每个章节的论文大致是按照年代来排序的,反映这些方法之间的相互继承关系和发展脉络。本书介绍了许多近来热门的元学习方法,却没能够很好地体现出元学习思想的全部,是本书的遗憾之一,相较于本书介绍的内容,元学习思想更加深远,发展几十年,影响很广,相信未来会有更多优秀的元学习方法出现,读者可以实时关注元学习最新的发展动向。
元学习的基础思想可以混搭组合、灵活多变,适用于许多实际问题的解决,不降低模型精度的情况下,提高模型的泛化能力,从而让模型额外获得在泛化能力上更好的表现。本书适用于希望了解元学习并且对机器学习有基础的读者,对于金融领域经常需要做样本外预测工作的读者非常适用,对于机器人研究领域,需要进行连续控制和适应复杂多变环境的工作也适用,对于样本量少且需要进行预测的小样本图片分类任务也适用。元学习致力于让机器达成更高的智能,实现更深程度的自动化和智能化,以此改进现有模型的效果。
参考资料.pdf在哪里下载?
论文及扩展阅读.pdf在哪里下载?