打字猴:1.700539322e+09
1700539322 百面机器学习:算法工程师带你去面试 [:1700532236]
1700539323 百面机器学习:算法工程师带你去面试 03 策略梯度
1700539324
1700539325
1700539326
1700539327 场景描述
1700539328
1700539329 Q-learning因为涉及在状态空间上求Q函数的最大值,所以只适用于处理离散的状态空间,对于连续的状态空间,最大化Q函数将变得非常困难。所以对于机器人控制等需要复杂连续输出的领域,Q-learning就显得不太合适了。其次,包括深度Q-learning在内的大多数强化学习算法,都没有收敛性的保证,而策略梯度(Policy Gradient)则没有这些问题,它可以无差别地处理连续和离散状态空间,同时保证至少收敛到一个局部最优解。
1700539330
1700539331 知识点
1700539332
1700539333 强化学习,Q-learning
1700539334
1700539335 问题 什么是策略梯度,它和传统Q-learning有什么不同,相对于Q-learning来说有什么优势?
1700539336
1700539337 难度:★★★★☆
1700539338
1700539339 分析与解答
1700539340
1700539341
1700539342
1700539343
1700539344 在策略梯度中,我们考虑前后两个状态之间的关系为,其中st、st+1是相继的两个状态,at是t步时所采取的行动,p是环境所决定的下个时刻状态分布。而动作at的生成模型(策略)为,其中πθ是以θ为参变量的一个分布,at从这个分布进行采样。这样,在同一个环境下,强化学习的总收益函数,,完全由θ所决定。策略梯度的基本思想就是,直接用梯度方法来优化R(θ)。可以看出,和Q-learning不同的是,策略梯度并不估算Q函数本身,而是利用当前状态直接生成动作at。这有效避免了在连续状态空间上最大化Q函数的困难。同时,直接用梯度的方法优化R(θ)可以保证至少是局部收敛的。
1700539345
1700539346
1700539347 要使用梯度法,首先要知道如何计算R(θ)的导数。设τ为某一次0到T时间所有状态及行动的集合(称作一条轨迹),则R(θ)=E(r(τ)),其中函数r计算了轨迹τ的得分。我们有,所以
1700539348
1700539349
1700539350
1700539351
1700539352 (11.2)
1700539353
1700539354
1700539355
1700539356 注意最后一步是因为由环境决定从而与θ无关,因此。每个轨迹τ所对应的梯度为
1700539357
1700539358
1700539359
1700539360
1700539361 (11.3)
1700539362
1700539363 其中sk,ak为轨迹τ上每一步的状态和动作。这样,给定一个策略πθ,我们可以通过模拟获得一些轨迹,对于每条轨迹,可以获得其收益r(τ)以及每一步的<状态、行动>对,从而可以通过式(11.2)和式(11.3)获得当前参数下对梯度的估计。一个简单的算法描述如图11.7所示。
1700539364
1700539365
1700539366
1700539367
1700539368 图11.7 策略梯度算法
1700539369
1700539370
1700539371
[ 上一页 ]  [ :1.700539322e+09 ]  [ 下一页 ]