强化学习中的马尔可夫决策过程,常见公式回顾

0. 基础知识

0.1 贝尔曼方程:

V(s)=R(s)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s\right) V\left(s^{\prime}\right)

       这个公式是强化学习的核心。

       其中, s′ 可以看成未来的某个状态, p(s′|s) 是指从当前状态转移到未来状态的概率。 V (s′) 代表的是未来某一个状态的价值。我们从当前状态开始,有一定的概率去到未来的所有状态,所以我们要把 p (s′ | s) 写上去。我们得到了未来状态后,乘一个 γ,这样就可以把未来的奖励打折扣。 加号后边的部分可以看成未来奖励的折扣总和(discounted sum of future reward)。

       贝尔曼方程定义了当前状态与未来状态之间的关系。未来奖励的折扣总和加上即时奖励,就组成了贝尔曼方程。

       这里再补充一个Q 函数的贝尔曼方程:

Q_{\pi}(s, a)=R(s,a)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) V_{\pi}\left(s^{\prime}\right)

1. 马尔可夫决策过程

1.1 状态转移函数和奖励函数的定义

       已知策略函数,也就是已知在每一个状态下,可能采取的动作的概率,所以我们就可以直接把动作进行加和,去掉a,这样我们就可以得到对于马尔可夫奖励过程的转移,这里就没有动作。

P_\pi\left(s^{\prime} \mid s\right)=\sum_{a \in A} \pi(a \mid s) p\left(s^{\prime} \mid s, a\right)

r_\pi(s)=\sum_{a \in A} \pi(a \mid s) R(s, a)

        注意这里公式中的下标都有π,表示马尔可夫决策过程中的状态转移矩阵、奖励函数、价值函数、动作价值函数。

1.2 价值函数与动作函数的定义
 

V_{\pi}(s)=\mathbb{E}_{\pi}\left[G_{t} \mid s_{t}=s\right]

Q_{\pi}(s, a)=\mathbb{E}_{\pi}\left[G_{t} \mid s_{t}=s, a_{t}=a\right]

     

1.3 Q与V的关系

       对 Q 函数中的动作进行加和,就可以得到价值函数。

V_{\pi}(s)=\sum_{a \in A} \pi(a \mid s) Q_{\pi}(s, a)

1.4 将价值函数和动作价值函数写成迭代形式

      当前状态的价值与未来状态价值之间的关联。

V_{\pi}(s)=\sum_{a \in A} \pi(a \mid s)\left(R(s, a)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) V_{\pi}\left(s^{\prime}\right)\right)

      当前时刻的 Q 函数与未来时刻的 Q 函数之间的关联。

Q_{\pi}(s, a)=R(s, a)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) \sum_{a^{\prime} \in A} \pi\left(a^{\prime} \mid s^{\prime}\right) Q_{\pi}\left(s^{\prime}, a^{\prime}\right)

2. 贝尔曼最优方程

2.1 最优状态价值函数和最优状态价值函数定义

      最优状态价值函数。

V^*(s)=\max _\pi V^\pi(s), \quad \forall s \in \mathcal{S}

      最优动作价值函数。

Q^*(s, a)=\max _\pi Q^\pi(s, a), \quad \forall s \in \mathcal{S}, a \in \mathcal{A}

2.2 两者间的关系

      当我们一直采取 arg max 操作的时候,我们会得到一个单调的递增。通过采取这种贪心操作(arg max 操作),我们就会得到更好的或者不变的策略,而不会使价值函数变差。所以当改进停止后,我们就会得到一个最佳策略。当改进停止后,我们取让 Q 函数值最大化的动作,Q 函数就会直接变成价值函数。

Q_{\pi}\left(s, \pi^{*}(s)\right)=\max _{a \in A} Q_{\pi}(s, a)=Q_{\pi}(s, \pi(s))=V_{\pi}(s)

      由此,我们可以得到,最优状态价值函数和最优状态价值函数之间的关系。即最佳策略下的一个状态的价值必须等于在这个状态下采取最好动作得到的回报的期望。

V^{*}(s)=\max _{a} Q^{*}(s, a)

      Q函数的贝尔曼方程

Q^*(s, a)=R(s, a)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) V^*\left(s^{\prime}\right)

  2.3 贝尔曼最优方程

      V函数之间的转移,即V函数的贝尔曼最优方程

V^{*}(s)=\max_{a} \left(R(s,a) + \gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) V^{*}\left(s^{\prime}\right)\right)    

      Q 函数之间的转移,Q 学习,即Q函数的贝尔曼最优方程。

Q^{*}(s, a)=R(s, a)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) \max _{a^{\prime}} Q^{*}\left(s^{\prime}, a^{\prime}\right)

     等到V^{k+1}V^{k}相同时,它就是贝尔曼最优方程的不动点,此时对应着最优状态价值函数等到和相同时,它就是贝尔曼最优方程的不动点,此时对应着最优状态价值函数V^{*} 在迭代后提取最优策略:,

\pi(s)=\underset{a}{\arg \max } \left[R(s, a)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) V^{k+1}\left(s^{\prime}\right)\right]

    

     

        .

猜你喜欢

转载自blog.csdn.net/tortorish/article/details/132677744