强化学习的数学原理 · Chap3 · Bellman Optimality Equation

好好学习

[TOC]

https://www.bilibili.com/video/BV1sd4y167NS

笔记丢失了一次

这是补档版本,稍微粗略一点……心态小炸

Optimal Policy

当一个策略,在任意状态都比另一个策略的state value更好(或者相等)

我们就认为这个策略优于另一个策略

当一个策略比所有策略都好,它就是最优策略

Bellman Optimality Equation

$$ \begin{split} v(s) &= {\color{red}\max_\pi} \sum_a \pi(a|s) \left( \sum_r p(r|s,a)r + \gamma \sum_{s'} p(s'|s,a)v(s')\right), \quad \forall s\in \mathcal{S} \\ &= {\color{red}\max_\pi} \sum_a \pi(a|s) q(s,a), \quad \forall s\in \mathcal{S} \end{split} $$

相比于贝尔曼公式,BOE实质上就是多了一个优化问题

  • 已知:$p(r|s,a),p(s’|s,a)$
  • 未知:$v(s),v(s’)$,需要我们针对不同的$\pi$​去计算
  • 求解:$\pi$

自然有向量形式:

$$ v = \max_\pi (r_\pi + \gamma P_\pi v) $$

Maximization

我们先考虑固定$v$,看看能不能求解$\pi$​

$$ v = \max_\pi\sum_a \pi(a|s)q(s,a) $$

其中$q(s,a)$自然也是一个已知的量(所有的$v$都可以知道,自然可以算出$q$)

同时有:

$$ \sum_a \pi(a|s) = 1 $$

那么本质上$\sum_a \pi(a|s)q(s,a)$是对action value做加权平均

为了最大化这一项,我们肯定需要给最大的$q$最多的权值,也就是1

可以得到策略:选择action最大的行动$a^*$

$$ \pi(a|s) = \begin{cases} 1 & \text{ if } a= a^*\\ 0 & \text{ if } a\neq a^* \end{cases} $$

这样我们就能得到原式:

$$ v = \max_\pi\sum_a \pi(a|s)q(s,a) = \max_{a\in \mathcal{A}(s)}q(s,a) \\ \text{where }a^* = \arg \max_a q(s,a) $$

只要我们固定$v$,我们肯定就能得到最优策略,自然计算出右边的值

因此右边的值可以直接表示成一个只关于$v$的函数:$v=f(v)$

表达成向量形式:

$$ f(v):=\max_\pi (r_\pi+\gamma P_\pi v) $$

搜索一下不动点定理或叫Contraction mapping theorem

基于这个定理,可以证明$f(v)$是符合这个定理的条件的

大概就是:

  • 函数具有压缩性:有$\left|v_1-v_2\right | \leq \gamma\left|f(v_1)-f(v_2)\right |$

也就是满足这个条件,就会有

  • 必然存在唯一的一个不动点$f(v) =v$

因此,我们可以不断套用$v,f(v),f(f(v)),…$

最后会收敛得到不动点,具体证明略过

实际上的操作就是:

$$ v_{k+1}=f(v_k) =\max_\pi (r_\pi+\gamma P_\pi v_k) $$

那么如何证明最后收敛到的结果$v^*$就是最优解呢?

固定$v=v^$,自然可以得到当前的策略$\pi^$

$$ \pi^* = \arg \max_\pi (r_\pi+\gamma P_\pi v^*) $$

将$\pi^*$代入:

$$ v^* = \max_\pi (r_\pi+\gamma P_\pi v_*) = r_{\pi^*}+\gamma P_{\pi^*} v^* $$

你会发现变成state value的公式了

也就是说$v^$,就是策略$\pi^$​的state value

我们考虑策略替换成任意其他的策略$\pi$时:

$$ v^* = r_{\pi^*}+\gamma P_{\pi^*} v^* \geq r_\pi + \gamma P_\pi v^* $$

令该策略对应state value的贝尔曼公式:

$$ v = r_{\pi}+\gamma P_{\pi} v $$

做一个减法则有:

$$ v^*-v \geq (r_\pi + \gamma P_\pi v^*)-(r_{\pi}+\gamma P_{\pi} v) = \gamma P_\pi(v^*-v) $$

令$\Delta = v^*-v$,则有:

$$ \Delta \geq \gamma P_\pi\Delta $$

我们只需要把右边的$\Delta$不停代换为$\gamma P_\pi\Delta$:

$$ \Delta \geq \gamma P_\pi\Delta \geq \gamma^2 P_\pi^2\Delta \geq ... \geq \gamma^n P_\pi^n\Delta \geq 0 $$

故对于策略$\pi^*$,其state value始终是最大的

因此是最优策略

Analysis

  • Change $r\to ar+b$会发生什么?
    • 什么都不会发生
    • 可以证明 $v’ = av^*+\frac{b}{1-\gamma}I$,所有state value的相对大小没有发生变化
    • 自然action value不会有其他选择,policy不改变
  • 如何鼓励走最短路径?
    • 其实不用一直给agent做-1(损失能量),催促agent
    • $\gamma$本身就在催促agent尽快到终点,否则终点的贡献变少了
使用 Hugo 构建
主题 StackJimmy 设计