强化学习之——马尔可夫决策过程原理

强化学习之——马尔可夫决策过程原理

1.1 MDP:策略与环境模型

我们以蛇棋为模型引入——蛇棋的关键问题在于:哪些因素决定了蛇棋最终获得分数的多少? 两个因素

  1. 选择什么样的手法投掷(也就是投3以内的数 或 6以内的数)
  2. 投掷出的数目

1是玩家可以决定的(我们这里把情况想得简单点,认为可以通过某种手法使得投出两种策略)
2是玩家不可控的,只受环境的随机性控制(骰子投出具体的点数你不能决定)

再进一步,决定最终得分的因素:

  1. 每一步走到的位置
  2. 每一步选择的投掷手法(譬如我选择投3以内的点数 或者 6以内的点数)

用 s t _t t 来表示t时刻游戏状态观测值(譬如还是以蛇棋为例,t时刻落在55,那么s t _t t为55),用 a t _t t 来表示t时刻选择的手法, 那么游戏过程可以用一条状态-行动链表示{s 0 _0 0,a 0 _0 0,s 1 _1 1,a 1 _1 1,…,s t − 1 _{t-1} t1,a t − 1 _{t-1} t1,s t _t t}

这个链条包含两种状态转换:

  1. 状态→行动的转换(Agent的策略决定)
  2. 行动→状态的转换(环境决定)

上面的两种转换分别对应前面提到的两个决定因素

策略(policy)指的是Agent根据当前的状态选择“自认为”最好的行动方式(也就是reward最大,譬如当你在点数97的时候,你肯定选择投掷3以内的点数,这样比较快到100点)。

Agent会在每个状态对每个行动进行评估,最终选择评价最高的行动。对于每一个可能的行动,如果最终评价越高,行动产生的概率就越大,那么Agent就会选择概率最高的一种行动,形式化表示:
a t ∗ a^*_t at = a r g m a x a i p ( a t , i ∣ s 0 , a 0 , . . . , s t ) ( i 表 示 第 i 个 动 作 ) argmax_{a_i}p(a_{t,i}|{s_0,a_0,...,s_t})(i表示第i个动作) argmaxaip(at,is0,a0,...,st)(ii)
利用序列的马尔科夫性,当前选择什么行动只和当前的状态有关,和前面的状态无关:
a t ∗ a^*_t at = a r g m a x a i p ( a i ∣ S t ) argmax_{a_i}p(a_{i}|S_t) argmaxaip(aiSt)

上面的是状态到行动的转换的公式化描述,下面是行动到状态的转换:

p ( S t + 1 ∣ S t , a t ) p(S_{t+1}|S_t, a_t) p(St+1St,at)
上面的式子表示,Agent在状态 S t S_t St选择行动 a t a_t at,状态转换到 S t + 1 S_{t+1} St+1的概率。
譬如Agent在“55”这个位置,选择使用投掷1~3数字的手法,那么Agent会等概率得落在56、57、58三个位置,考虑到梯子的存在,落在这三个格子中的棋子可能会到达其他位置,譬如,通过梯子到了56、40、80三个位置,到这三个位置的概率分别都是1/3。

1.2 值函数与Bellman(贝尔曼)公式

整个游戏的关键在于策略,也就是如何做出决策与执行行动。 在理想状态下,每一步行动都要为最后的结果,我们也叫最终回报的最大化努力。也就是说,每一步行动,我们可以量化每一个行动对实现最终目标贡献的价值,选择对最终目标贡献最大的行动。
下面就是量化这个价值:

简单的是,环境帮我们量化了某一时刻的回报值r.虽然这只是局部回报,但是我们可以对它展开,也就是最大化:
m a x i m i z e ∑ t T r t maximize\sum_{t}^{T}r_t maximizetTrt
对于蛇棋,我们规定,落在非终点上时,r=-1;落在终点上时,r=100。

如果游戏步数T有限,那么理论上上面的公式可以计算出来,但是如果T无限,那么上面的式子就不能收敛。譬如,在94~99这6个位置间全架设通往小数字的梯子,那么游戏就永远不会结束。
为了解决长期回报不能收敛的问题,我们降低对未来回报的期望,也就是给未来的回报乘以一个打折率γ,长期回报变为:
m a x i m i z e ∑ t = 0 γ t r t maximize\sum_{t=0}γ^tr_t maximizet=0γtrt
相当于变为一个q小于1的等比数列,就可以收敛了。
对于状态 s

你可能感兴趣的:(强化学习,强化学习,人工智能,算法)