强化学习中值迭代收敛性推理证明

  在开始证明之前,我想说的是定理是证明给怀疑者,如果你对这个定理不怀疑,那么你就不需要证明。接下来直观感受一下强化学习中值迭代的收敛性。

  假设现在的Agent处于一个state s s 下,想要去找一个optimal state,那怎么去找呢?就是遍历所有的policy能够使得当前的state s s ,在遍历的某个policy π x \pi_{x} 下值最大,也就找到了这个state所对应的最大value,用数学语言描述如下:

v ( s ) = max π v π ( s ) v_{*}(s) = \max_{\pi} v_{\pi} (s)

  不用去怀疑,你一定能找到这样的一个最大的state value,因为你遍历了所有的policy。那能够使得state value最大的那个policy π x \pi_{x} 就是optimal policy π \pi^{*} ,即 π x = π \pi_{x} = \pi^{*} 。那此时贝尔曼方程就是一个完全收敛的情况,可表示为:

v ( s ) = max a R s a + arg max a A γ s S P s s a v ( s ) v_{*}(s)=\max _{a} \mathcal{R}_{s}^{a}+\argmax_{a \in A}\gamma \sum_{s^{\prime} \in \mathcal{S}} \mathcal{P}_{s s^{\prime}}^{a} v\left(s^{\prime}\right)

  如果不收敛,那它(value)肯定还没有到达optimal variable。上述等式在收敛的情况下就会成立,而不仅仅是一个赋值的关系。

  观察上述式子,optimal policy是什么?也即每次是如何take action的呢?也就是等式的右端项:

π ( s ) = arg max a A s S P s s a v ( s ) \pi^{*}(s) = \argmax_{a \in A} \sum_{s^{\prime} \in \mathcal{S}} \mathcal{P}_{s s^{\prime}}^{a} v\left(s^{\prime}\right)

  那随便给一个状态,我们每次都按照optimal policytake action,那每次state value都会大于等于之前非最优的policy所得出来的state value吧:

v ( s ) = v π ( s ) v π ( s ) v_{*}(s) = v_{\pi *}(s) \geq v_{\pi}(s)

  也就是说每次都按照optimal policytake actionstate value其实都会有所改进(或者至少不会比以前的差)。那真实的state value总有一个上界吧,总会收敛吧。

Value Iteration

  再来看看值迭代value iteration ,其实就是不断地去套bellman equation,就变成了对于每一个state去计算 V ( s ) V(s)

V ( s ) = R ( s ) + max a A γ s S P s a ( s ) V ( s ) \begin{aligned} V(s) =R(s)+\max _{a \in A}\gamma \sum_{s^{\prime} \in S} P_{s a}\left(s^{\prime}\right) V\left(s^{\prime}\right) \end{aligned}

  这里是没有策略 π \pi 的,整个方程就是在表达,policytake action的时候,就是在take max a A γ s S P s a ( s ) V ( s ) \max _{a \in A}\gamma \sum_{s^{\prime} \in S} P_{sa}\left(s^{\prime}\right)V\left(s^{\prime}\right) ,那在值迭代里面,它自己去维护这样一个value function就可以了。policy只要使得后面上述等式后面那个max成立就可以了。

我的微信公众号名称:深度学习先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究深度学习、强化学习、机器博弈等相关内容!期待您的关注,欢迎一起学习交流进步!

发布了185 篇原创文章 · 获赞 168 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/weixin_39059031/article/details/104565282