星际争霸II的强化学习环境(3)

本篇是我在CASIA实习结业报告,另可参阅实习感受

项目地址

目录

简介

pysc2_maddpg 这个项目是我在中科院自动化所的实习代码,主要是利用深度强化学习的MADDPG算法,应用到暴雪开源的SC2LE强化学习开发环境,来训练星际争霸2中一个简单的对抗环境。

功能

利用Open AIMADDPG多智体联合算法,训练了星际争霸2——sc2le环境中最基本5v5对抗中的收割者。

  • 当动作空间为3,初始态为攻击态时,胜率达到90%。
  • 通过训练,收割者能够实现索敌靠近。
  • 能够基本协同作战,以获得更高胜率。
  • 考虑血量和己方的攻击力,选择作战攻略(目前还未实现)。

项目

Papers

papers是项目的理论支撑,包括项目的参考的论文。

Document

Document是前人文档。

maddpg

maddpg是代码的核心部分,包含maddpg算法和pysc2环境两个部分。

  • sc2_env是项目对于pysc2环境的接口,包含combined_action.pyrunner.py两个文件。其中combined_action.py是动作空间文件,规定了动作个数,在在3动作空间会有更好的表现。runner.py将我们的agent接入了pysc2环境。
  • maddpg是项目调用的maddpg算法的部分,包含trainercommonagent.py文件。其中trainercommon是MADDPG自带的部分,用于规定算法;agent.py文件是我们自己实现的agent类,具体可以实现一些特殊的动作,如选择单元、选择控制组、获得当前状态等等。

csv文件

项目的csv文件是数据记录文件,记录了实验的相关数据。

load文件

项目的load文件将会显示试验的结果。

train_maddpg.py

train_maddpg.py训练总文件,配置好环境之后运行的文件。

设计思路

游戏采用最简单的5v5场景,为了让收割者们通过学习学到好的策略,设计采用condition-strategy-rewards的基本构架。

condition

为了让收割者们有更好的表现,我们需要让收割者们上场杀敌。杀敌的时候就需要考虑血量和攻击力两个方面。condition暂时还未实现,是未来工作的一部分。

假设我方还有m个幸存的收割者,血量分别是Hp_1, Hp_2,..., Hp_m,收割者的攻击力大体上相同,所以我方此时的攻击力为D=µm,µ是常数。同理,对方还剩下n个幸存者,血量分别是Hp'_1, Hp_2',..., Hp_m',攻击力为D'=µn。那么敌我双方团灭时间大致为t_1=\frac{\sum{}Hp}{D'}t_2=\frac{\sum{}Hp'}{D}。当我方团灭时间大于对方时候,m\sum{}Hp>n\sum{}Hp'时,攻击。

考虑pysc2内置的reward是当前帧减去前一帧的score,为了获得更大score,我们应该让reaper_i=\arg\min_{reaper_i}(Hp_{reaper_i})号收割者远离,并派遣其他收割者攻击。

其余情况均远离。

Github上可能无法加载condition,condition图片版点击此处

strategy

采取攻击策略有助于提升胜率,但是盲目攻击又将带来损失,因此我们制定了一套该场景下的策略。

  • 主动参兵有奖:设置distance,当我方收割者与离之最近的敌方收割者拉近距离时候会有奖励;若已经进入战场,不再通过distance增加reward。
  • 支援队友有奖:当拉近距离之后,孤军奋战是不好的策略,因此当我们所有的收割者都执行攻击动作的时候,有一个相应的奖励。
  • 战场杀敌有奖:此项由于涉及到score,是pysc2内设的,因此不予考虑。

rewards

rewards在agent.pyrunner.pytrain_maddpg.py中都有涉及,范围较广,暂时考虑了两种rewards,分别是pysc2内置的score带来的reward
和距离拉近带来的rew_d。

项目结果

代码截图

image
image
image
image

对战截图

image
image
image
image
image
image
image

结果截图

  • 在初始化为攻击状态,动作空间为3个动作时,胜率可以达到90%多。
  • 在初始化为任意状态,动作空间为3个动作时,胜率可以达到50%多。
  • 在初始化为任意状态,动作空间为7个动作时,胜率只有20%左右。
image
image
image

参考

前人工作

【1】星际争霸2人工智能研究环境SC2LE初体验

【2】迈向通用人工智能:星际争霸2人工智能研究环境SC2LE完全入门指南

【3】星际争霸2之环境配置

【4】星际争霸2之MADDPG算法

参考网页

【1】强化学习基本介绍

【2】DNQ介绍

【3】Intel——DNQ

【4】MADDPG论文翻译

【5】MADDPG官方文档

【6】MADDPG简介

【7】DDPG详解

【8】深度学习A3C

参考代码

【1】openai/MADDPG

【2】Blizzard/s2client-proto

【3】deepmind/pysc2

【4】fangbrodie/pysc2_maddpg

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355

推荐阅读更多精彩内容

  • 姓名:刘畅 学号:15020199045 转自:https://zhuanlan.zhihu.com/p/5098...
    薰风初入弦Isono_5c51阅读 527评论 0 0
  • 背景 游戏是检验人工智能系统效果的一种重要手段,这得益于游戏本身所具有的对抗性和策略性。 当前在大部分的视频实时策...
    yaohwang阅读 988评论 0 1
  • 古井文/悠叶 村子里的人又少了一些村口的这座古井仍旧慈祥地端坐着它是村子年迈的通讯兵传达 岁月蹉跎的消息 我记得...
    悠叶_阅读 2,472评论 60 58
  • 今年大二了,大一的时候参加了好多的生日聚会,有师姐的,有同学的,最多的还是舍友的。 刚开始的时候很开心啊,因为有朋...
    avac阅读 1,168评论 0 0
  • 万维钢的《万万没想到》中提到,影响学习成绩的因素是学习环境。 原文:“成绩好的学生必须在一个不受打扰的环境中单独学...
    伊衿阅读 190评论 0 0