强化学习笔记2--bellman equation 一、State Value 状态价值的定义在策略π下从某个状态s开始会有多个trajectory计算所有trajectory的平均Discounted Return即为s1在策略π的state value记为如果在策略π中s开始仅有一条trajectory那么s的state value等于s的在这条trajectory的discounted return。二、贝尔曼方程的推导有这样一条trajectory从时刻 t 开始的Discounted Return为可以直接写作这说明一个状态的 return 依赖于后续状态的 return。脱离这条trajectory将上述递归结构代入状态价值函数的定义中第一项即时奖励期望该项表示在状态 s 下根据策略 π 选择动作然后立刻获得奖励的期望值。展开为第二项未来回报期望该项表示在状态 s 下所有可能转移到的下一个状态 s′ 的价值按其转移概率加权平均。展开为核心含义当前状态的价值 即时奖励的期望 折扣后未来状态价值的期望。三、矩阵形式的贝尔曼方程对于有限状态空间我们可以将贝尔曼方程写成矩阵形式以描述所有状态价值之间的全局关系。设状态空间大小为 n 定义以下向量和矩阵向量r的元素为在策略 π 下ri获得的即时奖励均值基于上述定义标量形式的贝尔曼方程可以紧凑地表示为四、实例计算2×2 网格世界考虑一个 2×2 的网格四个状态分别记为 s1,s2,s3,s4s1​,s2​,s3​,s4​ 对应位置 [1,1], [1,2], [2,1], [2,2]。在策略 π 下各状态的转移和奖励如下从 s1​ 以 0.5 概率选择动作 a1.1 转移到 s2​ 获得奖励 -1以 0.5 概率选择动作 a1.2转移到 s3 获得奖励 0。从 s2 选择动作 a2.1​ 转移到 s4​ 获得奖励 1。从 s3​ 选择动作 a3.1​ 转移到 s4​ 获得奖励 1。从 s4 选择动作 a4.1​ 自循环到 s4​ 获得奖励 1。根据贝尔曼方程列出每个状态的价值方程矩阵形式像这样根据策略以及bellman equation进行state value求解就叫做策略评估 policy evaluation。计算出的state value可以用来对策略进行评估五、一种迭代方式在第三章中计算得到的state value的矩阵计算公式需要矩阵求逆在高维矩阵实现较为复杂这里介绍一种迭代方式可以进行state value计算。公式r π 相当于第三章矩阵公式的矩阵rPπ相当于矩阵P依然使用上面网格世界的例子进行展示可以看到随着迭代进行各状态的state value在不断更新并逐渐接近真实值如 vπ(s4)1/(1−0.9)1010 。实际应用中当相邻两次迭代的差值小于某个阈值时即可认为已收敛。六、Action Value动作价值的定义学习了state value后action value就很好理解了state value会计算状态s下所有action的平均return而action value衡量的是在状态s下采取特定action后的平均return公式它与状态价值函数的关键区别在于状态价值是对所有可能动作的加权平均而动作价值是固定某个动作后的期望回报。从状态价值到动作价值的转换回顾state value的公式换成另一个式子可知以及根据这些公式可以通过state value计算action value也可以通过action value计算state value实例计算依旧用之前的网格世界例子进行展示计算s1的向右和向下两个action的action value除此之外策略没有定义的动作即 (∣)0的动作也可以计算action value当需要计算的依赖项当前状态 和执行的动作 、转移后的即时奖励r、转移后状态 以及转移后的state value全部已知时就可以计算。如果当前策略之外的action的action value 当前策略action的action value就说明当前策略并非最优策略这时策略优化的核心依据。