目录

Q-Learning的介绍

Q-Learning的小技巧

用于持续动作的Q-Learning

一、Q-Learning的介绍

在Q-Learning中是基于值Value的方法。我们要训练的是一个Critic(评判网络)。

Critic的作用是评价了现在的行为有多好或是多么不好。

即给定行动,它评价了当前行动的好坏大小

例如状态值函数:

当使用Actor π,拜访到s状态后累积的Reward的期望值有多大。

需要注意的是不能单独有Critic的,它需要和一个Actor进行绑定。

因为还是Critic的定义,在给定状态s时,假设互动的是Actor π,计算的Reward的期望。

即 Critic 取决于Actor 和 State。

例子:

在不同的时期对相同的状态有不同的评价。

如何去计算

  • Monte-Carlo蒙特卡洛方法(MC)
  • Temporal-Difference时间差分方法(TD)

MC:

回归到

TD:

由序列 即可应用TD方法计算。

MC v.s. TD:

MC的方差较大,但是较为准确。(常用)

因为G是由多步累加得到的。

TD的方差较小,但不太准确。

例子:

我们互动了8个episodes。

计算期望值:

依据不同的计算方法,计算的结果是不同的。

除了上边的Critic之外,还有Q-Learning值函数用作Critic。

即状态行动值函数

某一个状态 s 采取某一个行动 a ,接下来都是Actor π来采取行动,最终得到的Reward的期望值。

Q函数有两种写法:

我们Q函数得到的最大值去更新原本的Actor会比原来的好。

证明:

Tip1: Q+TD = Target Network:

Tip2:Exploration

-贪心策略、玻尔兹曼探索:

Tip3:Replay Buffer

算法:

二、Q-Learning的小技巧

2.1 Double DQN

两个Q-Network。

2.2 Dueling DQN

改变Network的架构。

2.3 Prioritized Reply

2.4 Multi-Step

2.5 Noisy Net

2.6 Distributional Q-Function

2.7 Rainbow