时间:2024-12-22
王哲超,傅启明,陈建平,胡伏原,陆悠,吴宏杰
(1.苏州科技大学电子与信息工程学院,江苏 苏州 215009) (2.苏州科技大学江苏省建筑智慧节能重点实验室,江苏 苏州 215009) (3.苏州科技大学苏州市移动网络技术与应用重点实验室,江苏 苏州 215009)
数据驱动下的人工智能技术已经得到了迅猛的发展,特别是对于存在大量样本数据背景下的机器学习方法,其训练结果都显示出了较高的水平,甚至达到超人类水平(如围棋、竞技游戏). 但需要注意的是,这些成果都只是某一智能体于某项特定任务的表现. 特别是对高维数据[1],智能体表现出的对数据的贪婪性和对任务间较差的泛化性,是现今人工智能技术发展的主要瓶颈.
人在处理未知环境中的新任务时,总是基于两个前提:一是对新任务的少量观测,二是经验中的旧知识. 小样本学习(few-shot learning,FSL)正是如此,在大量训练样本中提取一般性的知识,在小量测试样本上泛化这些知识,以适应新的、不同需求的任务[2]. 这也阐明了FSL所需要的两个过程,即知识归纳和知识迁移.
强化学习作为机器学习中处理序贯决策问题的重要方法,在广泛的实际应用中也出现了很多小样本场景. 在学习过程中,强化学习虽然不像监督学习一样依赖于大量人工标签,但其同样需要在与环境不断交互中收集样本,而有些场景下(如智能驾驶),因为损耗、响应时延等问题使得智能体能够收集的样本数量是有限的. 利用知识复用解决小样本问题,必然使智能体处于样本分布不一的任务环境中. 智能体必须利用这些由样本体现出来的任务间的相似性,合理复用先验知识,获得在新任务下的较高水平表现.
目前,很多研究者针对强化学习中的小样本问题做了大量工作. 迁移学习,要求智能体通过研究不同任务下变量(如状态、动作等)之间的映射(相似)关系来完成知识(如样本、参数等)的迁移;学会学习,强调智能体能学会学习的方法而不是通过人工设置参数进行学习. 终身学习,要求智能体始终保有并利用历史知识;元学习,强调智能体提炼任务间不变的元知识并复用. 因此,本文以小样本场景下的强化学习方法为对象,针对其前沿研究现状进行综述.
强化学习旨在强化个体或群体在某一特定环境下的适应能力,这样的智能体被称为agent. 具体地讲,强化学习要求agent可以在特定环境状态下,通过与环境的交互,求解能够带来最大期望累计奖赏的行为策略[3]. 其中,奖赏信号是一个标量,它是指导agent做出更好行为决策的评估信号. 在强化学习中,通常利用马尔可夫决策过程(Markov decision processes,MDPs)对问题进行建模. MDPs需要由一个四元组S,A,T,R来表示,其中S表示状态空间,A表示动作空间,T和R分别表示状态转移函数和奖赏函数,
(1)
(2)
定义任务M为一个MDPs,与其对应的四元组Sm,Am,Tm,Rm规定了该任务的细节,其中Sm、Am、Tm和Rm分别对应了该任务的状态空间、动作空间、转移模型和奖赏函数.U是任务空间,即U={M};Ω是M在U上的概率分布,即M~Ω;环境ε负责实例化M,其包含了U和Ω,也由U、Ω两者定义,即ε=〈U,Ω〉.
一般小样本强化学习要求满足以下的问题设定:定义两个MDPs. 其中,一个或者多个旧任务Mo=〈So,Ao,To,Ro〉和一个新任务Mn=〈Sn,An,Tn,Rn〉,定义一个环境ε包含任务空间U=〈Mo,Mn〉和任务概率分布Ω.当有多个旧任务时,旧任务之间的MDPs可以不同,但为了简化这里都记作Mo. 因为FSL是机器学习中的一个分支,所以这里根据Mitchell[4]提出的机器学习定义,给出小样本强化学习的定义:
定义1小样本强化学习. 计算机程序在旧任务Mo中通过强化学习在知识空间Ko中学习后,又在新任务Mn的知识空间Kn中学习,agent使用归纳算法Aconclude和迁移算法Atransfer将Ko与来自新任务Mn、含有少量知识的Kn依次转变为归纳知识Kconclude和迁移知识Ktransfer,学习算法Alearn根据Ktransfer在假设空间H学习一个假设h.
小样本问题极为普遍,以致于很难提出一种分类方法可以涉及所有已提出的学习算法. 本文主要对一些主流方法进行分类. 虽然以往较多的综述工作都涉及了小样本问题,但都在迁移学习、元学习等这些学习算法各自领域里进行讨论,缺少对小样本这个问题本身的探究. 而本文直接以小样本场景为入口,以不同的场景需求为启发,提出分类方法.
一般有两种视角定义小样本场景,一种是知识从模拟世界到真实世界泛化的角度,另一种是类人智能发展的角度,这两个都是小样本问题中最常见的视角,因为这两者都涉及到知识在任务间泛化的问题.
一般常用“现实差距”来描述学习方法由模拟世界应用至真实世界时产生的不好结果. Agent在模拟世界中,可以比物理机器人更快地收集扩展性更强、成本更低的数据,以此加速其学习. 但当agent从模拟世界向真实世界迁移时,会因两者的差异,而影响智能体在真实世界中的表现,一般这是agent对模拟世界过拟合导致的,称为“sim2real”问题. 这一现象是强化学习应用中经常遇到的问题,如机械手臂的物品抓取任务[5]. 本文将其称为第一类小样本场景. 在该场景下,FSL需要做的是充分利用先验知识,找到这种场景下知识复用的最佳方式,使得在真实世界中agent要有较好的初始在线性能力[6].
小样本场景的另一种视角是发展类人智能. 虽然专门的人工智能对专门任务有更好适应性,但是人们期望人工智能可以和人一样拥有通用的学习算法. 通用学习算法的核心思想就是提炼通用知识. 本文将其称为第二类小样本场景. FSL要求智能体在平时的任务中归纳通用的知识,在面对新任务时结合较少的样本将通用的旧知识应用至该任务中. 这里的通用知识不单只是用来适应当前面临的新任务,而是用来解决将来的一类任务. 这与第一类小样本场景需求的区别是,第一类以在单一新任务中产生最佳表现为目的,而第二类则以快速适应多个任务为目的. 第一类希望agent成为专家,而第二类则希望agent变得更博学.
一些心理学研究表明,人类可以通过在相似的任务中迁移知识,以达到更快的学习效果. 美国心理学家Anderson提出的思维适应性控制(adaptive control of thought,ACT)理论[7],将人的认知分为过程性认知和陈述性认知. 在王皓等[8]的基础上,本文加入知识归纳作为区分,即,将知识迁移分为未作知识归纳、注重挖掘并利用任务相似性的直接迁移和已作知识归纳、注重抽象并理解任务复杂过程的间接迁移.
“直接”和“间接”的区别是,迁移是否经过知识归纳,即是否产生陈述性认知. 对单个任务来说,agent需要输出的是一个针对该任务的策略(h). 若知识的主要内容是在该策略下产生的样本({s×a×s×r}n),那么这就是直接迁移. 因为这些样本代表的是过程性认知. 相反,若将环境交互中归纳出来的知识作为迁移内容时,即为间接迁移.
从演示中学习(learning from demonstrations,LFD),是为了解决标准强化学习中的随机探索问题,因为这耗费了大量的时间. 其中具体涉及两个问题,一是如何获得更好的演示样本,二是在当前的演示样本下如何更高效的学习,因为后者更接近一个学习问题,所以本节将重点放在后者上. 一般地,演示样本来自于专家.
从上述对比可见,这种方法虽然对前人工作进行了补充,但伴随而来的是要解决一个非凸的、不可微和有偏的优化. Chemali等[12]对此提出了一种基于贝叶斯模型的方法,该方法使用贝叶斯方法从专家示例中整合模型知识.
(3)
(4)
奖赏塑造(reward shaping,RS)通过塑造奖赏信号,鼓励(或阻止)特定的行为,进而减少agent不必要的探索,降低样本需求量. RS将原样本(S×A×S×R)转变成(S×A×S×R′). 新的奖赏信号R′=R+F,其中F:S×A×S′→R,是一个有界实数函数,称为塑造函数.
Ng等[18]在RS领域提出的基于势的奖赏塑造(potential-based reward shaping,PBRS)为不同状态定义了势函数Φ(s). 当agent访问到不同状态时形成势差γΦ(s′)-Φ(s),并以此作为塑造奖赏的值,同时文中也证明了奖赏塑造后获得最优策略和奖赏塑造前一致. Wiewiora等[19]提出的基于势的建议信息(potential-based advice,PBA)将动作加入势函数,并给出势函数的前瞻建议和回溯建议的定义,前者根据后一状态的势来进行奖赏塑造,而后者是根据前一个状态的势来进行奖赏塑造. 此外,PBA还提出加入动作的势函数在回溯建议中更具优势. Devlin等[20]提出了基于动态势(dynamic potential-based,DPB)的奖赏塑造,来解决势函数在学习过程中动态变化的问题,特别是当agent被要求自动学习势函数时. 同时DPB也扩展了其在多agent任务方面的研究,并证明了该方法可以获得纳什均衡. Harutyunyan等[21]提出的(dynamic potential-based advice,DPBA),要求agent在学习策略的同时,也要学习关于状态-动作的势函数,同样,逐步学习的势函数能促进agent更快地找到最优策略.
元学习主要使用在多任务中,它要求agent在学习过程中归纳元知识,并在新任务中利用元知识. 元学习的目标是让agent学到多个任务中的共性知识,而不是和某些任务的基线算法去比较性能. Finn等[22]提出模型不可知的元学习(model-agnostic meta-learning,MAML)是元强化学习的重要方法. 该方法使用一个策略参数θ来适应多个任务Mi~Ω,这使得拥有该策略hθ的agent不再只适用于一项特定的任务.
MAML算法下agent的学习过程如图1所示,agent分别在各个任务Mi中交互学习,在元参数θ的基础上根据学习目标LMi(hθ)得到更新后的参数θ′i,再在策略hθ′i下产生交互样本集D′i,最后根据综合目标∑Mi~ΩLMi(hθ′i)更新元参数θ,以此往复. 但是并不是所有适应阶段都会对新任务产生更好的策略,如果出现不好的策略,那这个过程被称为负适应. Deleu等[23]称这种过度专门化是产生负适应的根本原因,即在元学习中的策略参数对任务空间中的某一个(或某些)任务产生了专门能力,这使得再在这个(或这些)任务上适应时可能出现比初试策略差的策略.
DeepMind提出的策略蒸馏[24]通过预训练的方法,将教师agent的能力“传授”给学生agent,这体现在通过策略蒸馏将教师样本(过程性知识)转化为学生的策略(陈述性知识). 与一般预训练方法不同的是,为了从教师agent那产生的专家样本包含更多知识,策略蒸馏在网络最后产生Q值的Softmax中设置了较高的温度参数,这使得同一输入下的不同Q值较为相近,而学生需要学习的目标Q值则通过降低温度参数获得,这使得最优动作的Q值与其他Q值差距增大,对于学生来说最优动作更为明显. 蒸馏时一般使用KL距离作为损失函数. 多任务策略蒸馏[24]与元学习的理念非常相似,它们都将应对不同任务的能力凝练到一个agent的策略上. 而且同样地,多任务策略蒸馏的首要目的并不是复制专家的能力,而是使学习者更加“博学”. 图2展示了整个策略蒸馏的过程,每个专家都在自己的领域中在线地生产专家示例并放入对应的回放单元,以供博学者来学习. 博学者在这些回放单元中抽取训练样本进行有监督的学习. 需要说明的是,如果把博学者看成是最终的策略(h),那么这就是一种直接迁移,但在小样本问题下,策略蒸馏并没有完成全部任务,博学者还需要结合特定任务的知识来完成适应阶段,所以这时候的博学者更应被看成是间接迁移中的归纳知识(Kconclude).
图1 MAML算法下agent的学习过程Fig.1 Learning process of agent in MAML
图2 多任务策略蒸馏过程Fig.2 Multi-task policy distillation process
在机器学习中,抽象是十分重要的理念之一,Abel[25]认为好的抽象可以帮助强化学习快速发现和有效学习高价值的策略. 特别地,当MDP中拥有连续的、巨大的状态空间时,状态抽象尤为重要. 状态抽象使agent凝练关于状态的知识,简化问题的复杂性,降低对非重要特征的关注度.
图3 状态抽象示意图Fig.3 State abstraction diagram
几乎任何类型的抽象都会丢掉一定数量的信息. 然而,在强化学习中可取的方法是,抽象保留足够的相关信息以使agent最终学会解决感兴趣的问题. 一旦压缩状态,agent处理的信息量减少,如图3所示.
首先状态抽象需要定义一个关系P,
P:S×S→{0,1}.
(5)
状态抽象方法根据一个固定的映射φ:S→Sφ,将状态分入不同状态簇中,当φ将不同的状态分入相同的簇时,P为1,否则为0,即
φ(s1)=φ(s2)⟹P(s1,s2).
(6)
Abel等[26]提出的状态抽象方法将状态根据对应最优Q值依间隔值d进行分类,其定义如下:
(7)
式中,d∈[0,Vmax],Vmax收敛于Rmax/(1-γ),Rmax为奖赏的最大值. 这种方法使得状态抽象具有传递性,即[P(s1,s2)∧P(s2,s3)]⟹P(s1,s3). 传递性对状态抽象非常重要,这大大减少了计算量.
(8)
FSL对现有学习算法在样本数量方面提出更高的要求. 无论是在深度学习上[28-29]还是在强化学习上,知识复用一直以来是小样本问题的主要解决手段,所以这些方法自然而然的发展成了迁移学习、元学习、终身学习等. 在早期的迁移学习和一些域适应方法中,一般更关注知识迁移的方法,并未将样本数量的限制作为问题背景,且任务间知识泛化是一对一的,但其中大部分算法在小样本场景下的具有突出能力. 近来,小样本问题成了机器学习中的热点话题,迁移学习方法与其他方法一样致力于解决小样本问题,且知识泛化在一批任务中进行[30]. MAML这种参数微调方法,一直是元学习中许多工作开展的基础. 但面对一批批的任务,如何高效的学习仍是一个关键问题,Mehta等`[31]的思路是应用课程学习[32]的思想调整学习任务的次序. 在严格的终身学习条件下对可利用任务要求更加苛刻,久远的任务将无法被采样,所以其目标是解决知识保有的问题,即在遗忘中尽可能保留重要的信息.
一般地,自动驾驶[33]、协同对抗[34]、游戏竞技[35]很难使用深度强化学习算法. 因为通常算法要获得一个良好的表现需要训练上百万步,而且需要一个非常完美的模拟器,但在真实世界中很难实现. 在真实世界中agent要对它的行为负责,它需要从一开始就有一个良好的在线性能[6]. 因此,如何通过FSL预训练一个策略并在真实世界应用,是FSL应用未来需要不断深入的研究.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!