元学习:基础与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1 元学习概述

元学习,元,指的是万物的本质,Meta-Physics指的是形而上学,即研究事物本质的哲学。元学习的含义有两层,第一层是让机器学会学习,让机器具备分析和解决问题的能力,机器通过完成任务获取经验,提高完成任务的能力;第二层是让机器学习模型可以更好地泛化到新领域中,并且在新领域中创新、综合,从而完成差异很大的新任务。在实际应用中,人们往往希望机器更加智能,能很好地完成所有的任务,尽量减少人为干预和调试,提高效率以节省时间,将人们从重复劳动中解脱出来。

形而上学探索事物本质,掌握万物运行的根本规律,推而广之,进而研究所有事物的发展方向。例如,白噪声的均值是零,这是白噪声的本质之一,其他情况下的白噪声往往也满足这条本质规律。因此,可以推而广之的规律是事物的本质,也是事物之间所有相似性的来源。元学习通过机器学习方法探索数据中能够推而广之的本质规律,并且找到这种规律的充分表示模型,将这种规律用于完成其他任务,提高模型的训练效率。客观普适的规律更能够在不同问题之间进行推广,用来解决更多的问题,普适性越强的规律适应性越好,可以适应更多不同类型的问题,更有希望有效解决新的未知问题。

机器学习的很多思想都来源于对生活的观察,元学习也不例外。举个例子,舞蹈家在看过一次演示之后,就能学会一段舞蹈,而没有学过舞蹈的人在看过很多次演示之后,都未必能学会一段舞蹈,即使学会了,也很难与舞蹈家表演得一样好,人类解决新问题的能力取决于过去解决类似问题的经验。类似地,机器学会学习的能力也是这样的,训练过越多的类似问题,解决这类问题的能力越强。元学习希望机器具备类似人类解决问题的能力,通过一两次示范,可以学会一类问题的解决,不需要太多的有标注数据即可实现“学会”。

许多有趣的新问题的解决都源于事物之间看似无关却有关联的联系,侦探通过细节和线索,找到人物和事件之间的联系,分析案件的脉络,抽丝剥茧,找出真相。任何案件都是未知的新问题,侦探却善于通过逻辑推理找到真相,侦探可以做到,是因为侦探擅长逻辑推理和创新,构建了处理新案件的思考体系,而且侦探积累了大量处理案件的经验,于是侦探越来越擅长处理同类案件。由此可见,人类解决未知问题的能力是可以通过训练提高的,类似地,机器解决未知问题的能力也可以通过训练来提高。新案件的处理需要借鉴过去案件中的思考体系,例如,寻找犯罪嫌疑人的犯罪动机;还需要借鉴过去案件中的技术手段,例如,犯罪嫌疑人的DNA检测、指纹比对等;还需要询问相关人员的口供,对口供进行验真,需要借鉴过去案件中的逻辑推理。处理过的案件越多,经验越丰富,就可以更好地处理新案件,元学习希望机器也具备这样的能力。

小孩子在看过一段将小球放进盒子的视频之后,可以很容易做到这一点,但是机器人在看过这段视频之后,需要首先对视频进行信息提取,从信息中找到逻辑规律。逻辑规律是通过收益和目标来衡量的,目标是要最大化收益,进而学会模仿视频中的动作。虽然,机器人进行了这么多的计算和分析,但是,相较之下,在学习能力这方面,机器人没有小孩子学习得那么快那么好。在这方面,机器人有很大的提升空间,元学习方法在这个领域大有可为。

人们追求更高程度的人工智能——接近人类的智能,让机器代替人类执行危险复杂的操作。例如,在新型冠状肺炎流行期间,使用机器人代替人类照顾病人,可以减小医护人员感染的风险;在山火救灾过程中,使用机器人执行危险任务,可保护人类的安全。人类可通过学习,积累知识,不断提高技能,提高解决问题的熟练程度,完成更加复杂多变的任务;学者们希望机器也可以实现类似的功能,让机器学会学习,像人类一样,积累过去的经验,更加快速准确地解决新问题。许多General AI领域的研究都是充满争议的,例如,有些人过分担心人工智能会导致机器的智能超越人类,进而导致伦理危机。但是,这些质疑并没有阻止人类追求更加智能的模型、更好地解决实际问题,为人们的日常生活带来便利的脚步。例如,洗衣机的普及,将人们从手动用搓衣板洗衣服的繁重工作中解脱出来;移动支付的普及,让人们从携带大量纸币找零中解脱出来,技术的发展让生活变得更加智能和方便。

在大部分应用场景中,我们已经积累了许多解决问题的经验,对于未解决过的新问题,可以借鉴过去的经验,没有必要重新收集大量数据进行标注并且训练新的模型。这样看来,元学习和迁移学习的目标是类似的,都是将过去的模型进行更新,用来解决新问题,避免重新训练模型。在一些应用场景中,很难收集到有标注数据,训练数据集很小,这时不能重新训练包含大量参数的深度学习模型。但是,深度学习模型的表示力和精度都很不错,如果能使用是最好的。为了在这样的应用场景下使用深度学习模型,只好使用过去训练好的深度学习模型进行部分参数更新来解决新问题,满足了数据集较小但是又需要精度高的深度学习模型来解决问题的需求。

元学习的关键在于发现不同问题之间的普适规律,通过推广这样的普适规律来解决未知难题。过于普适的规律,并没有表示出每个问题的特质,虽然能很好地被推广,但是并不能从未知问题中得到有效的信息。不够普适的规律,对每个问题的特质出现了过拟合,不能被很好地推广到其他问题上。普适规律的普适程度需要恰到好处,在能够被很好推广的基础上,增加对问题特性的表示力,特性代表了从新问题中获得的有效信息,最好的普适规律需要达到对问题共性和特性表示力的均衡。普适规律的寻找并不容易,主要依赖于以下几点:(1)发现已经解决的问题和新问题之间联系密切的部分,提取已经解决的问题的普适规律,用于新问题的解决;(2)将新问题分解,化繁为简,在已经解决的问题中找到与新问题各个子任务联系紧密的普适规律,以及这些规律的适用范围;(3)在新问题中学习推理逻辑,使用推理逻辑来对新问题进行表示(Representation),在这些表示中寻找规律,通过新问题自身各个部分之间的推理逻辑,找到解决新问题的办法。

元学习模型是一个针对任务的学习器产生机制,一个学习器处理一个任务,元学习器对不同任务有针对性地产生一个精度较高的学习器,产生机制必须快速,生成的学习器在任务上必须达到很高的精度。在元学习领域中,这样的学习器产生机制用一个机制处理了许多不同的任务。深度学习模型可以使用一个复杂学习器,训练大量有标注数据集,来解决问题,所以,学习器的复杂度较高,且无法适用于数据集较小的情况。总而言之,元学习框架和深度学习模型的融合,可以扩展深度学习模型的适用范围,加速新任务上深度学习模型训练的速度,在新任务上找到精度更好的深度学习模型。对于复杂的应用场景,元学习包含两个层面上的问题简化:(1)将复杂问题分解为容易解决的子问题,这些简单子问题即子任务,通过完成很多简单的子任务,来完成复杂任务;(2)针对简单子任务设计高效的学习器产生机制,对于简单的子任务而言,学习器的结构也会相对简单,最后,将所有简单子任务的学习器拼装起来,完成复杂任务。

元学习是General AI的分支,General AI希望机器像人类一样,具有认知和逻辑分析能力,能够自我更新,适应新任务的完成。在许多科幻小说和电影中,都出现了高于人类智能的机器人,全身装备武器,搭载与机器相适配的仿生材料,让机器具有人类的外观和类似人类的组织体系,融入人类社会,机器人甚至拥有人类的情感。General AI受到很多现实批判,主要原因如下:(1)人类的工作职位被机器人取代,会导致大量失业,就业率降低;(2)超越人类智能且装备武器的机器人是对人类世界和平的威胁;(3)站在伦理道德的立场上考虑,机器人不应该拥有超越人类的智能,机器人也不应该拥有人类的情感。另一方面,General AI又有许多优势:(1)让机器替代人类去做一些高强度的重复性劳动,人类去做机器的监工;(2)让机器替代人类去做一些危险的任务,例如,抢险救灾、火灾救援;(3)让机器去探索人类无法到达的空间,例如,太空探险;(4)通过让所有领域变得智能化,可以节约资源,保护环境,让生活变得更加绿色环保。凡事都具有两面性,有利有弊,利弊在于如何使用,看待问题的角度不同,事物的好坏也不同,凡事无绝对,应该根据实际需求去做应该做的事情。

General AI可以灵活地处理任何任务。除了元学习,General AI的分支还包括终身学习(Lifelong Learning)和连续学习(Continual Learning)。终身学习使用一个复杂体系,完成机器人一生中遇到的所有任务,连续学习使用一个复杂体系,不断完成新任务,更新自身存储的经验,以适应不断遇到的新任务。终身学习和连续学习让机器人变得更加全能,像人类一样,不断成长,变得更加睿智。元学习让机器学会学习,让机器像人类一样智能,具有学习、自我更新、思考、创新等能力,带着过往的经验,模仿人类创造的过程,让机器去探索解决问题的各种可能性,从而找到解决新问题的办法。元学习的目标是通过让机器学会学习,将元学习框架不断扩展,直到让机器拥有类似人类的智能,从而让机器辅助人类解决更多复杂的问题,替代人类去完成一些危险的任务。

元认知(Metacognition)是探索人类学习和认知方式的研究,人类将不同来源的信息进行综合,找到共同点和不同点,发现逻辑推理规律,进而创新,找到新问题的解决方案。例如,万有引力定律、作用力和反作用力都是人类长期观察客观世界,归纳总结,推导出来可以推而广之的客观物理定律。同时,元认知还包括从相似的问题发现灵感,创新地解决新问题。例如,神经网络模型与哺乳动物大脑的脑神经元之间的激活传导模式类似,神经网络计算模型通过模仿生物思考过程来学习数据中的规律。对人类认知过程的研究给元学习模型的发展带来了灵感,例如,元学习通过对任务之间的相似性进行建模,找到模型在不同任务之间的更新模式和模型适应新任务的方式,将为一个任务训练的模型推广到其他许多相似的任务。

元学习最早是人工智能科学家Jürgen Schmidhuber在1987年5月14日提交的博士论文[1]中提出的,最早是考虑学习器与环境的交互,通过遗传演化算法实现学习器的自我进化,实现General AI。在时间序列的预测问题上,例如,在股票市场中,由于市场环境瞬息万变,需要考虑时间序列的长程相关性(Long-Range Dependence),并且要能够快速准确地进行模型更新,让模型适应新的市场情况,尤其是出现股灾等突发状况的情况。过去出现股灾的情况不多,能借鉴的数据较少,此时让模型较好地适应股灾这种特殊情况非常重要,这就要求模型有很好的泛化能力。这种场景可以用LSTM(Long Short-Term Memory)解决,LSTM包含记忆细胞、递归自连接神经元、遗忘门。LSTM本身即可作为一个完整的元学习系统,可以在记忆细胞中存储过去模型训练的经验,通过递归自连接神经元实现状态的更新,遗忘门保证记忆细胞中的存储量不爆炸,而LSTM可以保证信号不减弱,从而可以对长程相关性进行建模。

元学习使用较多的应用场景是有标注数据很少的情况,这称为小样本问题(Few-Shot Learning)。例如,在实际应用中,需要处理小样本的高维输入数据(Few-Shot High-Dimensional Input),而使用深度学习模型要求有大样本的有标注数据,来准确估计大量的参数。深度迁移学习模型要求类似任务中有大量有标注数据,用于预训练深度模型,然后,将预训练模型迁移到小样本高维输入数据集上。可是,在差别较大的任务之间进行迁移非常困难,还会出现负迁移的现象。对于少见的任务、特殊的任务,出现频率特别低,收集数据困难,数据量往往比较少。例如,翻译古文字,古文字依赖于青铜器或者甲骨文的刻字,考古资料很少;又比如,常用文字中的生僻字也是这样,出现较少,数据量较少,解决这类问题,可以使用元学习思想。

另一个元学习使用较多的应用场景是环境不断变化的任务。环境复杂多变,相应地,任务也是不断变化的。为了完成好这样的任务,模型需要很强的适应性,需要快速准确地适应新模型,因为有时每个任务只有那个瞬间能观测到一次数据,下个瞬间任务就已经变化了,模型只能依靠每个时刻获取的少量数据进行一次迭代更新,不断适应新任务。例如,机器人的连续控制问题,控制机器人在指定的方向按照指定的速度移动,尤其是机器人遇到未见过的机械损坏之后,连续控制任务就变成了从未见过的新任务,需要模型有很强的适应和泛化能力。伯克利大学著名的Chelsea Finn教授做了大量研究项目,都是关于元学习框架在机器人领域的应用。例如,让机器人在看过一两次示例之后,就学会新的动作:抓取、移动等,让机器人在未知空间完成连续控制任务,将元学习和强化学习、模仿学习还有在线学习结合起来,解决机器人连续控制中的问题。

Chelsea Finn教授在2017年提出了著名的MAML算法,MAML算法适用于任何基于随机梯度下降法优化的学习器。该算法可以提高所有深度神经网络学习模型的泛化能力,让深度模型快速准确地泛化到变化了的任务中,在机器人研究领域获得了极大的成功。通过一个示例的高维数据输入(视频)就可以实现模型快速准确地适应新任务,完成元强化学习(Meta Reinforcement Learning)和元模仿学习(Meta Imitation Learning,MIL),让机器人在各种不同的环境中学会新的动作。机器人不需要在每个不同的环境中都重新训练深度学习模型,直接让深度学习模型在不同环境之间更新,极大地缩短了机器人训练的时间,提高了机器人训练的精度,实现了深度神经网络模型快速准确泛化到新任务的功能。MAML的关注点是速度和准确度,快速准确地更新已有模型,适应新任务,在新任务上获得不错的精度。MAML适用于样本少或者样本多的情况,但是在样本少的情况下,MAML的优势更明显,解决了深度学习解决不了的样本量少的问题。在样本多时,在深度模型中引入MAML模块,经过适当的模型调试,可以保持深度模型精度的同时,提高深度学习模型的泛化能力。

与此同时,著名人工智能科学家Jeff Clune提出了生成式元学习模型,它包括三个部分,一是元学习模型框架,二是学习器算法,三是生成更加复杂的环境。环境和基础学习器同时进行遗传演化,环境向着复杂度上升的方向演化,于是任务也变得更加复杂。与此同时,元学习器指导基础学习器进行相应的演化,使得基础学习器不断自我更新,适应时刻变化着的环境,每个时刻的基础学习器都能在这个时刻的任务上取得很高的精度。随着环境的变化,基础学习器和新的环境交互之后,将损失函数等信息传递给元学习器,元学习器向着最大化模型泛化能力的方向进行自我更新,然后指导基础学习器进行相应的演化,之后,基础学习器仍然可以很好地处理生成的复杂环境。在演化的过程中,环境的演化遵循着从简单变复杂的规律,环境变得越来越复杂,相应地,元学习模型也变得越来越复杂,但是,不论环境变得多么复杂,元学习模型都可以很好地完成任务。神奇的是,如果仅依靠从头开始训练深度学习模型,这么复杂的环境根本无法处理。对于这么复杂的环境,深度学习模型无法顺利处理,常常被困在局部最优,无法找到全局最优解,也就无法完成这样复杂的任务。由此可见,基于遗传演化的生成式元学习模型可以用来完成复杂任务,而这样复杂的任务依靠重新训练深度学习模型无法完成。

除此之外,元学习领域还有许多重要的思想流派,本书都会一一介绍,这些方法看似千差万别、灵活多变,然而,万变不离其宗,它们都是为了实现元学习的目标—让机器学会学习,让机器更接近人类的智能,快速准确适应新任务。这些方法更多的时候是组合在一起出现的。本书将这些方法拆开来看,将里面零件的思想进行逐一介绍,在使用这些方法时,读者要根据需要,自行将这些零件组合起来,在元学习框架下设计合适的模型。