深度学习模型保存_TensorFlow 2 模型:深度强化学习

文 /  李锡涵,Google Developers Expert

本文节选自《简单粗暴 TensorFlow 2》,回复 “手册” 获取合集

751b3ed81f0c3c46fb4cb2f66bacb20e.png

在很久之前就应该介绍 TensorFlow 中的深度强化学习的,是的,终于完成了!

本文将介绍在 OpenAI 的 gym 环境下,使用 TensorFlow 实现 Q-learning 算法,从而玩倒立摆游戏的流程。

深度强化学习 (DRL)

强化学习 (Reinforcement learning,RL)强调如何基于环境而行动,以取得最大化的预期利益。结合了深度学习技术后的强化学习(Deep Reinforcement learning,DRL)更是如虎添翼。近年广为人知的 AlphaGo 即是深度强化学习的典型应用。

  • 强化学习
    https://zh.wikipedia.org/wiki/%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0

注解
可参考手册附录的 强化学习简介 一章以获得强化学习的基础知识。https://tf.wiki/zh/appendix/rl.html

这里,我们使用深度强化学习玩 CartPole(倒立摆)游戏。倒立摆是控制论中的经典问题,在这个游戏中,一根杆的底部与一个小车通过轴相连,而杆的重心在轴之上,因此是一个不稳定的系统。在重力的作用下,杆很容易倒下。而我们则需要控制小车在水平的轨道上进行左右运动,以使得杆一直保持竖直平衡状态。

CartPole 游戏 

我们使用 OpenAI 推出的 Gym 环境库 中的 CartPole 游戏环境,可使用pip install gym进行安装,具体安装步骤和教程可参考 官方文档 和 这里 。和 Gym 的交互过程很像是一个回合制游戏,我们首先获得游戏的初始状态(比如杆的初始角度和小车位置),然后在每个回合 t,我们都需要在当前可行的动作中选择一个并交由 Gym 执行(比如向左或者向右推动小车,每个回合中二者只能择一),Gym 在执行动作后,会返回动作执行后的下一个状态和当前回合所获得的奖励值(比如我们选择向左推动小车并执行后,小车位置更加偏左,而杆的角度更加偏右,Gym 将新的角度和位置返回给我们。而如果杆在这一回合仍没有倒下,Gym 同时返回给我们一个小的正奖励)。这个过程可以一直迭代下去,直到游戏终止(比如杆倒下了)。在 Python 中,Gym 的基本调用方法如下:

import gym

env = gym.make('CartPole-v1') # 实例化一个游戏环境,参数为游戏名称
state = env.reset() # 初始化环境,获得初始状态
while True:
env.render() # 对当前帧进行渲染&#x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值