概要
主要从四个方面介绍:
- 强化学习是什么?
- 解决什么问题?
- 用什么样的方式解决问题?
- 强化学习的重要概念
强化学习是什么?
强化学习是一个序列决策问题。即处在当前状态应该做出什么样的动作。
强化学习的思想就是在和环境的不断交互中,最大化奖励。以游戏为例,采取某个策略赢得游戏,则“强化”这个策略,即倾向于选择该策略,以取得好的结果。当然,这里也涉及强化学习中的探索(explpration)和利用(exploitation)的权衡。即也会以一定概率选择从未采用过的策略。
强化学习和监督学习、非监督学习并列,都属于机器学习的范畴。下图展现了这种关系。
强化学习和监督学习的区别和联系:
- 区别:监督学习的数据中包含label,需要做的是训练一个模型,根据特征判断其label。而强化学习没有确定的label,而是根据环境反馈的reward来调整策略,即学习如何选择一系列动作,以最大化收益。
- 区别:监督学习的训练数据之间一般是独立的,没有依赖关系。强化学习的输入数据是状态信息,状态之间是有时间依赖的。
- 联系:在实际应用中,监督学习和强化学习都可以使用前馈网络作为网络框架。监督学习的输入是特征,输出是label;强化学习输入是状态的向量,输出是该执行的动作。
强化学习和无监督学习的区别和联系:
- 区别:无监督学习只有数据特征,没有label信息,也没有reward。
- 区别:无监督学习的数据之间也是独立的。
强化学习能解决什么问题?
上面也说到,强化学习其实是一个序列决策问题。当我们需要对于某个状态到达最终状态做决策时,可以选择强化学习方法。
近年来,强化学习在游戏领域取得了很多成果,教会了机器玩游戏,并且能达到超过人类的水平。这里,机器一次次的做出尝试,有时打赢游戏,有时输掉。在这与环境的交互中,机器学会了评估某个状态的价值,某个状态下做某个动作的价值。从而不断优化策略,达到更优的水平。
除了游戏领域,在其他各种领域也逐渐出现了强化学习的身影。人们为了不用的应用设计适合的状态空间、动作空间和奖励函数。从而将强化学习应用到各种任务中。
而且,深度学习的发展也使得其思想与强化学习结合,Deep RL的研究也很多。但目前Deep RL存在很多局限,比如:采样效率较低等。若想要深入了解,请参考深度强化学习的弱点和局限。
强化学习解决问题的方式
强化学习的建模过程如下:
图中的大脑代表智能体(agent),我们通过操作智能体来做动作。图中的地球代表环境,智能体与其进行交互。
图中最重要的三个要素为:
- 状态state: t t t时刻的状态为 S t S_t St,是状态空间中的一个。
- 动作action:agent根据以往经验或者轨迹采样计算得来的状态-动作价值,在 t t t时刻决定作出动作 A t A_t At。该动作也是动作空间中的一个。
- 奖励reward:agent做出动作 A t A_t At之后,环境会返回给agent一个奖励。【奖励可能是延迟的,直到最终状态才有一个奖励值。所以在做出一个动作之后,奖励可能为0】
强化学习的重要概念
除了上面介绍的三个主要要素:状态、动作、奖励之外,强化学习还有一些要素和概念需要了解:
- 策略policy:是从state到action的映射,是agent做出动作的依据。表达了在状态s执行动作a的概率,即:
π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s) = P(A_t = a | S_t = s) π(a∣s)=P