基于延迟策略的最大熵优势演员评论家算法

2020-09-07 01:48祁文凯桑国明
小型微型计算机系统 2020年8期
关键词:评论家状态函数

祁文凯,桑国明

(大连海事大学 信息科学与技术学院,辽宁 大连116026)E-mail:sangguoming@dlmu.edu.cn

1 引 言

强化学习作为一种重要的机器学习方法,成为了继深度学习之后,学术界和工业界追捧的热点[1].从目前的形势来看,强化学习发展前途一片光明,并在不同的领域取得了令人惊艳的成果,如视频游戏,机器人控制,人机对话,无人驾驶等[2].强化学习的核心思想是解决序贯决策问题,在智能体和环境的交互过程中,需要连续不断地做出决策[3],并从环境中获得累计的奖励值,最大化该奖励值从而使整个任务序列达到最优.

近年来,强化学习领域的研究大多数集中于深度强化学习方面,Xuesong Wang等人通过最小化单步Bellman残差来减少价值函数更新的累积误差,提出了基于近似策略的加速算法(APA)[4],APA使用先前的值函数估计值来辅助更新当前值函数,减小了单步误差对算法精度的影响,提高了智能体在复杂任务中的学习效率,最终获得更准确的Q值估计,通过将APA与DQN,Double DQN和DDPG结合,形成了三种改进的算法:APA-DQN,APA-Double DQN和APADDPG.Xuesong Wang等人通过将神经网络参数从某个单一值转换为函数分布来增强智能体的探索能力,设置两组参数来加速参数分配优化,提出了近端参数分布优化算法(PPDO)[5].PPDO限制了两个连续的参数更新,避免随机噪声对优化稳定性的影响,减小了值函数逼近产生的方差和偏差,加快参数分布优化的过程并提高参数分布优化的稳定性.

在强化学习发展的道路上,谷歌的人工智能团队Deepmind创造性地将深度网络与强化学习算法结合形成深度强化学习,成为了人工智能研究领域的里程碑,并由此衍生出许多强化学习的经典算法.如将强化学习中的Q-Learning方法和卷积神经网络(CNN)[6,7]结合而形成的深度Q网络学习方法(DQN)[8];Hasselt等人将动作的选择和动作的评估分别用不同的值函数来表示,提出了深度双Q网络(Double DQN)[9];Narasimhan等人将长短时间记忆单元(LSTM)引入 DQN 中,提出了带有 LSTM 单元的深度循环 Q 网络(DRQN)[10];Wang等人将DQN的网络结构分解为优势函数和与动作无关的状态值函数,用这两个分解后的函数来生成状态动作值函数,提出了深度竞争的Q网络(Dueling DQN)[11].

但上述的求解最优策略的强化学习算法都是基于值函数进行求解的,即求解arg maxaQ(s,a),当要解决的问题动作空间很大或者动作为连续集时[12],该式无法有效求解.因此相关领域的学者们研究出基于策略梯度的强化学习方法[13],该算法直接计算策略可能更新的方向[14].在真实的环境交互中,由于需要控制训练智能体的成本,往往会造成与环境不充分的交互数据,从而导致智能体从环境中得到的奖励回报产生较大的方差[15].为了使方差降低,学者们进一步提出了演员评论家(actor-critic)算法[16,17],该算法利用一个独立的模型估计交互轨迹的长期回报,而不再使用交互轨迹的真实回报,并在多数Atari 2600游戏中取得了较高的奖励回报分数[18].

传统的强化学习算法在值函数的更新公式中都有最大化操作,这会导致估计的值函数比真实值函数大,从而产生过估计问题[19].在高维复杂的环境中,智能体与环境交互所得的样本复杂度也会变得非常高,并且其奖励回报值将变得难以收敛,表现出明显的不稳定性[20,21].本文提出的基于延迟策略的最大熵优势演员评论家(DAAC)算法,使用了两个评论家网络,分别计算状态值函数和动作的优势估计值函数,使智能体可以选择更好的策略来获得更高的奖励回报;使用延迟策略更新的技巧来提高策略奖励回报的收敛性;使用最大熵框架,使策略的期望奖励回报和期望熵都达到最大,从而使智能体在有限的环境交互中,进行更广泛的探索.该算法在OpenAI Gym的物理仿真模拟器MuJoCo上进行实验,并与传统的强化学习算法作对比,DAAC算法取得了更高的环境奖励回报值,更快速的学习到了最优策略,并且表现出更好的收敛性和稳定性.

2 相关工作

2.1 强化学习

强化学习的基本内容是智能体在完成某项任务时,首先通过动作与环境进行交互,产生新的状态并会获得环境反馈给智能体的奖励回报值,随着交互次数的增加,智能体利用与环境交互产生的数据不断改进动作选择策略来获得更高的奖励值[22],经过多次迭代,智能体最终可以探索出完成相应任务的最优策略[23].

强化学习的目标是给定一个马尔科夫决策过程,寻找最优策略,该决策过程由元组(S,A,P,R,γ)表示,其中S为有限的状态集,A为有限的动作集,P为状态转移概率,R为环境奖励回报值,γ为用于计算累计奖励值的折扣系数[24].强化学习使用状态动作值函数Qπ(s,a)来评估策略,该函数被定义为智能体在当前状态s,根据策略π,执行动作a所获取的奖励值的期望:

(1)

智能体的目标是探索出最优的状态动作值函数,即:

Q*(s,a)=maxQπ(s,a)

(2)

该最优函数遵循贝尔曼最优方程:

(3)

然后通过反复迭代该贝尔曼方程求解状态动作值函数Q,最终该函数会收敛到最优解[7,9],也就得出了智能体的最优策略π*=argmaxaQ*(s,a).但在实际的环境交互过程中,通过迭代贝尔曼方程来求解最优策略会产生诸多问题.高维复杂的环境会使原有的计算量过大,并且迭代获得的奖励值会随着时间的变化变得较难收敛甚至发散[15,20].在强化学习算法中,可以使用深度神经网络等非线性函数去近似表示值函数或策略[4],但这种方式带来的问题是,训练样本的复杂度会随着迭代交互的次数而增加,训练过程也存在着不稳定性[13].因此可以采取直接计算策略可能更新方向的方法,即策略梯度算法.该算法能够提高计算效率,使智能体获得更高的环境奖励回报值以及更好的算法稳定性[7,16].

2.2 策略梯度强化学习算法

在传统的强化学习算法中,智能体通过迭代计算状态动作值函数的贝尔曼方程[1,10],来探索可以获得最大奖励回报值的策略.而在基于策略梯度的强化学习算法中,通过直接迭代更新策略的参数值,来获得最大奖励回报值的期望,这个参数值所对应的就是最优策略.与传统算法中对值函数进行参数化表示相比,策略梯度算法对策略π进行参数化表示[15],使得算法参数化更简单且有较好的收敛性,当智能体交互环境的动作为连续集或者动作空间域很大,策略梯度算法可以有效地进行求解.策略梯度算法公式见式(4):

θlogπθ(ai,t|si,t)

(4)

其中J(θ)表示目标函数,对目标函数进行求导运算,并做积分变换,最后再使用蒙特卡洛近似方法对上式中的期望进行替换:

(5)

但该计算策略梯度的公式中也存在一些缺陷:无论智能体在与环境的交互过程中处于什么时间段,策略的梯度总是乘以所有时刻的回报值总和,不符合实际需求,所以可以使用两个不同的时间变量t,t′来表示t时刻之前和t时刻之后的奖励值:

θlogπθ(ai,t|si,t)

(6)

存在某种情况,环境对智能体的奖励值始终为正,会导致策略梯度求解问题存在一定的波动性,为了使智能体能够让最大化奖励值策略的“权重”为正且尽可能大,让不能最大化奖励值策略的“权重”为负且尽可能小,这里引入一个偏移量bi,t′表示为:

(7)

策略梯度求解公式就可以表示为:

θlogπθ(ai,t|si,t)

(8)

这种方法不仅降低了算法的波动性,而且也不会影响最终智能体获得的环境奖励值.许多基于策略梯度的强化学习算法也普遍使用该方法.

3 基于延迟策略的最大熵优势演员评论家算法

3.1 演员评论家算法框架

在真实的智能体与环境的交互过程中,为了限制交互次数,会导致估计得到的奖励值序列与真实值之间存在较大差异,导致奖励回报值的方差较大,并且常规的策略梯度算法也表现出较慢的收敛速度,因此解决这些问题的一种方法是Actor-Critic,即演员评论家算法.

演员评论家算法包括两个模型网络,Actor 表示策略模型网络,Critic表示价值模型网络.Actor使用策略函数πθ(ai|si)并根据当前环境状态来选择下一步的动作,它将状态的表现映射到动作选择概率,并且可以在不需要对值函数进行优化的情况下做出决策策略.Critic负责评估Actor的决策策略,并引导Actor改进策略.它通过构造状态动作值函数Qπ(s,a),使用TD偏差估计由Actor计算的策略πθ所能获得的预期奖励值,以此来加速智能体的学习进程并有效减小方差.状态动作值函数由式(9)表示:

Qπ(s,a)=R(st,at)+V(st+1)-V(st)

(9)

图1表示演员评论家算法的基本结构,其中智能体根据Actor网络的策略πθ(ai|si)来选择下一动作,并与环境交互获得奖励值和智能体的下一个状态,将这两个变量传入Critic网络,Critic网络通过状态动作值函数Qπ(s,a)计算出TD偏差,并将TD偏差传入Actor网络,由此来评估当前策略,便于Actor网络对策略进行改进以获得更高的奖励值和更稳定的学习过程.

图1 演员评论家算法结构图

3.2 最大熵优势模型

Actor-Critic算法通常从策略迭代开始,迭代在策略评估和策略改进之间交替进行,在环境较复杂的强化学习问题中,将这两个步骤运行到收敛通常都是不现实的,因此本文提出了最大熵优势模型,将值函数和策略联合优化.传统的强化学习算法的目标是最大化奖励回报值的期望,即:

(10)

而在最大熵优势模型中,将算法的目标设置为策略的预期熵,并最大化这个预期熵.由于在智能体探索环境的过程中,环境的条件以及下一时刻的状态是未知的,因此智能体根据已探索过的环境得出的策略,不作任何对未知环境状态的假设,策略把未知的状态动作进行等概率处理,从而使状态动作值函数的概率分布变得最均匀,因此熵也是最大的.基于该模型的随机策略公式如式(11):

(11)

其中平衡系数ω表示在策略π中,奖励值与熵的相对重要性,通过调整ω的大小变化,可以控制策略的随机性.在本文的实验中,使用该系数的倒数ω-1来表示.策略的熵用Η(π(at,st+1))表示.

在传统的Actor-Critic算法中,Critic网络通过使用Q-learning和单一的输出序列来计算状态动作值函数Qπ(s,a),并建立环境状态和智能体动作之间的联系.但在高维复杂的环境中,部分状态不单单只取决于智能体选择的动作,二者具有一定的独立性.因此,本文提出的算法模型中设计了两个评论家网络,分别计算状态值函数V(st)和动作优势函数A(st,at).其结构模型如图2所示.

图2 演员优势评论家算法结构图

动作优势值是一个相对值,它衡量智能体在某种状态下可能发生的动作的相对优劣,并且它独立于环境状态和环境噪声,因此它可以提高Q函数的准确性和运算效率.演员网络基于策略梯度法选择智能体的动作,两个评论家网络共同为演员网络提供Q函数,以此来调整并选择最优策略.该状态动作值函数Q可形式化表示为式(12):

Qπ(st,at)=V(st)+A(st,at)

(12)

由于状态值函数V(st)和动作优势函数A(st,at)存在很多种潜在的可能组合,会增加算法的波动性,因此对动作优势函数A(st,at)附加一定的约束条件,让每一个A(st,at)函数减去当前状态下所有A(st,at)函数的平均值,因为优势值只需要以同样的速度变化,以此来提高算法的稳定性:

(13)

将上述算法结构中的状态值函数V(st)和状态动作值函数Qπ(s,a)分别进行参数化表示,即Vα(st)和Qβ(st,at).通过更新参数α,β来分别优化值函数,其中状态动作值函数Qβ(st,at)不使用经验重放缓冲区中的数据,而是根据当前Actor网络的策略对可能采取的动作进行采样,训练参数β使Qβ(st,at)的平方差最小:

(14)

其中,策略π是基于最大熵的随机策略,使用随机梯度下降法对JQ(β)进行更新:

(15)

其中Q′(st,at)可表示为:

(16)

该Q′(st,at)是由两个评论家网络共同计算得出的状态动作值函数,并包括了当前状态的奖励值以及累积的状态值函数的期望.

同理训练参数α使Vα(st)的平方差最小:

(17)

其中D是从经验重放缓冲区采集的状态和动作的样本,同理使用随机梯度下降法对JV(α)进行更新:

(18)

最大熵优势模型保证了智能体可以对环境进行更广泛的探索,在已知的状态下,对未知的状态和动作进行等概率处理,有效地缩小了计算方差,采用两个评论家网络,计算动作的相对优势值来评估并改进演员网络的当前策略.通过在高维复杂的环境实验中,证明该模型框架可以使智能体获得更高的奖励回报值和更稳定的交互训练过程.

3.3 延迟评论家网络的策略更新

在传统的强化学习问题中,智能体通过当前时刻的回报和下一时刻的价值估计进行更新,由于从经验回放缓冲区采样的数据之间存在差异,导致更新存在较大波动性,并且会使值函数的估计迅速发散.因此为了解决波动性和发散的问题,学者们提出采用目标网络更新,这也被应用在了大多数经典的强化学习算法中.

目标网络是实现深度强化学习稳定性的重要工具,它设置一个不会大幅更新的模型,将智能体计算的目标值函数在一段时间内固定,这在一定程度上可以减少波动,并降低了发散的可能性,令计算过程更稳定.

传统的演员评论家算法是一种异策略(off-policy)的强化学习算法,使用贪婪策略π=arg maxaQ(st,at),并以θ为参数建立贝尔曼均方差的损失函数如式(19):

L(θ)=Eπ(st,at)[(Q(st,at|θ)-Yt)2]

(19)

其中目标值函数Yt表示为式(20):

Yt=R(st+at)+γQ(st+1,at+1|θ)

(20)

由于状态动作值函数Q(st,at|θ)和目标值函数Yt使用相同的更新参数θ,最小化该贝尔曼均方差损失函数会变得不稳定,函数逼近误差会不断积累.

本文提出延迟评论家网络的策略更新,通过延缓评论家网络的更新速率,设置一个固定的阈值系数τ,该系数缓慢跟踪智能体正在学习的策略,并调节目标网络在更新中的比重,以此来更新目标网络:

θtarget=τθ+(1-τ)θtarget

(21)

该方法限制了目标值的变化速率,降低了值函数估计与策略之间的耦合性,也降低了最小化贝尔曼均方差损失函数的不稳定性,把函数逼近的累积误差对策略的影响降到最低,通过实验证明该方法有效提高了算法的稳定性和收敛性.

在3.2节中的最大熵演员评论家算法框架中,根据式(14),状态动作值函数Qβ(st,at)的训练参数β使用到演员网络的当前策略π,同理根据式(17),状态值函数Vα(st)的训练参数α也使用到策略π,因此使用阈值系数τ分别延迟更新基于参数α的状态值函数Vα(st)和基于参数β的状态动作值函数Qβ(st,at):

αtarget=τα+(1-τ)αtarget

(22)

βtarget=τβ+(1-τ)βtarget

(23)

其中,αtarget,βtarget表示使用延迟更新之后的参数.评论家网络使用该参数进行后续的随机梯度下降更新值函数估计.

3.4 算法描述及分析

3.4.1 算法描述

本文提出的基于延迟策略的最大熵优势演员评论家强化学习算法(DAAC)的算法流程描述如算法1所示:

算法 1.基于延迟策略的最大熵优势演员评论家强化学习算法(DAAC)

1.初始化:演员网络策略函数的参数θ,评论家网络状态值函数的参数α,评论家网络状态动作值函数的参数β

2.清空经验重放缓冲区D

3.Repeat:(对每一个实验回合):

4.根据智能体所处的当前状态s和演员网络的策略π选择动作a~πθ(st,at);

5.智能体执行动作a与环境进行交互;

6.智能体获得下一状态s′,环境奖励回报值r,并设置变量d指示智能体状态s是否是探索环境的终止点;

7.将(s,a,r,s′,d)作为一次交互探索产生的样本存入经验重放缓冲区D中;

8.If演员网络的策略需要优化更新then:

Forj在每一个时间步骤中do:

9.随机从经验重放缓冲区中采集一个小

批量的样本X,X=(s,a,r,s′,d)

10.在评论家1网络中计算动作优势值函数

11.训练基于最大熵的随机策略π

12.根据策略π训练状态值函数的参数α

13.根据π训练状态动作值函数的参数β

14.使用随机梯度下降法更新参数α

15.使用随机梯度下降法更新参数β

16.设置阈值变量τ延迟更新参数α

αtarget=τα+(1-τ)αtarget

17.设置阈值变量τ延迟更新参数β

βtarget=τβ+(1-τ)βtarget

18. End for

19. End if

20.Until智能体到达训练的终止点

3.4.2 算法分析

DAAC是一种基于异策略(off-policy)的演员评论家算法,并在最大熵优势框架中迭代,交替进行策略评估和策略改进.为证明该算法的收敛性和稳定性,需要构建策略π的值函数,因此引入一个Bellman运算符Γ,并将其扩展到状态值函数V(st)和状态动作值函数Q(st,at)的估计中,当需要精确表示状态动作值函数Q时,该运算符可以增大值函数估计与策略之间的不相关性.对于所有的状态动作值函数Q(st,at),状态值st∈S,动作值at∈A,并设Γπ为最优Bellman运算符,且满足不等式(24),式(25):

ΓπQ(st,at)≤ΓQ(st,at)

(24)

ΓπQ(st,at)≥ΓQ(st,at)-λ[V(st)-Q(st,at)]

(25)

其中λ∈[0,1),当不等式(24)、式(25)同时成立,Γπ最终会产生最优策略.在算法策略迭代过程中,根据式(11)中的最大熵目标来计算策略π的值函数,并重复应用Bellman最优运算符Γπ:

ΓπQ(st,at)=R(st,at)+γE(st+1)~ρ[V(st+1)]

(26)

其中ρ为状态转移概率,对于确定的策略π,从ρ:S×A→R开始,状态动作值函数Q按照式(26)进行迭代计算.

在策略改进计算中,定义分区函数Zπold(st)对策略分布进行归一化,并根据Kullback-Leibler散度的定义将改进的策略π•投影到策略集合Π中,从而计算更新后的策略如式(27):

(27)

将更新后的策略πnew作为状态动作值函数Q的指数.

定理.对于所有的智能体探索环境的状态动作值集(st,at),令(st,at)∈S×A,|A|<,S×A→R,不等式Qπnew(st,at)≥Qπold(st,at)成立,并且定义状态动作值函数序列Qk,满足Qk+1=ΓπQk,序列Qk将收敛到π.

证明:根据式(11),定义最大熵奖励值函数为:

Rπ(st,at)=R(st,at)+Ε(st+1)~ρ[Η(π(at+1|st+1))]

(28)

其中最大熵奖励值函数Rπ(st,at)是有界的,将该值函数应用于状态动作值函数Q(st,at)的更新中:

Q(st,at)=Rπ(st,at)+γE(st+1)~ρ,(at+1)~π[Q(st+1,at+1)]

(29)

在策略集合Π中,定义πold∈Π,则根据式(27),更新后的策略πnew重新定义为:

(30)

因为无论是更新之前的策略πold还是更新之后的策略πnew,它们都包含于策略集合Π,所以不等式(31)成立:

Jπold(πnew(at|st))≤Jπold(πold(at|st))

(31)

接着分别求出新策略和旧策略的期望:

Eat~πnew[logπnew(at|st)-Qπold(st,at)+logZπold(st)]

Eat~πold[logπold(at|st)-Qπold(st,at)+logZπold(st)](32)

根据式(31)、式(32)可得出:Eat~πnew≤Eat~πold,因为分区函数Zπold(st)只和当前智能体所处环境状态相关,所以不等关系为:

Eat~πnew[Qπold(st,at)-logπnew(at|st)]≥Vπold(st)

(33)

根据式(26)和定义条件Qk+1=ΓπQk将状态动作值函数Q写成Bellman方程的展开形式:

Qπold(st,at)=R(st,at)+γE(st+1)~ρ[Vπold(st+1)]≤R(st,at)+γE(st+1)~ρ[E(at+1)~πnew[Qπold(st+1,at+1)-logπnew(at+1|st+1)]]≤Qπnew(st,at)

(34)

由不等式(33)、式(34)可得出更新后的状态动作值函数满足Qπnew(st,at)≥Qπold(st,at)成立,因此值函数可以稳定地收敛到策略π.证毕.

综上所述,DAAC算法具有较好的稳定性和收敛性.

4 实验结果及分析

本节中,首先介绍实验所用的平台模拟器以及实验算法的参数设置.

4.1 实验模拟器介绍

本文实验所使用的是基于Linux Ubuntu 16.04操作系统的MuJoCo Pro 150物理模拟器.MuJoCo是一个通用的物理仿真模拟器,其主要功能有以下几方面:分析可逆的摩擦接触动力学、模拟仿真机器人三维几何的关节运动、驱动一般的物理模拟器并重新配置其计算流水线、分离模型和数据并提供交互式的模拟和用户可视化、提供强大而直观的建模语言并可自动生成复合柔性对象.

本文采用了4个经典的基于MuJoCo的高维复杂物理模拟器环境如图3所示,分别是Ant-v2,HalfCheetah-v2,Walker-v2,Swimmer-v2.使用的计算机为Intel i7-4712MQ,主频为2.30GHz,内存为8GB,和NVIDIA GTX-1080 Ti图形处理器辅助运算.

图3 本文实验所用模拟机器人结构图

4.2 实验参数设置

本文提出的基于延迟策略的最大熵优势演员评论家强化学习算法(DAAC)与深层Q-learning算法(DQN),置信区域策略优化算法(TRPO),深层确定性策略梯度算法(DDPG)进行了对比实验.实验参数设置如表1所示,其中通用的超参数设置包括了每个实验使用了0,10,20,30,40这5个种子作为随机数的生成器,神经网络设置2个隐藏层,当每个隐藏层分别有64,128个节点时,实验效果较为稳定且训练速度在可接受范围内.演员评论家框架结构采用卷积神经网络,并使用ReLU作为其激活函数,在对策略更新使用随机梯度下降法时,该激活函数不会出现明显的梯度消失,并且相较于其它激活函数有较小的计算时间代价.在最大熵框架中,如3.2节所述,平衡系数ω表示奖励值与熵的相对重要性,在实验中使用其倒数ω-1来表示,不同环境的的ω-1值不相同,其中Ant-v2和Swimmer-v2的为ω-10.2,HalfCheetah-v2和Walker-v2为0.1.这是由于上述环境所模拟的三维动态机器人的坐标控制机制和复杂度不同,所以需要调整该平衡系数以获得更优的结果.所有实验设置智能体与环境交互回合数epochs为200,每一回合的步数为5000,即实验总的交互时间步数Time Steps为100万个.经验重放缓冲区的容量replay_size设置为最多存储105个交互样本.延迟参数更新阈值τ设置为0.015,奖励折扣系数γ设置为0.99,因为距离当前状态越近,其影响因素也就越大.学习率lrate设为10-3,每一次计算策略时从经验重放缓冲区采集的批量大小batch_size为100个样本进行训练.

表1 参数设置实验数据表

4.3 实验结果分析

4.3.1 DAAC算法对比实验

本文选择3个基线算法作对比,分别为DQN,TRPO,DDPG.其中DQN利用卷积神经网络逼近值函数,使用了经验回放缓冲区训练强化学习的智能体学习过程[2,16],并独立设置了目标网络来单独处理时间差分算法中的 TD 偏差.TRPO利用重要性采样处理动作分布,并优化目标函数,保证了新的策略可以使环境奖励回报值单调不减[14].DDPG利用深度神经网络逼近值函数和确定性策略,建立目标函数使其不依赖于任何策略,采用异策略的学习方法并使用了经典的演员评论家算法框架[12,13].在解决高维复杂的强化学习环境中,本文提出的DAAC算法性能优于上述三个算法.

图4是基于MuJoCo的Ant-v2环境,该环境模拟一个四足爬行机器人,其具有29个状态维度和8个制动控制器.该机器人通过与环境交互,训练其四足上的8个控制器学习如何能够平稳行走,完成平稳行走后,训练该机器人如何快速行走甚至奔跑,实验中设置机器人平稳行走的奖励值为1000,当训练行走和奔跑的速度越快,环境给予智能体的奖励值也就越大.从图中可以得出,TRPO和DQN的训练效果很差,因为该机器人智能体是多维的,与环境交互产生的样本复杂度很高,这两个算法在处理复杂的样本和动作分布时,无法学习到优良的策略,因此奖励值很低.DDPG获得了较好的训练过程,在大约0.2*106时间步处,奖励值达到了1000,四足机器人学会了平稳行走,并开始加速移动,最终得到来自环境的奖励回报值约为3000.而在DAAC算法训练中,四足机器人大约在0.18*106时间步处学会了平稳行走,与DDPG相比没有明显的改观,但在之后的时间步中,DAAC训练的机器人拥有更快的奔跑速度,因此获得更高的奖励值,最高奖励值达到了约5300,虽然在0.8*106处出现了下降,原因是机器人在奔跑过程中由于速度过快而出现不平衡现象.

图4 Ant-v2环境下算法对比实验图

图5是基于MuJoCo的HalfCheetah-v2环境,该环境模拟一个双腿爬行运动类似猎豹的机器人,其具有27个状态维度和7个制动控制器.实验设置该猎豹机器人在初始状态就可以进行奔跑,不需要先学习行走,但是由于该机器人的前足有2个关节控制器,而后足有3个关节控制器,因此需要保持其头部偏移度不能过大,否则环境会减少奖励值,当猎豹机器人奔跑速度越快所获得的奖励值越高.从图中可以得出,TRPO和DQN算法的训练效果依然不理想,DDPG算法获得了最终奖励值约为4300,在大约0.2*106时间步处,机器人获得最高奖励值,并在之后的很长时间的探索过程中奖励值没有获得大幅度的增长,并且在0.4*106时间步处出现了奖励值锐减的情况,说明机器人当前所学习的策略还不够稳定.在DAAC算法训练曲线中,在大约0.5*105时间步处奖励值就达到了4000,接近于DDPG的最终结果,在之后的训练时间中,奖励值不断增长达到了11000,并且训练过程中没有出现大幅度的奖励值锐减情况,说明智能体不仅可以快速学习到更好的策略,并且该策略可以在保证训练稳定的同时不断提升机器人获得的奖励回报值,这得益于最大熵优势框架,虽然DDPG算法同样使用了演员评论家框架,但无法训练智能体进行稳定和更广泛的探索,无法获得更好的策略.

图5 HalfCheetah-v2环境下算法对比实验图

图6是基于MuJoCo的Swimmer-v2环境,该环境模拟一个在粘性流体中的三关节游动机器人,其具有19个状态维度和3个控制制动器.机器人的目标是通过调节前端关节和后端关节向前游动,游动的距离越远其奖励回报值越高.从图中可以得出DQN的训练效果较差,TRPO的训练效果稍强于DQN.DDPG最终获得了约90的奖励回报值,但训练过程的波动性较大.而DAAC在大约0.4*106时间步处奖励值就达到了100,并且由于其学习到的策略更优,所以机器人在有限的时间步数内可以继续向更远的地方游动,并最终获得了接近于140的奖励值.该实验的粘性流体等价于给智能体探索环境的过程施加较大的噪声干扰,通过实验结果表明了DAAC即使在有噪声干扰的情况下,依然可以学习到有效的策略.

图6 Swimmer-v2环境下算法对比实验图

图7是基于MuJoCo的Walker-v2环境,该环境模拟一个三关节双足机器人,具有23个状态维度和5个控制制动器.机器人的目标是学会行走并跳跃跨过环境设置的障碍物,当机器人行走速度越快,成功跨越障碍物并且没有失去平衡,奖励回报值越高.从图中可以得出DQN和TRPO训练效果不佳,DDPG训练曲线在0.3*106时间步处,奖励值开始有提高,说明机器人学会了缓慢行走,但是整个训练过程的起伏较大,说明该机器人学习到的策略在环境中不能很好地跨越障碍物,每当其失去平衡时,相应的奖励值会减少,导致了实验结果出现较大的不稳定性.为了减少不稳定性并提高算法收敛性,DAAC采用了延迟策略更新的技巧,实验结果在0.18*106时间步处奖励值开始提升,并在0.4*106时间步处训练趋于稳定并表现出良好的收敛性最终的奖励值达到约4300,通过对比,DAAC学习到的策略更优,所获得的奖励回报值也更高.

图7 Walker-v2环境下算法对比实验图

如表2所示,具体展示了各个算法在上述4个物理模拟机器人环境中,在各个时间步数范围内,智能体所获得的平均奖励回报值.(表中取值均保留到整数位)

表2 算法在不同实验环境中各时间段平均奖励回报值实验数据表

4.3.2 阈值系数取值对比实验

如图8所示,在Ant-v2的环境下,延迟网络策略更新的阈值系数τ取不同的值对实验性能的影响,根据式(21)得出τ可以调节目标网络在策略每次更新时所占的比重,τ的取值范围为(0,1),因此当τ趋近于1时,目标网络所占比重较小,对策略更新的影响因素很小,策略更新频率加快会导致智能体无法学习到奖励回报值高的策略,容易陷入局部最优解,最终导致对环境的极其有限的探索和学习到奖励值很低的策略,图8实验中所示,当τ=0.9,智能体获得的奖励值为负数,始终无法学习到一个较好的策略.当τ=0.5的时候,智能体探索环境的奖励值维持在0左右,依然无法学习获得一个良好的策略,当τ分别取到0.1和0.01时,智能体探索环境获得了较良好的策略,奖励值最终分别达到了1780和2800,明显优于τ取0.9和0.5.说明当τ趋近于0的时候目标网络所占比重较大,对策略更新的影响因素变大,也因此延迟了策略更新的速度,使智能体能够更加充分地探索环境,学习到可以获得更高奖励值的最优策略,但是当τ=0.005时,智能体所获得的奖励值反而降低了,因为控制策略更新的阈值系数过小,导致了策略更新速度过于缓慢,在有限的时间步数范围内,智能体无法学习到获得奖励值更高的最优策略.

图8 Ant-v2环境下阈值系数τ取值对比实验图

通过在不同的物理仿真模拟器实验环境下,对阈值τ进行调整,如表3所示,对比τ取不同值时,智能体所获得的平均奖励回报值的大小,得出最终当τ取0.015时,智能体所获得的奖励回报值较高,能够学习到更良好的策略.(表中取值均保留到整数位)

表3 不同实验环境下阈值系数τ取不同值平均奖励回报实验数据表

5 结束语

本文提出的DAAC基于延迟策略的最大熵优势演员评论家强化学习算法,在传统的基于策略梯度的演员评论家框架上,通过使用两个评论家网络来计算策略的状态动作值函数,并最大化策略的预期熵,同时还使用延迟更新评论家网络的策略参数的技巧.在高维物理仿真模拟器环境中的实验结果表明,该DAAC方法在算法收敛性,稳定性以及智能体最终获得的奖励回报值等方面都明显优于传统的强化学习算法.但该DAAC算法也存在一定的局限性,在更复杂的环境如Humanoid中,智能体很难在有效的时间内学习到最优策略,说明DAAC算法在更高维的环境中还有进一步需要改进完善的地方.

猜你喜欢
评论家状态函数
音乐评论家的“内功”修炼——论八项追求
一种基于ResNet的车钩状态识别方法及其应用
著名诗人、评论家 吴思敬
中国文艺评论家·谢冕
评论家杨占平
状态联想
生命的另一种状态
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
无独有偶 曲径通幽