【笔记】为什么 MDP 一定存在最优决策?
总而言之,我只能证明在单步奖励有界的条件下存在最优决策(定理 2),但是我希望移除这个假设;而引入的不动点那一套又有一个我暂且认为存在且尝试解决无果的问题。
1. 介绍
1.1. 问题说明
我们考虑如下马尔可夫决策过程(Markov decision processes,MDP):有限状态集合 \(\mathcal{S}\),动作集合 \(\mathcal{A}\),给定当前状态 \(s\) 和动作 \(a\) 下的转移状态 \(S\) 和奖励 \(R\) 的分布 \(p(S,R|s,a)\)(用大写字母表示随机变量,小写字母表示其值)。一个决策 \(\pi\) 是给定状态 \(s\) 下的动作分布,记作 \(\pi(A|s)\)。给定 MDP 过程、初始状态 \(s_1\) 和决策 \(\pi\),第 \(t\) 轮:agent 在状态 \(s_t\) 上以 \(\pi(a_t|s_t)\) 采样 \(a_t\),环境以 \(p(s_{t+1},r_t|s_t,a_t)\) 采样 \(s_{t+1}\) 和 \(r_t\)。我们用 \(\mathbb{E}_{\pi:X_1,\cdots}[\cdot]\) 强调随机变量 \((X_1,\cdots)\) 是关于决策 \(\pi\) 的,后续也可以简写为 \(\mathbb{E}_{\pi}[\cdot]\)。
给定折扣因子 \(0\le\gamma< 1\),定义状态 \(s\)(基于决策 \(\pi\))的价值 \(V^\pi (s) = \mathbb{E}_{\pi}[ \sum_{t=1}^\infty \gamma^{t-1} R_t | S_1 = s ]\),定义状态决策对 \((s,a)\)(基于决策 \(\pi\))的价值 \(Q^\pi(s, a)=\mathbb{E}_{\pi}[ \sum_{t=1}^\infty \gamma^{t-1} R_t | S_1 = s, A_1 = a]\),于是显然有:
这里需要明确:一个价值函数 \(V^\pi(s)\) 可以看作一个向量 \([V^{\pi}(s)]_{s\in\mathcal{S}}\),但实际上是基于一个决策 \(\pi\) 的;反之随便一个向量不一定存在一个决策,使得其价值函数等于这个向量。这个比较显然的事实在本文后半部分似乎变得尤为关键(也可能是我太过愚钝导致的)。
一个决策 \(\pi^\star\) 是最优决策,当且仅当对任意 \(s\) 和任意 \(\pi\),都有 \(V^{\pi^\star}(s)\ge V^\pi(s)\)。一个自然而然的问题是:任意 MDP 都有最优决策吗?
1.2. Warm Up
我先提出一种可能的尝试构造证明最优决策存在的方式:对任意 \(s\in\mathcal{S}\),定义 \(V^\star = \max_{\pi} V^\pi(s)\),这就是我们熟悉的“最优价值函数”,也就是上文最优决策(如果存在的话)的价值函数。基于此,我们可以直接构造一个确定性决策 \(\widehat{\pi}\):
某课程非常简略地(应该是想)表达 \(V^\star(s) = V^{\widehat{\pi}}(s)\) 对任意 \(s\) 成立,于是乎 \(\widehat{\pi}\) 就是最优决策。其实我也不知道事实是否真的如此,但是我首先产生了如下疑惑:首先,如何保证一定存在一个决策在所有状态都能不差于其他决策?又或者如果尝试证明,由于 \(\widehat{\pi}\) 是在根据 \(V^\star\) 决策,这和它自己的 \(V^{\widehat{\pi}}\) 是什么关系?
如果你能给出一个 \(V^\star(s) = V^{\widehat{\pi}}(s)\) 对任意 \(s\) 成立的证明,请及时教我!如果跟我一样产生了迷惑,就继续看下去吧。
2. 存在性证明
2.1. 贪心:决策提升
首先思考一个最优决策需要满足什么条件。当我们在状态 \(s_t\) 正打算使用 \(\pi\) 决策时,可以先停一下:为什么不直接取 \(a_t \in {\arg\max}_a Q^\pi (s_t, a)\) 而不是 \(a_t\sim \pi(A|s_t)\) 呢?这其实就是根据 \(\pi\) 定义了一个新的确定性决策 \(\pi'\),满足对任意状态 \(s\):
有意思的是,我们可以证明 \(\pi'\) 不比 \(\pi\) 差:
Theorem 1.(决策提升定理)对决策 \(\pi\),使用 \((3)\) 式定义 \(\pi'\),则有
Proof. 这个定理似乎并不容易通过直觉获得,因为 \(\pi'\) 决策是在每步最大化基于 \(\pi\) 的价值,这与其本身价值的关系并不直接。但总之我们可以这么理解并证明它:把 \(\pi'\) 的决策过程(在每一步假想未来仍然使用决策 \(\pi\),基于此在当前步贪心;在下一步时使用同样的贪心)展开:
2.2. 贝尔曼最优方程
假设存在一个决策 \(\pi\) 满足:
就无法通过决策提升获得价值函数严格更大的决策了。此时称该决策满足贝尔曼最优方程(Bellman optimality equations)。这和我们之前提到的最优决策有什么关系呢?一个显而易见的事实是,一个最优决策若存在,则必定满足贝尔曼最优方程(反证),从而在贝尔曼最优方程的解集里。反之(若无法“决策提升”则必定为最优决策)似乎不显然,因为“决策提升”只是提升价值函数的一种方法,这个方法无效了不意味着不存在其他方法能够继续提升价值;不过后面我们会证明反之亦然。
当然,目前我们手头只有贝尔曼最优方程,所以依次会有两个问题:1)贝尔曼最优方程一定有解吗?2)若一定有解,这些解里一定存在最优决策吗?
如果两个问题的答案都是肯定的,那么我们就回答了本文一开始提出的问题:MDP 过程一定存在最优决策。我们先考虑第二个问题。
Lemma 1. 如果一个决策 \(\pi\) 满足贝尔曼最优方程,那么其一定是最优决策。
Proof. 证明思路和决策提升定理类似,但是是反过来使用。对任意状态 \(s\),任意决策 \(\pi'\),都有
2.3. MDP 最优决策一定存在!如果假设单步奖励有界...
现在我们可以回过头来考虑第一个问题:贝尔曼最优方程一定有解吗?注意这个方程是关于决策的。
我们可以从一个原始的角度肯定地回答这个问题——决策提升:我们根据 \(\pi\) 定义 \(\pi'\),满足 \(V^\pi(s)\le V^{\pi'}(s),\forall s\in\mathcal{S}\)。我们记 \(R_{\max}\) 为最大的单步奖励,则显然对任意 \(\pi,s\) 都有 \(V^\pi(s)\le R_{\max}/(1-\gamma)\)。根据单调有界必收敛,决策迭代最终将收敛至无法提升,同时伴随着一个决策 \(\pi_{\infty}\);\(\pi_{\infty}\) 无法决策提升意味着它满足贝尔曼最优方程 \((6)\),根据引理 1,\(\pi_{\infty}\) 是最优决策。我们将其表述为如下定理:
Theorem 2. MDP 问题,假设单步奖励有界。从任意初始决策开始,通过式 \((3)\) 做决策提升,则必然收敛至 \(\pi_{\infty}\) 使得对其做决策提升后的价值函数不变。此时 \(\pi_{\infty}\) 是 MDP 的一个最优决策。
2.4. 决策 \(\Rightarrow\) 价值,反之?
到此我们似乎已经回答了本文的标题(除了假设单步奖励有界这个略有遗憾的补丁)。但是本文似乎看起来远没有完结,这是因为我在写出定理 2 之前,一直关注于市面上普遍提到的将贝尔曼最优方程转化为不动点问题再去证明不动点存在的做法。写到最后我意识到一个问题:将关于决策的方程转化为关于价值函数、准确来说是关于价值向量的不动点方程,但是事实求解的是关于向量的不动点方程,这样即使证明出存在不动点(一个向量而不是决策),还差说明必定存在某个决策使得其价值向量等于这个不动点。这个问题可能可以弥补,作为本文的 open problem。
因此,第 3 节将介绍不动点的做法,虽然到目前我还不能说服自己利用其证明本文的标题。
3. 不动点
3.1. 贝尔曼最优算子
先回顾一下贝尔曼最优方程 \((6)\):
其中将 \(S_t=s,A_t=a\) 简写为 \(s,a\),下同。将该方程看作关于决策 \(\pi\) 的价值向量 \([V^\pi(s)]_{s\in\mathcal{S}}\in\mathbb{R}^{|\mathcal{S}|}\) 的方程,具体而言,定义“贝尔曼最优算子(Bellman optimality operator)” \(\mathcal{T}:\mathbb{R}^{|\mathcal{S}|}\to \mathbb{R}^{|\mathcal{S}|}\),为
从而贝尔曼最优方程 \((6)\) 等价于
这意味着贝尔曼最优方程 \((6)\) 的解(决策)的价值向量是贝尔曼最优算子的一个不动点。
这里我想应该再次强调:关于向量 \(V^{\pi}\) 的不动点方程 \((8)\),实际上要求了必须存在某个决策 \(\pi\) 使得为其的价值向量(正如我们之前提到的,随便一个向量不一定有一个对应的价值向量/决策)。所以如果我们在求解的是 \(V=\mathcal{T}V\)(下文),就得小心求证它的解是否对应了一个(或多个)决策。
3.2. 压缩映射
先抛出定理:
Theorem 3. (Banach fixed-point theorem) 一个度量空间 \((\mathcal{X}, d)\) 上的映射 \(\mathcal{M}:\mathcal{X}\to \mathcal{X}\) 是压缩映射(contraction mapping),若存在 \(0\le k< 1\) 使得对任意 \({\mathbf{x}},{\mathbf{y}}\in\mathcal{X}\),有 \(d(\mathcal{M}({\mathbf{x}}), \mathcal{M}({\mathbf{y}})) \le k d({\mathbf{x}},{\mathbf{y}})\)。此时该压缩映射 \(\mathcal{M}\) 对应的不动点方程 \({\mathbf{x}} = \mathcal{M}({\mathbf{x}})\) 有唯一解 \({\mathbf{x}}^ *\),且可以通过如下方式找到:从任意点 \({\mathbf{x}}_0\) 开始,构建序列 \(\{{\mathbf{x}}_n\}\) 满足 \({\mathbf{x}}_n = \mathcal{M}({\mathbf{x}}_{n-1})\),于是 \({\mathbf{x}}_n\) 以指数速率收敛至 \({\mathbf{x}}^ *\)。
Intuition. \(\lim_{n\to\infty}d(\mathcal{M}^{n}({\mathbf{x}}_0)- {\mathbf{x}}^\star) = \lim_{n\to\infty}d(\mathcal{M}^{n}({\mathbf{x}}_0)- \mathcal{M}^{n}({\mathbf{x}}^\star))\le \lim_{n\to\infty} k^n d({\mathbf{x}}_0, {\mathbf{x}}^\star) = 0\).
既然有这个定理,我们可以考虑证明贝尔曼最优算子 \(\mathcal{T}\) 是压缩映射:
Lemma 2. 贝尔曼最优算子 \(\mathcal{T}\) 是度量空间 \((\mathbb{R}^{|\mathcal{S}|}, \|\cdot\|_{\infty})\) 上的压缩映射。
Proof.
3.3. Open Problem:然后?
有且仅有解 \(V^\star\),且可以通过任意 \(V_0\) 和递推式 \(V_n = \mathcal{T}V_{n-1}\) 逼近。首先,这里的 \(V^\star\) 和上文提到的“最优价值函数”虽然符号相同,但我还没法证明它俩实际是一个东西。其次,式 \((9)\) 和式 \((8)\) 看起来还是不一样的——那么,是否存在一个决策 \(\pi^\star\) 使得 \(V^{\pi^\star} = V^\star\) 呢?
做到这,我从两个角度分别尝试说明 \(\pi^\star\) 存在,但是都遇到了些问题;
Proposal 1. 考虑得到 \(V^\star\) 后,直接构造 \(\widehat{\pi}\):
那么问题在于,如何证明 \(\widehat{\pi}\) 是最优决策呢?
Proposal 2. 我们可否类似决策提升,根据不动点方程也构造一个决策的递推呢?具体而言,给定 \(\pi\),我们能否构造 \(\pi'\),使得
成立呢?如果可以,我们就可以说明存在一个决策 \(\pi^\star\) 使得 \(V^{\pi^\star} = V^\star\),而这个 \(\pi^\star\) 就由我们构造的递推得到。
4. 总结
我们首先通过引入决策提升和贝尔曼最优方程,说明了两件事:1)若最优决策存在,则其一定是贝尔曼最优方程的解;2)若贝尔曼最优方程有解,则解一定是最优决策。接着我们尝试说明贝尔曼方程有解,有两种思路:1)利用决策提升说明策略迭代收敛,从而收敛的解满足贝尔曼最优方程,这个方法假设单步奖励有界;2)利用将关于决策的贝尔曼最优方程转化为求解决策的价值向量的贝尔曼最优算子的不动点,之后证明了向量的贝尔曼最优算子存在不动点,但是在试图说明存在决策使得其价值向量等于该不动点时出现了问题。
参考
[1] https://hrl.boyuai.com/
[2] https://towardsdatascience.com/why-does-the-optimal-policy-exist-29f30fd51f8c