基于策略梯度的深度强化学习

背景

  • 在行为空间规模庞大或者是连续行为的情况下,基于价值的强化学习将很难学习到一个好的结果,这种情况下可以直接进行策略的学习

    • 即将策略看成是状态和行为的带参数的策略函 数,通过建立恰当的目标函数、利用个体与环境进行交互产生的奖励来学习得到策略函数的参数。
    • 策略函数针对连续行为空间将可以直接产生具体的行为值,进而绕过对状态的价值的学习
  • 在实际应用中通过建立分别对于状态价值的近似函数和策略函数

    • 使得一方面可以基于价值函 数进行策略评估和优化
    • 另一方面优化的策略函数又会使得价值函数更加准确的反应状态的价 值,两者相互促进最终得到最优策略

基于策略学习的意义

背景

基于价值的强化学习虽然能出色地解决很多问题,但面对行为空间连续、观测受 限、随机策略的学习等问题时仍然显得力不从心

  • 问题1(行为空间连续)

    • 基于近似价值函数的学习可以较高效率地解决连续状态空间的强化学习问题,但其行为空间仍然是离散的
    • 如果行为空间是连续的,可以认为单纯基于价值函数近似的强化 学习无法解决连续行为空间的问题,其中每一 个方向上的分量可以是 [-1,1] 之间的任何连续值。在这个例子 (图 7.1) 中,行为由两个特征来描 述,其中每一个特征具体的值是连续的。比如:
  • 问题2(观测受限)

    • 此外,在使用特征来描述状态空间中的某一个状态时,有可能因为个体观测的限制或者建 模的局限,导致本来不同的两个状态却拥有相同的特征描述,进而导致无法得到最优解
      • 在这种情况下,由于个体对于状态观测的特征不够多,导致了多个状 态发生重名情况,进而导致基于价值的学习得不到最优解
  • 问题3(随机策略的学习)

    • 基于价值的学习对应的最优策略通常是确定性策略,因为其是从众多行为价值中选择一个 最大价值的行为,而有些问题的最优策略却是随机策略,这种情况下同样是无法通过基于价值的学习来求解的。
    • 这其中最简单的一个例子是人们小时候经常玩的“石头剪刀布”游戏。对于这个 游戏,玩家的最优策略是随机出石头剪刀布中的一个,因为一旦你遵循一个确定的策略,将很容 易被对手发现并利用进而输给对方

定义

  • 策略 π 可以被被描述为一个包含参数 θ 的函数
    $π_θ(s,a) = P[a | s,θ]$
  • 含义:
    策略函数 $π_θ$ 确定了在给定的状态和一定的参数设置下,采取任何可能行为的概率,是一个概率密度函数
    • 在实际应用这个策略时,选择最大概率对应的行为或者以此为基础进行一定程度的采样探索。可以认为,参数 θ 决定了策略的具体形式。
    • 因而求解基于策略的学习问题就转变为了如何确定策略函数的参数 θ。同样可以通过设计一个基于参数 θ 的目标函数 J(θ),通过相应 的算法来寻找最优参数

策略目标函数

强化学习的目标就是让个体在与环境交互过程中获得尽可能多的累计奖励,一个好的策略 应该能准确反映强化学习的目标

  • 初始状态收获的期望
    对于一个能够形成完整状态序列的交互环境来说,由于一个策 略决定了个体与环境的交互,因而可以设计目标函数 J1(θ) 为使用策略 πθ 时初始状态价值 (start value):
    $J_1(θ) = V_{π_θ} (s_1) = E_{π_θ} [G_1]$
  • 有些环境是没有明确的起始状态和终止状态,个体持续的与环境进行交互。在这种情况下可以使 用平均价值 (average value) 或者每一时间步的平均奖励 (average reward per time-step) 来设计策
    略目标函数:
    • $d^{πθ} (s)$ 是基于策略 $πθ$生成的马尔科夫链关于状态的静态分布
  • 与价值函数近似的目标函数 不同,策略目标函数的值越大代表着策略越优秀。可以使用与梯度下降相反的梯度上升来求解最优参数
  • 假设现在有一个单步马尔科夫决策过程,对应的强化学习问题是个体与环境每产生一个行 为交互一次即得到一个即时奖励 r = Rs,a,并形成一个完整的状态序列。根据公式 (7.1),策略目 标函数为
  • 分值函数(score function)
    上式中 $∇θlogπθ(s,a)$ 称为分值函数 (score function)。
    • 存在如下的策略梯度定理:
      对于任何 可微的策略函数 $π_θ(s, a)$ 以及三种策略目标函数 $J = J_1, J_{avV} 和 J_{avR}$ 中的任意一种来说,策略 目标函数的梯度 (策略梯度) 都可以写成用分值函数表示的形式:
    • 意义
      • 分值越高意味着在当前策略下对应行为被选中的概率越大
      • 算法将结合某一行为的分值对应的奖励来得到对应的梯度,并在此基础上调整参 数,最终使得奖励越大的行为对应的分值越高

Actor-Critic 算法

定义

  • Actor-Critic 算法的名字很形象,它包含一个策略函数和行为价值函数
    • 其中策略函数充当 演员 (Actor), 生成行为与环境交互
    • 行为价值函数充当 (Critic),负责评价演员的表现,并指导 演员的后续行为动作
  • Critic 的行为价值函数是基于策略 $π_θ$ 的一个近似
    $Q_w(s, a) ≈ Q_{π_θ} (s, a)$
  • 基于此,Actor-Critic 算法遵循一个近似的策略梯度进行学习

QAC算法(最基本的基于行为价值 Q 的 Actor-Critic 算法)

参数更新

  • Critic 的函数 $V_w(s)$ 的参数 w更新
  • 策略函数 $π_θ(s,a)$ 的参数θ更新

深度确定性策略梯度(DDPG)算法

DDPG算法能较为稳定地解决连续行为空间下强化学习问题

算法理解

  • 深度确定性策略梯度算法是使用深度学习技术、同时基于 Actor-Critic 算法的确定性策略算法
  • 该算法中的 Actor 和 Critic 都使用深度神经网络来建立近似函数
  • 由于该算法可以直接从 Actor 的策略生成确定的行为而不需要依据行为的概率分布进行采样而被称为确定性策略
  • 噪声函数
    该算法在学习阶段通过在确定性的行为基础上增加一个噪声函数而实现在确定性行为周围的小范围 内探索
  • 备份了一套参数
    • 该算法还为 Actor 和 Critic 网络各备份了一套参数用来计算行为价值的期待值以更稳定地提升 Critic 的策略指导水平。使用备份参数的网络称为目标网络,其对应的参数每次更新的幅度很小
    • 另一套参数对应的 Actor 和 Critic 则用来生成实际交互的行为以及计算相应 的策略梯度,这一套参数每学习一次就更新一次。这种双参数设置的目的是为了减少因近似数据 的引导而发生不收敛的情形。
  • 这四个网络具体使用的情景为
    • Actor 网络:根据当前状态 $s_0$ 生成的探索或不探索的具体行为$a_0$;
    • Target Actor 网络:根据环境给出的后续状态$s_1$ 生成预估价值用到的$a_1$;
    • Critic 网络:计算状态$s_0$和生成的行为$a_0$ 对应的行为价值;
    • Target Critic 网络:根据后续状态$ s_1,a_1 生成用来计算目标价值 y = Q(s_0, a_0) 的 Q′(s_1, a_1)$

伪代码