1.3 强化学习的重点概念
在强化学习领域,有三对至关重要的概念需要理解:学习与规划(Learning & Planning)、探索与利用(Exploration & Exploitation)、预测与控制(Prediction & Control)。
1.3.1 学习与规划
学习与规划是强化学习的两大类方法,分别适用于不同的情境。学习针对的是环境模型未知的情况,智能体不知道环境如何工作,状态如何转变,以及每一步的回报是多少,仅通过与环境进行交互,采用试错法逐渐改善其策略。
当智能体已经知道或近似知道环境如何工作时,可以考虑使用规划方法。此时,智能体并不直接与环境发生实际的交互,而是利用其拟合的环境模型获得状态转换概率和回报,在此基础上改善其策略。
在实际应用中,我们一般采用如下思路解决问题:首先与环境交互,了解环境的工作方式,借助实际交互数据构建环境模型;然后把这个习得的环境模型当作智能体的外部环境,并利用这个环境模型进行规划。在实际经历发生之前,通盘考虑未来可能的所有情况来决定行动方案。由此可知,基于模型进行规划是有模型方法,而不依赖模型的试错学习法是无模型方法。
例如,将机器人放入一个完全陌生的环境中,要求机器人在最短的时间内,能够躲避障碍物找到宝藏。初始时,机器人对于环境一无所知,不清楚哪里有障碍物,也不知道宝藏在哪儿,所以只能通过试错的方法随机地在环境里走动,产生一系列轨迹数据。此轨迹数据记录了它经历的坐标、行走方向,以及是否获得宝藏或是否遇到障碍物等信息。机器人通过分析这些历史数据,对自己的行为进行调整,以期下一次可以在更短的时间内得到宝藏,这是一个学习的过程。如果机器人在行动之前已经知道了环境的信息,如哪里有宝藏及哪里有障碍物,也知道自己在任意位置采取任意方向移动后转移到的目标位置,那么机器人可以先通过算法不断地模拟和推理,找到一套最优的行动方案,然后再去和环境进行实际的交互,获得最大的回报。这样的问题就属于规划问题。
比如,智能体在游戏平台上玩游戏时,对于除了游戏分数和游戏屏幕图像之外的信息一无所知,包括游戏规则及游戏机的机械控制原理等,如图1-5所示,智能体能做的就是随机向操纵杆发送上下左右的指令,记录屏幕的图像和得分情况。随着尝试的次数越来越多,智能体也慢慢地学会了如何获取更高的分数,这就属于学习问题。还有一种情况是智能体知道游戏规则,知道何种情况下采取何种行为可以转换到何种状态,以及获得的分数是多少,这种情况下,智能体为了获得更高的分数,先会模拟推理出最优的策略,这种求解方式叫作规划,如图1-6所示。
图1-5 智能体学习游戏
图1-6 智能体规划游戏
1.3.2 探索与利用
强化学习是一种试错性质的学习,智能体需要从其与环境的交互中找到一个最优的策略,同时在试错的过程中不能丢失太多的回报。因此,智能体在决策时需要平衡探索与利用两个方面。
探索是指智能体在某个状态下试图去尝试一个新的行为,以图挖掘更多的关于环境的信息。而利用则是智能体根据已知信息,选取当下最优的行为来最大化回报。
打一个形象的比方:当你去一个餐馆吃饭时,“探索”意味着你对尝试新餐厅感兴趣,很可能会去一家以前没有去过的新餐厅体验。“利用”则意味着你会在以往吃过的餐厅中选择一家比较喜欢的,而不去尝试以前没去过的新餐厅。又如,进行油气开采时,探索表示在一个未知地点开采,而利用表示选择一个已知的最好的地点。
探索与利用是一对矛盾,但对解决强化学习问题又都非常重要。在解决实际问题时,需要结合实际情况进行权衡,本书的第12章给出了五种权衡探索和利用的方法。
1.3.3 预测与控制
预测与控制也叫评估与改善,是解决强化学习问题的两个重要的步骤。
在解决一个具体的马尔可夫决策问题时,首先需要解决关于预测的问题,即评估当前这个策略有多好,具体的做法一般是求解在既定策略下的状态值函数。而后在此基础上解决关于控制的问题,即对当前策略不断优化,直到找到一个足够好的策略能够最大化未来的回报。
举一个例子来说明预测和控制两个概念的区别。假设一个网格世界的环境模型如图1-7(a)所示,智能体每走一格回报为-1。初始策略为随机策略,智能体朝着东南西北四个方向移动的概率均为0.25,求在给定策略下每一个位置(格子)的价值,如图1-7(b)所示,这是一个预测问题。
图1-7 预测
对于同样的网格世界,如图1-8(a)所示,求取在所有可能的策略中最优的价值函数(见图1-8(b))及最优策略(见图1-8(c)),这就是控制问题。
图1-8 控制
实际解决强化学习问题时,一般是先预测后控制,循环迭代直至收敛到最优解。