AlphaGo围棋程序中一个重要构成部分就是增强学习,这是一种不同于有监督学习和无监督学习的模式。今天介绍一下增强学习的基本框架,并用一个简单的下棋游戏来说明其中的原理。以后有时间会陆续介绍一些增强学习的具体方法。

  增强学习就是通过与环境的交互来学习。对于我们人类来讲,这是一种非常自然的学习方式,因为我们主要就是通过与周围环境的交流来学习知识。还记得自己是怎样学习骑自行车或开车的技能的吗?我们通过和环境不断的交互,反馈来获得我们的驾驶知识。同样,下棋的过程中,我们也会通过和对手的比赛,并通过比赛结果的输赢这个反馈来提升自己的棋艺。

  这就是增强学习中最基本的两个元素:Agent和环境(Environment)Agent是一个实体,可以是人,也可以是动物,或者是一个程序。总之,就是一个可以通过和环境的交互来进化的事物。


  因为我们要讲机器学习,即算法如何通过和环境交互来获得更好的结果,那我们就用算法的语言来讨论增强学习,这种学习模式主要包括四个要素,分别是:

 1)政策(Policy)Agent在遇到特定环境的时候如何作出行为反应。我们可以把它理解为从环境到行动的一种映射。

 2)奖励信号(Reward Signal)Agent在环境中每作出一个行动,就会从环境之中得到一个反馈,奖励或者惩罚,比如说是加了一分或是减了一分。

 3)价值函数(Value Function):奖励信号只是一个短期的收益,定义了环境所能给予的直接反馈,价值函数则定义了长期效益,就是从目前到结束的所有步骤的奖励信号的总和。当前状态下最好的奖励信号,也许并不一定是全局最优的方案。对于许多增强学习算法,其核心就是估计这个价值函数。

 4)环境模型(Model):描述环境行为的一个模型。这不是必须的,可以有也可以没有。环境模型主要用于规划,这是以后的话题。


  现在让我们用一个简单的井字游戏来说明增强学习是如何运行的。游戏的基本规则很简单:两个玩家一个是X,一个是O,轮流把标记XO放在3x3的棋板上。只要三个标记连成了一行,不管是水平,垂直或对角线,那么这个玩家就赢了。比如在下面的棋局中,玩家X就赢了比赛,因为对角线的X连成了一条线。



  假设我们是玩家X,我们的对手是玩家O,我们如何学习得到一种策略,让我们知道在面对不同的棋盘时,把我们的标记X放在棋盘的什么位置才能赢得比赛?在这个例子中,我们是Agent,我们所处的环境是我们的对手。我们可以通过与环境交互来学习我们的策略。

  首先定义状态为一个棋局的配置,描述了棋局上XO的位置,如上图就是一个状态。每个状态用s表示,价值函数表示为V(s),是我们从当前状态s开始到结束赢得比赛的一个描述值。值越大,表明这个状态s有更大的可能性赢得比赛。增强学习就是估算每一个v的值。如何计算V(s)可以理解为训练的过程。

  我们可以玩很多次这个游戏,不需要和一个人类棋手来玩,我们可以让对手O也设置成一个程序,O的策略就是随机地把标记O放在棋局上没有被占用的位置。我们作为X玩家,先对各个可能的状态配置设置一个简单的初始策略,而后,通过输赢来更新每一个状态的值。比如说,我们可以把每一个状态的值设置为0.5。如果我们赢了比赛,此时我们的三个X连成了一条线,此时棋局状态的奖励是1V(S)= 1。如果对手赢了比赛,那么对手的三个O连成了一条线,此时的棋局状态下,对我们奖励(Reward)将是0,也就是V(S)= 0。我们可以通过和对手O下棋来更新对自己的各个状态值的价值函数的更新。

  为了简化研究,我们只使用一个步骤更新价值函数V(S)。也就是说,当前状态值的更新取决于下一个状态的值,而我们的任务就是让当前的状态的值函数更接近于下一个状态的值,因为下一个状态更接近游戏的结束而更加精确。更新当前状态的公式是:

  这里s是当前状态,s’是下一个状态。在我们把X放在了棋局之上时,我们就从当前的状态s转移到了下一个状态s’alpha是一个用于控制学习率的数字,取值范围在01之间,这是为了达到当前状态的价值函数和下一个状态的价值函数之间的平衡。这也可以解释为沿着梯度方向移动到下一个状态。因此,更新后的价值函数V(S)的值介于当前状态的旧有值V(S)和下一个状态值V(S’)之间。

  需要指出的是,在使用V(S)来选择我们的下一步动作的时候,我们并不总是使用贪心算法方法选择下一个状态,并不总是从下一个可能的状态中选择V(S)最大的那个状态。在大部分时间,我们用贪心的方法选择,但也有有一个小概率,我们也会随机地选择下一个状态。

  这样,通过与对手进行多次博弈,每一次都会更新我们的每一个状态的V(S)的值,最终通过多次的模拟之后,我们就能得到各个状态的V(S)值,并最终根据这个值确定我们的策略,完成增强学习。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐