Tricks

一 输入信息预处理

DQN的输入信息预处理主要有两部分:针对图像的预处理,和针对游戏信息的预处理

图像部分:

  1. Grayscale :将RGB图像压缩成grayscale图像
  2. Down-sampling :将原本210x160的输入压缩为110x84
  3. Cropping :裁剪得到"中央"的游戏信息区域,最终大小为84X84

游戏部分:

  • 采用Key Frame :并不是每个frame都进行控制而是固定间隔选取Key Frame假装智能体看不见"中间过程
  • 用4个Key Frame作为Q-Network的输入获得历史信息
  • Reward Clipping :将所有的reward简化为+1, -1和0

游戏部分意义:

1.使用Key Frame,主要的作用有:

  • 加速游戏进行:计算Q-values是最耗时的步骤
  • 减少噪声:过分紧密的Frame重复的信息很多,之前的action容易被“否决”
  • 缩短reward signal到具体action之间的时间间隔

2.使用4个Key Frame作为输入,则可以帮助智能体获得更多有效的信息进行学习和训练
3.Reward Clipping损失了部分信息但是保证 了不同游戏的reward scale相同使得可以用相同的参
数训练

二 Replay Buffer

Replay Buffer的原理:
1.储存过去遇到的transition
2.忘记太过久远的transition
3.训练时,从Replay Buffer中随机抽样进行训练

为什么要使用Replay Buffer ? Replay Buffer要怎样设置才能真正有效?

Replay Buffer生效的一个重要条件是:储存的transition的数量要合适
●数量太少,可能会导致训练数据的分布迅速变化
●数量太多,可能会使reward signal太过“稀疏”影响训练
原理:
● DQN中对神经网络的训练的本质依然是SGD,SGD要求多次利用样本,并且样本相互独立,但相邻
的transition都是高度相关的,所以要记住过去的transition-起抽样
● Replay Buffer通过"记忆”一段时间内的transition,可以让训练数据分布更为平稳
● Replay Buffer通过 "遗忘”很久之前的transition保证记住的分布大致模拟当 前policy的分布 从
而进行policy update
● 可以多次重复采样提升 了data efficiency

三 SemiGradient Method

和之后的Q函数共享参数,但实际上并不参加导数计算,这种方法称为SemiGradient Method。

四 实验设置

训练时的细节设置:

  • Key Frame选取:每3或4帧
  • ε- Greedy : ε从1开始,线性减少,一百万frame后固定为0.1
  • 每个游戏训练一千万帧,Replay Buffer储存一百万帧

评估时:

  • ε=0.05
  • 测试有两种:固定总帧数比较reward,固定episode数比较reward

五 如何才知道智能体正在被训练?

1.每个episode做evaluation,查看reward

在这里插入图片描述

2.选取一些state,每个episode查看这些state的maximum Q value

在这里插入图片描述

3.还有一个思路是记录训练中的reward查看趋势

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值