- 简介
强化学习关注身处某个环境中的智能体通过采取行动获得最大化的累积收益。和传统的监督学习不同,在强化学习中,并不直接给智能体的输出打分。相反,智能体只能得到一个间接的反馈,而无法获得一个正确的输入/输出对,因此需要在不断的尝试中优化自己的策略以获得更高的收益。从广义上说,大部分涉及动态系统的决策学习过程都可以看成是一种强化学习。强化学习的应用非常广泛,主要包括博弈论、控制论、优化等多个不同领域。
- 简述强化学习概念
场景设定:我们有一个3×3的棋盘,其中有一个单元格是马里奥,另一个单元格是宝藏,如图1所示。在游戏的每个步骤时,可以往上、下、左、右四个方向移动马里奥,直到马里奥找到宝藏,游戏结束。在这个场景中,强化学习需要定义一些基本概念来完成对问题的数学建模。
image.png
图1:场景设定图
强化学习的基本概念可以通过图2来描述,主要由环境(Environment)、机器人(Agent)、状态(State)、动作(Action)、奖励(Reward)等基本概念构成。简单描述过程就是:一个机器人在环境中会做各种动作,环境会接收动作,并引起自身状态的变化,同时给机器人以奖励。机器人的目标就是使用一些策略,做合适的动作,最大化自身的收益。
image.png
图2:强化学习交互图
- 强化学习中的基本概念
整个场景可以带入到马尔可夫决策过程(Markov Decision Process,MDP)。马尔可夫决策过程是马尔可夫过程与确定性的动态规划相结合的产物,是指决策者周期地或连续地观察具有马尔可夫性的随机动态系统,并且连续地做出决策的过程,这里还需要定义以下几个要素:
动作:所有可能做出的动作的集合,记作A(可能是无限的)。对于本次场景中,A=马里奥在每个单元格可以行走的方向,即{上、下、左、右}。
状态:所有状态的集合,记作S。对于本场景,S为棋盘中每个单元格的位置坐标{(x,y); x=1,2,3; y=1,2,3},马里奥当前位于(1,1),宝藏位于(3,2)。
奖励:机器人可能收到的奖励,一般是一个实数,记作r。对于本场景,如果马里奥每移动一步,定义r=-1;如果得到宝藏,定义r=0,游戏结束。
时间(t=1,2,3...):在每个时间点t,机器人会发出一个动作at,收到环境给出的收益rt,同时环境进入到一个新的状态st。
状态转移:S×A→S满足,也就是说,从当前状态到下一状态的转移,只与当前状态以及当前所采取的动作有关。这就是所谓的马尔可夫性。
累积收益:从当前时刻0开始累积收益的计算方法是,在很多时候,我们可以取T=∞。
强化学习的核心任务是,学习一个从状态空间S到动作空间A的映射,最大化累积受益。常用的强化学习算法有Q-Learning、策略梯度,以及演员评判家算法(Actor-Critic)等。
- 强化学习中的价值迭代
上一章节已经把强化学习问题形式化为马尔可夫决策过程。下面我们介绍如何利用价值迭代求解马尔可夫决策过程。那么什么是价值呢?我们将当前状态s的价值V(s)定义为:从状态s=(x,y)开始,能够获得的最大化奖励。结合图3直观地理解价值迭代。
image.png
图3:迭代过程
首先,初始化所有状态的价值V(s)=0。然后,在每一轮迭代中,对每个状态s 依次执行以下步骤。
逐一尝试{上、下、左、右}四个动作a,记录到达状态s′和奖励r。
计算每个动作的价值q(s,a)=r+V(s′)。
从四个动作中选择最优的动作。
更新s状态价值。
在第一轮迭代中,由于初始状态V(s)均为0,因此对除宝藏所在位置外的状态s 均有V(s)=r+V(s′)=-1+0=-1,即从当前位置出发走一步获得奖励r=-1。
在第二轮迭代中,对于和宝藏位置相邻的状态,最优动作为一步到达V(s′)=0 的状态,即宝藏所在的格子。因此,V(s)更新为r+V(s′)=-1+0=-1;其余只能一步到 达V(s′)=-1的状态,V(s)更新为r+V(s′)=-1+(-1)=-2。
第三轮和第四轮迭代如法炮制。可以发现,在第四轮迭代中,所有V(s)更新前后都没有任何变化,价值迭代已经找到了最优策略。最终,只需要从马里奥所在 位置开始,每一步选择最优动作,即可最快地找到宝藏。
上面的迭代过程实际上运用了贝尔曼方程(Bellman Equation),来对每个位 置的价值进行更新
image.png
贝尔曼方程中状态s的价值V(s)由两部分组成:
-采取动作a后带来的奖励r。
-采取动作a后到达的新状态的价值V(s′)。
- 寻找迭代中的最优解
本章节介绍马尔可夫决策过程的另一种求解方法——策略迭代。什么叫策略呢?策略就是根据当前状态决定该采取什么动作。以场景中的马里奥寻找宝箱为例,马里奥需要不断朝着宝藏的方向前进:当前状态如果在宝藏左侧,策略应该是朝右走;当前状态如果在宝藏上方,策略应该是朝下走。
如何衡量策略的好坏?这就需要介绍策略评估(Policy Evaluation)。给定一个策略π,我们可以计算出每个状态的期望价值 V(s)。策略迭代可以帮助我们找到更好的策略,即期望价值更高的策略,具体步骤如下。
(1)初始化:随机选择一个策略作为初始值。比如“不管什么状态,一律朝下走”,即P(A = 朝下走 | St=s)= 1,P(A = 其他 | St=s)= 0。
(2)进行策略评估:根据当前的策略计算image.png。
(3)进行策略提升:根据策略评估的结果计算当前状态的最优动作 ,更新策略image.png。
(4)不停地重复策略评估和策略提升,直到策略不再变化为止。 在马里奥寻找宝藏问题中,策略迭代过程如图4所示。
image.png
图4:策略迭代过程
初始化策略为:不论马里奥处于哪个状态,一律朝下走。根据这一策略进行 策略评估不难发现,只有宝藏正上方的状态可以到达宝藏,期望价值为到宝藏的 距离(-2,-1和0);其余状态不能通过当前策略到达宝藏,期望价值为负无穷。 然后根据当前的期望价值进行策略提升:对于宝藏正上方的状态,策略已经最优,就保持不变;对于那些位置不在宝藏正上方的状态,则继续根据策略更新公式image.png,最优策略为横向移动一步。
通过上一轮的策略提升,这一轮的策略变为:对于宝藏正上方的状态,向下 移动;对于不在宝藏正上方的状态,横向移动一步。根据当前策略进行策略评估,更新各状态期望价值:宝藏正上方的状态价值期望不变,仍等于到宝藏的距离;不在宝藏正上方的状态期望价值继续更新,即横向移动一步的奖励与目标状态的期望价值之和。然后根据更新后的期望价值进行策略提升:不难发现,对于所有状态,当前策略已经最优,维持不变,中止策略提升过程。
最终,马里奥只需从初始状态(1,1)开始,按照当前位置的最优策略进行行动,即向右行动一步,然后一直向下行动,即可最快找到宝藏。
- 总结
强化学习的本质思想就是:首先是基于环境的反馈而做出响应,通过不断与环境的交互,最终完成特定的目标,或者是使得整体行动收益最优化。重点环节就是行动收益最优化的求解过程。以上内容中寻找最优路线场景就是一个基础的强化学习例子。欢迎大家多多指正讨论。