两种回报函数

在强化学习中, 有两种常用的回报函数, 即有限无折损回报 (finite-horizon undiscount return) , 它将有限时间内每个时刻的奖赏加起来作为总回报:

R(τ)=t=0Trt

无限有折损回报 (infinite-horizon discount return) , 将往后至无穷的时间内每个时刻的奖赏加权后求和作为总回报.
R(τ)=t=0γtrt

其中 γ(0,1) , 是一个参数.

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

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

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

价值函数

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

价值函数

Vπ(s)=Eτπ[R(τ)s0=s]

动作-价值函数
Qπ(s,a)=Eτπ[R(τ)s0=s,a0=a]

可以显而易见的看到差别就在于 a 是否被指定.

强化学习的目的就在于求出最优策略, 我们将最优策略下的价值函数和动作价值函数用 V(s)Q(s,a) 来表示, 则有

V(s)=maxπEτπ[R(τ)s0=s]Q(s,a)=maxπEτπ[R(τ)s0=s,a0=a]

同时容易得出以下两个等式
Vπ(s)=Eaπ[Qπ(s,a)]V(s)=maxaQ(s,a)

这里要注意, 在默认的情况下, 回报函数 R(τ) 一般是指无限有折损回报 (infinite-horizon discount return) , 如果使用的是有限无折损回报, 那么还要接受一个额外的参数: 时间.

Bellman 方程

Bellman 方程给出了求解最优策略的过程. 对于某个策略 π , 我们有

Vπ(s)=Eaπ,sP[r(s,a)+γVπ(s)]Qπ(s,a)=EsP[r(s,a)+γEaπ[Qπ(s,a)]]

 用时对于最优策略, 我们有
V(s)=maxaEsP[r(s,a)+γVπ(s)]Q(s,a)=EsP[r(s,a)+γmaxaQπ(s,a)]

其中 sPsP(s,a) 的缩写, aπaπ 分别是 aπ(s)aπ(s) 的缩写.

优势方程

优势方程 Aπ(s,a)考虑了某个动作 a 在当前状态 s 以及采取策略 π 下到底有多好.

Aπ(s,a)=Qπ(s,a)Vπ(s)