CN112957740B - 一种适配分层强化学习的自动分解游戏环境的方法 - Google Patents

一种适配分层强化学习的自动分解游戏环境的方法 Download PDF

Info

Publication number
CN112957740B
CN112957740B CN202110324418.8A CN202110324418A CN112957740B CN 112957740 B CN112957740 B CN 112957740B CN 202110324418 A CN202110324418 A CN 202110324418A CN 112957740 B CN112957740 B CN 112957740B
Authority
CN
China
Prior art keywords
game
task
reinforcement learning
inputting
game environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110324418.8A
Other languages
English (en)
Other versions
CN112957740A (zh
Inventor
俞扬
詹德川
周志华
徐寅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202110324418.8A priority Critical patent/CN112957740B/zh
Publication of CN112957740A publication Critical patent/CN112957740A/zh
Application granted granted Critical
Publication of CN112957740B publication Critical patent/CN112957740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6027Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开一种适配分层强化学习的自动分解游戏环境的方法,涉及到两个方面,一个是计算机视觉方面的弱监督语义分割技术,这一块为任务分解模块,另一个是强化学习中的分层强化学习的领域,这一块为策略训练模块。该方法能够大大降低强化学习的学习难度,以使得可以在更复杂的游戏环境中训练出更强大的游戏AI。这能够一方面提高游戏公司在设计游戏AI方面的生产力,另一方面也能够提高强化学习技术本身的适用性,使其能够进一步落地到更多的通用领域。

Description

一种适配分层强化学习的自动分解游戏环境的方法
技术领域
本发明涉及一种适配分层强化学习的自动分解游戏环境的方法,其涉及到机器学习中计算机视觉以及强化学习方面的相关领域知识。
背景技术
随着现在强化学习的日益发展,强化学习在现实场景中落地的需求日常强烈。目前强化学习在训练游戏AI方面有很好的应用,例如围棋,星际争霸,王者荣耀,QQ飞车等。这些主要采用现有的强化学习算法,例如DQN算法。但是强化学习算法在复杂环境中有较大的学习困难,其表现在学习的缓慢和不稳定性。为此,一方面大家在尝试发明性能更加强大的强化学习算法,另一方面,大家也在尝试分解原问题成更小的问题,以使得现有的强化学习算法能够满足需求。
现有的环境分解方法通常是手工分解,即手动分解将目标环境中的子任务根据人类自己的先验知识分解出来,例如星际争霸中,人为将发展经济,微操,暴兵等作为子任务分解出来,同时设计一些伪奖赏来指导强化学习算法学习。但是这样的话第一是需要人自己的手工劳动,越是复杂的环境越是耗费人手工设计的精力,第二是人自己的分解可能存在误区,导致分解出来的子任务效果不佳,第三是这样每个环境都需要人类的重复劳动,即使是相似的环境也需要人重复的去分解和设计,带来不必要的劳力浪费。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种适配分层强化学习的自动分解游戏环境的方法。
技术方案:一种适配分层强化学习的自动分解游戏环境的方法,涉及到两个方面,一个是计算机视觉方面的弱监督语义分割技术,这一块为任务分解模块,另一个是强化学习中的分层强化学习的领域,这一块为策略训练模块。
弱监督语义分割技术方面,即任务分解模块,将奖赏作为对图像的弱标记,以此训练出一个分类器,这个分类器的输入是游戏环境内前后两帧图像的差分图像,输出是奖赏是否为0的判断。分类器用神经网络建模,由三层卷积层接两层全连接层构成,输入维度为图像长度*图像宽度*RGB频道数,输出维度为1。更新的损失函数使用最小均方误差。具体的训练流程如下:
步骤101:初始化或输入策略Π,初始化或输入奖赏判别器ClsR,初始化游戏环境E,输入训练步数T;
步骤102:执行从步骤201到205的循环T次;
步骤201:从游戏环境E获得游戏画面s;
步骤202:将游戏画面s输入策略Π,得到动作a;
步骤203:将动作a输入游戏环境E,得到下一帧游戏画面s’,奖赏r,游戏终止信号d;
步骤204:将样本<s,a,r,s’,d>存入样本缓存区D;
步骤205:从缓存区D取出一批样本<f(s,s’),I(r!=0)>来对奖赏判别器ClsR进行单步更新,其中f(s,s’)指对画面s和s’作相减,然后将残差输入卷积层求取特征的操作。I()为指示函数,输入为0则输出0,输入不为0则输出1。
奖赏判别器训练完成以后,当需要对奖赏进行定位时,即输入为s和s’,需要输出奖赏r的位置,使用Grad-CAM(梯度分类激活图)来将网络输出端的梯度回传到原图像上形成热力图,然后对热力图取极值作为奖赏的位置;这部分的原理就是奖赏判别器在学会判别图像中是否含有奖赏的过程中,网络学会了识别图像中跟奖赏有关的pattern(模式),神经网络就会增强与这种pattern相关的网络权重,然后通过梯度回传的方法,将网络权重值反馈到原图像上,则与奖赏相关的pattern因为值高会呈现出高亮的状态(即激活),然后对激活部分取极值就为奖赏的位置。
有了奖赏的位置以后,通过聚类的方式将奖赏聚为对应的任务,即相近的奖赏视为来自一个任务。聚类的具体方法可以使用各种现有的聚类算法,或者当游戏环境简单时,可以直接将游戏画面进行切方格,比如100*100的游戏画面,切成100个10*10的方格,每个方格内的奖赏作为一个任务。然后对这些任务进行编号,这样就可以将奖赏的定位转化为任务编号e。这样就得到了任务判别器ClsK,其输入为s和s’,输出奖赏r对应的任务编号e。
分层强化学习部分,即策略训练模块则是对于分解出的任务学习出对应的子策略。策略网络π由三层卷积层接三层全连接层组成,输入为游戏画面s,以及任务编号e,输出为动作a。我们称该策略网络π为任务增广的策略网络,具体的训练流程如下:
步骤501:初始化或输入策略网络π,输入任务判别器ClsK,初始化游戏环境E,初始化任务管理器M,输入训练步数T;
步骤502:执行从步骤601到607的循环T次;
步骤601:从游戏环境E获得游戏画面s;
步骤602:将游戏画面s输入顶层的策略Π,得到输出动作a和任务编号e;
步骤603:将动作a输入游戏环境E得到下一帧游戏画面s’,奖赏r,游戏终止信号d;
步骤604:将前后帧游戏画面s和s’输入任务判别器ClsK,得到输出任务编号e’;
步骤605:如果r!=0并且e!=e’,那么将样本<s,a,0,s’,e><s,a,r,s’,e’>加入到样本缓存区;否则就将样本<s,a,0,s’,e>加入到样本缓存区;
步骤606:使用样本<r,d,e’>更新任务管理器M;
步骤607:从样本缓存区采集一批样本来对策略网络π进行单步更新。
光有子策略还不够,我们需要一个能够统筹各个子策略封装对外的顶层的策略Π,这个策略输入为游戏画面s,输出动作a和任务编号e。这里需要引入一个组件叫做任务管理器M,任务管理器负责记录游戏中我们一共遇到过哪些任务,当前还剩下哪些任务没有完成。Π进行决策时,就是先向任务管理器M查询当前有哪些任务没有完成,然后向策略网络π查询这些未完成的子任务对应的Q值如何,然后根据Q值选择应该执行哪个子任务对应的子策略。Q值是使用强化学习算法深度Q网络(DQN)学习到的,它拟合的是在某个游戏画面s下执行动作a的预期累计回报,不过我们的DQN比较特殊,拟合的是某个游戏画面s下执行子任务e的策略的动作a的预期累计回报。所以根据Q值就可以评估出哪个子任务的执行比较有利,即Q值越大的子任务预期收益越大,越应该执行。即对于Q值先对子任务编号e取max,再对动作a取max。具体顶层的策略Π执行策略如下:
步骤701:输入当前游戏画面s;
步骤702:向任务管理器M查询当前未完成的任务编号集合<e1,e2,…,eN>;
步骤703:向任务增广的策略网络π输入<s,e1>,<s,e2>,…,<s,eN>,得到输出的Q值Q1,Q2,…,QN;
步骤704:选出对应Q值最大的子任务编号e*=argmax_e Qe;
步骤705:根据选出的子任务对应的Q值选出要执行的动作a*=argmax_a Q*;
步骤706:输出a*。
接下来具体介绍一下任务管理器M的实现。M用于记录每局游戏内的奖赏,以及奖赏对应的任务是什么。M有两个接口函数,一个接口用来输入<r,d,e>来更新管理器内的记录,另一个接口用来输出当前未完成的任务编号集合供顶层的策略Π使用。M自己内部维护两个哈希字典B和B’,B记录历史上遇到过哪些子任务编号e,这些子任务包含多少奖赏,B’记录当前这局游戏内遇到过哪些子任务编号e,这些子任务包含多少奖赏。然后一局游戏结束时,用B’更新B。
M更新管理器内记录的接口函数:
步骤801:输入奖赏r,游戏终止信号d,任务编号e;
步骤802:如果B’不包含e,则B’[e]=r,否则B’[e]+=r;
步骤803:如果d为真,即游戏已结束,则遍历B’内包含的所有的e,一一比对B[e]和B’[e],如果B[e]<B’[e],则B[e]=B’[e]。
M输出当前未完成的任务编号集合的接口函数:
步骤901:初始化空任务编号集合E=<>;
步骤902:遍历B内包含的所有的e,如果B[e]>B’[e],即表示子任务e未完成,将e加入到集合E中;
步骤903:输出集合E。
这里详细介绍一下我们使用的DQN算法。DQN使用深度神经网络来拟合Q值函数。Q网络输入为当前游戏画面s和动作a,输出未来预期累计回报。这样假如能够学到正确的Q值,以Q值取极值所得到的贪婪策略即为最优策略。DQN使用从环境中采样得到的转移元组<s,a,r,s’>作为训练样本。DQN使用样本缓存区来存放最近采得的一万个样本,训练时从这一万个样本随机取一批(例如64个)进行训练。样本缓存区的目的是为了让训练样本从一个接近稳态的分布中采取,以缓解神经网络训练不稳定的问题。DQN的训练损失函数为 其中θ为Q网络的参数,θ′为Q网络的一个复制网络的参数,<s,a,r,s’>含义同前,a’为a的下一步动作,γ为计算长期累积回报的折扣系数,一般设置为0.99。这个计算式的含义为根据当前的奖赏,加上用复制网络计算出的未来预期最大回报,作为当前Q网络的训练监督值。复制网络每隔一千步和Q网络同步参数,这一步也是为了稳定网络训练。
在训练任务增广的步骤605,可以看到我们对原样本进行了修改和新增构造。一般情况下这样做会导致训练目标的偏移,不过我们这里的修改构造基于后见经验缓存(hindsight experience replay)技术,从而避免了这个问题,并且提高了网络的学习效率。因为我们将奖赏分解以后,每个子策略只能用自己的子任务相关的奖赏进行训练,对于单个子任务而言,相当于奖赏变得稀疏了,这个会影响强化学习的学习效率。后见经验缓存的原理就是在执行子任务e时,假如遇到了子任务e’的奖赏,正常情况下这个奖赏会被无视,不过我们可以用这个奖赏构造出子任务e’的伪样本,因为虽然此时动作a并不是在e’的子策略操作下执行的,但仍然是获得了e’奖赏的一个事实动作,让e’的子策略在此时间点执行动作a符合e’的子策略的训练目标,所以我们可以假设该动作是在e’的子策略下执行的,从而构造出伪样本
<s,a,r,s’,e’>。这方法一方面缓解了奖赏稀疏问题,另一方面也避免了正常的奖赏信号流失。
对于Grad-CAM中的梯度回传,这里介绍一下具体实现。神经网络中我们通常使用名为ReLU的激活函数hl+1=max{0,hl},这里的h指网络中神经元的输出值,l指网络的层数。训练时更新参数时的回传梯度为Grad-CAM使用的回传梯度为指引梯度/>这里的L为损失函数,和网络输出求微分即能得到梯度值。
有益效果:与现有技术相比,本发明提供的适配分层强化学习的自动分解游戏环境的方法,该方法能够大大降低强化学习的学习难度,以使得可以在更复杂的游戏环境中训练出更强大的游戏AI。这能够一方面提高游戏公司在设计游戏AI方面的生产力,另一方面也能够提高强化学习技术本身的适用性,使其能够进一步落地到更多的通用领域。
附图说明
图1为本发明所述的整体训练示意图;
图2为本发明所述的顶层的策略决策示意图;
图3为本发明所应用的实验性游戏环境;
图4为本发明在游戏环境上分解出的任务可视化。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
适配分层强化学习的自动分解游戏环境的方法,在所述方法中,我们使用卷积神经网络可视化技术来将游戏环境中的奖赏定位并聚类到对应任务,然后使用分层强化学习配合后视经验缓存训练子策略,以训练出更强的游戏AI。
图1为本发明所述的整体训练示意图。如图所示,整体的训练流程为任务分解模块和策略训练模块循环迭代进行。左边的方框为任务分解模块(Task DecompositionModule),右边的方框为策略训练模块(Policy Training Module)。任务分解模块接受顶层的策略Π作为输入,然后使用Π在环境中采样得到样本集样本集内的样本即前后两帧相减得到的差分图像,以及对应的两帧内有没有产生奖赏的bool值。有了样本集以后从中进行批采样用于训练奖赏判别器ClsR。训练完成以后,在ClsR上应用梯度分类激活图(Grad-CAM)以得到任务判别器ClsK。策略训练模块接受任务判别器ClsK作为输入,然后在环境中采样得到样本集{<s,a,r,s′,e>},s为当前游戏画面,a为动作,r为环境奖赏,s’为下一帧游戏画面,e为ClsK给出的任务编号。有了样本集以后从中进行批采样一方面结合后视经验回放(Hindsight Experience Replay)训练任务增广策略π,另一方面用于更新任务管理器M。然后将两者结合得到顶层的策略Π。接下来顶层的策略Π继续输入进任务分解模块,进行循环迭代更新,直到训练者认为游戏AI足够强大为止。
图2为本发明所述的顶层的策略决策示意图。即顶层的策略Π的工作流程。从最左边开始,当前游戏画面st以及上一帧的游戏画面st-1相减得到差分图像作为任务判别器ClsK的输入,差分图像在任务判别器内部被输入进奖赏判别器ClsR,然后应用Grad-CAM将梯度回传到原图像上(activation map),然后取极值定位(localization),然后根据定位聚类或者直接划分方格得到任务编号e(task ID)。接下来使用上一步奖赏rt-1和任务编号e更新任务管理器M,然后查询M得到当前尚未完成的任务编号集合<e1,e2,…,eN>,将任务编号和st成对输入进任务增广策略π得到Q值集合<Q1,Q2,…,QN>,然后对Q值选出对应Q值最大的子任务编号e*=argmax_e Qe,根据选出的子任务对应的Q值选出要执行的动作a*=argmax_a Q*,然后a*即为顶层的策略Π的输出。
图3为本发明所应用的实验性游戏环境。左侧为Pac-Man Map,点之外的方形或L形图案的为墙壁,点为果实,玩家需要在迷宫中探索吃掉所有果实通关。中间的为Pac-ManDanger Map,相比左侧的新增了白色点的陷阱,玩家需要避开陷阱吃掉所有果实。右侧的为Monster Kong,玩家需要吃金币(圆点),并攀爬梯子到最顶层营救公主。本方法可以用在其他类似游戏环境上,有很大的扩展空间。
图4为本发明在游戏环境上分解出的任务可视化。上排为定位的热力图,下排为取极值得到的奖赏定位点,其中中间第二列为Pac-Man Danger Map中的果实定位,第三列为Pac-Man Danger Map中的陷阱定位,可以看到定位的非常精准。
以下为本发明所述的整体训练伪代码,也是完整实现的一个细节流程。
算法输入:离线策略的强化学习算法A(我们使用DQN,但是其他离线策略的强化学习算法也可以用),我们一共要训练大循环次数K,每个大循环中任务分解模块的训练次数TM,策略训练模块的训练次数TP。
初始化任务增广策略π,任务管理器M,奖赏判别器ClsR
执行K轮循环:
执行TM次循环:
使用顶层的策略Π从环境Env中采样得到样本<s,a,r,s’,e,done>
将样本处理为<f(s,s’),I(r!=0)>加入到样本缓存区D中
从D采样一批数据B
使用B对奖赏判别器ClsR进行单步更新
重置任务管理器M
执行TP次循环:
使用顶层的策略从环境中Env中采样得到样本<s,a,r,s’,e,done>
使用任务判别器ClsK(即Grad-CAM(ClsR))判别出<s,s’>的任务编号e’
如果奖赏r不为0并且e不等于e’:
将<s,a,0,s’,e>加入到样本缓存区D中
将<s,a,r,s’,e’>加入到样本缓存区D中
否则:
将<s,a,0,s’,e>加入到样本缓存区D中
使用样本<r,done,e’>更新任务管理器M
从D采样一批数据B
使用离线策略RL算法A以及批数据B对π进行单步更新
下表1为本发明所述的奖赏分解模块的超参配置细节,即奖赏判别器的网络的配置和训练细节。此处列出了三个环境中的所有超参配置,应用到其他环境可以参考此配置。
learning rate为网络的学习率,均设置为0.0001。
batch size为取批样本的大小,均为每批样本64个。
Optimizer为网络使用的优化器,均使用Adam优化器。
Episode length为循环优化次数,即伪代码中的TM。Pac-Man Map和Pac-ManDanger Map每个循环内迭代优化20000次,Monster Kong中每个循环内迭代优化100000次。
CNN layers为网络卷积层配置,这里每个方括号为一层卷积层的配置。一个方括号里面有六个参数,从前往后分别为卷积通道数,卷积核大小,卷积核间隔,卷积核填充配置,最大化池化核大小,最大化池化核间隔。例如[32,3,1,SAME,1,1]即为有32个卷积通道,卷积核大小为3,间隔为1,使用SAME填充,最大化池化核大小为1,间隔为1。这里可以看到Pac-Man Map和Pac-Man Danger Map使用了两层卷积层,Monster Kong使用了五层卷积层,具体配置见图内。
表1:奖赏分解模块的超参配置表
下表2为本发明所述的策略训练模块的超参配置细节,即任务增广策略π的网络的配置和训练细节。此处列出了三个环境种的所有超参配置,应用到其他环境可以参考此配置。
learning rate为网络的学习率,均设置为0.0001。
batch size为取批样本的大小,均为每批样本32个。
Optimizer为网络使用的优化器,均使用Adam优化器。
Grid size为对定位聚类划格子的大小,Pac-Man Map和Pac-Man Danger Map为每个格子大小为2个像素,Monster Kong为每个格子大小为45个像素。
Buffer size为样本缓存区的大小,均为10000。
Episode length为循环优化次数,即伪代码中的TP。Pac-Man Map为每个循环内迭代优化200000次,Pac-Man Danger Map为优化400000次,Monster Kong为优化300000次。
Discount factor为计算长期奖赏时的折扣系数,为DQN算法的内置超参,均设为0.99。
Explore ratio为探索环境时采取随机动作的概率,为DQN算法的内置超参,Pac-Man Map和Pac-Man Danger Map设为0.1,Monster Kong设为0.2。
Train frequency为训练频率,即环境每走几步训练一次,为DQN算法的内置超参,均设为4步训练一次。
CNN layers为网络卷积层配置,具体含义如上。均使用了四层卷积层,具体配置见图内。
MLP layers为全连接层配置,方括号内多少个数字代表多少层全连接层,数字代表全连接层的大小。如图,三个环境均使用了三层全连接层,每层的大小分别为512,256,64。
表2:策略训练模块的超参配置表

Claims (10)

1.一种适配分层强化学习的自动分解游戏环境的方法,其特征在于,包括到两个方面,一个是计算机视觉方面的弱监督语义分割,这一块为任务分解模块;另一个是强化学习中的分层强化学习的领域,这一块为策略训练模块;
弱监督语义分割技术方面,即任务分解模块,将奖赏作为对图像的弱标记,以此训练出一个分类器,这个分类器的输入是游戏环境内前后两帧图像的差分图像,输出是奖赏是否为0的判断;
分层强化学习部分,即策略训练模块则是对于分解出的任务学习出对应的子策略;策略网络π由三层卷积层接三层全连接层组成,输入为游戏画面s,以及任务编号e,输出为动作a。
2.根据权利要求1所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,所述分类器用神经网络建模,由三层卷积层接两层全连接层构成,输入维度为图像长度*图像宽度*RGB频道数,输出维度为1;更新的损失函数使用最小均方误差;分类器具体的训练流程如下:
步骤101:初始化或输入策略Π,初始化或输入奖赏判别器ClsR,初始化游戏环境E,输入训练步数T;
步骤102:执行从步骤201到205的循环T次;
步骤201:从游戏环境E获得游戏画面s;
步骤202:将游戏画面s输入策略Π,得到动作a;
步骤203:将动作a输入游戏环境E,得到下一帧游戏画面s’,奖赏r,游戏终止信号d;
步骤204:将样本<s,a,r,s’,d>存入样本缓存区D;
步骤205:从缓存区D取出一批样本<f(s,s’),I(r!=0)>来对奖赏判别器ClsR进行单步更新。
3.根据权利要求2所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,奖赏判别器训练完成以后,当需要对奖赏进行定位时,即输入为s和s’,需要输出奖赏r的位置,使用Grad-CAM来将网络输出端的梯度回传到原图像上形成热力图,然后对热力图取极值作为奖赏的位置。
4.根据权利要求3所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,有了奖赏的位置以后,通过聚类的方式将奖赏聚为对应的任务;或者直接将游戏画面进行切方格,每个方格内的奖赏作为一个任务;然后对这些任务进行编号,这样就将奖赏的定位转化为任务编号e;这样就得到了任务判别器ClsK,其输入为s和s’,输出奖赏r对应的任务编号e。
5.根据权利要求1所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,分层强化学习部分,即策略训练模块则是对于分解出的任务学习出对应的子策略;策略训练模块具体的训练流程如下:
步骤501:初始化或输入策略网络π,输入任务判别器ClsK,初始化游戏环境E,初始化任务管理器M,输入训练步数T;
步骤502:执行从步骤601到607的循环T次;
步骤601:从游戏环境E获得游戏画面s;
步骤602:将游戏画面s输入顶层的策略Π,得到输出动作a和任务编号e;
步骤603:将动作a输入游戏环境E得到下一帧游戏画面s’,奖赏r,游戏终止信号d;
步骤604:将前后帧游戏画面s和s’输入任务判别器ClsK,得到输出任务编号e’;
步骤605:如果r!=0并且e!=e’,那么将样本<s,a,0,s’,e><s,a,r,s’,e’>加入到样本缓存区;否则就将样本<s,a,0,s’,e>加入到样本缓存区;
步骤606:使用样本<r,d,e’>更新任务管理器M;
步骤607:从样本缓存区采集一批样本来对策略网络π进行单步更新。
6.根据权利要求5所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,所述顶层的策略Π的输入为游戏画面s,输出动作a和任务编号e,引入一个组件叫做任务管理器M,任务管理器负责记录游戏中一共遇到过哪些任务,当前还剩下哪些任务没有完成;Π进行决策时,就是先向任务管理器M查询当前有哪些任务没有完成,然后向策略网络π查询这些子任务对应的Q值如何,然后根据Q值选择应该执行哪个子任务对应的子策略;Q值是使用强化学习算法深度Q网络学习到的,Q值拟合的是某个游戏画面s下执行子任务e的策略的动作a的预期累计回报;根据Q值就能评估出哪个子任务的执行比较有利,即Q值越大的子任务预期收益越大,越应该执行;即对于Q值先对子任务编号e取max,再对动作a取max。
7.根据权利要求5所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,顶层的策略Π执行策略如下:
步骤701:输入当前游戏画面s;
步骤702:向任务管理器M查询当前未完成的任务编号集合<e1,e2,…,eN>;
步骤703:向任务增广的策略网络π输入<s,e1>,<s,e2>,…,<s,eN>,得到输出的Q值Q1,Q2,…,QN;
步骤704:选出对应Q值最大的子任务编号e*=argmax_e Qe;
步骤705:根据选出的子任务对应的Q值选出要执行的动作a*=argmax_a Q*;
步骤706:输出a*。
8.根据权利要求6所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,任务管理器M用于记录每局游戏内的奖赏,以及奖赏对应的任务是什么;M有两个接口函数,一个接口用来输入<r,d,e>来更新管理器内的记录,另一个接口用来输出当前未完成的任务编号集合供顶层的策略Π使用;M自身内部维护两个哈希字典B和B’,B记录历史上遇到过哪些子任务编号e,这些子任务包含多少奖赏,B’记录当前这局游戏内遇到过哪些子任务编号e,这些子任务包含多少奖赏;然后一局游戏结束时,用B’更新B。
9.根据权利要求8所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,M更新管理器内记录的接口函数的步骤为:
步骤801:输入奖赏r,游戏终止信号d,任务编号e;
步骤802:如果B’不包含e,则B’[e]=r,否则B’[e]+=r;
步骤803:如果d为真,即游戏已结束,则遍历B’内包含的所有的e,一一比对B[e]和B’[e],如果B[e]<B’[e],则B[e]=B’[e]。
10.根据权利要求8所述的适配分层强化学习的自动分解游戏环境的方法,其特征在于,M输出当前未完成的任务编号集合的接口函数的步骤为:
步骤901:初始化空任务编号集合E=<>;
步骤902:遍历B内包含的所有的e,如果B[e]>B’[e],即表示子任务e未完成,将e加入到集合E中;
步骤903:输出集合E。
CN202110324418.8A 2021-03-26 2021-03-26 一种适配分层强化学习的自动分解游戏环境的方法 Active CN112957740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110324418.8A CN112957740B (zh) 2021-03-26 2021-03-26 一种适配分层强化学习的自动分解游戏环境的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110324418.8A CN112957740B (zh) 2021-03-26 2021-03-26 一种适配分层强化学习的自动分解游戏环境的方法

Publications (2)

Publication Number Publication Date
CN112957740A CN112957740A (zh) 2021-06-15
CN112957740B true CN112957740B (zh) 2023-09-29

Family

ID=76278630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110324418.8A Active CN112957740B (zh) 2021-03-26 2021-03-26 一种适配分层强化学习的自动分解游戏环境的方法

Country Status (1)

Country Link
CN (1) CN112957740B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005238422A (ja) * 2004-02-27 2005-09-08 Sony Corp ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法
JP2017168029A (ja) * 2016-03-18 2017-09-21 Kddi株式会社 行動価値によって調査対象の位置を予測する装置、プログラム及び方法
CN108970119A (zh) * 2018-07-16 2018-12-11 苏州大学 难度自适应游戏系统策略规划方法
CN110168574A (zh) * 2016-11-04 2019-08-23 谷歌有限责任公司 中间强化学习目标的无监督的检测
CN110852273A (zh) * 2019-11-12 2020-02-28 重庆大学 一种基于强化学习注意力机制的行为识别方法
CN111914949A (zh) * 2020-08-20 2020-11-10 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 基于强化学习的零样本学习模型的训练方法及装置
CN112221152A (zh) * 2020-10-27 2021-01-15 腾讯科技(深圳)有限公司 人工智能ai模型的训练方法、装置、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005238422A (ja) * 2004-02-27 2005-09-08 Sony Corp ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法
JP2017168029A (ja) * 2016-03-18 2017-09-21 Kddi株式会社 行動価値によって調査対象の位置を予測する装置、プログラム及び方法
CN110168574A (zh) * 2016-11-04 2019-08-23 谷歌有限责任公司 中间强化学习目标的无监督的检测
CN108970119A (zh) * 2018-07-16 2018-12-11 苏州大学 难度自适应游戏系统策略规划方法
CN110852273A (zh) * 2019-11-12 2020-02-28 重庆大学 一种基于强化学习注意力机制的行为识别方法
CN111914949A (zh) * 2020-08-20 2020-11-10 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 基于强化学习的零样本学习模型的训练方法及装置
CN112221152A (zh) * 2020-10-27 2021-01-15 腾讯科技(深圳)有限公司 人工智能ai模型的训练方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周文吉 ; 俞扬.分层强化学习综述.《智能系统学报》.2017, *

Also Published As

Publication number Publication date
CN112957740A (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
Cadene et al. Murel: Multimodal relational reasoning for visual question answering
CN110473231B (zh) 一种具有预判式学习更新策略的孪生全卷积网络的目标跟踪方法
CN110175628A (zh) 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法
CN112052948B (zh) 一种网络模型压缩方法、装置、存储介质和电子设备
CN109978836B (zh) 基于元学习的用户个性化图像美感评价方法、系统、介质和设备
CN109671102A (zh) 一种基于深度特征融合卷积神经网络的综合式目标跟踪方法
CN110276442A (zh) 一种神经网络架构的搜索方法及装置
CN112115967B (zh) 一种基于数据保护的图像增量学习方法
CN109711401A (zh) 一种基于Faster Rcnn的自然场景图像中的文本检测方法
WO2020232840A1 (zh) 基于神经网络结构搜索的车辆多属性识别方法、装置、介质
CN107590139A (zh) 一种基于循环矩阵翻译的知识图谱表示学习方法
Yuan et al. Neighborloss: a loss function considering spatial correlation for semantic segmentation of remote sensing image
Shannon et al. Non-saturating GAN training as divergence minimization
CN110263373A (zh) 基于非结构数据知识与自适应贝叶斯网络的战略博弈与兵棋推演系统
CN116757497A (zh) 基于图类感知Transformer的多模态军事智能辅助作战决策方法
CN116306897A (zh) 一种基于ac强化学习的神经网络分布式自动并行训练方法
CN113947022B (zh) 一种基于模型的近端策略优化方法
CN115269861A (zh) 基于生成式对抗模仿学习的强化学习知识图谱推理方法
Sood et al. Neunets: An automated synthesis engine for neural network design
CN114723037A (zh) 一种聚合高阶邻居节点的异构图神经网络计算方法
CN112957740B (zh) 一种适配分层强化学习的自动分解游戏环境的方法
Ye et al. Tiny face detection based on deep learning
CN116977661A (zh) 一种数据处理方法、装置、设备、存储介质及程序产品
CN111445024A (zh) 一种医学影像识别训练方法
CN111353525A (zh) 一种不均衡不完整数据集的建模及缺失值填补方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant