参考:蘑菇书-《EasyRL》
推荐直接阅读蘑菇书
本文只是为了方便自己今后的查阅对原文做出的一些概括与摘录,与大家共同学习。
PS:
第一节->马尔可夫奖励过程
第二节->马尔可夫决策过程-上
目录
书接上回,
9.策略评估
含义:已知马尔可夫决策过程以及要采取的策略 π ,计算价值函数 Vπ(s) 的过程就是策略评估。
别称:(价值)预测,也就是预测我们当前采取的策略最终会产生多少价值。
10.预测prediction
用途:评估一个给定的策略。
输入:马尔可夫决策过程 < S, A, P, R, γ > 和策略 π。
输出:价值函数Vπ。
含义:预测是指给定一个马尔可夫决策过程以及一个策略 π ,计算它的价值函数,也就是计算每个状态
的价值。
11.控制control
用途:搜索最佳策略。
输入:马尔可夫决策过程 < S, A, P, R, γ >。
输出:最佳价值函数(optimalvalue function)V∗ 和最佳策略(optimal policy)π∗。
含义:控制就是我们去寻找一个最佳的策略,然后同时输出它的最佳价值函数以及最佳策略。
11.5.预测&控制
在马尔可夫决策过程里面,预测和控制都可以通过动态规划解决。
在强化学习中,我们通过解决预测问题,进而解决控制问题。
12.动态规划dynamic programming,DP
适用:解决满足最优子结构(optimal substructure)和重叠子问题(overlapping subproblem)两个性质的问题。
最优子结构:问题可以拆分成多个小问题,通过解决这些小问题,组合小问题的答案,得到原问题的答案,即最优解。
重叠子问题:子问题出现多次,并且子问题的解决方案能够被重复使用,我们可以保存子问题的首次计算
结果,在再次需要时直接使用。
马尔可夫决策过程是满足动态规划的要求的,在贝尔曼方程里面,我们可以把它分解成递归的结构。动态规划应用于马尔可夫决策过程的规划问题而不是学习问题,我们必须对环境是完全已知的,才能做动态规划,也就是要知道状态转移概率和对应的奖励。使用动态规划完成预测问题和控制问题的求解,是解决马尔可夫决策过程预测问题和控制问题的非常有效的方式。
13.马尔可夫决策过程中的策略评估(预测)
我们可以直接把贝尔曼期望备份,变成迭代的过程,反复迭代直到收敛。这个迭代过程可以看作同步备份的过程。
同步备份(synchronous backup):指每一次的迭代都会完全更新所有的状态。
异步备份(asynchronous backup):指每一次迭代不需要更新所有的状态。
贝尔曼期望备份(Bellman expectation backup):详见上一节,就是贝尔曼期望方程的备份形式,表示了当前状态的价值与未来状态价值之间的关联:
策略评估的核心思想就是把上式反复迭代,最后得到一个收敛的价值函数的值。
因为已经给定了策略函数,利用上一节3.状态转移的方法,去掉动作a,简化成马尔可夫奖励过程:
迭代上式,也可以得到每个状态的价值。
14.马尔可夫决策过程控制
最佳价值函数是指,我们搜索一种策略 π 让每个状态的价值最大。定义为
最佳策略定义为
上式是定义域(argmax)表达式,即找出一个最佳策略集合使得每个状态的价值函数都取得最大值。集合中的多个最佳策略可以取得相同的最佳价值。
寻找最佳策略的过程就是马尔可夫决策过程的控制过程。
解决方法:策略迭代和价值迭代。
15.策略迭代
策略迭代的两个步骤:策略评估和策略改进。
1.首先是策略评估:
在策略改进中会得到一个最新的策略,先保证这个策略不变,然后估计它的价值,即给定当前的策略函数来估计新的状态价值函数。
2.其次是策略改进:
得到状态价值函数后,通过奖励函数以及状态转移函数来计算它的 Q 函数:
然后对 Q 函数进行最大化,通过在Q 函数做一个贪心的搜索来进一步改进策略。对于每个状态,取使它得到最大值的动作,得到新的策略,即:
这两个步骤一直在迭代进行,状态价值函数和策略逐渐收敛,如图。
上式arg max操作是指在每个状态里面采取一个动作,这个动作是能使每一对应状态的 Q 函数值最大化的动作。
15.5 贝尔曼最优方程Bellman optimality equation
当改进停止后,我们取让 Q 函数值最大化的动作,Q 函数就会直接变成价值函数,即
这个方程就是贝尔曼最优方程。
含义:最佳策略下的一个状态的价值 必须等于 在这个状态下采取最好动作得到的回报的期
望。
满足贝尔曼最优方程后,我们可以采用最大化操作,取让 Q 函数值最大化的动作对应的值就是当前状态的最佳的价值函数的值。
-------------------------------------------------------------------------------------------------------------------------------------
另外,我们给出 Q 函数的贝尔曼方程
代入后可得Q 函数之间的转移:
以及状态价值函数的转移:
16.价值迭代
最优性原理定理(principle of optimality theorem):
一个策略 π(s|a) 在状态 s 达到了最优价值,也就是 Vπ(s) = V ∗(s) 成立,前提是对于任何能够从 s 到达的 s′都已经达到了最优价值。也就是对于所有的s′,Vπ(s′) = V ∗(s′) 恒成立。
确认性价值迭代
如果我们知道子问题 V ∗(s′) 的最优解,就可以通过价值迭代来得到最优的 V ∗(s) 的解。价值迭代就是把贝尔曼最优方程当成一个更新规则来进行,即
只有当整个马尔可夫决策过程已经达到最佳的状态时,上式才满足。为了得到最佳的 V ∗ ,对于每个状态的 V ,我们直接通过贝尔曼最优方程进行迭代,迭代多次之后,价值函数就会收敛,并趋向于最佳的价值函数。这种价值迭代算法也被称为确认性价值迭代(deterministic value iteration)。
如何进一步推算出它的最佳策略。我们可以直接用 arg max 操作来提取最佳策略。我们先重构 Q 函数,重构后,每一列对应的 Q值最大的动作就是最佳策略。