两种回报函数

在强化学习中, 有两种常用的回报函数, 即有限无折损回报 ($\textrm{finite-horizon undiscount return}$) , 它将有限时间内每个时刻的奖赏加起来作为总回报:
$$ R(\tau)=\sum_{t = 0}^Tr_t $$
无限有折损回报 ($\textrm{infinite-horizon discount return}$) , 将往后至无穷的时间内每个时刻的奖赏加权后求和作为总回报.
$$ R(\tau) = \sum_{t = 0}^\infty\gamma^tr_t $$
其中 $\gamma\in(0,1)$ , 是一个参数.

有限无折损回报很容易理解, 那么为什么会有无限有折损回报这种形式呢? 这有着直觉和数学上的双重意义.

  • 直觉上, 我们会将眼前利益看得更重要, 而未来的利益则显得没那么重要 ($\textrm{Cash now is better than cash later}$) .
  • 数学上, 无限无折损回报会无法收敛到一个有限的值, 而乘上 $\gamma^t$ 这个折扣因子 ($\textrm{discount factor}$) 可以很好的解决这个问题.

虽然这两种函数在数学上差别很大, 但在 $\textrm{deep RL}$ 中, 这两者往往会混用: 用无折扣来最优化参数, 同时在估算价值函数的时候使用有折扣.

价值函数

价值函数有两种, 一种是价值函数, 一种是动作-价值函数. 它们俩的区别就在于当前动作是否给出

价值函数
$$ V^{\pi}(s) = \mathop{\mathrm E}_{\tau\sim\pi}[R(\tau)\mid s_0 = s] $$
动作-价值函数
$$ Q^\pi(s,a)=\mathop{\mathrm{E}}_{\tau\sim\pi}[R(\tau)\mid s_0=s,a_0=a] $$
可以显而易见的看到差别就在于 $a$ 是否被指定.

强化学习的目的就在于求出最优策略, 我们将最优策略下的价值函数和动作价值函数用 $V^*(s)$ 与 $Q^*(s,a)$ 来表示, 则有
$$ V^*(s)=\max_\pi\mathop{\mathrm{E}}_{\tau\sim\pi}[R(\tau)\mid s_0=s]\\\\ Q^*(s,a)=\max_\pi\mathop{\mathrm{E}}_{\tau\sim\pi}[R(\tau)\mid s_0=s,a_0=a] $$
同时容易得出以下两个等式
$$ V^\pi(s)=\mathop{\mathrm{E}}_{a\sim\pi}[Q^\pi(s,a)]\\\\ V^*(s)=\max_{a}Q^*(s,a) $$
这里要注意, 在默认的情况下, 回报函数 $R(\tau)$ 一般是指无限有折损回报 ($\textrm{infinite-horizon discount return}$) , 如果使用的是有限无折损回报, 那么还要接受一个额外的参数: 时间.

Bellman 方程

Bellman 方程给出了求解最优策略的过程. 对于某个策略 $\pi$ , 我们有
$$ V^\pi(s) = \mathop{\mathrm{E}}_{a\sim\pi,s'\sim P}[r(s,a)+\gamma V^\pi(s')]\\\\ Q^{\pi}(s,a)=\mathop{\mathrm{E}}_{s'\sim P}\left[r(s,a)+\gamma\mathop{\mathrm{E}}_{a'\sim\pi}[Q^\pi(s',a')]\right] $$
 用时对于最优策略, 我们有
$$ V^*(s) = \max_{a}\mathop{\mathrm{E}}_{s'\sim P}[r(s,a)+\gamma V^\pi(s')]\\\\ Q^*(s,a)=\mathop{\mathrm{E}}_{s'\sim P}\left[r(s,a)+ \gamma \max_{a'}Q^\pi(s',a')\right] $$
其中 $s'\sim P$ 是 $s'\sim P(\cdot\mid s,a)$ 的缩写, $a\sim \pi$ 与 $a'\sim \pi$ 分别是 $a\sim \pi(\cdot\mid s)$ 与 $a'\sim \pi(\cdot\mid s')$ 的缩写.

优势方程

优势方程 $A^{\pi}(s,a)$考虑了某个动作 $a$ 在当前状态 $s$ 以及采取策略 $\pi$ 下到底有多好.
$$ A^{\pi}(s,a)=Q^{\pi}(s,a)-V^{\pi}(s) $$