强化学习与概率TensorFlow:从DQN到不确定性建模
1. 深度Q网络(DQN)基础与Atari游戏应用
在强化学习领域,深度Q网络(DQN)是一项重要的技术。以平衡杆问题为例,通过DQN训练的智能体能够在学习过程中逐渐掌握平衡杆的技巧。在训练完成后,可以使用 agent.env.close() 关闭环境。
当将DQN应用于Atari游戏时,情况变得更加复杂。由于Atari游戏的输入是原始像素值,之前简单的DQN模型不再适用,需要使用卷积神经网络(CNN)。具体操作步骤如下:
1. 状态空间预处理 :以Breakout游戏为例,图像中并非所有部分都包含有用信息,因此需要裁剪图像、转换为灰度图并调整为84×84的正方形。代码如下:
def preprocess_state(self, img):
img_temp = img[31:195] # 选择图像的重要区域
img_temp = tf.image.rgb_to_grayscale(img_temp)
img_temp = tf.image.resize(img_temp, [self.IM_SIZE, self.IM_SIZE],
method=tf.image.ResizeMethod.NEAREST_NEIGHBOR)
img_temp = tf.cast(img_temp, tf.float32)
return img_temp[:,:,0]
超级会员免费看
订阅专栏 解锁全文
481

被折叠的 条评论
为什么被折叠?



