AI市场强化学习预置算法实践----使用强化学习训练智能体玩转Atari小游戏(1)

举报
灰灰爱喝粥 发表于 2020/09/12 17:28:33 2020/09/12
【摘要】 强化学习研究的是智能体与环境之间交互的任务,学习如何将状态映射到动作从而获得最大奖励的一种机制。智能体不会被告知要采用什么样的动作,只能通过不断地尝试,做错接受“惩罚”,做的好获得“奖励”,在不断的尝试中学习,更新自己的行为,最终一步步学习到一定的操作以获得最大奖励。强化学习,既可以表示一类问题,还可以表示解决这类问题的一类算法,其最早主要是应用于智能控制领域。DeepMind于2013年发...

强化学习研究的是智能体与环境之间交互的任务,学习如何将状态映射到动作从而获得最大奖励的一种机制。智能体不会被告知要采用什么样的动作,只能通过不断地尝试,做错接受“惩罚”,做的好获得“奖励”,在不断的尝试中学习,更新自己的行为,最终一步步学习到一定的操作以获得最大奖励。

强化学习,既可以表示一类问题,还可以表示解决这类问题的一类算法,其最早主要是应用于智能控制领域。DeepMind于2013年发表一篇工作,将深度学习运用到强化学习任务上。随着算法改进,DeepMind的研究者使用DQN(Deep Q Network)进行Atari游戏,有接近一半的游戏上,智能体水平都超过的了人类。

本篇博客,就教你使用ModelArts的AI市场上强化学习预置算法,0代码训练一个可以玩Atari游戏的智能体模型。其中,在ModelArts的AI市场上,强化学习预置算法的链接是:

https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=9cc8dca3-8f51-4ab9-8b92-42361bdca1d4

在AI市场,也有关于算法的参数相关的详细介绍,如果想修改相应的参数,可以作为参考。当然,本次实践,基本上不需要修改什么内容即可完成。

在ModelArts平台的使用文档中,对用户开放有相关内容的最佳实践示例,具体链接如下:

https://support.huaweicloud.com/bestpractice-modelarts/modelarts_10_0033.html

首先,我们参考最佳实践的内容,动手创建一个训练作业。创建训练作业过程中,在设置参数时,需要修改一个控制训练环境的参数。

对于上述最佳实践,训练的环境是默认的一个动力学环境,不是Atari游戏环境,我们可以将参数“preset_env_id”设置为“Breakout-v0”,其中“Breakout”是Atari游戏中的一种打砖块的游戏,游戏画面如下图所示。


“stop_value”参数改为1000,两核CPU规格下,可在9分钟左右训练完成,默认值在本示例环境及算法情况下需要几个小时。


关于强化学习算法,我们选择PPO,也就是将对应的参数设置为“ppo”,如下图所示。对于其他参数保持默认即可。


如果想要训练出玩游戏"技术"很强的智能体,可能需要对训练的"stop_criterion"以及"stop_value"等参数进行设置,可以参考AI市场中给出的参数详细说明。当然,这样训练时间会变的相对较长。

参数按照上述修改之后,启动训练作业,等待训练完成,我们想要的智能体就训练好了,模型会保存在我们选择的“训练输出”的OBS路径中。

那我们怎么样才能看到这个智能体玩游戏的具体情况呢?在线推理服务只支持单步推理,此时我们需要自己编写相应代码,但是不会写怎么办?当然有办法解决,我们可以在notebook中,很简单实现,这个内容在下一个教程进行详细介绍~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。