1700539258
知识点
1700539259
1700539260
强化学习,Q-learning
1700539261
1700539262
问题 什么是深度强化学习,它和传统的强化学习有什么不同?
1700539263
1700539264
难度:★★★☆☆
1700539265
1700539266
分析与解答
1700539267
1700539268
1700539269
1700539270
2013年,DeepMind提出的深度强化学习仍然使用经典的Q-learning框架[31]。Q-learning的本质是,当前状态sj、回馈aj、奖励rj,以及Q函数之间存在关系,其中。如果sj+1是终态,则yj=rj,在传统的Q-learning中,考虑状态序列是无限的,所以并没有终态。依据这个关系,可以对Q函数的取值做迭代改进。所以如果我们有一个四元组(sj,aj,rj,sj+1),我们可以用随机梯度下降法的思想对Q函数迭代前后的平方差距(yj−Q(sj,aj))2做一次梯度下降。
1700539271
1700539272
1700539273
1700539274
1700539275
经典的Q-learning算法如图11.5所示。为了能与Deep Q-learning 作对比,我们把最后一步Q函数更新为等价的描述:令,并对执行一次梯度下降,完成参数更新。
1700539276
1700539277
1700539278
1700539279
1700539280
图11.5 经典Q-learning算法
1700539281
1700539282
图11.6是深度Q-learning算法,其中红色部分为和传统Q-learning不同的部分。
1700539283
1700539284
1700539285
1700539286
1700539287
图11.6 深度Q-learning算法
1700539288
1700539289
比较这两个算法,我们不难发现深度Q-learning和传统的Q-learning的主体框架是相同的,在每一次子迭代中,都是按照以下步骤进行。
1700539290
1700539291
(1)根据当前的Q函数执行一次行动at。
1700539292
1700539293
(2)获得本次收益rt及下一个状态st+1。
1700539294
1700539295
1700539296
(3)以某种方式获得一个四元组。
1700539297
1700539298
(4)计算yj。
1700539299
1700539300
(5)对(yj−Q(sj,aj;θ))2执行一次梯度下降,完成参数更新。
1700539301
1700539302
1700539303
1700539304
表11.1是传统Q-learning与深度Q-learning的对比。以获得状态的方式为例,传统Q-learning直接从环境观测获得当前状态;而在深度Q-learning中,往往需要对观测的结果进行某些处理来获得Q函数的输入状态。比如,用深度Q-learning玩Atari游戏时,是这样对观察值进行处理的:在t时刻观察到的图像序列及对应动作,通过一个映射函数,得到处理后的标准状态。在实际的应用中,φ选择最后4帧图像,并将其堆叠起来。
1700539305
1700539306
表11.1 传统Q-learning与深度Q-learning对比
1700539307
[
上一页 ]
[ :1.700539258e+09 ]
[
下一页 ]