【强化学习】Q-Learning

什么是Q-Learning

假设机器处于某个状态S1,此时有两种选择:动作a1和动作a2,行为准则Q表记录了这两种动作相对应的潜在奖励,Q Learning会选择潜在奖励更高的动作去做,进而转移到下一个状态,并重复这样的步骤。

Q表如何更新

q即q(s,a)指在某一时刻的s状态下($s\in S$),采取动作a($a\in A$)动作所能够获得收益的期望。

举个Q表的例子:

捕获1

以上面提到的贝尔曼方程为基础,来看看Q Table是如何更新的。

Q表在初始状态下的值全部为0。

QL

此处,图中的算式所使用的符号和我平时看到的不是很一致,所以我在接下来进行一些解释,使之与我的MDP博客中的符号一致。

首先对公式中的符号进行说明:

  • $r$ ,即 $R_s^{a’}$ ,表示在状态 s 下采取动作 $a’$ 得到的奖励值
  • $\gamma$, 即衰减系数
  • $\alpha$,即学习率,用来决定这次的误差(现实 - 估计)有多少是要被学习的
  • $max_{a’}Q(s’,a’)$ ,即贝尔曼最优方程中的 $max_{a’} q_*(s’,a’)$ ,表示在状态 s 下采取动作 $a’$ 转移到 $s’$ 能够取得的最大行为价值
  • $\varepsilon - greedy$ ,是用在决策上的一种策略, 比如 $\varepsilon$ = 0.9 时, 就说明有90% 的情况会按照 Q 表的最优值选择行为,10% 的时间使用随机来选择行为

类比曾经学习的贝尔曼最优方程:

根据下一个状态 $s’$ 中选取最大的 $Q(s’,a’)$ 值乘以衰变 $\gamma$ 加上真实的回报值 $r$ 作为 Q 现实,而根据过往 Q 表中的 $Q(s,a)$ 作为 Q 估计进行 Q 值的更新。即

Author: iwannaeat
Link: https://iwannaeat.github.io/2020/11/26/【强化学习】Q-Learning/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.