文章目录
前言
在行为空间规模庞大或者是连续行为的情况下,除了上一章基于价值的强化学习,我们还可以直接进行策略的学习。
1. 基于策略学习
基本思想:将策略看成是状态和行为的带参数的策略函数,建立恰当的目标函数以及利用个体与环境进行交互产生奖励,从而学习得到策略函数的参数。
对于连续的行为空间,策略函数可以直接产生具体的行为值,进而绕过对状态价值的学习。
在实际应用中,分别建立针对状态价值的近似函数和策略函数,这样一方面可以基于价值函数进行策略迭代,另一方面优化的策略函数又会使得价值函数更加准确地反应状态的价值,两者相互促进,最终得到最优策略。
意义:虽然基于近似价值函数的学习可以较高效率地解决连续状态空间的强化学习问题,但其行为空间仍然是离散的。我们可以认为单纯基于价值函数近似的强化学习无法解决连续行为空间的问题。
而在使用特征来描述状态空间中的某一个状态时,有可能因为个体观测的限制或者建模的局限,导致本来不同的两个状态却拥有相同的特征描述,进而导致无法得到最优解。而基于策略的学习是解决上述问题的一个新途径。
2. 策略目标函数
基本思想:可以根据不同的情况设计不同的策略目标函数,以下介绍三种目标函数:
在一个能够形成完整状态序列的交互环境中,由于一个策略决定了 agent 与环境的交互,因此可以使用策略 πθ 时的初始状态价值 (start value),也就是初始状态收获的期望来设计目标函数 J(θ)。而有些环境没有明确的起始状态和终止状态,个体持续地与环境进行交互,因此可以使用平均价值 (average value) 或者每一时间步的平均奖励 (average reward per time-step) 来设计策略目标函数 J(θ)。
这三种策略目标函数都与奖励相关,都试图通过奖励与状态或行为的价值联系起来。而与价值函数近似的目标函数不同,策略目标函数的值越大代表着策略越优秀。
3. 演员-评论家算法 (Actor-Critic)
基本思想:该算法是一种结合了策略梯度和时序差分学习的 RL 方法,其中的 Actor 是指策略函数 πθ(a|s),即学习一个策略来获得尽量高的回报;Critic 是指行为价值函数 Vπ(s),对当前策略的行为价值函数进行估计,也就是评估 Actor 的好坏。
4. 深度确定性策略梯度算法 (Deep Deterministic Policy Gradient, DDPG)
基本思想:该算法使用了 Actor-Critic 结构,但输出的不是行为的概率,而是具体的行为,用于预测连续动作。这个算法优化的目的是为了将 DQN 扩展到连续的动作空间。
我们还可以从该算法的命名方式来理解:
Deep:使用了深度学习技术。该算法中的 Actor 和 Critic 都使用深度神经网络来构建近似函数。
Deterministic:输出的是一个确定性的动作,可用于连续动作的一个环境。也就是说,该算法可以直接从 Actor 的策略生成确定的行为而不需要依据行为的概率分布进行采样。
Policy Gradient:用的是策略网络。DDPG 网络每个 step 都会更新一次策略网络,也就是说它是一个单步更新的策略网络。
该算法还为 Actor 和 Critic 网络各备份了一套参数用来计算行为价值的预估值以便更稳定地提升 Critic 的策略指导水平。
使用备份参数的网络称为目标网络,其对应的参数每次更新的幅度很小。另一套参数对应的 Actor 和 Critic 则用来生成实际交互的行为以及计算相应的策略梯度,这一套参数每学习一次就更新一次。
这种双参数设置的目的是为了减少因近似数据的引导而发生不收敛的情形。
另外,该算法属于 off-policy。因为它用到了目标网络和经验回放的技巧,是优化的 DQN,而且为了保证一定的探索,对于输出动作加了一定的噪音,也就是说行为策略不再是优化的策略。