强化学习的学习之路(二)_2021-01-02:强化学习中的基本概念

作为一个新手,写这个教程也是想和大家分享一下自己学习强化学习的心路历程,希望对大家能有所帮助。这个系列后面会不断更新,希望自己能保证起码平均一天一更的速度,先是介绍强化学习的一些基础知识,后面介绍强化学习的相关论文。本来是想每一篇多更新一点内容的,后面想着大家看CSDN的话可能还是喜欢短一点的文章,就把很多拆分开来了,目录我单独放在一篇单独的博客里面了。完整的我整理好了会放在github上,大家一起互相学习啊!可能会有很多错漏,希望大家批评指正!

强化学习的基本介绍

强化学习中的基本概念

可以参考知乎上这篇文章的内容:

  • Policy :A policy is the agent’s behavior model . It is a map function from state/observation to action. Policy(策略)其实就是强化学习中最终要得到的模型,策略是一个状态到动作的映射,也就是说告诉Policy当前状态是什么样的,它会返回给你一个动作。

    • Stochastic policy: Probabilistic sample: π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a \mid s)=P\left[A_{t}=a \mid S_{t}=s\right] π(as)=P[At=aSt=s]
    • Deterministic policy: a ∗ = arg ⁡ max ⁡ a π ( a ∣ s ) a^{*}=\arg \max _{a} \pi(a \mid s) a=argmaxaπ(as)
  • Agent:智能体,负责环境进行交互。

  • Reward: reward是一个量化的反馈信号。它决定了对于智能体来说什么是好,什么是坏(短时间),强化学习的最终目标其实就是最大化累积奖励。而相比于reward,我们后面要学的value function其实是一个更长远角度的一个过程但是估计价值其实是一个很难的过程

    举个例子来说,如果我们强化学习的应用场景是开直升飞机,那么如果直升飞机按照我们期望的轨迹飞行,我们就会给智能体一个正的奖励,如果它坠机了,我们就会给它一个负的奖励。当然,在实际问题中,具体奖励给多少,怎么给,其实是一个很复杂的问题。

  • Action:智能体的动作。

  • Goal:我们要实现的目标,对于强化学习任务本身来说,就是最大化累计奖励,所以在强化学习中很关键的一点就是保证最终要达到的目标和最大化累计奖励的目标是一致的: 智能体可能会学出一个策略去最大化累积奖励,但是根本不是我们想要的方式。

  • Observation: 智能体观察到的东西,比如说直升机当前的位置和速度。

  • Environment:环境。有的书里面会花很多篇幅去区分智能体和环境,去纠结哪个是属于智能体,哪个是属于环境,我觉得对于像我这样的初学者来说,不用过度纠结,你就把智能体想象成自己,把除你自己以外的所有东西都想象成环境。

  • Trajectory:轨迹,可以理解成智能体从开始到结束是怎么一步一步过来的。

  • Rollout: rollout在字典中的意思是:首次展示,滑跑。在强化学习中大家就可以理解成一次实验、一条轨迹。

  • Value function (expected discounted sum of future rewards under a particular policy π \pi π, we use it to quantify goodness/badness of states(这里的有多好是用未来预期的收益来定义的),可以简单地理解为价值函数就是来判断状态的好坏

    v π ( s ) ≐ E π [ G t ∣ S t = s ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] , v_{\pi}(s) \doteq \mathbb{E}_{\pi}\left[G_{t} \mid S_{t}=s\right]=\mathbb{E}_{\pi}\left[\sum_{k=0}^{\infty} \gamma^{k} R_{t+k+1} \mid S_{t}=s\right], vπ(s)Eπ[GtSt=s]=Eπ[k=0γkRt+k+1St=s], for all s ∈ S s \in \mathcal{S} sS

  • Model: A model predicts what the environment will do next。注意这里的model不是我们最终学出来的做决策的模型,而是当前状态S和动作A到下一个动作S‘的映射的模型,也就是告诉你现在如果你这么干你会得到什么后果的模型。

    • Predict the next state: P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ] \mathcal{P}_{s s^{\prime}}^{a}=\mathbb{P}\left[S_{t+1}=s^{\prime} \mid S_{t}=s, A_{t}=a\right] Pssa=P[St+1=sSt=s,At=a]
    • Predict the next reward: R s a = E [ R t + 1 ∣ S t = s , A t = a ] \mathcal{R}_{s}^{a}=\mathbb{E}\left[R_{t+1} \mid S_{t}=s, A_{t}=a\right] Rsa=E[Rt+1St=s,At=a]
    • model-based 和model-free的差别就是知不知道状态转移矩阵和reward
  • Q-function (could be used to select among actions): q π ( s , a ) ≐ E π [ G t ∣ S t = s , A t = a ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s , A t = a ] q_{\pi}(s, a) \doteq \mathbb{E}_{\pi}\left[G_{t} \mid S_{t}=s, A_{t}=a\right]=\mathbb{E}_{\pi}\left[\sum_{k=0}^{\infty} \gamma^{k} R_{t+k+1} \mid S_{t}=s, A_{t}=a\right] qπ(s,a)Eπ[GtSt=s,At=a]=Eπ[k=0γkRt+k+1St=s,At=a]

    Q函数其实是对(S,A)对的一个评价,也就是说从长期的角度来看(reward是短期),你在当前状态做某一个动作到底有多好。所以如果我们知道了Q函数,其实就知道了在每一步到底应该怎么做了,最简单的就是取agmax选Q函数最大的动作,根据贝尔曼方程,我们如果知道V函数,我们可以求出Q函数,所以大家会看到说,我们如果知道了Q函数或者V函数,这个强化学习问题就是可解的。

  • history是一个action、observation、reward的序列:

    H t = A 1 , O 1 , R 1 , … , A t , O t , R t H_{t}=A_{1}, O_{1}, R_{1}, \ldots, A_{t}, O_{t}, R_{t} Ht=A1,O1,R1,,At,Ot,Rt

    history能够决定action接下来采取什么行动;实际上,agent做的就是从history到action的映射;对于环境而言,输入history和智能体产生的action,输出对应的observation和reward。

  • State:是history的一个总结,用来决定下一步的action是什么,实际上,他是一个关于history的函数,我们可以这样表示:

S t = f ( H t ) , A t = h ( S t ) S_{t}=f\left(H_{t}\right), A_{t}=h\left(S_{t}\right) St=f(Ht),At=h(St)

​ State相对于history而言最大的好处在于他的信息量很少,实际上,我们也不需要得到所有的history来得到下一步的action。

​ 在这里想讲一下state和observation的区别,也就是大家有时候会看到 π θ ( a t ∣ o t ) \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{o}_{t}\right) πθ(atot),有时候看到 π θ ( a t ∣ s t ) \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) πθ(atst),这两个其实是存在区别的,用Sergey Levine来说就是,States are the true configuration of the system and an observation is something that results from that state which may or may not be enough to deduce the state. State 反映了系统的真实的信息,observation是state表现出来的结果,并不能完全反映出state中的信息。举个例子,有一只老虎在我们的面前,老虎在哪,速度多少这些就算是state,而我们观察的时候,这只老虎刚好被一棵树挡住了,也就是说我们的observation是一张被树挡住的老虎的照片,那么我们仅仅根据observation(照片)是不能决定我们现在要不要赶紧跑的。而这其实也说明了当state满足马尔科夫性的时候,observation是不一定满足的,也就是我们不能根据当前的这张照片来判断我们是不是该不该跑,但是结合之前的一些照片比如老虎一步步潜伏到树底下的照片,我们就可以知道,该跑了!

​ 用下面这张图可以帮助比较好地理解Observation和State之间的关系:

image-20210110114937403

  • Bootstrapping: 指用上一次估计值来更新本次的估计值。 比如用上一次估计的表格中的下一状态s’的价值来更新此次估计的表格中当前状态s的价值。

    强化学习中还有很多基本的概念,这里只是一些基础的,大家现在不能完全理解也没关系,到后面就自然会理解了。大家可以通过宝藏李宏毅老师课程上的这张图来大致理解一下强化学习的大致过程以及其中的基本概念。

    image-20210105170220452

  • Sequential Decision Making

image-20200827110912112

  • Goal: select actions to maximize total future reward (最大化未来的累积奖励)。
  • Actions may have long term consequences (动作在很长的时间后才发生作用)。
    Reward may be delayed (奖励存在延时)。
  • It may be better to sacrifice immediate reward to gain more long-term reward (最好是牺牲眼前的短暂的奖励去获得更多的长期奖励)。
  • Examples:
    • A financial investment (may take months to mature)
    • Refuelling a helicopter (might prevent a crash in several hours)
    • Blocking opponent moves (might help winning chances many moves from now)

上一篇:强化学习的学习之路(一)_2021-01-01: 强化的来源、强化学习的基本概念、强化学习与监督学习、进化学习的区别

下一篇:强化学习的学习之路(三)_2021-01-03:强化学习中的部分客观(POMDP)和全部可观(MDP)

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值