强化学习2:Q-learning 算法

如果对强化学习没有了解,推荐先学习一下:强化学习基本原理

1 Q-Learning:简介

Q-Learning 是一种基于价值迭代的强化学习算法,用于解决马尔可夫决策过程(MDP)中的问题。在 Q-Learning 中,代理通过与环境进行交互学习一个Q值函数,该函数表示在特定状态下采取特定动作所获得的预期累积奖励。

2 Q-Table

Q-Learning 的特点在于它的决策方式。它是通过一个被称为 Q-table 的表格来做决策。
在这里插入图片描述

Q-table 的纵轴为 State,横轴为 Action。里面的值为 Q-value。对于当前状态s,倾向于采取的行为为 argmaxQ(s, a),即倾向于采取使得 Q-value 尽可能大的 Action。
Q-value 到底是什么?
强化学习就是希望获得尽可能大的奖励。再一次交互中,我们希望得到尽可能大的全局奖励,而不是贪恋某一时刻的局部奖励。我们采用下面的方式表示全局奖励,或者可以称为长期奖励:
在这里插入图片描述

这个公式表示在 t 时刻的长期奖励。其中 γ 是衰减因子,其值在 0-1 之间,表示距离 t 时刻越远的局部奖励对 t 时刻的长期奖励影响越小,即表示未来的奖励的重要性。我们希望每一时刻的 G 越大越好。
我们可以进而定义两个公式:
在这里插入图片描述

在这里插入图片描述

π 是当前的决策模型,也就是需要被训练的东西。
V 是在当前状态为 s 的前提下,所能获得的长期奖励的期望。在打游戏时,就可以用 V 评估当前状态的优劣势。
Q 是在当前状态为 s 的前提下,如果采用了动作 a,所能获得的长期奖励的期望。相比于 V,Q就可以用与评估状态 s 的前提下,采取某个行为的好坏程度,也就可以用于指导采取哪个行为。
Q-table 中的 Q-value qmn 就是 Q(sm, an)。Q-table 就可以用于指导采取长期奖励最大的行为。

3 学习过程

在这里插入图片描述

3.1 初始化

可直接将 Q-value 全部设置为 0。或者也可以采用一些启发式方法去设置 Q-value。

3.2 决策

这里使用 ε-Greedy 的策略来选择行为。其中 ε 为探索率,其值为 0-1 之间。ε 的概率选择随机动作,以 1-ε 的概率选择使得 Q-value 最大的动作。之所以不直接选择 Q-value 最大的动作,是为了使得学习不陷入局部优化。
ε 需要在探索和利用之间取得适当的平衡。通常在训练初期探索率较高,随着训练的进行逐渐减小,以便代理能够充分探索环境并逐渐利用已经学到的知识。

3.3 更新 Q-table

更新 Q-value 是采用时序差分(Temporal Difference,TD) 的策略,它的原理是基于贝尔曼公式(Bellman equation)。
更新公式为:
在这里插入图片描述

整体可类比梯度下降。α 是学习率。r 是立即回报。γ 是衰减因子。
max(Q(s',a')) 表示在下一个状态所能得到的最大的 Q-value。r+γmax(Q(s',a')) 近似为长期奖励,或者可以称为 TD Target。长期奖励需要直接看到最后一步的奖励,但有时做不到这一点,即使做到这一点,更新也比较迟,因此这里使用这个公式近似为实际长期奖励。r+γmax(Q(s',a'))-Q(s,a) 表示实际长期奖励与当前 Q-value之间的误差。
如果不近似长期奖励,而是等到一轮动作完成之后再统一学习,则该方法成为 Monte-Carlo(MC)based approach 方法,这里不详细讲述。一般都是使用 TD 方法。
实际上,MC由于要进行一系列动作,链条较长,不稳定,因此方差较大,但可以看做全局的方式,精度较高;而TD的方式由于误差不断传递,导致精度稍低,但是方差比较小。

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值