无我魔兽私服

 找回密码
 立即注册
搜索
查看: 3340|回复: 0

OpenAI Gym环境'Hyrja-v0'——用强化学习算法训练机器打模拟的残暴赫娅

[复制链接]

16

主题

21

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2017-7-31 15:00:11 | 显示全部楼层 |阅读模式
OpenAI Gym环境'Hyrja-v0'——用强化学习算法训练机器打模拟的残暴赫娅

这是啥?

关注过人工智能发展的同学应该听说过DeepMind发明了一个让机器自己学会玩Atari2600游戏的算法——[Human-level control through deep reinforcement learning]。
我们家魔兽怎么就没人关注呢?肯定是WoW is too hard,任发Nature的大牛也做不出来效果吧偷笑
出于好奇,我把残暴赫娅做成了一个小游戏,实现到了Gym环境里。小游戏需要你控制五个玩家的移动,来完成对赫娅的击杀。
为了化简问题,输出循环都被去掉了,只要在可以输出的范围伤害是自动打的,近战要在Boss身边,然后法师和治疗牧师如果移动会降低伤害和治疗能力。
游戏的得分就是Boss掉的血。


不过这个游戏并不是给你玩的啦,是让机器玩的。有了Gym环境,你就可以套用各种强化学习算法来训练出一个玩这个游戏的AI。
比如[
https://arxiv.org/abs/1509.02971
此网页不属于本网站,不保证其安全性
继续访问       取消
Continuous control with deep reinforcement learning]介绍的DDPG算法就可以套用上来。

我拿一个小神经网络做DDPG试了一下,3层actor,2层critic全连接,训练了一晚上,最好的一次打掉了23%……不过没留下录像来。
待我试试更复杂的网络再来发效果。
以前研究输出循环的精力下得比较多,现在可以看看战斗策略究竟难度有多大了。

开始吧!

没玩过Gym的话,首先要安装OpenAI Gym
Code c:
pip install gym

然后安装赫娅环境
Code c:
git clone https://github.com/AeanSR/gym-hyrja.git
cd gym-hyrja
pip install -e .

然后就可以执行了,例如这一段Python可以演示随机行动的效果,就像视频里一样
Code c:
import gym
import gym_hyrja

env = gym.make("Hyrja-v0")
observation = env.reset()
for _ in range(15000):
  env.render()
  action = env.action_space.sample() # your agent here (this takes random actions)
  observation, reward, done, info = env.step(action)
  if done:
    env.reset()

env.close()

要实现其他算法,把action等于随机采样那一句话替换成你自己的算法就可以了。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

魔兽私服|小黑屋|手机版|Archiver|无我魔兽私服

GMT+8, 2024-4-24 19:20 , Processed in 0.102539 second(s), 20 queries .

Powered by 魔兽世界论坛

© 2001-2021 http://woooldos.com

快速回复 返回顶部 返回列表