一、一些概念
马尔科夫性质:当前时刻状态仅仅与前一个时刻相关。
状态转移矩阵,表明了任意状态a到状态b的条件概率。
马尔科夫过程(马尔科夫链):一个具有马尔科夫性质的无记忆的随机过程,包含n个状态。
马尔科夫激励过程(S,P,R,γ)是一个带有value的马尔科夫链。
用 Gt 来表示t时刻会得到的总的return。出于数学计算、防止NaN无穷大的return等原因,引入折扣因子 γ∈[0,1] 来对下一时刻的奖励和更远的奖励之间进行取舍。(若所有序列都会在有限步终结,而且策略上合适,γ也可以取1。)
价值函数v(s),在马尔科夫激励过程(MRP)中表征指定状态下,获得的return的期望。是由所有包含该状态的样本Sample序列计算出来的。其中 Rs 是立即奖励,可以认为是离开状态s时获得的奖励。
上面的公式可以向量化的表示为:
而这个公式是有解析解的,MRP每个状态的价值可以直接被解出来。
二、MDP
马尔科夫决策过程(S,A,P,R,γ),在MRP基础上增加了有限的action集合。
策略,给定状态时,关于行为的概率分布,用π来表示。决定了agent的行为。
MDP和马尔科夫过程、MRP内在的联系。
状态价值函数 vπ(s) 定义了在状态s下,采用策略π,所能获得的期望return。
行为价值函数 qπ(s,a) 定义了在状态s下,采取行为a,并在之后采用策略π所能获得的期望return。
这两个价值函数之间密切相关。状态的价值,就等于这个状态下所有行为a产生的行为价值q,乘以做出该行为的概率(策略)π。反之,行为的价值,就等于这个行为所能产生的立即奖励immediate reward加上折扣因子乘以下一个状态(到达这个状态的概率由动态转移矩阵来确定)乘以这个状态的状态价值。
在MDP中,你能够控制你的行为(通过策略),但是你无法控制环境(做出行为之后会发生什么),这个要靠动态转移矩阵来计算。
最佳价值函数 v∗(s) 和 q∗(s,a) 。最佳策略 π∗ ,就是在每个状态下选择最大的行为价值函数q*。
如何计算这个Q呢,Bellman Optimality Equation。也就是对每个状态,其价值等于价值最大的行为的价值,而这个行为的价值又由直接奖励和行为*可能会导致的状态价值有关。
而这个公式就无法直接解析求解了,求解的方法有:
- Value iteration
- Policy iteration
- Q-learning
- Sarsa
最后,对MDP的扩展模型和其他一些概念进行了简介,如infinite/continuous/POMDP/belief states。