AI市场强化学习预置算法实践----使用强化学习训练智能体玩转Atari小游戏(1)
强化学习研究的是智能体与环境之间交互的任务,学习如何将状态映射到动作从而获得最大奖励的一种机制。智能体不会被告知要采用什么样的动作,只能通过不断地尝试,做错接受“惩罚”,做的好获得“奖励”,在不断的尝试中学习,更新自己的行为,最终一步步学习到一定的操作以获得最大奖励。
强化学习,既可以表示一类问题,还可以表示解决这类问题的一类算法,其最早主要是应用于智能控制领域。DeepMind于2013年发表一篇工作,将深度学习运用到强化学习任务上。随着算法改进,DeepMind的研究者使用DQN(Deep Q Network)进行Atari游戏,有接近一半的游戏上,智能体水平都超过的了人类。
本篇博客,就教你使用ModelArts的AI市场上强化学习预置算法,0代码训练一个可以玩Atari游戏的智能体模型。其中,在ModelArts的AI市场上,强化学习预置算法的链接是:
在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中,很简单实现,这个内容在下一个教程进行详细介绍~
- 点赞
- 收藏
- 关注作者
评论(0)