CN112206538A - 一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法 - Google Patents

一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法 Download PDF

Info

Publication number
CN112206538A
CN112206538A CN202011118911.6A CN202011118911A CN112206538A CN 112206538 A CN112206538 A CN 112206538A CN 202011118911 A CN202011118911 A CN 202011118911A CN 112206538 A CN112206538 A CN 112206538A
Authority
CN
China
Prior art keywords
network
value
russian
action
deep
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.)
Pending
Application number
CN202011118911.6A
Other languages
English (en)
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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202011118911.6A priority Critical patent/CN112206538A/zh
Publication of CN112206538A publication Critical patent/CN112206538A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/45Controlling the progress of the video game
    • A63F13/46Computing the game score
    • 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

Landscapes

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

Abstract

本发明公开了一种基于Deep Q‑Network改进的俄罗斯方块智能Agent学习方法,包括以下步骤:1)获取当前游戏状态下方块的统计特征,根据游戏画面采集游戏画面每帧的统计特征序列;2)通过深度神经网络来进行俄罗斯方块智能Agent Q值的估计,所述Q值为俄罗斯方块agent在采取某个action后的表现对应的奖励分数;3)在Q值估计中,使用均方误差定义目标函数;4)计算参数W关于损失函数的梯度:5)计算出上面的梯度后,使用SGD算法来更新参数,从而得到最优的Q值,即获得每次交互选取使得Q值最大的动作a。本发明方法利用预定义的方块统计特征改进了DQN网络训练Agent玩俄罗斯方块的性能。

Description

一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习 方法
技术领域
本发明涉及人工智能技术,尤其涉及一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法。
背景技术
人工智能(Artificial Intelligence,AI)它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它旨在了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究主要是机器学习、深度学习、强化学习、包括自然语言处理、计算机视觉、感知、认知与决策等。
强化学习(Reinforcement Learning,RL)任务通常使用马尔可夫决策过程(Markov Decision Process,MDP)来描述,具体而言:机器处在一个环境中,每个状态为机器对当前环境的感知;机器只能通过动作来影响环境,当机器执行一个动作后,会使得环境按某种概率转移到另一个状态;同时,环境会根据潜在的奖赏函数反馈给机器一个奖赏。综合而言,强化学习主要包含四个要素:状态、动作、转移概率以及奖赏函数。智能体agent在进行某个任务时,首先与environment进行交互,产生新的state,同时环境给出reward,如此循环下去,agent和environment不断交互产生更多新的数据。强化学习算法就是通过一系列动作策略与环境交互,产生新的数据,再利用新的数据去修改自身的动作策略,经过数次迭代后,agent就会学习到完成任务所需要的动作策略。
近年来,深度学习快速崛起,已经在图像识别、语音识别、推荐系统等各方面取得了突出的进步,其通过多层网络结构和激活函数,将特征一层层抽象,形成易于表述和区分的高层特征,深度强化学习的发展得益于深度学习的快速发展,与传统强化学习的差别是估值函数变成了深度神经网络,这一改变使得对特征的提取更为丰富准确,也让端到端学习变成了可能。
俄罗斯方块是一款经典的益智型游戏,如何在游戏中实现智能旋转、下落并且摆放到合适的位置上,是人工智能领域的一个热门研究课题,国外很多学者已经做了相关研究,其中比较有名的是Pierre Dellacherie算法,但在我国,相关研究较少。
正如许多问题可以利用强化学习来解决,比如无人机飞行,一个连续的问题,需要时时刻刻来引导它作出决策,对它每次一动作给予相应的回报,表现较差的动作用需要用负回报来纠正,合理的动作用正回报来鼓励,智能体通过学习从而改进自身的行为策略。那么是否能通过强化学习来训练一个智能Agent来玩俄罗斯方块呢?本发明就是结合Deep Q-Network(DQN)和预定义方块的统计特征实现了一种稳健、自学习式的俄罗斯方块智能Agent学习方法。
发明内容
本发明要解决的技术问题在于用传统的DQN算法实现的俄罗斯方块AI表现较差,,本发明结合DQN和预定义的统计特征设计了一种新的网络结构,从而增强了DQN算法在俄罗斯方块游戏AI上的游戏性能。
本发明解决上述技术问题所采用的技术方案是:一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法,包括以下步骤:
(1)获取当前游戏状态下方块的统计特征,根据游戏画面采集游戏画面每帧的统计特征序列,其中,统计特征序列包括:空洞数、板块高度、消行数、列井深和、颠簸、列高和;
(2)通过深度神经网络来进行俄罗斯方块智能Agent Q值的估计,所述Q值为俄罗斯方块agent在采取某个action后的表现对应的奖励分数,
具体如下:
所述深度神经网络的结构为:用于输入方块统计特征序列的Dense全连接层与DQN网络的拼接;
Q值的估计表示为:
Q(s,a,w)≈Qπ(s,a)
其中,s代表当前的环境,由游戏画面最近4帧(4*10*20)的灰度图输入到2个卷积层然后展平成一维向量,和游戏画面最近4帧的方块统计特征序列经过Dense全连接层编码后做concat拼接而来;最后接一个Dense层输出动作a与s交互时对应的Q值;a代表从潜在action空间中选取的当前动作,潜在action空间包括旋转(↑)、左移(←)、右移(→)和下降(↓);
w为神经网络的参数;
(3)在Q值估计中,使用均方误差mean square error来定义目标函数,也就是网络的损失函数loss function:
L(w)=E[(r+γ·maxa′Q(s′,a′,w)-Q(s,a,w))2]
经验回放每次存一个四元组到缓存中,对(s,a,r,s’)来说,下一个有了状态s’后,新的四元组变为(s’,a’,r’,s”)。这个新的四元组中的s’,a’以及本次奖励r,作为目标值,即r+r*maxQ(s’,a’,w)来和前一次状态的Q(s,a,w)求均方误差,并对从经验回放区中取出的一个小批量m的均方误差求数学期望,以此作为网络的损失函数。网络优化目标即将该期望最小化。
可以看到使用了Q-Learning要更新的Q值作为目标值。有了目标值,又有了当前值,那么损失函数就能通过均方误差进行计算;
式中,s′、a′表示下一个状态和动作,L(w)为神经网络的损失函数,E()表示一个批量中目标Q值和估计Q值均方误差函数的数学期望。r为在状态s‘下,采取动作a’,时得到的奖励,γ为超参数,表示衰减因子
(4)计算参数w关于损失函数的梯度:
Figure BDA0002731317020000051
(5)计算出上面的梯度后,使用SGD算法来更新参数w,从而得到最优的Q值,即获得每次交互选取使得Q值最大的动作a。
按上述方案,所述步骤(1)中统计特征具体如下:
空洞数:堆叠完成的方块组成的聚集体中存在的空洞个数;
板块高度:某方块放置后,该方块距离游戏面板底部的高度;
列井深和:每列中“井”深度之和,“井”指两边都由方块填充的空列;
颠簸:每一列高度差的总和;
列高和:每一列高度的总和;
消行数:消除的总行数。
按上述方案,所述步骤3)中,奖励r根据游戏表现的消行数确定,具体如下:
消1行得10分;消2行得20分;消3行得100分;消4行得500分;没有发生消行得0分;游戏结束得-1000分。
本发明产生的有益效果是:
本发明所提出的网络,对游戏画面中的俄罗斯方块状态特征进行了显示定义,将预定义的特征序列作为指导条件输入到全连接网络进行表征,并将之与DQN网络所接收的全局特征作concat操作后一起输入到后续网络结构中得到经过统计特征序列指导后动作空间的Q值,从而强化了DQN对全局画面状态有用特征的抽取能力。
本发明利用预定义的方块统计特征改进了DQN网络训练Agent玩俄罗斯方块的性能,这仅依赖于少量的先验知识,可以从原始图像像素学习到最佳策略,比未引进方块统计特征的DQN方法有更好的游戏性能,具体表现在存活时间更长,游戏得分更高。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的方法流程示意图;
图2是本发明实施例的网络结构示意图;
图3是本发明实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明设计了一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法,
包括以下步骤:
(1)获取当前游戏状态下方块的统计特征,根据游戏画面采集游戏画面每帧的统计特征序列,其中,统计特征序列包括:空洞数、板块高度、消行数、列井深和、颠簸、列高和;
步骤(1)中统计特征具体如下:
空洞数:堆叠完成的方块组成的聚集体中存在的空洞个数;
板块高度:某方块放置后,该方块距离游戏面板底部的高度;
列井深和:每列中“井”深度之和,“井”指两边都由方块填充的空列;
颠簸:每一列高度差的总和;
列高和:每一列高度的总和;
消行数:消除的总行数。
(2)通过深度神经网络来进行俄罗斯方块智能Agent Q值的估计,所述Q值为俄罗斯方块agent在采取某个action后的表现对应的奖励分数,
具体如下:
如图2,所述深度神经网络的结构为:用于输入方块统计特征序列的Dense全连接层与DQN网络的拼接;
Q值的估计表示为:
Q(s,a,w)≈Qπ(s,a)
其中,s代表当前的环境,由游戏画面最近4帧(4*10*20)的灰度图输入到2个卷积层然后展平成一维向量,和游戏画面最近4帧的方块统计特征序列经过Dense全连接层编码后做concat拼接而来;最后接一个Dense层输出动作a与s交互时对应的Q值;a代表从潜在action空间中选取的当前动作,潜在action空间包括旋转(↑)、左移(←)、右移(→)和下降(↓);
w为神经网络的参数;
(3)在Q值估计中,使用均方误差mean square error来定义目标函数,也就是网络的损失函数loss function:
L(w)=E[(r+γ·maxa′Q(s′,a′,w)-Q(s,a,w))2]
如图3,经验回放每次存一个四元组到缓存中,对(s,a,r,s’)来说,下一个有了状态s’后,新的四元组变为(s’,a’,r’,s”)。这个新的四元组中的s’,a’以及本次奖励r,作为目标值,即r+r*maxQ(s’,a’,w)来和前一次状态的Q(s,a,w)求均方误差,并对从经验回放区中取出的一个小批量m的均方误差求数学期望,以此作为网络的损失函数。网络优化目标即将该期望最小化。
可以看到使用了Q-Learning要更新的Q值作为目标值。有了目标值,又有了当前值,那么损失函数就能通过均方误差进行计算;
式中,s′、a′表示下一个状态和动作,L(w)为神经网络的损失函数,E()表示一个批量中目标Q值和估计Q值均方误差函数的数学期望。r为在状态s‘下,采取动作a’,时得到的奖励,奖励r根据游戏表现的消行数确定,具体如下:
消1行得10分;消2行得20分;消3行得100分;消4行得500分;没有发生消行得0分;游戏结束得-1000分。γ为超参数,表示衰减因子,范围在0~1,值越大表示对未来更加关注,值越小表示对当前更加关注。
(4)计算参数w关于损失函数的梯度:
Figure BDA0002731317020000091
(5)计算出上面的梯度后,使用SGD算法来更新参数w,从而得到最优的Q值,即获得每次交互选取使得Q值最大的动作a。
一个具体使用示例:
步骤1:初始化replay memory经验回放缓存区D容量为N;
步骤2:Agent不断与环境交互,获取交互数据;
步骤3:用一个深度神经网络作为Q值估计网络,初始化权重参数;
步骤4:初始化网络输入,包括两个输入:最近4帧游戏画面的灰度图4*10*20、当前状态下的方块统计特征序列,并且计算网络输出;
步骤5:以概率∈随机选择动作at或者选择网络输出的最大Q值对应的动作at
步骤6:执行动作at得到奖励rt和下一个网络的输入s′;
步骤7:将<s,a,r,s′>四元组作为此刻的状态一起存入到经验回放区D中(D中存放着N个时刻的状态),并随机从D中取出minibatch个状态;
神经网络每次更新参数w是基于一个小批量的<s,a,r,s’>来做批梯度下降。具体是,m个batch会有m个L(w),然后取这m个loss的平均值,来做梯度下降,更新网络参数w;
步骤8:计算每一个状态的目标值(通过执行at后的reward来更新Q值作为目标值);
步骤9:通过梯度下降算法来更新网络参数w。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (4)

1.一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法,其特征在于,包括以下步骤:
1)获取当前游戏状态下方块的统计特征,根据游戏画面采集游戏画面每帧的统计特征序列,其中,统计特征序列包括:空洞数、板块高度、消行数、列井深和、颠簸、列高和;
2)通过深度神经网络来进行俄罗斯方块智能Agent Q值的估计,所述Q值为俄罗斯方块agent在采取某个action后的表现对应的奖励分数,
具体如下:
所述深度神经网络的结构为:用于输入方块统计特征序列的Dense全连接层与DQN网络的拼接;
Q值的估计表示为:
Q(s,a,w)≈Qπ(s,a)
其中,s代表当前的环境,由游戏画面最近4帧(4*10*20)的灰度图输入到2个卷积层然后展平成一维向量,和游戏画面最近4帧的方块统计特征序列经过Dense全连接层编码后做concat拼接而来;最后接一个Dense层输出动作a与s交互时对应的Q值;a代表从潜在action空间中选取的当前动作,潜在action空间包括旋转、左移、右移和下降;
w为神经网络的参数;
3)在Q值估计中,使用均方误差来定义目标函数,也就是网络的损失函数;
4)计算参数w关于损失函数的梯度:
5)根据计算出的梯度,使用SGD算法来更新参数w,从而得到最优的Q值,即获得每次交互选取使得Q值最大的动作a。
2.根据权利要求1所述的基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法,其特征在于,所述步骤1)中统计特征具体如下:
空洞数:堆叠完成的方块组成的聚集体中存在的空洞个数;
板块高度:某方块放置后,该方块距离游戏面板底部的高度;
列井深和:每列中井深度之和,井指两边都由方块填充的空列;
颠簸:每一列高度差的总和;
列高和:每一列高度的总和;
消行数:消除的总行数。
3.根据权利要求1所述的基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法,其特征在于,所述步骤3)中损失函数如下:
L(w)=E[(r+γ·maxa′Q(s′,a′,w)-Q(s,a,w))2]
经验回放每次存一个四元组到缓存中,对(s,a,r,s’)来说,下一个有了状态s’后,新的四元组变为(s’,a’,r’,s”)。这个新的四元组中的s’,a’以及本次奖励r,作为目标值,即r+r*maxQ(s’,a’,w)来和前一次状态的Q(s,a,w)求均方误差,并对从经验回放区中取出的m个均方误差求数学期望,以此作为网络的损失函数,网络优化目标即将该期望最小化;
式中,s′、a′表示下一个状态和动作,L(w)为神经网络的损失函数,E()表示一个批量中目标Q值和估计Q值均方误差函数的数学期望。r为在状态s‘下,采取动作a’,时得到的奖励,γ为超参数,表示衰减因子。
4.根据权利要求3所述的基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法,其特征在于,所述步骤3)中,奖励r根据游戏表现的消行数确定,具体如下:
消1行得10分;消2行得20分;消3行得100分;消4行得500分;没有发生消行得0分;游戏结束得-1000分。
CN202011118911.6A 2020-10-19 2020-10-19 一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法 Pending CN112206538A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011118911.6A CN112206538A (zh) 2020-10-19 2020-10-19 一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011118911.6A CN112206538A (zh) 2020-10-19 2020-10-19 一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法

Publications (1)

Publication Number Publication Date
CN112206538A true CN112206538A (zh) 2021-01-12

Family

ID=74055786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011118911.6A Pending CN112206538A (zh) 2020-10-19 2020-10-19 一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法

Country Status (1)

Country Link
CN (1) CN112206538A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200143208A1 (en) * 2018-11-05 2020-05-07 Royal Bank Of Canada Opponent modeling with asynchronous methods in deep rl
CN111260937A (zh) * 2020-02-24 2020-06-09 武汉大学深圳研究院 一种基于强化学习的十字路口交通信号灯控制方法
CN111694656A (zh) * 2020-04-22 2020-09-22 北京大学 基于多智能体深度强化学习的集群资源调度方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200143208A1 (en) * 2018-11-05 2020-05-07 Royal Bank Of Canada Opponent modeling with asynchronous methods in deep rl
CN111260937A (zh) * 2020-02-24 2020-06-09 武汉大学深圳研究院 一种基于强化学习的十字路口交通信号灯控制方法
CN111694656A (zh) * 2020-04-22 2020-09-22 北京大学 基于多智能体深度强化学习的集群资源调度方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MATT STEVENS和SABEEK PRADHAN: "Playing Tetris with Deep Reinforcement Learning", 《斯坦福大学用于视觉识别的卷积神经网络课程网络平台》 *
俞勇: "《人工智能实践 动手做你自己的AI》", 30 August 2019 *
刘建伟等: "基于值函数和策略梯度的深度强化学习综述", 《计算机学报》 *

Similar Documents

Publication Publication Date Title
CN111061277B (zh) 一种无人车全局路径规划方法和装置
CN112325897B (zh) 基于启发式深度强化学习的路径规划方法
CN105637540A (zh) 用于强化学习的方法和设备
CN109740741B (zh) 一种结合知识转移的强化学习方法及其应用于无人车自主技能的学习方法
CN110070107A (zh) 物体识别方法及装置
CN111176758B (zh) 配置参数的推荐方法、装置、终端及存储介质
CN113031437B (zh) 一种基于动态模型强化学习的倒水服务机器人控制方法
CN116448117A (zh) 一种融合深度神经网络和强化学习方法的路径规划方法
CN112256037B (zh) 应用于自动驾驶的控制方法、装置、电子设备及介质
CN112348285B (zh) 一种基于深度强化学习的动态环境下人群疏散模拟方法
CN108053067A (zh) 最优路径的规划方法、装置及计算机可读存储介质
CN109447096A (zh) 一种基于机器学习的扫视路径预测方法和装置
CN111282272A (zh) 信息处理方法、计算机可读介质及电子设备
CN106407932A (zh) 基于分数阶微积分与广义逆神经网络的手写数字识别方法
CN112206538A (zh) 一种基于Deep Q-Network改进的俄罗斯方块智能Agent学习方法
CN115826621B (zh) 一种基于深度强化学习的无人机运动规划方法及系统
CN117011856A (zh) 基于深度强化学习的手写笔迹骨架细化方法、系统、设备、介质
CN116639124A (zh) 一种基于双层深度强化学习的自动驾驶车辆换道方法
CN114278727B (zh) 极限工况下的车辆自动换挡控制方法、系统、介质及设备
CN115743168A (zh) 用于换道决策的模型训练方法、目标车道确定方法及装置
CN114463559B (zh) 图像识别模型的训练方法、装置、网络和图像识别方法
CN113384875B (zh) 模型训练方法、装置、存储介质及电子设备
CN117982893A (zh) 游戏目标控制方法、装置、设备及计算机可读存储介质
CN117474077B (zh) 一种基于oar模型与强化学习的辅助决策方法和装置
CN114612750B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210112