Introduction:学习直接从高维的感观输入(视觉,语音)去直接控制智能体是强化学习一个长期的挑战。一些成功的RL应用都是依赖于hand-crafted的特征。最近深度学习的进步使提取高水平的特征成为了可能。
参考传送门:https://blog.csdn.net/qq_34718684/article/details/89386302 Playing Atari with Deep Reinforcement Learning
1、预处理:剪裁、灰度化、下采样
Atari 游戏之Breakout,原始图像是:每帧128color的210x160pixel图像,为减小状态空间维数和满足gpu的2d卷积神经网络需要方形输入,对原始图像进行与处理。
预处理前 预处理后
注释1:img函数,剪裁31-195像素,游戏相关图像。
注释2:img_temp.mean(axis=2)函数 原图像的灰度图
注释3:IM_SIZE 下采样参数,缩放后的图像大小,设置为80
注释3:imresize函数 下采样,等比例压缩图片尺寸
参考传送门:http://c.biancheng.net/view/1976.html DQN算法原理及应用(实现Atari游戏)
2、定义输入
输入为84*84*4
为什么输入为4帧?只看上图不能确定板子是向左还是向右,要理解游戏当前的状态,需要考虑动作和观测的序列。因此,考虑四个动作和观测序列的输入来确认情况并训练智能体。
3、定义目标网络 target_network
用DQN的副本建立一个目标网络,并不跟DQN 一起更新,为 DQN 网络生成目标价值函数。每一步中正常更新 DQN,同时在规律性的时间间隔之后更新 target_network。
* 由于所有更新都在 TensorFlow 会话中进行,因此需要使用名称作用域来区分 target_network 和 DQN 网络。
4、 导入必要模块,定义训练的超参数、定义DQN类
5、建立会话函数,预测动作函数,执行动作函数,更新策略网络函数。
另:
强化学习资料库:http://www.bubuko.com/infodetail-3171920.html 【干货总结】| Deep Reinforcement Learning 深度强化学习
来源:CSDN
作者:茶花煮酒
链接:https://blog.csdn.net/qq446293528/article/details/103701030