打字猴:1.700539258e+09
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 ]  [ 下一页 ]