古有算盘,今有计算机,人工智能(Artificial Intelligence,AI)始终是人类永恒又美好的梦想。然而,漫漫的历史长河中人类前仆后继,虽然计算机技术已经取得了长足的进步,然而仍然没有一台机器产生真正的“自我”意识。谷歌大脑认出猫和狗,阿法狗打败了李世石,智能车拉着我们去兜风……尽管深度学习(Deep Learning)让 AI 在近期取得了诸多突破,但人工智能始终还是离不开“人工+智能”,离不开大量的人工标定数据去指导智能系统的学习。
ImageNet,COCO,Places,我们为了智能而不断人工,为了一劳永逸而不断地标定数据。然而,这并不是人类的最终梦想——不劳而获。直到 Science 封面文章 Bayesian Program Learning(BPL,《Human-level concept learning through probabilistic program induction》),像人类一样学习的人工智能又引爆了人类曾经的梦想,Google DeepMind 的新成果 Memory-Augmented Neuaral Networks(MANN,《One-shot Learning with MemoryAugmented Neuaral Networks》)让梦想又朝现实迈进了一步。
懒惰是人类社会进步的原动力,单点学习(One-Shot learning)的目标是不劳而获。不同于传统机器学习方法需要大量数据去学习和反复的训练,One-Shot 通过单一的训练样本去学习并做出准确的预测。然而,One-Shot learning 是一个永恒的挑战。由于现有的机器学习模型参数量庞大,小样本下很难在巨大的搜索空间中找到刻画本质属性的最优解。
因此当遇到新的任务(Task)时,传统学习算法只能通过新任务的大量样本低效率地去调整(finetuning)原有模型,以保证在杜绝错误干扰(Catastrophic Interference)的情况下将新信息充分涵括。BPL 从认知科学的角度,基于贝叶斯过程模拟人类学习思路;MANN 从神经科学的角度,基于记忆神经网络构造仿生学习模型。相比于贝叶斯过程学习(BPL),记忆增强神经网络(MANN)将 One-shot Learning 从应用驱动型推向数据驱动型,从已有数据出发去主动挖掘One-shot Learning的方法。通过关注存储内容的外部记忆机制快速吸收新知识,并且仅利用少数几个例子就可以从数据中做出准确预测。
从神经科学的角度来说,学习(Learning)定义为将经验(Experience)编码进记忆(Memory)的过程。鱼的记忆只有 7 秒,没有记忆的学习不是智能,鱼永远是只能在水里游的鱼。学习形成了不同类型的记忆:形象记忆(以感知过的事物形象为内容),情绪记忆(以过去体验过的情感为内容),逻辑记忆(是以概念命题为内容),动作记忆(以操作性行为为内容)……记忆指导学习,学习增强记忆。人类从刀耕火种,婴儿从呱呱落地,“学习→ 记忆→学习”贯穿着社会与个体。对于社会,古书典籍让经验得到记忆;对于个体,大脑皮层让知识得到记忆。
人的学习过程中(如下图),大脑对外部环境进行感知,注意机制对感兴趣的信息保持关注;在工作记忆中,新知识在旧知识的基础上通过检索被快速建立起来;而后经过神经元的加工整理,形成难被遗忘的长时记忆。由此,人不断地从生活经验中建立并整合知识,从而学会处理日益复杂的任务。在持续不断的学习过程中,对以往知识检索利用,使得人们只需要少量的训练就能快速地学会新的任务。综上,一个真正的智能系统应具备以下两方面的作用:
(1)在长时记忆系统中建立一个可检索的知识库;
(2)在交互过程中持续不断的整合更新知识库。
埃德加•福尔在《学会生存》中指出:“未来的文盲不再是不认识字的人,而是没有学会怎样学习的人 。 ”学会学习(Learning to Learn)不仅仅是教育界面临的问题,也是机器学习中面临的问题:未来的智能不再是能干活的机器,而是学会怎样学习的机器。“学会学习” 中的“学习”即为元学习(Meta-learning)。行为学意义上认为元学习是学习行为本身的改变;信息学意义上认为元学习是关于获取知识和经验的学习。人工智能意义上的元学习一般指的是一种迁移学习(Transfer Learning)方案,通过已有的知识辅助新知识的学习,照着葫芦画瓢,照着猫画老虎。可规模化的元学习方案应满足以下两个要求:
(1)知识必须以稳定且可寻址的方式存储;
(2)存储容量不与参数规模相关。
长短时模型(Long Short Term Model,LSTM)通过隐性的共享记忆结构,不完全地实现知识的存储。直到了神经图灵机(Neuaral Turing Machine,NTM)的出现,NTM 引入带记忆的神经网络去模拟大脑皮质的长时记忆功能,实现用极少量新任务的观测数据进行快速学习。不同于传统神经网络,NTM(如下图)通过控制器(Controller)对输入输出(Input/Output)向量进行选择性地读写(Read&Write Heads)操作,实现与外部记忆矩阵(Memory)进行交互。基于强泛化能力的深度神经网络架构,并综合长时观测的记忆模型与新观测的匹配信息对存储内容进行有效地更新。
相比于神经网络图灵机,记忆增强神经网络(MANN)提出了一种新读写更新策略——LRUA(Least Recently Used Access)。有别于 NTM 由信息内容和存储位置共同决定存储器读写, MANN 的每次读写操作只选择空闲或最近利用的存储位置,因此读写策略完全由信息内容所决定。这种更为灵活的读写策略更适用于时序无关的分类回归问题。MANN 结合了更灵活的存储能力和强泛化的深度架构,实现知识的更为高效的归纳转移(Inductive transfer)——新知识被灵活的存储访问,基于新知识和长期经验对数据做出精确的推断。
活到老学到老,人的一生是学习的一生。终身学习(Life-long Learning)是一种能够存储学习过的任务知识,并能利用旧知识快速学习新任务的完整系统方案。相较于传统机器学习方法,终身学习凭借任务间的知识共享和知识库的知识积累,突破了学习过程在样本集和时间上的限制,为实现高效及高度智能化的系统提供可能。
一个终身学习系统包含以下基本组成部分,各模块间的相互作用共同实现“活到老学到老”。
记忆是智能的基础,终身学习系统期望充分利用已学过的知识辅助学习。知识仓库用于存储学习过程中需要长期存储的知识。其中可分为基础知识和抽象知识两类,分别支持知识从简单到复杂的纵向迁移,以及相关任务之间知识的横向迁移。
任务队列考虑知识的学习顺序对系统的泛化能力与学习代价的影响。学习顺序设置对学习有着重要的影响,因此终身学习系统期望合理设置学习顺序以越快越好地进行学习,循序渐进,抛砖引玉。此外,高效的任务队列也为终身学习系统提供主动学习的可能,系统可以主动优先学习对关键任务。
知识迁移是终身学习系统的基础。知识迁移从知识仓库中选择对新知识(目标领域,Target Domain)有帮助的旧知识(源领域,Source Domain)进行迁移。因此要求终身学习系统应具备有效度量并创造正迁移条件的能力,充分利用已经学到的任务知识,尽可能高效地学习新任务——迁移什么?如何迁移?何时迁移?
知识整合是终身学习系统中至关重要的环节,以保证知识仓库能得到及时的更新。取其精华,去其糟粕,知识在整合过程中,系统应对知识进行相应的筛选,在兼顾不损害原有知识的前提下,尽可能整合有利于迁移的新知识。
学海无涯,活到老学到老。人工智能之路漫漫,吾将上下而求索。
[1] Santoro A, Bartunov S, Botvinick M, et al. One-shot Learning with Memory-Augmented Neural Networks[J]. arXiv preprint arXiv:1605.06065, 2016.
[2] Lake B M, Salakhutdinov R, Tenenbaum J B. Human-level concept learning through probabilistic program induction[J]. Science, 2015, 350(6266): 1332-1338.
[3] Graves A, Wayne G, Danihelka I. Neural turing machines[J]. arXiv preprint arXiv:1410.5401, 2014.
[4] Ruvolo P, Eaton E. ELLA: An Efficient Lifelong Learning Algorithm[J]. ICML (1), 2013, 28:507-515.
本文作者:蔡博仑
本文转自雷锋网禁止二次转载,原文链接