强化学习Q-Learning基本原理

【AI业余爱好者学习总结】看了好多资料觉得Q-Learning很绕看不明白,猛刷B站几个视频,终于略懂一二。其中我觉得最通俗易懂的是几个大一学生讲的课程PPT,在这里总结一下。
(【小组作业】Q-learning简单介绍_哔哩哔哩_bilibili)

首先是Q-Learning的原理:

强化学习Q-Learning基本原理_第1张图片

Q-Learning就是想要得到最优的动作价值函数。

强化学习Q-Learning基本原理_第2张图片

强化学习Q-Learning基本原理_第3张图片

上面表格中,每一行是一种状态,每一列是在这种状态下的行为对应的价值 ,也就是Q^{_{*}}的函数值。

下面用一则实例做解释:

强化学习Q-Learning基本原理_第4张图片

强化学习有三个需要注意的对象:状态、动作、奖励。

状态:游戏每一帧的画面叫状态,为了方便,取上图的Δx和Δy为小鸟的状态

动作:每个状态下,小鸟都有向上或向下两种动作可以选择

奖励:小鸟活着,每一帧给予1的奖励,如果碰到柱子扣1000分

确定以上三个参数之后就可以绘制Q-Table啦。

在上面这个问题中,动作和状态的表示是数目有限的。 下面这张表中,每一行记录的就是在一个状态下,选择飞或者不飞时对应的效用值。理想状态下,在我们训练完成之后,会得到一个完美的Q-Table,只需要让小鸟根据当前位置(状态)对应的行来选择效用值更大的动作作为当前的动作action,就可以无限的存活下去。

强化学习Q-Learning基本原理_第5张图片

接下来最关键的一步就是训练。

强化学习Q-Learning基本原理_第6张图片

如果不加入\varepsilon -greedy,可能会导致函数陷入局部最优。

最后就是更新Q-Table。根据下面的最优贝尔曼方程,α是学习速率(或效率),γ是折扣因子(是对真实值的学习效率。越大则小鸟越重视以往的经验,越小越重视眼前的利益)。根据“眼前利益”和“记忆中的利益”也就是小鸟记忆中,新位置S'能够给的最大效用值,如果记忆中S'能给到一个较高的效用值,那么这个公式就能提早知道这样一件事,以便下次通过该位置能选择正确的动作。(记忆中的利益其实就是实际真实经历过,真实观测到的)

强化学习Q-Learning基本原理_第7张图片

好啦,以上就是Q-Learning的原理。 

还有一种表达方法,用伪代码写出来是下面这样:

上面的伪代码中,Q(s1)现实中总是包含Q(s2)的最大估计,将这个“最大估计”和“奖励”当成这一步的“现实”,很怪,有没有人能通俗的解释一下是为什么?

要是将第一个状态拆开,可以看出这个状态是有关于后续状态中所有奖励的函数,但是这些奖励存在衰减,距离s1状态越近,影响越大,距离s1越远则衰减越严重。当γ等于1的时候,没有“近视”,能看到后面所有步骤的价值,当γ为0则只能看到眼前的价值,当Γ位于0~1之间,则看到的越远越不清楚。

你可能感兴趣的:(机器学习,人工智能)