基于强化学习利用动态奖励示例样本训练智能体的方法技术

技术编号:25398715 阅读:64 留言:0更新日期:2020-08-25 23:03
本发明专利技术公开了一种基于强化学习利用动态奖励示例样本训练智能体的方法,包括步骤:1)从智能体中获取示例样本;2)用获取的示例样本初始化经验池,初始化训练网络,设定相关超参数值;3)用强化学习训练智能体,把训练过程中产生的样本也存入经验池;4)利用基于动态奖励的优先级抽样机制从经验池中抽取小批量样本;5)计算抽取样本的平均损失值,利用优化函数减小损失值来更新网络参数,若损失值减少到设定阈值,则深度强化学习停止,智能体训练完成,否则继续训练。本发明专利技术引入了动态奖励和优先级挑选机制,让智能体能够在很小数量的示例样本下自动挑选对学习有利的示例样本,从而提高了训练数据的利用率,极大的减少了训练智能体所需要的时间。

【技术实现步骤摘要】
基于强化学习利用动态奖励示例样本训练智能体的方法
本专利技术涉及机器学习、深度学习和强化学习的
,尤其是指一种基于强化学习利用动态奖励示例样本训练智能体的方法。
技术介绍
近年来随着计算机硬件水平的提升和大数据时代的到来,一大批需要强大计算力和海量数据的人工智能算法应运而生。而其中具有里程碑意义的事件则是由DeepMind团队开发的AlphaGo于2016年3月以4:1击败顶尖职业棋手李世石,成为第一个不借助让子而击败围棋职业九段棋手的计算机围棋程序。深度强化学习由此成为了通向通用人工智能最有可能的道路。但AlphaGo需要计算机集群上训练了数个月才能达到如此水平,其对硬件的高要求和过长的训练时间让深度强化学习的应用受到了极大的限制。提高数据的利用率,减少训练所需要的成本,成为了深度强化学习领域的重要课题。为了减少训练的时间,利用人类的经验或者已经训练好的其他的智能体(agent)的经验来帮助训练新的智能体是目前的一种解决思路。人类或其他智能体的经验被称为示例样本(demonstration),其中目前利用示例样本可以大概分为两种方式:1、预训练(pre-training):利用事先收集好的示例样本去训练一个智能体,然后在此的基础上再去训练该智能体完成我们需要的任务。2、奖励塑造(rewardshaping):在训练的初期,智能体还没有学习到良好的策略经常表现很差时,奖励塑造的方法利用已经收集的示例样本作为参考,让智能体有更大的几率选择与最相似的示例样本的动作。其做法是让示例样本示例的动作有更大的奖励,以激励智能体选择该动作。预训练的方法相当于给智能体提供了一个相对于随机初始化更好的起点,其对收集的示例样本的质量要求很高,数量上要求也很多,在很多情况下该条件并不能满足。而奖励塑造的方法对于如何选择与智能体最相似的示例样本没有很好的答案,其计算样本的相似度也需要引入额外的计算量。总而言之,现有的利用示例样本来帮助加快深度强化学习的方法,其要么存在条件苛刻难以满足的缺点,或者是需要引入额外的计算量,导致算法的时间开销并没有实质减少。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提出了一种基于强化学习利用动态奖励示例样本训练智能体的方法,引入了动态奖励和优先级挑选机制,在仅增加少量的额外计算的情况下降低了现有技术中对示例样本高质量和大数量的条件要求,让智能体能够在很小数量的示例样本下自动挑选对学习有利的示例样本,从而提高了训练数据的利用率,极大的减少了训练智能体所需要的时间。为实现上述目的,本专利技术所提供的技术方案为:基于强化学习利用动态奖励示例样本训练智能体的方法,包括以下步骤:1)从智能体中获取示例样本;其中,所述智能体指的是用深度强化学习实现的具有智能的程序,所述示例样本是一组示范在给定环境下该如何动作的四元组;2)利用在步骤1)中获取的示例样本初始化经验池,初始化计算机神经网络,设定相关超参数值;其中,所述经验池是计算机内存中一段能够存储示例样本的空间,所述超参数是指在训练神经网络时人为设定的一组参数;3)开始训练智能体,即用深度强化学习训练计算机神经网络,并且把训练智能体时产生的样本也存入经验池,与示例样本混合;4)利用基于动态奖励的优先级抽样机制从经验池中抽取小批量样本;其中,所述动态奖励的优先级抽样机制是一种用实时变化的奖励去控制样本优先级的机制;5)利用抽样出来的小批量样本计算神经网络的损失值,通过优化器函数减小损失值来更新网络参数;若损失值减少到设定阈值,则深度强化学习停止,智能体训练完成,否则跳到步骤3)继续训练。在步骤1)中,设示例样本的四元组表示为(s,a,r,s'),其中,s代表智能体所处的当前环境的状态,a代表智能体执行的动作,r代表执行该动作后环境所给的反馈,s'代表在状态s下经过动作a所到达的下一个状态。在步骤2)中,需设定经验池的大小N和示例样本集合的大小n,N>n,随机初始化计算机神经网络的参数,并且将示例样本存入经验池。在步骤3)中,进行智能体训练是用深度Q网络算法来训练更新计算机神经网络,所述深度Q网络算法是一种深度强化学习算法,其结合了深度神经网络和Q网络算法,能够用来训练具有智能的程序。在步骤4)中,所述基于动态奖励的优先级抽样机制是一种基于样本重要性的抽样机制,样本被抽样的概率为此样本的优先级跟所有样本的优先级的总和的比值决定;所述抽取小批量样本是指按照样本的抽样概率抽取小批量数量的样本,其中小批量为一个事先定义好的常数;设样本的优先级为P,则样本被抽样的概率为ρ为样本抽样概率,N代表经验池的大小,i为标识符,表示第i个样本,Pi表示第i个样本的优先级;其中样本优先级P=TD_error+σ,TD_error为深度Q网络对样本计算的时间差异损失值,能够通过减小该损失值来优化计算机神经网络,该值越大代表该样本越重要;σ为一个附加的奖励,用来进一步控制样本的优先级;其中,σ的计算具体如下:a、对于示例样本,如果智能体执行的动作a和示例样本的动作一致,则t代表时间步,σt代表样本原有的附加奖励,σ(t+1)代表更新后的附加奖励,n代表示例样本集合的大小,N代表经验池的大小;如果智能体执行的动作和示例样本不一致,则其中βt和为中间变量,σt和σ(t+1)分别为原有的附加奖励和更新后的附加奖励,t代表时间步,i为计数变量;b、对于非示例样本,σ始终为一个固定的值。在步骤5)中,计算小批量样本的损失值,利用优化器函数减小损失值来更新网络参数,包括以下步骤:5.1)通过深度Q网络算法计算每一个样本的TD_error,TD_error是深度Q网络算法根据样本计算出来的时间差异损失值,能够用该损失值来更新计算机神经网络;5.2)计算所有样本TD_error的总和,求得平均值,作为该小批量样本的损失值;5.3)利用优化器函数对损失值进行优化,以更新网络参数;其中优化器是一个根据样本损失值来优化计算机神经网络的函数。本专利技术与现有技术相比,具有如下优点与有益效果:1、本专利技术降低了现有技术中对示例样本高质量、多数量的要求。2、本专利技术首次给示例样本引入动态奖励更新机制,让智能体能够更有效的选出对训练更有利的示例样本。3、本专利技术提高了对训练数据的使用效率,能够让深度强化学习在更少的数据下训练出同等效果的智能体。4、本专利技术极大提高了智能体前中期的表现,让智能体在很短的时间内达到不错的效果。5、本专利技术引入的额外计算量极少,不需要很高的算力支持。附图说明图1为本专利技术方法的逻辑流程示意图。图2为智能体所处环境的示意图。图中智能体所处环境为一个4*4的二维迷宫,其中黑色方块代表的是墙壁,白色方块代表的是道路;最左下角为迷宫入口,最右上角为迷宫出口。图3为智能体所处环境的计算机表示示意图。图中二维迷宫用一个二维数组表示,左侧为二维数组的索引表示,右侧为二维数组的值表示。值为0代表是道路,值为本文档来自技高网
...

【技术保护点】
1.基于强化学习利用动态奖励示例样本训练智能体的方法,其特征在于,包括以下步骤:/n1)从智能体中获取示例样本;其中,所述智能体指的是用深度强化学习实现的具有智能的程序,所述示例样本是一组示范在给定环境下该如何动作的四元组;/n2)利用在步骤1)中获取的示例样本初始化经验池,初始化计算机神经网络,设定相关超参数值;其中,所述经验池是计算机内存中一段能够存储示例样本的空间,所述超参数是指在训练神经网络时人为设定的一组参数;/n3)开始训练智能体,即用深度强化学习训练计算机神经网络,并且把训练智能体时产生的样本也存入经验池,与示例样本混合;/n4)利用基于动态奖励的优先级抽样机制从经验池中抽取小批量样本;其中,所述动态奖励的优先级抽样机制是一种用实时变化的奖励去控制样本优先级的机制;/n5)利用抽样出来的小批量样本计算神经网络的损失值,通过优化器函数减小损失值来更新网络参数,若损失值减少到设定阈值,则深度强化学习停止,智能体训练完成,否则跳到步骤3)继续训练。/n

【技术特征摘要】
1.基于强化学习利用动态奖励示例样本训练智能体的方法,其特征在于,包括以下步骤:
1)从智能体中获取示例样本;其中,所述智能体指的是用深度强化学习实现的具有智能的程序,所述示例样本是一组示范在给定环境下该如何动作的四元组;
2)利用在步骤1)中获取的示例样本初始化经验池,初始化计算机神经网络,设定相关超参数值;其中,所述经验池是计算机内存中一段能够存储示例样本的空间,所述超参数是指在训练神经网络时人为设定的一组参数;
3)开始训练智能体,即用深度强化学习训练计算机神经网络,并且把训练智能体时产生的样本也存入经验池,与示例样本混合;
4)利用基于动态奖励的优先级抽样机制从经验池中抽取小批量样本;其中,所述动态奖励的优先级抽样机制是一种用实时变化的奖励去控制样本优先级的机制;
5)利用抽样出来的小批量样本计算神经网络的损失值,通过优化器函数减小损失值来更新网络参数,若损失值减少到设定阈值,则深度强化学习停止,智能体训练完成,否则跳到步骤3)继续训练。


2.根据权利要求1所述的基于强化学习利用动态奖励示例样本训练智能体的方法,其特征在于:在步骤1)中,设示例样本的四元组表示为(s,a,r,s'),其中,s代表智能体所处的当前环境的状态,a代表智能体执行的动作,r代表执行该动作后环境所给的反馈,s'代表在状态s下经过动作a所到达的下一个状态。


3.根据权利要求1所述的基于强化学习利用动态奖励示例样本训练智能体的方法,其特征在于:在步骤2)中,需设定经验池的大小N和示例样本集合的大小n,N>n,随机初始化计算机神经网络的参数,将示例样本存入经验池。


4.根据权利要求1所述的基于强化学习利用动态奖励示例样本训练智能体的方法,其特征在于:在步骤3)中,进行智能体训练是用深度Q网络算法来训练更新计算机神经网络,所述深度Q网络算法是一种深度强化学习算法,其结合了深度神经网络和Q网络算法,能够用来训练具有...

【专利技术属性】
技术研发人员:段智宏陈百基
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1