马尔可夫决策过程, Markov Decision Process, MDP
文章目录
一、为什么需要马尔可夫决策过程?
上图所展示的是强化学习的基本框架,描述的是智能体(Agent)与环境(Environment)交互的过程,在训练过程中,大致过程如下:
- 智能体会根据当前的环境状态S(state)做出决策,决定接下来采取动作A(action);
- 环境会根据智能体的动作A给予反馈R(或者说奖励Reward),并且由于该动作的产生,由状态S转换到S‘;
- 智能体在与环境不断的交互过程中产生大量的S、A、R的数据,以实际任务目标为导向,基于这些数据强化学习算法可以让智能体做出更正确的决策,也就是学习出了策略。
马尔可夫决策过程就是通过数学方式描述上述的过程,是强化学习的基础和核心。
二、马尔可夫决策过程
1. 马尔可夫性
- 马尔可夫性是指系统的下一个状态 S t + 1 S_{t+1} St+1仅与当前状态 S t S_t St有关,而与之前的状态无关;
- 马尔可夫性描述的是每一个状态的性质;
- 可以这样理解, S t S_t St包含了之前全部状态 S 1 S_1 S1, S 2 S_2 S2,…, S t − 1 S_{t-1} St−1的全部信息,只要知道 S t S_t St,之前的历史信息就可以抛弃了;
2. 随机过程
- 在使用中重要的是如何描述一个状态序列;
- 而数学中用来描述随机变量序列的方式就是随机过程;
- 如果这个随机过程中的每个状态都是符合马尔可夫性的,那么则称这个随机过程为马尔可夫随机过程。
3. 马尔可夫过程
- 马尔可夫过程定义为: ( S , P ) (S,P) (S,P);
- 其中 S S S是有限状态集, P P P是状态转移概率(是一个矩阵,描述了 S S S中每一种状态到领一种状态的转移概率);
- 下图展示了一名学生的7种状态,以及每种状态之间的转换概率:
- 所以某一名同学一天的状态可能为“课1-课2-课3-考过-睡觉”,这样一组状态序列可以称为马尔科夫链;
- 由此也可以看出,从一个状态出发,我们选择不同的动作,可以产生多组马尔可夫链。
4. 马尔可夫决策过程
- 在马尔可夫过程的基础上加上动作和反馈就是马尔可夫决策过程;
- 马尔可夫决策过程定义为: ( S , A , P , R , γ ) (S, A, P, R, \gamma) (S,A,P,R,γ);
- S S S为有限状态集; A A A为有限动作集; P P P为状态转移概率; R R R为回报函数; γ \gamma γ为折扣因子(用来计算累积回报);
三、策略与累计回报
1. 策略
- 强化学习的目标就是给定一个马尔可夫决策过程,去寻找最优的策略;
- 我们可以把策略理解为在状态 s s s下选择某一个动作 a a a的概率;
- 策略通常用符号 π \pi π来表示;
- 数学形式表示为: π ( a ∣ s ) = p [ A t = a ∣ S t = s ] \pi(a | s) = p[A_t=a | S_t=s] π(a∣s)=p[At=a∣St=s]
- 含义为:策略 π \pi π在每个状态 s s s指定一个每个动作 a a a的发生概率;
- 如果策略 π \pi π是确定的,那么策略 π \pi π在每个状态下的每个动作的概率都是确定的。
2. 累计回报
- 已知马尔可夫决策过程 ( S , A , P , R , γ ) (S, A, P, R, \gamma) (S,A,P,R,γ),我们可以设定各种各样的策略 π \pi π,而强化学习的目标就是从众多的策略中选择回报最大的策略,为了评价每种策略 π \pi π的回报值,定义了累计回报。
- 给定策略 π \pi π,从状态 s 1 s_1 s1出发可能产生若干马尔可夫链,如:“ s 1 − s 2 − s 3 − s 4 − s 5 s_1 - s_2 - s_3 -s_4 - s_5 s1−s2−s3−s4−s5”,或者“ s 1 − s 2 − s 3 − s 5 s_1 - s_2 - s_3 - s_5 s1−s2−s3