强化学习笔记-03有限马尔可夫决策过程MDP

本文是博主对《Reinforcement Learning- An introduction》的阅读笔记,不涉及内容的翻译,主要为个人的理解和思考。

前文我们了解了强化学习主要是为了实现最大化某个特定目标(收益),而学习如何通过环境进行交互。 而学习的主体被称为agent,其可以是一个模型或者一系列决策函数,其用于产出同环境交互的动作决策。agent同环境的交互主要包含了三种信号的来回传递:

  • the Actions:agent对环境的行为;
  • the Rewards:环境的对agent状态的目标反馈,代表了状态或动作变化,环境所带来的奖励;
  • the States:agent在环境中状态,行为也会带来状态的变化。

MDP是上述以目标为导向从交互学习的过程的建模,其状态、动作和奖励的集合都是一个有限元素的集合,同环境的交互所引起状态序列,可以展开为一个马尔可夫链过程,由特定的状态间转换概率P(S',R'|S,A)来描述状态间变化。

\binom{S_0}{R_0}\overset{A_1}{\rightarrow}\binom{S_1}{R_1}\overset{A_2}{\rightarrow}\binom{S_2}{R_2}\overset{A_3}{\rightarrow}\binom{S_3}{R_3}\overset{A_4}{\rightarrow}\binom{S_4}{R_4}\rightarrow \cdots

前文所提到强化学习的核心在于学习动作决策函数,使最终的累积收益最大化。对于MDP来说,动作决策函数实际上是指当在状态S情况下如何采取动作A,即\pi (a|s),而目标累积收益表示为G_t=R_t+R_{t+1}+R_{t+2}+R_{t+3}+\cdots +R_{t+n},这处的t表示状态序列中某一个时刻,G_t表示时刻t之后的未来目标累积收益,n表示终结时刻。

如何求解决策函数\pi(a|s),MDP主要是通过价值函数value function来解决,价值函数用于描述不同状态V(s)或不同状态动作Q(s,a)下未来累积奖励的期望。

V(s)=E[G_t|S_t=s],\ Q(s, a) = E[G_t|S_t=s, A_t=a]

确定价值函数后,就可以很容易选出决策函数,即选择使价值最大的动作,在选择动作时有两种形式,这在训练时两种决策函数的选择,分别将强化学习算法区分为on-policy和off-policy两种。

  • Deterministic:确定性动作a = \pi (s)=arg max_{a}Q(s, a)
  • Stochastic:随机概率性动作 \pi(a|s)=P_{\pi}[A=a|S=s],可以由价值函数来确定选择概率。

 现在的问题是如何来确定价值函数:

V(s)=E[G_t|S_t=s]=E[R_t + G_{t+1}|S_t=S]\\ =\sum_{a } \pi (a|s)E[R_t + G_{t+1}|S_t=S,A_t=a] \\ =\sum_{a } \pi (a|s)\sum_{s',r}p(s', r|s,a)E[r + G_{t+1}|S_{t+1}=s']\\ =\sum_{a } \pi (a|s)\sum_{s',r}p(s', r|s,a)(r + E[G_{t+1}|S_{t+1}=s'])\\ =\sum_{a } \pi (a|s)\sum_{s',r}p(s', r|s,a)(r + V(s'))

同理状态动作价值函数Q(s,a)可以表示为:

Q(s,a)=E[G_t|S_t=s,A_t=a]=E[R_t+G_{t+1}|S_t=s,A_t=a]\\ =\sum_{s',r}p(s',r|s,a)E[r+G_{t+1}|S_{t+1}=s']\\ =\sum_{s',r}p(s',r|s,a)(r+E[G_{t+1}|S_{t+1}=s'])\\ =\sum_{s',r}p(s',r|s,a)(r+\sum_{a'}\pi(a'|s')E[G_{t+1}|S_{t+1}=s', A_{t+1}=a'])\\ =\sum_{s',r}p(s',r|s,a)(r+\sum_{a'}\pi(a'|s')Q(s',a'))

上面的价值函数计算公式中(Bellman equation),除了需要确定下一状态的价值函数外,还需要决策函数,同一方面在计算决策函数\pi(a|s)时又需要价值函数,因此训练是通过两阶段来进行训练的(Generalized Policy Iteration (GPI) 算法)

  • evaluation:根据当前决策函数\pi(a|s)计算价值函数
  • improvement:根据 状态动作价值函数Q(s,a)来计算最优的决策函数\pi(a|s)

而这个学习迭代过程的收敛条件是当决策函数\pi(a|s)不发生变化improve时,即为最优决策函数,而换句话说,当一个决策函数\pi是最优决策函数时,对于所有其他决策函数\pi '或所有状态s下,都有V_{\pi}(s)\geq V_{\pi'}(s),此时所有价值函数V(s)也是最优价值函数,表示为:

V_{*}(s)=max_{\pi}V_{\pi}(s), \ Q_{*}(s,a)=max_{\pi}Q_{\pi}(s,a)

在MDP中,我们把决策函数\pi(a|s)视为一个确定性动作(on-policy方法),即

a = \pi (s)=arg max_{a}Q(s, a)

此时将上述的价值函数计算公式Bellman equation改写为,称之为Bellman optimality equation

V_*(s)=max_{a} Q(s,a)=max_{a}\sum_{s',r}p(s',r|s,a)(r + max_{a'}Q(s',a'))\\ =max_{a}\sum_{s',r}p(s',r|s,a)(r + V_*(s'))

Q_*(s,a)=\sum_{s',r}p(s',r|s,a)(r + max_{a'}Q_*(s',a'))

此时整体evaluation的过程可以由一个反向求解来表示,每一轮的计算可能通过回溯来更新,而不需要考虑policy就能求解,所以improvement过程实际上并不需要了。这种方法是类似于贪心算法的启发性搜索算法,只满足所有的状态和动作都能经过足够多次数的遍历计算,是可以求解出最优解的。

其他的重要性问题

  • continuing tasks VS episodic tasks

continuing tasks是指没有终态的任务,即之前累积目标奖励G_t=R_t+R_{t+1}+R_{t+2}+R_{t+3}+\cdots是无限大的,此时为了保存收敛性,会加一个打折系数,即G_t=G_t+\gamma G_{t+1}。而episodic tasks即表示存在最终点步骤(终态),而这个最终点步骤(终态)将agent-环境的交互过程分为一个个Episodes的,称之为轮,当这个步骤特征长时,也可能通过添加打折系数。

  • complete knowledge

在上述Bellman equation式子中存在p(s',r|s,a)我们并没有计算,实际上是我们对环境的先验知识,所以应用Bellman equation式必须要求我们有这种先验知识,同时另一个要求是状态、奖励、动作是有限的,另外其组合是有一个限度的,否则对计算空间和计算时间都有压力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值