强化学习算法总结报告
西安电子科技大学
计算机科学与技术学院
16030199024
卢修文
目录
强化学习算法总结报告.....................................................................................................................1
一、 概论...................................................................................................................................3
二、 基本理论及术语...............................................................................................................5
2.1 强化学习的定义以及描述...........................................................................................5
2.2.1 强化学习的定义................................................................................................5
2.2.2 强化学习的描述................................................................................................5
2.2 策略...............................................................................................................................6
2.3 长期累积奖赏...............................................................................................................7
2.3.1 T 步累积奖赏.................................................................................................. 7
2.3.2 折扣累积奖赏...............................................................................................7
2.4 常用术语及符号...........................................................................................................8
2.4.1 术语....................................................................................................................8
2.4.2 符号....................................................................................................................8
三、 单步强化学习任务算法...................................................................................................9
3.1 单步强化学习的定义...................................................................................................9
3.2 K-摇臂赌博机理论模型............................................................................................. 10
3.2.1 探索与利用......................................................................................................11
3.2.2-贪心法..........................................................................................................12
3.2.3 Softmax 算法................................................................................................... 14
3.3 进一步的讨论.............................................................................................................16
四、 多步强化学习任务算法.................................................................................................16
4.1 多步强化学习任务的定义........................................................................................ 16
4.2 有模型学习.................................................................................................................17
4.2.1 策略评估算法..................................................................................................18
4.2.2 策略改进算法..................................................................................................23
4.3 无模型学习.................................................................................................................27
4.3.1 蒙特卡罗强化学习......................................................................................... 28
4.3.2 时序差分学习..................................................................................................31
五、 其他强化学习算法.........................................................................................................33
5.1 模仿学习.....................................................................................................................33
5.1.1 直接模仿学习..................................................................................................33
5.1.2 逆强化学习......................................................................................................33
5.2 分层强化学习.............................................................................................................34
5.3 线性值函数近似 Sarsa 算法......................................................................................34
六、 后记.................................................................................................................................35
一、概论
连接主义学习把机器学习分为:监督学习、无监督学习、强化学习。目前用到最多是监
督学习和无监督学习,尤其是监督学习,因为应用场景多能给公司创造直接价值,但是我认
为强化学习是未来,因为强化学习能够与环境交互获得策略进行自学习,而且能学习到的能
力没有数据限制。DeepMind 公司开发出的 AlphaGO 是第一个击败人类冠军的程序,随后
DeepMind 公司用纯强化学习算法开发了 AlphaZero,不仅能够处理围棋任务,还能对象棋、
将棋进行学习,这是人们第一次用同一个算法来攻破象棋和围棋;2017 年 OpenAI 开发的 Dota
机器人在多人对抗游戏 Dota2 中击败人类玩家。可以看到,AI 和普通人类一样从头开始学
习,却能达到甚至超越人类的水平,尽管目前仅能在范围较窄、不很复杂的学习任务中成功,
但依然是令人振奋的工作成果。希望未来强化学习能够处理更加复杂宽泛的任务。
言归正传。万丈高楼平地起,对于学习更是如此,所以有必要对现行的主流强化学习算
法进行学习和总结。当然,总结自然不是简单的堆砌一个个算法,我个人比较喜欢的一个学
习方法就是分类和分层,这样可以使得知识脉络清晰,自成体系。
在认真查阅相关资料后,我对强化学习进行了分类,如图 1 所示
图 1:主流强化学习算法以单\多步学习任务分类
上面的思维导图基本总结了主流的强化学习算法及其对应分类,我在做思维导图的时候
想了许多其他的分类办法,但都不能很好的表现算法的归类。图 1 虽给出了大部分的算法,
单还是忽略了一些如按学习目标分类、按状态空间是否有限分类、是否能解决维数灾难的算
法等等。
于是我又在图一的基础上加入了一些关联,这些算法之间的关系如图 2 所示
图 2:强化学习各算法的分类及其关系
从图 2 可知,大部分强化学习的算法呈递进式的,一步步从简单走向复杂。从解决单步
强化问题到解决多步强化问题,从有模型学习到无模型学习,从状态空间有限到状态空间无
限,从无法避免维数灾难到解决维数灾难等等。制作思维导图的时候更让我深刻领会到这样
一件事:没有什么成果是能够一蹴而就的,万丈高楼如此,学习如此,强化学习算法的发展
亦是如此。在学习这些算法时,我有意的去想这个算法解决了什么问题,缺点是什么,针对
缺点如何改进,就这样自然而然的学习了一个又一个比上个算法复杂一点的算法。思维脉络
非常清晰,虽然实事求是的讲有些具体技术细节和公式推导还有困惑,但是在思路上还是非
常明确的。所以在报告中,我将自己尚未弄清楚的地方作出标记,以便后续学习再回顾思考。
最后,尽管我想把报告做的尽善尽美,但是奈何精力有限,加之又是第一次系统地学习
强化学习理论和算法,难以将业界主流算法全部囊括。不过经过十几个小时的学习,其间我
始终践行着不动笔墨不读书的原则,弄清楚了不少细节问题,并且通过制作思维导图对整个
强化学习有了一个比较系统完整的认识,收获还是匪浅的。不过自己这次准备报告也有明显
不足的地方——查阅的文献资料大抵来源于书本、网络和中文文献,希望自己下一次能够多
查阅国际期刊会议论文等外文文献(因为查阅英文文献比较耗时,需要翻译理解,这次时间
比较紧张,加之自己算是初学者,所以把前期学习重点放在了基础上。我想再前沿、高深的
论文也是由一点点基础组成的,基础不牢几乎是不可能看懂顶会论文的)。
二、基本理论及术语
这一节的内容虽然非常基础,但是同样很重要,我在后面学习各种算法的时候频繁地使
用到了这一节的内容。
2.1 强化学习的定义以及描述
2.2.1 强化学习的定义
定义 2.1.1 强化学习
强化学习(Reinforcement Learning,简称 RL)是机器学习的一个重要分支,是智能体
(Agent)以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是
是智能体获得最大的奖赏。
2.2.2 强化学习的描述
强化学习任务通常用马尔科夫决策过程(Markov Decision Process,简称 MDP)来描述:
机器(即智能体、Agent)处于环境E 中,状态空间为 X ,其中每个状态 Xx
到的环境的描述。机器能够采取的动作构成了动作空间 A ,若某个动作 Aa
状态 x 上,则潜在的转移函数 P 将使得环境从当前状态按某种概率转移到另一个状态。在
转移到另一个状态的同时,环境会根据潜在的奖赏函数 R 反馈给机器一个奖赏。综上,强
作用在当前
是机器感知
化学习任务对应了四元组
E
, AX
,
RP,
,其中
XAXP :
R
指定了状态转移概
率,
XAXR :
R
R XXR :
。
指定了奖赏;有的应用中,奖赏函数可能仅与状态转移有关,即
——将上面的描述拆开来看,可能会更加明确
定义 2.2.1 强化学习任务
强化学习任务对应了四元组
E
, AX
,
RP,
,是一个马尔科夫决策过程(MDP)。
E 是环境,即机器(agent)所处的环境。
X 是状态空间,其中每个状态 Xx
A 为动作空间,其中动作 Aa
P 为转移函数,若某个动作 Aa
是机器感知到的环境的描述。
是机器能够执行的动作。
环境从当前状态按某种概率转移到另一个状态。
作用在当前状态 x 上,则潜在的转移函数 P 将使得
R
XAXP :
指定了状态转移概率。
R 为奖赏函数,在转移到另一个状态的同时,环境会根据潜在的奖赏函数 R 反馈给机
器一个奖赏。
XAXR :
R
指定了奖赏;有的应用中,奖赏函
数可能仅与状态转移有关,即
R XXR :
。
图 3:强化学习图示
2.2 策略
策略,机器要做的是通过在环境中不断地尝试而学得一个“策略”(policy),根
据这个策略,在状态 x 下就能得知要执行的动作
a
)(x
。
定义 2.2.1 策略的数学表示
策略有两种表示方法
一种是将策略表示为函数
X :
A
,确定性策略常用这种表示,此时函数
x )(
a
代
表状态 x 下执行策略将会进行动作 a。
另一种是概率表示
R AX:
,随机性策略常用这种表示,
),( ax
为状态 x 下执行
策略将会进行动作 a 的概率,这里有
a
ax
1),(
。
确定性策略中,一般也把策略表示成状态-动作对集合,即
({
x
1
),...,
(
x
)}
2
策略的优劣取决于长期执行这一策略后得到的累积奖赏。在强化学习任务中,学习的目
的就是要找到能使长期累积奖赏最大化的策略。
2.3 长期累积奖赏
长期累积奖赏有多种计算方式,常用的有如下两种
2.3.1 T 步累积奖赏
其定义为:
E
1[
T
1
T
t
tr
]
其中 tr 表示第 t 步获得的奖赏值,E 表示对所有随机变量求期望。T 步累积奖赏一般适用于
有限步长的策略。
2.3.2 折扣累积奖赏
其定义为:
E
[
t
0
tr
t
1
]
折扣累积奖赏一般适用于无限步长策略,其中
0
。
1
2.4 常用术语及符号
2.4.1 术语
RL ——即强化学习(Reinforcement Learning,简称 RL)
MDP——即马尔科夫决策过程(Markov Decision Process,简称 MDP)
Agent——即强化学习的主体,不同的文献和场景中文称呼可能不同,如智能体、机器等。
TD——时序差分(Temporal Difference,简称 TD)
2.4.2 符号
max
Aa
arg
F(a)
——在所有行动中,求最大值 F(a)
max
c
F(c)
——求当 F(c) 为最大值时,参数 c 的值
xP ——在 x 状态下执行动作 a 转移到 x 状态的概率为 a
a
xP
x
x
x
xR ——在 x 状态下执行动作 a 转移到 x 状态所带来的奖赏为 a
a
——即策略
xR 。
x
* ——即最优策略
*V ——最优策略所对应的值函数 *V 称为最优值函数,即
)(
xVXx
:
*
*
V
)(
x