【莫烦强化学习系列视频】笔记本
第4节 什么是Q-Learning?
4.1 Q学习简介
我们的行动准则:好的行为能够获得奖励,不好的行为会获得惩罚。
我叫小明,是某大学本科新生,上课的第一天,你并不知道上课走神会挂科,你坐在第一排,你有两个选择:听课和走神,你选择连续走神,老师给你挂了。你记住了这次惨痛的教训,重修的时候持续认真听讲(当然这是极端情况)。
当前有一个Q表,如下面图所示:
Q表中是每一个状态(
s
1
,
s
2
,
…
…
s_1,s_2,……
s1,s2,……),所对应的是所有动作(
a
1
,
a
2
,
…
…
a_1,a_2,……
a1,a2,……)的“Q值”,Q值可以表示当前状态下选择对应动作的回报。
Q表的作用是什么呢?
假设Q表已经存在,我们选择初始状态为
s
1
s_1
s1(放学回家),动作的选择则是Q表中
s
1
s_1
s1状态对应Q值最大的动作
a
2
a_2
a2(写作业),然后自动转移到状态
s
2
s_2
s2(写作业中),再次根据Q表选择动作
a
2
a_2
a2(写作业)……以此往复。
4.2 Q表的更新
还是上面的过程,当我们通过Q表选择动作
a
1
a_1
a1后,到达
s
2
s_2
s2状态。
上图中maxQ(
s
2
s_2
s2)是在还未采取第二次行动之前做的估计,即当前状态可能达到的最大Q值(Q(
s
2
s_2
s2,
a
2
a_2
a2)),前面乘以一个
γ
\gamma
γ,叫做衰减因子,表达的是未来值对现在影响的大小,后面会详细提到。最后加上一个R,表示当前状态
s
1
s_1
s1下选择动作
a
2
a_2
a2的立即奖励(假设现在R为0,没写完作业不给奖励),得到真实的Q(
s
1
s_1
s1,
a
2
a_2
a2)值。Q表中原来的值即为估计值,差距(也就是需要调整的部分)=真实Q值-原来Q值。
最后更新的Q值 = 原来的Q值 +
α
∗
\alpha*
α∗差距,其中
α
\alpha
α为学习率(影响学习速度)。
4.3 Q学习算法
Q的现实值实际上有部分也是利用Q表中的值估计的,更新过程就是上面所描述的过程。
算法第5行,状态s选择动作a时,使用的是
ϵ
−
g
r
e
e
d
y
\epsilon-greedy
ϵ−greedy方法,比如
ϵ
\epsilon
ϵ=0.9,就有0.9的概率选择最大Q值动作,但是也有0.1的概率选择任意的其他动作,目的是加入一定随机性,遵循广泛采样的原则。
4.4 衰减因子 γ \gamma γ
如上图所示,Q(
s
1
s_1
s1)的估计不仅仅只有
s
2
s_2
s2,按照同样的规则可以持续的展开,可以发现,其与后续状态
s
3
、
s
4
…
…
s_3、s_4……
s3、s4……都有关系,这些都能够用来估计实际Q值。
当
γ
=
1
\gamma=1
γ=1时,相当于更多的考虑未来的奖励,完全没有忽略。
当
γ
⊆
(
0
,
1
)
\gamma\subseteq(0,1)
γ⊆(0,1)时,数值越大,对未来情况的重视程度越大,可以说智能体越有“远见”。
当
γ
=
0
\gamma=0
γ=0时,完全不考虑将来的情况,只有当前的回报值。
上一篇:【莫烦强化学习】视频笔记(一)3. 为什么用强化学习?
下一篇:【莫烦强化学习】视频笔记(二)2.编写一个Q学习的小例子