优先状态估计的双深度Q网络

2021-04-23 04:29:20鑫,张
计算机工程与应用 2021年8期
关键词:优先经验样本

张 鑫,张 席

深圳大学 计算机与软件学院,广东 深圳518061

强化学习是机器学习的分支之一,主要学习方法是智能体在环境中采取动作,从环境中获得反馈奖赏后,通过最大化累积奖赏,调整下一步动作,从而获得最优策略[1]。在强化学习中,寻策方法有动态规划法(Dynamic Programming,DP)、蒙特卡洛法(Monte Carlo,MC)、时间差分法(Temporal Difference,TD),其中应用最广泛的是时间差分法中的Q-Learning 算法[2],建立起状态与动作的映射表,即Q 表,用于存储对应的状态动作值,反映了当前状态下所有动作的优劣。深度学习[3]解除了强化学习运行于低维度环境空间的限制[4],两者结合后在更高维度的环境空间中取得了实质性的进展[5]。

Minh 等人[6]将深度学习与Q-Learning 算法结合,提出深度Q 网络(Deep Q Network,DQN),并在Atari 2600[7]部分游戏中,获得了超越人类玩家的表现,在这基础上,后续加入了经验回放、目标网络等机制使得深度Q 网络的稳定性和训练表现得到进一步的提升[8]。Hasselt 等人[9]证明了深度Q 网络的过估计问题,提出双深度Q网络(Double Deep Q Network,DDQN),将DQN 与Double Q-Learning 算法[10]结合,用于提高算法的稳定性,缓解过估计问题。Schaul等人[11]在经验回放机制的基础上,提出优先经验回放机制(Prioritized Experience Replay,PER),提高重要经验样本的利用率,加快训练进程。

强化学习不同于机器学习中的监督学习,需要通过与环境交互探索,获得反馈信号,才能得到训练样本。训练样本携带有价值的信息量的多少,直接决定了训练表现的好坏与训练时间的长短。常用的探索方式是ε贪心策略,由于其简单有效,被广泛应用,然而在稀疏奖赏的环境中,需要执行特定的动作序列,才能获得奖赏,完全依赖随机性的ε贪心策略表现欠佳。基于状态计数的探索[12]是有效的传统探索方式,为应用到高维度环境空间中,Bellemare等人[13]对状态进行虚拟近似计数与用于求解虚拟计数的概率模型,Osband等人[14]对Q值建立近似分布,Choi 等人[15]与Burda 等人[16]提出结合状态计数的内在激励函数。

本文提出DDQN-PSE(Double Deep Q Network with Prioritized State Estimation)方法,即对访问过的状态进行近似估计,给予访问次数少的状态更高的优先值,与外部奖赏一并存入经验池中,并在Q 函数近似过程中以一定权重系数ξ结合。实验结果证明,DDQN-PSE方法相对于DDQN 算法与DDQN-PER 算法,能够更快地获取到环境的反馈奖赏,训练稳定性与训练表现均有显著提升。

1 深度强化学习

1.1 强化学习

强化学习是在一个确定的任务中,通过与环境不断交互,获得环境给予的反馈奖赏,改善调整后续执行的动作,进而学习获得最优策略的方法。基本结构可表示为含有四个元素的元组(S,A,r,π),其中S为环境状态的集合;A为所有环境中可执行动作的集合;r为奖赏函数,即智能体在所在环境中采取动作后,获得的奖赏回报;π为策略函数,是状态与动作之间的映射,即对于状态s(s∈S),动作a(a∈A) ,有a~π(s)。在时间步为t(∀t>0 )时,状态下st选择动作at执行后,获得奖赏期望回报可表示为[2]:

其中,γ表示折扣因子系数,rt+1表示在t时间步获得的环境反馈奖赏。在策略π下,在状态st下的状态价值函数记为:

考虑动作at,则在状态st下的状态动作价值函数记为:

针对上述的最优状态价值函数与最优状态动作价值函数可分别为:

展开可得最优贝尔曼方程,表示为递归形式,在时间步t为:

其中,p为状态转移概率函数,表示在状态st采取动作at,获得反馈奖赏rt+1并到达下一个状态st+1。假设当前环境满足马尔科夫性[17],即不需要时间步t之前的环境信息,属于马尔科夫决策过程(Markov decision process),利用公式(5)进行策略迭代,则寻找最优策略的过程可以看作是寻找最优贝尔曼方程的过程。

1.2 深度Q网络

由于高维度环境问题的状态空间过于庞大,传统强化学习算法无法将完整状态作为输入,通过结合深度学习,使得可以学习高维度输入数据的特征,即为深度强化学习。

深度Q 网络使用Q-Learning 算法[18],利用非线性模型神经网络进行拟合,从而为智能体采取动作。QLearning算法属于TD算法的一种,因此自举推测的TDtarget可表示为:

其中,r为当前步获得的奖赏,可视为短期收益,maxQ(s',a')可视为未来收益,γ为折扣因子系数,γ越大,表示越注重未来收益的影响,s'为到达的下一个状态,a'为下一个状态选择的动作。在DQN 算法中,使用经验回放机制打破状态之间的相关性,当智能体在t步采取动作at后,把经验样本以元组(st,at,rt+1,st+1,d)的形式存入经验池D中,其中d为当前回合是否结束的布尔值。从经验池中随机批量采样一定数量的经验样本用于训练神经网络,同时在TD-target中使用目标网络的参数,计算TD-target与Q网络近似值之间的均方误差,则误差公式记为:

其中,TD-target 为γmaxQ(s',a';w-) ,使用目标网络的参数w-,增强了网络的稳定性,缓解了收敛困难的问题。然而DQN 在每次迭代都会选取最大的Q 值,使得估计的值函数大于其真实值,且过估计量非均匀分布,导致最终策略未必最优。因此利用DDQN 算法[9]对TD-target进行解耦,将选择动作与评估分开,则记为:

其中,r表示当前状态执行动作a获得的奖赏,s'为下一个状态,a'为下一个状态选择的动作,w表示当前选取动作网络的参数,w-表示目标网络的参数,γ表示折扣因子。

2 优先状态估计

2.1 优先经验回放

在DQN 的经验回放机制中,经验池中的经验回放概率是均等的,随机地在经验池中抽取用于训练的样本批量,没有对经验样本的重要性进行区分。而在稀疏奖赏环境的经验池中,大部分的经验样本包含失败的信息,只有少量包含成功的信息,因此需要对经验样本的重要性进行区分,应用优先级机制进行回放。优先经验回放机制将经验样本用于训练产生的TD-error 值视为经验样本的优先级,当TD-error 越大,说明神经网络对该样本的拟合精度还有很大的上升空间,则该样本越需要被学习,优先级越高。因此,可以优先学习最需要被学习的样本,从而提高样本的利用效率。为了减少计算代价,经验样本只有被重放的时候才被给予优先级,而由于随着训练进行,TD-error 会慢慢减少,所以可知在训练初期阶段,TD-error大的经验样本,优先级高,会被频繁地回放,但未必能一定说明该样本比后续的样本更加重要,并且一些优先级低的经验样本可能很长一段时间都不会被回放,造成多样性缺失,使得网络过度拟合。

本文使用优先经验回放与均匀经验回放结合的随机抽样方法,在保证样本多样性的同时,对样本按优先级概率回放。抽取经验样本e的优先级概率可定义为:

其中[11],pe=|TDerror(e)|+λ,λ是一个极小的正值常量,以防TD-error为0时,该经验样本永远不会被回放;α为优先级指数,可见α=0 时为均匀经验回放;k为抽取的经验样本批量数。

优先经验回放以TD-error 为优先级抽取经验池中的样本,替代了均匀随机抽取,改变了经验样本回放的分布,从而引入了偏差,导致训练过程不稳定。为纠正偏差,在计算误差的时候,加入重要性抽样权重系数μ,因此计算经验样本e的误差公式记为:

其中,权重系数μe可表示为:

其中,β为非均匀概率的补偿系数,随着训练进程逐渐增加到1;N为经验池大小。

2.2 状态估计

假设在一个稀疏奖赏的环境中,即智能体并不能在每步都取得环境反馈的奖赏,设智能体动作空间大小为Na,则选取动作at的概率为(1/Na)。图1 表示的是稀疏奖赏环境中成功获得奖赏的训练回合的流程,状态s1选择动作a1到达状态s2,但并没有获得奖赏,直到状态sn-1选取动作an-1到达状态sn取得奖赏rn+1,意味着只有采取了正确的动作序列{a1,a2,…,an-1} ,才能获得奖赏,而获得奖赏的概率为(1/Na)n,若完全依靠随机性在稀疏奖赏环境中探索,无疑这会减缓训练进程,甚至在训练回合数少的任务中完全得不到奖赏,不能取得训练效果。

图1 稀疏奖赏环境模型

优先经验回放对存储在经验池中的经验样本按优先级概率回放,提高了重要样本的利用效率,但依旧利用ε贪心策略探索,将到达的每个状态不加区分地存入经验池中,并没有改变智能体的探索策略,在稀疏奖赏的环境中仍然完全依靠随机性来获取到反馈奖赏。为解决这个问题,引入状态估计方法,提出优先状态估计的双深度Q网络(DDQN-PSE)算法模型,即神经网络不仅仅近似Q 函数,同时近似状态估计,网络训练的误差值为状态优先级大小。为了使得状态的近似与Q 函数的近似不相互干扰,独立运行,不把状态估计作为Q 网络的参数,而是建立一个新的非线性拟合函数f(s;θ),因此可以适用于任何强化学习算法,同时参考Q网络的设置,使用一个目标网络作为目标拟合函数f(s;θ-) ,同样计算均方误差,误差公式可表示为:

其中,s为状态作为神经网络的输入,θ-表示目标网络的参数。以误差值作为状态的优先级ps,误差越大,则说明该状态被访问的少,应该增加该状态的访问频率。为了避免出现预测误差导致的状态估计误差,f(s;θ-)不随着训练进程更新网络参数,而是维持一个不变值,因此基于神经网络的泛化能力,可以推断状态之间的相似性。

如图2所示,将状态优先级ps作为经验样本的信息之一,存入经验池中。将状态优先级与Q 函数结合,表示为:

其中,r表示当前状态获得的奖赏,γ表示折扣因子系数,s'为下一个状态,a'为下一个状态选择的动作。为了避免优先级低的状态长时间不被访问,同时结合ε贪心策略进行探索,保证一定的随机性,从而保证状态样本的多样性,防止过拟合的情况出现。DDQN-PSE具体算法流程如下所示:

图2 状态估计模型

算法1DDQN with Prioritized State Estimation

初始化:固定经验池D大小,随机Q网络参数w,随机状态网络参数θ,固定批量采样数T大小。

输入:训练回合数N,回合训练步数K,观察步数M,折扣因子γ,批量采样数T,目标网络更新频率F,指数α、β。

输出:Q函数值。

1.t=0

2. 初始化状态st

3. form=1 toMdo

4. 选取动作at,到达下一个状态st+1,ps=0

5. 将样本(st,at,rt+1,st+1,ps,d)存入经验池D中

6.t=t+1

7. end for

8. fori=1 toNdo

9.tstart=t

10. 选取动作at,到达下一个状态st+1

12. 将样本(st,at,rt+1,st+1,ps,d)存入经验池D中

13.t=t+1

14. ift >Mthen

15. 批量采样T个样本

17. 计算误差L(w)为

19. 更新梯度Δw←Δw+μeL(w)∇wQ(se,ae;w),Δθ←Δθ+L(θ)∇θ f(se;θ)

20. 更新网络参数w、θ

21. if (t-tstart)%F==0 then

22. 更新目标网络参数θ-=θ

23. end for

算法在第3~7 步,为训练观察步数,先在经验池中积累一定的经验样本,在开始训练网络之前增加样本的多样性,利于后续的训练学习。第8~11步与环境交互,获得经验样本,存入经验池中。在第14~19步采样批量样本进行神经网络训练,其中,第16步中TD-target使用DDQN 算法,为了减少过估计,并且使用公式(13)中的改进Q 函数。第20~21 步为在一定步数后更新目标网络参数,使得训练过程更为稳定,同时解决难以收敛的问题。

3 实验设计与结果分析

本文选取OpenAI Gym[19]中的MountainCar-v0 与Atari 2600 游戏中的FreewayNoFrameskip-v4 进行实验对比测试。两者均属于稀疏奖赏环境,在这两个问题中,DDQN 算法需要足够的随机探索,即大量的训练回合,才能取得首次反馈奖赏。

3.1 实验设计

在MountainCar-v0 环境中,Q 网络、状态网络均使用三层全连接线性层,参考DQN 网络参数设置[6],其中特征层神经元数为64,隐藏层神经元数为128,输出层神经元数为MountainCar-v0环境的动作空间大小,激活函数使用ReLU。经验池大小为10 000,目标网络更新频率为500,ε参数初始为1.0,随着训练进程呈指数级衰减,直到为0.1后固定数值,折扣系数γ为0.9,批量采样数为64,梯度下降算法使用Adam优化算法,Adam算法的学习率设置为0.001。FreewayNoFrameskip-v4 是Atari2600 游戏中的无预处理的原始游戏版本,为了减轻计算负担,加快训练进程,需要对图像进行预处理操作,只留下必要的信息,避免无用信息占据计算资源。在Atari 2600 游戏中,原始图像是尺寸为210×160×3的RGB图像,为了降低输入图像的维数,将RGB图像转换为灰度图,减少了图像的通道数,由于任务中并不涉及颜色处理,因此能在不影响智能体训练的情况下降低计算需求。其次,再将转换后的灰度图降采样为110×84×1 的图像,为了使用卷积神经网络[20]进行特征处理,将其裁剪为84×84×1 的正方形图像,同时以连续4 个状态为一组作为网络的输入用于分析动态特征,则神经网络的输入为84×84×4。使用卷积神经网络与全连接层结合作为特征处理层,卷积层具体细节如表1所示。

表1 卷积神经网络层

卷积层的输出经过扁平化处理后,作为全连接层的输入。全连接层包含两层全连接网络,分别为隐藏层与输出层,隐藏层的神经元数为512,输出层神经元数为FreewayNoFrameskip-v4 环境的动作空间大小,激活函数均使用ReLU,状态网络与Q网络结构一致,仅于输出层神经元数不同,为64。具体超参数设置如表2所示。

表2 超参数设置

为了保证经验样本的多样性,结合ε贪心策略进行探索,ε参数的衰退步数为回合的训练步数。状态网络近似的误差由于所处训练环境的不同,或者所在时间步的不同,会有近似结果出现较大差异的可能性,这难以判断是因为状态的优先级高,还是因为误差导致。为了保持状态网络近似的误差在一致的范围内,需要对其取值区间进行限制。由于OpenAI Gym 与Atari2600 环境中,单次奖赏的区间为[-1,1] ,因此将状态优先值,缩紧到区间[-1,1] 内。

3.2 实验结果分析

在MountainCar控制问题和FreeWay游戏中对比基准算法双深度Q网络(DDQN)、优先经验回放的双深度Q网络(DDQN-PER),以及本文提出的优先状态估计的双深度Q 网络(DDQN-PSE)。为了实验分析部分表述的清晰简洁,DDQN-PER算法以PER算法进行表示,而DDQN-PSE算法以PSE算法进行表示。

实验结果如图3所示,以50的滑动窗口大小取移动平均值,通过实验对比发现,PSE 算法区分了状态之间的优先级,鼓励智能体去探索更多未知的状态,缓解了在得不到有效反馈时原地打转的困境。在图3(a)、(b)中均可发现,PSE 算法很快地获得了反馈奖赏,摆脱了稀疏奖赏的困境,然而在后续的表现却不尽人意,并没有把回合奖赏最大化作为目标。

图3 算法间平均奖赏对比

进一步分析具体情况,即训练过程与回合累积的状态优先值的变化,如图4 所示。图4(a)中可以看到,对于状态优先值曲线,首次在200训练步前结束回合是第一个峰值,在获得较高的回合奖赏时是第二个峰值,在获得最高奖赏时是第三个峰值,理论上在MountainCar环境中,获得越高的奖赏情况下,状态优先值应该越低(由于更早地结束了回合,累积状态优先值更低),说明为了得到更多的状态估计值,探索了无关的状态,在500回合数之后,依旧没有利用已知信息去将回合奖赏最大化,状态优先值曲线处于稳定状态,说明环境中已有状态基本被探索完毕。

在图4(b)中,由于FreeWay 环境中,马路中间车辆不断移动,造成状态空间巨大,因此在50 回合数之前,不断访问新的状态,状态优先值持续保持最大值,随后逐渐下降,在获得回合奖赏最大值时对应状态优先值最小值,随后回合奖赏值逐渐下降为0,而状态优先值却开始上升,说明直接到马路对岸获得奖赏从而将奖赏最大化的策略,与探索更多状态的策略产生矛盾。

图4 平均奖赏与状态优先值对比

基于上述描述,结合图中平均奖赏与状态优先值曲线对比,以及值大小的对比,可以推断探索策略以回合内访问更多状态为主,而不是获取最大回合奖赏,具体地说,累积的状态优先值相比于平均奖赏值过大,例如FreeWay 游戏中,即使状态优先值已经被缩进在[-1,1]区间,但在一个回合2 000训练步数中,每步动作后都会返回一个状态优先值,而奖赏必须到达马路对面才能获得,奖赏值在其中占的比例过小,在实际游戏场景中小鸡倾向于在马路中间不停躲避车辆以获取新的状态,而不是穿越马路获得环境给予的奖赏,具体地说,导致了对得到的奖赏值不敏感,仍旧追求更大的累积状态优先值的行为。

针对上述问题,对公式(13)进行改进,将环境给予的外部奖赏与状态优先值,以一定权重系数ξ结合。改进后的Q函数记为:

其中,为了动态地适应各类环境,ξ取值为1/K,K为环境中每个训练回合的训练步数。

在图5中可以看到,改进后的PSE算法早于其余两种算法取得环境反馈奖赏的同时,在后续的训练过程中取得了较优的训练表现,实验说明智能体的探索重心重新回到以获得环境奖赏上来,解决了状态优先级对训练的干扰。

图5 改进后算法间平均奖赏对比

4 结束语

本文针对在稀疏奖赏环境中难以获得奖赏问题,提出DDQN-PSE 方法,对状态进行优先级估计,改进了探索策略,使得在稀疏奖赏的环境中有更好的训练表现。在OpenAI Gym 与Atari 2600 中的稀疏奖赏环境MountainCar经典控制问题环境与FreeWay游戏进行实验对比,结果表明相比于几种基于随机探索的深度强化学习算法,训练稳定性与训练表现均有提升。

猜你喜欢
优先经验样本
2021年第20期“最值得推广的经验”评选
党课参考(2021年20期)2021-11-04 09:39:46
用样本估计总体复习点拨
经验
40年,教育优先
商周刊(2018年25期)2019-01-08 03:31:08
2018年第20期“最值得推广的经验”评选
党课参考(2018年20期)2018-11-09 08:52:36
推动医改的“直销样本”
多端传播,何者优先?
传媒评论(2018年5期)2018-07-09 06:05:26
随机微分方程的样本Lyapunov二次型估计
站在“健康优先”的风口上
中国卫生(2016年12期)2016-11-23 01:09:52
村企共赢的样本