时间:2024-07-29
孔 乐,赵婷婷
(天津科技大学人工智能学院,天津 300457)
深度强化学习(deep reinforcement learning,DRL)[1]是一种以试错机制与环境交互并最大化累积回报获得最优策略的机器学习范式.为得到最优策略,DRL 要求智能体能够对周围环境有所认知、理解并根据任务要求做出符合环境情境的决策动作.目前,DRL 已在智能对话系统[2]、无人驾驶车[3-4]、存储系统[5]、智能电网[6]、智能交通系统[7]、机器人系统[8]、航空航天系统[9]、游戏[10]及数字艺术智能系统[11]等领域取得突破性进展.
根据学习过程中环境模型是否可用,强化学习可分为模型化强化学习[12](model-based reinforcement learning,Mb-RL)和模型强化学习[12](model free reinforcement learning,Mf-RL).环境模型即系统动力学模型,是对状态转移函数的描述.Mf-RL 方法中,环境模型是未知的,智能体必须与真实环境进行大量交互获得足够多的训练样本才能保证智能体的决策性能.因此,Mf-RL 方法样本利用率较低,如RainbowDQN 算法至少需要1 800 万帧的训练样本或大约83 h 的训练时间才能学会玩游戏,而人类掌握游戏所用时间远远少于此算法[13].尽管Mf-RL 方法在诸如游戏等虚拟决策任务中取得了良好的性能,但对于真实环境中的决策任务,收集充分的训练样本不仅需要大量时间与财力,样本收集过程还对系统硬件配置提出了较高要求,甚至存在损坏智能系统的风险.另外,训练样本不足会导致智能体无法从少量训练样本中提取有用信息进行准确策略更新.相比之下,Mb-RL 方法在对环境精准建模后,智能体无需与真实环境互动就可以进行策略学习,可直接与环境模型交互生成所需训练样本,从而在一定程度上缓解强化学习在实际应用中学习效率低、样本利用率低的问题.
模型化强化学习方法的基本思想是首先对环境动态建模,学习环境模型参数,当模型参数训练收敛得到稳定环境模型后,智能体便可直接与预测环境模型交互进行策略学习[14].整个过程中,仅在学习模型参数时需要一定训练样本,样本需求量相对较小.然而,受环境噪声、系统动态性等因素影响,预测的环境模型通常难以准确描述真实环境,即学到的环境模型与真实环境间存在模型误差[15].使用存在模型误差的环境模型生成数据进行策略学习将会产生更大误差,最终导致任务失败.为此,研究人员提出了一系列减小模型误差、提高环境模型准确性的方法,如Dyna 模型化强化学习框架[16]、嵌入控制方法[17],基于神经网络动力学和无模型微调的模型化深度强化学习方法(E2C)[18]、世界模型[19]等方法.其中,Dyna框架是Mb-RL 中最经典的学习模式,学习控制的概率推理方法(probabilistic inference for learning control,PILCO)[20]和基于最小二乘条件密度估计方法的模型化策略搜索算法(Mb-PGPE-LSCDE)[21]是Dyna 框架下经典的Mb-RL 方法.PILCO 方法已广泛应用在机器人控制等领域,然而该方法将状态转移函数建模为高斯过程,且对回报函数也作了相应假设,这极大程度限制了它的实际应用;LSCDE 方法能够拟合任意形状的状态转移函数,但是当处理高维度状态空间问题时存在模型表达能力不足的缺陷.
近年,针对不同的应用场景,研究者提出了一系列基于Mb-RL 的相关工作,如使用少量交互数据便可实现指定轨迹跟踪任务的基于神经网络动力学和无模型微调的模型化深度强化学习方法(MBMF)[18],支持图像长期预测和复杂控制的嵌入控制方法(E2C)[17],易于复现、可实现快速学习并迁移至真实环境的世界模型方法[22],使用变分自编码(variational autoencoder,VAE)[23]方法捕捉状态转移函数的方法等.上述相关工作在各自应用领域虽然已经取得较好成果,但是面向大规模复杂动态环境如何得到准确环境模型,仍是该领域亟待解决的问题.
生成对抗网络(generative adversarial networks,GAN)[24]是Goodfellow 于2014 年提出的生成模型,它在数据生成方面取得巨大进展,并已广泛应用于图像风格迁移[25]、视频预测[26]、自然语言处理[27]等领域.GAN 由生成器(generator,G)和判别器(discriminator,D)组成,生成器G 旨在生成趋近真实数据分布的伪造数据,判别器D 则旨在正确区分伪造数据和真实数据,二者在对抗中逐渐达到纳什均衡.
本文借助GAN 在数据生成方面的优势,提出一种基于GAN 的环境模型学习方法.条件生成对抗网络(conditional generative adversarial networks,CGAN)对生成器G 和判别器D 分别作了限定,是GAN 的变体之一,同样具备GAN 的诸多优势[28].该方法是将CGAN 与Mb-RL 结合应用在学习状态转移模型上的首次尝试.本文将CGAN 与擅长处理连续动作空间的策略搜索方法结合,提出一种基于CGAN 的模型化策略搜索方法.与传统环境模型学习方法相比,该方法优势在于:传统概率生成模型需要马可夫链式的采样和推断,而GAN 避免了此类计算复杂度高的过程,在一定程度上提高了生成模型在学习环境模型中的应用效率;GAN 的对抗训练机制可以逼近任意复杂的目标函数,使得在概率密度不可计算时,基于GAN 的环境模型学习方法依然适用.
强化学习是指智能体在未知环境中,通过不断与环境交互,学习最优策略的学习范式.智能体是具有决策能力的主体,通过状态感知、动作选择和接收反馈与环境互动.通常,智能体与环境的交互过程可建模为马尔可夫决策过程(markov decision process,MDP)[29],一个完整的MDP 由状态、动作、状态转移函数、回报构成的五元组(S、A、P、P0、R)表示,其中:S 表示状态空间,是所有状态的集合,st为t 时刻所处状态;A 表示动作空间,是所有动作的集合,at为t 时刻所选择的动作;P 表示状态转移概率,即环境模型,根据状态转移概率是否已知,强化学习方法分为Mb-RL 和Mf-RL;P0表示初始状态概率,是随机选择某一初始状态的可能性表示;R 表示智能体的累积回报,rt为t 时刻的瞬时回报.
在每个时间步长t,智能体首先观察当前环境状态st,并根据当前策略函数决策选择并采取动作at,所采取动作一方面与环境交互,依据状态转移概率p (st+1| st,at)实现状态转移,另一方面获得瞬时回报rt,该过程不断迭代T 次直至最终状态,得到一条路径hn:=
强化学习的目标是找到最优策略,从而最大化期望累积回报.当得到一条路径后,便可计算该路径的累积回报
其中0≤γ<1,决定回报的时间尺度.
累积回报的期望衡量策略好坏,累积回报期望为
策略搜索方法是一种策略优化方法,该方法直接对策略进行学习,适用于解决具有连续动作空间的复杂决策任务[13],本文将使用策略搜索方法进行策略学习.
策略搜索方法的学习目的是找到可最大化累积回报期望值J(θ)的参数θ,即最优策略参数θ*为
其中θ 是策略参数,累积回报期望J(θ)是策略参数θ的函数.
其中0≤γ1<,决定回报的时间尺度.
目前,最具代表性的策略搜索算法有PEGASUS[13]、策略梯度方法[30-31]、自然策略梯度方法[32]等.其中,策略梯度方法是寻找最优策略参数最简单、最常用的方法.鉴于策略梯度方法中的近端策略优化方法(proximal policy optimization,PPO)的优越性能,本文使用PPO 算法进行策略学习[33].
GAN 由生成器(generator,G) 和判别器(discriminator,D)组成,如图1 所示,其中:黑色框图为原始生成对抗网络网络结构,对生成器G 和判别器D 分别添加条件变量y 后(红色虚线框图),网络结构为条件生成对抗网络示意图.生成器G 实现随机变量假样本数据G(z)的映射,z 通常为服从高斯分布的随机噪声,生成器G 的目的是使假样本数据G(z)与真实数据x 高度相似.判别器D 接收真实数据x 或假样本数据G(z)并输出概率值,该概率值表征输入数据是真实数据的几率.若数据是真实数据,判别器D 输出大概率;否则,判别器D 输出小概率.
图1 GAN结构示意图Fig.1 Diagram of generative adversarial network
训练过程中,生成器G 和判别器D 不断交替更新模型参数,最终到达纳什均衡.训练过程可表示为关于值函数V(D,G)的极大化与极小化的博弈问题,其目标函数可表示为
式中:V(D,G)表示损失值;x 表示真实数据分布的采样;z 表示随机噪声变量.
鉴于GAN 在数据生成方面的优势以及在强化学习领域取得的成功,本文拟用同样具有优秀数据生成能力的GAN 分支之一的CGAN 学习环境中的状态转移概率密度函数 PT(st+1| st,at).其中,CGAN(如图1 所示)额外在生成模型G 和判别模型D 中引入条件变量y 对模型增加限定,用于指导数据生成过程.CGAN 的损失函数为
Mb-RL 方法需要首先学习得到精准的状态转移模型,策略学习阶段便利用该模型生成所需样本,减少智能体与环境的交互次数.
(2)利用CGAN 对状态转移函数pT(st+1| st,at)进行建模,使用第1 步搜集到的样本进行模型的训练.
(4)更新策略模型中的参数直至收敛,最终得到最优策略π*.
Mb-RL 方法中,当状态转移模型能够完全模拟真实环境时,智能体只需与学到的状态转移模型交互便可得到下一状态,从而减少智能体与真实环境的交互.因此,如何得到真实环境的状态转移函数是 Mb-RL 方法的关键.本文使用CGAN 捕捉真实环境的状态转移函数分布(图2).
图2 基于CGAN的环境模型学习方法Fig.2 Method of environment learning based on CGAN
状态转移函数中下一状态st+1受当前状态st和当前状态下采取动作at的限定,是一个条件概率密度模型,表示为PT(st+1| st,at).因此,本文将当前状态st和当前状态下采取动作at作为CGAN 的条件变量y对生成器G 和判别器D 同时增加限定,指导下一状态st1+生成.该条件变量y 和随机变量z 同时作为生成器G 的输入,此时生成器G 的输出是当前状态下st执行动作at到达的下一状态st+1.将该输出与真实样本数据连同条件变量y 同时输入到判别器D 中,可估计一个样本来自于训练数据的概率.上述过程目标函数可表示为
在CGAN 模型训练稳定后,可直接将训练稳定的生成器G 作为环境预测模型,与智能体交互生成大量样本数据用于策略学习.
1) 针对数控机床误差耦合性的特点,首先通过提升小波分解机床误差原始数据,从而可以有效准确地进行误差预测;
综上,本方法将CGAN 与PPO 结合寻找最优策略,其中CGAN 将状态动作空间模型化为状态转移模型(s′ | s, a),随后利用学到的状态转移模型生成样本用于PPO 的策略学习,从而得到最优策略π*.
玩具问题能够快速地验证算法有效性,先将原始复杂问题转化为简单问题,再进行求解.本节将强化学习中的环境模型简化为四核高斯分布,探索本文所提的基于CGAN 的环境模型学习方法在捕捉数据分布方面的能力.
本实验将模拟实现基于CGAN 的环境模型学习方法的学习过程.实验目的是使用基于CGAN 的环境模型学习数据分布,其中CGAN 中生成器G 和判别器D 的网络模型均为多层感知机.实验中各变量设置如下:变量y 代表CGAN 中的条件变量,该条件变量对应强化学习中t 时刻的状态st和动作at,即[ st,at];x 为真实数据,对应强化学习中的下一状态st+1.实验从(0,1)区间随机采样得到条件y,经过二维转移函数映射得到真实数据x.
其 中μ1=[5,35],μ2=[30,40],μ3=[20,20],μ4=[45,15],∑=[[30,0],[0,30]]且
最终得到的真实数据x 的分布是四核高斯混合分布.实验初期,将真实数据x 归一化到[-1,1],基于CGAN 的环境模型学习方法随机选取条件变量集[ y1,y2,y3,…,yn]并通过公式(10)一一映射得到真实样本数据集[ x1,x2,x3,…,xn],使用CGAN 对条件变量集和真实样本数据集建模学习,训练稳定收敛后CGAN 中生成器G 可直接生成与真实样本数据高度相似的数据分布.
为了分析本文所提算法在环境数据生成方面的能力,将本文所提出的基于CGAN 的环境模型学习方法与基于条件变分自编码器(conditional variational autoencoder,CVAE)[23]的环境模型学习方法及相关工作MBMF 算法[18]所提出的使用神经网络模型(neural network,NN)学习环境模型的方法进行对比实验.
本实验拟用基于CGAN 的环境模型学习方法在玩具问题中对指定形式的环境进行建模学习,实验使用3 000 个条件变量y 以及对应的真实样本数据x 对CGAN 训练迭代5 000 次.测试阶段,将在(0,1)区间选取500 个随机数[ y1,y2,y3,…,y500]作为条件变量y 进行预测.
探索使用不同学习方法的学习过程.图3 表示使用不同方法对环境进行学习的过程中得到的生成数据与对应真实数据间的误差.模型训练过程中,每迭代400 次对模型进行一次测试,计算测试结果与真实样本数据[ x1,x2,x3,…,x500]的误差.由图3 可知,使用CGAN 方法的训练初期,生成器G 与判别器D 在对抗中学习并不断优化自身,大约2 000 次迭代模型就可收敛到0.075,其学习收敛速度最快.此外,使用CGAN 方法学习环境模型的性能优于使用CVAE 和NN 的方法,利用其得到真实数据与生成数据间的平均距离和方差明显小于对比方法,且其性能也较稳定.
图3 学习过程中生成数据与真实数据间的误差Fig.3 Errors in generative data and real data during the learning process
图4 表示使用上述3 种方法预测的状态转移数据与真实数据间的均方差(mean squared error)对比结果.由图4 可知,使用基于CGAN 生成数据的准确度明显优于CVAE 和NN 方法得到的数据.
图4 不同预测方法状态转移数据与真实数据的均方差对比Fig.4 Mean squared errors in state transition data predicted by different methods and real data
真实数据分布、使用基于CGAN 的环境模型方法所得分布以及使用CVAE、NN 捕捉得到分布的对比结果如图5 所示,每幅结果图的中间部分表示在条件变量限定下的数据联合分布,上侧和右侧分别表示数据在x 轴和y 轴的边缘概率分布.在模型训练稳定后输入为同一批随机条件变量[ y1,y2,y3,…,y500]进行对比验证.图5(a)为真实数据分布;图5(b)为同样条件变量下使用基于 CGAN 的环境模型方法在CGAN 模型训练稳定收敛后,仅使用其中的生成器G 捕捉得到的数据预测分布;图5(c)为使用CVAE方法进行模型训练收敛后,在同样条件变量下捕捉得到的数据预测分布;图5(d)为使用NN 方法在模型训练收敛后的数据预测分布.从图5 可以看出,在相同条件变量的限定下,基于CGAN 的环境模型学习方法相比使用CVAE、NN 方法捕捉数据分布的方法,具有较好的表现性能,不仅可以生成与真实数据分布高度相似的样本,高效地捕捉联合分布,在捕捉边缘概率分布方面也可得到较好结果.使用CVAE方法虽然可以学习到边缘分布的大体分布是双峰的,但并不能很好地捕捉到数据联合分布,最终捕捉到的结果为三核高斯分布,且每个高斯核的数据相对集中.以上结果是由于CVAE 中使用的变分方法引入了决定性偏置,优化的是对数似然下界而不是似然度本身,导致了变分自编码器生成的实例比条件生成对抗网络生成的更模糊,进而会导致概率较小的数据很难捕捉到.
图5 不同方法的生成数据对比Fig.5 Comparison of data generated by different methods
综上,本文所提的基于CGAN 的环境模型学习方法可以用来学习强化学习中的环境模型,并能够取得较好结果,且能较快收敛.
本文将深度强化学习在实际应用中面临的瓶颈问题作为研究背景,对已有模型化强化学习进行详细研究,在条件生成对抗网络的基础上,提出一种基于条件生成对抗网络的模型化策略搜索强化学习方法.该方法首先利用条件生成对抗网络对环境中的状态转移函数进行学习,再利用经典策略学习方法寻找最优策略.通过实验验证了该方法能够很好地捕捉到状态转移函数的数据分布,为策略学习提供充足的学习样本.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!