强化学习入门

强化学习模型

强化学习模型介绍

强化学习任务通常使用马尔可夫决策过程(Markov Decision Process,简称MDP)来描述,具体而言:智能体处在一个环境中,每个状态为智能体对当前环境的感知;智能体只能通过动作来影响环境,当智能体执行一个动作后,会使得环境按某种概率转移到另一个状态;同时,环境会根据潜在的奖赏函数反馈给智能体一个奖赏。综合而言,强化学习主要包含四个要素:状态、动作、转移概率以及奖赏函数。

马尔科夫决策模型

马尔科夫决策模型

根据上图,agent(智能体)在进行某个任务时,首先与environment进行交互,产生新的状态state,同时环境给出奖励reward,如此循环下去,agent和environment不断交互产生更多新的数据。强化学习算法就是通过一系列动作策略与环境交互,产生新的数据,再利用新的数据去修改自身的动作策略,经过数次迭代后,agent就会学习到完成任务所需要的动作策略。

马尔科夫过程(Markov Process)

举例

马尔科夫决策模型

马尔科夫决策过程举例

例子是一个学生学习考试的MDP。里面左下那个圆圈位置是起点,方框那个位置是终点。上面的动作有study, pub, facebook, quit, sleep,每个状态动作对应的即时奖励 R R R 已经标出来了。目标是找到最优的动作价值函数或者状态价值函数,进而找出最优的策略。

为了方便计算,假设衰减因子 γ = 1 \gamma=1 γ=1, 每个状态有两种动作选择 π ( a ∣ s ) = 0.5 \quad \pi(a \mid s)=0.5 π(as)=0.5
对于终点方框位置,由于其没有下一个状态,也没有当前状态的动作,因此其状态价值函数 v π ( s 5 ) v_{\pi}(s_5) vπ(s5)为 0 。对于其余四个状态,依次定义其价值为 v π ( s 1 ) , v π ( s 2 ) , v π ( s 3 ) , v π ( s 4 ) v_{\pi}(s_1), v_{\pi}(s_2), v_{\pi}(s_3), v_{\pi}(s_4) vπ(s1),vπ(s2),vπ(s3),vπ(s4) 分别对应左上,左下,中下,右下位置的圆圈。基于
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) ⋅ v π ( s ′ ) ) v_\pi(s)=\sum_{a \in A} \pi(a \mid s)\left(R(s, a)+\gamma \sum_{s^{\prime} \in S} P_{\left(s^{\prime} \mid s, a\right)} \cdot v_\pi\left(s^{\prime}\right)\right) vπ(s)=aAπ(as)(R(s,a)+γsSP(ss,a)vπ(s))

来计算所有状态的价值函数,可以得到如下方程组

  • 对于 v π ( s 1 ) v_{\pi}(s_1) vπ(s1): v π ( s 1 ) = 0.5 ∗ ( − 1 + v π ( s 1 ) ) + 0.5 ∗ ( 0 + v π ( s 2 ) ) v_{\pi}(s_1)=0.5 *\left(-1+v_{\pi}(s_1)\right)+0.5 *\left(0+v_{\pi}(s_2)\right) vπ(s1)=0.5(1+vπ(s1))+0.5(0+vπ(s2))
  • 对于 v π ( s 2 ) v_{\pi}(s_2) vπ(s2): v π ( s 2 ) = 0.5 ∗ ( − 1 + v π ( s 1 ) ) + 0.5 ∗ ( − 2 + v π ( s 3 ) ) v_{\pi}(s_2)=0.5 *\left(-1+v_{\pi}(s_1)\right)+0.5 *\left(-2+v_{\pi}(s_3)\right) vπ(s2)=0.5(1+vπ(s1))+0.5(2+vπ(s3))
  • 对于 v π ( s 3 ) v_{\pi}(s_3) vπ(s3): v π ( s 3 ) = 0.5 ∗ ( 0 + 0 ) + 0.5 ∗ ( − 2 + v π ( s 4 ) ) v_{\pi}(s_3)=0.5 *(0+0)+0.5 *\left(-2+v_{\pi}(s_4)\right) vπ(s3)=0.5(0+0)+0.5(2+vπ(s4))
  • 对于 v π ( s 4 ) v_{\pi}(s_4) vπ(s4): v π ( s 4 ) = 0.5 ∗ ( 10 + 0 ) + 0.5 ∗ ( 1 + 0.2 ∗ v π ( s 2 ) + 0.4 ∗ v π ( s 3 ) + 0.4 ∗ v π ( s 4 ) ) v_{\pi}(s_4)=0.5 *(10+0)+0.5 *\left(1+0.2 * v_{\pi}(s_2)+0.4 * v_{\pi}(s_3)+0.4 * v_{\pi}(s_4)\right) vπ(s4)=0.5(10+0)+0.5(1+0.2vπ(s2)+0.4vπ(s3)+0.4vπ(s4))

解这个方程组可得: v π ( s 1 ) = − 2.3 , v π ( s 2 ) = − 1.3 , v π ( s 3 ) = 2.7 , v π ( s 4 ) = 7.4 v_{\pi}(s_1)=-2.3, v_{\pi}(s_2)=-1.3, v_{\pi}(s_3)=2.7, v_{\pi}(s_4)=7.4 vπ(s1)=2.3,vπ(s2)=1.3,vπ(s3)=2.7,vπ(s4)=7.4 既是每个状态的价值函数,具体含义可以描述为在各种状态下理论上考试可以得到多少分。

上面固定了策略 π ( a ∣ s ) \pi(a \mid s) π(as), 虽然求出了每个状态的状态价值函数,但是却并不一定是最优价值函数 v π ∗ ( s ) = v ∗ ( s ) v_{\pi_*}(s) = v^*(s) vπ(s)=v(s)
首先我们需要一个最优策略策略 π ∗ ( a ∣ s ) \pi_*(a \mid s) π(as),其次我们需要一个最优动作值函数 q ∗ ( s , a ) q_*(s, a) q(s,a),利用 v ∗ ( s ) = ∑ a ∈ A π ∗ ( a ∣ s ) ( q ∗ ( s , a ) ) v_*(s) = \sum_{a \in A} \pi_*(a \mid s)\left(q_*(s,a) \right) v(s)=aAπ(as)(q(s,a)) 就可以求出所有的 v ∗ ( s ) v_*(s) v(s),这样我们可以求得理论上每个状态的最大价值函数,具体含义可以描述为在最佳策略与最精准的动作价值评价下,各种状态下理论上考试可以得到多少分。

现在带来了两个问题:1、如何求最优策略? 2、如何求最优动作价值函数?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡的周辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值