【技术实现步骤摘要】
用于强化学习的方法和设备
[0001]分案说明
[0002]本申请属于申请日为2014年10月7日的中国专利技术专利申请201480055621.8的分案申请。
[0003]相关申请的交叉参考
[0004]本申请基于并主张2013年10月8日提交的美国临时申请No.61/888,247的优先权,通过引用将其全部内容合并于此。
[0005]本专利技术涉及用于强化学习的改进技术,尤其是Q学习,并涉及数据处理器和处理器控制代码。
技术介绍
[0006]一般而言,强化学习与监督学习的不同在于,不出现正确的输入输出对,而是机器(软件代理)学习在某些环境中采取动作,将某些形式的奖励最大化或者将成本最小化。采取动作将环境/系统从一个状态移转(move)到另一个状态,并且在Q学习的特定情况下,计算状态动作组合的质量,这描述可用于确定动作的期望效用的动作值函数。在“Q
‑
learning”(Machine learning,vol 8,pages 279
‑
292,1992,Watkins,Christopher JCH and Dayan,Peter,并且例如在Wikipedia
TM
上方便地总结)中描述了Q学习算法。
[0007]尽管如此,学习直接根据高维度传感输入,诸如视觉和语言,来控制软件代理是强化学习(RL)的一个长期挑战。在这些领域中操作的大多数成功的RL应用依赖与线性政策函数组合的手工制作特征,并且这种系统的性能严重依赖特征表示 ...
【技术保护点】
【技术特征摘要】
1.一种强化学习的方法,所述方法包括:输入与主题系统有关的训练数据,所述主题系统具有多个状态,对于每个状态,所述主题系统具有从所述状态中的一个移转到下一个所述状态的动作集合,其中所述训练数据通过以一系列所述动作在所述系统上操作而被生成、并且包括包含多个转化的经验数据,每个转化包括相应的起始状态数据、动作数据以及下一个状态数据,所述相应的起始状态数据、动作数据以及下一个状态数据对于多个所述动作分别限定起始状态、动作以及由于所述动作所致的下一个所述状态;以及训练第二神经网络,所述第二神经网络是与第一神经网络相同的神经网络的实例,其中,训练所述第二神经网络包括:从所述经验数据中选择转化;通过所述第一神经网络生成用于所述选择的转化的目标动作值参数;基于由所述第一神经网络生成的所述目标动作值参数与由所述第二神经网络生成的动作值参数之间的差来更新所述第二神经网络的权重。2.根据权利要求1所述的方法,进一步包括:利用来自所述第二神经网络的已学习的动作值参数来选择所述动作,其中所述动作响应于为在所述系统的状态下可用的动作集合中的每个动作确定的动作值参数而被选择。3.根据权利要求2所述的方法,其中,所述经验数据从所述选择的动作得出,所述方法进一步包括:通过与限定所述动作的相应的所述起始状态和下一个状态的数据相关联地存储限定由所述第二神经网络选择的所述动作的数据,生成所述经验数据。4.根据权利要求3所述的方法,其中,所述目标动作值参数是通过向所述第一神经网络提供限定所述动作和所述下一个状态的所述数据来生成的,并且所述第二神经网络是利用所述目标动作值参数和限定所述起始状态的所述数据来训练的。5.根据权利要求2所述的方法,进一步包括:输入限定所述系统的状态的状态数据;将所述系统的所述状态的表示提供给所述第二神经网络;为在所述状态下可用的所述动作集合中的每个动作从所述第二神经网络检索已学习的所述动作值参数;以及从所述第二神经网络选择要执行的动作,所述动作具有最大或最小的所述已学习的动作值参数。6.根据权利要求5所述的方法,进一步包括:存储来自所述系统的经验数据,其中所述经验数据通过以利用所述第二神经网络选择的所述动作在所述系统上操作而被生成,并且其中所述训练数据包括所述存储的经验数据。7.根据权利要求6所述的方法,进一步包括:从所述经验数据选择用于多个所述动作中的一个的起始状态数据、动作数据以及下一个状态数据;将来自所述下一个状态数据的所述下一个状态的表示提供给所述第一神经网络;根据所述第一神经网络确定用于所述下一个状态的最大或最小的已学习的动作值参数;根据用于所述下一个状态的所述最大或最小的已学习的动作值参数,确定用于训练所
述第二神经网络的目标动作值参数。8.根据权利要求7所述的方法,其中,所述训练所述第二神经网络包括:将来自所述起始状态数据的所述起始状态的表示提供给所述第二神经网络,以及调节所述神经网络的权重,以使用于通过所述动作数据限定的动作的已学习的动作值参数更接近于所述目标动作值参数。9.根据权利要求7所述的方法,其中,所述经验数据还包括限定由于采取的所述动作所致的所述系统的奖励值或成本值的奖励数据,并且其中所述确定所述目标动作值参数包括分别通过所述奖励值或所述成本值调节用于所述下一个状态的所述最大或最小的已学习的动作值参数。10.根据权利要求1所述的方法,其中,所述系统的状态包括随着时间对所述系统的观察的序列,所述时间表示所述系统的历史。11.根据权利要求2所述的方法,其中,所述训练所述第二神经网络与所述选择所述动作交替,并且包括递增地更新用于选择所述动作的所述第二神经网络的权重集合。12.根据权利要求2所述的方法,其中,根据所述第二神经网络的所述第一神经网络的所述生成或更新在重复利用所述第二神经网络所述动作的所述选择以及所述第二神经网络的所述训练之后每隔一段时间被执行。13.根据权利要求12所述的方法,其中,根据所述第二神经网络的所述第一神经网络的所述生成或更新包括:将所述第二神经网络的权重集合复制到所述第一神经网络。14.根据权利要求1所述的方法,其中,所述第一神经网络和第二神经网络包括有卷积神经网络输入阶段的深度神经网络。15.一种非暂时性数据载体,承载实施权利要求1的方法的处理器控制代码。16.一种Q学习的方法,其中Q值通过神经网络来确定,并且用于选择要在系统上执行的动作,以使所述系统在状态之间移转,其中第一神经网络用于生成用于目标的Q值,以用来训练用于选择所述动作的第二神经网络。17.根据权利要求16所述的方法,其中,每隔一段时间所述第一神经网络根据所述第二神经网络被刷新。18.根据权利要求17所述的方法,其中,所述第一神经网络的权重是准静态的,在所述刷新之间的间隔期间保持基本上不变。19.根据权利要求16所述的方法,进一步包括:存储所述选择的动作和状态的记录,并利用所述记录来生成用于所述目标的所述Q值。20.根据权利要求16所述的方法,其中,所述第一神经网络和第二神经网络是包括本地连接或稀少连接的前端神经网络部分的深度神经网络。21.根据权利要求16所述的方法,其中,所述Q值包括动作值函数的值,所述动作值函数逼近包括限定的下一个动作的动作的策略的期望成本或回报。22.一种非暂时性数据载体,承载实施权利要求16的方法的处理器控制代码。23.一种被配置为执行强化学习的数据处理器,所述数据处理器包括:输入,所述输入用于接收来自系统的训练数据,所述系统具有多个状态,对于每个状态,所述系统具有从所述状态中的一个移转到下一个所述状态的动作集合,其中所述训练数据通过以一系列所述动作在所述系统上操作而被生成、并且包括包含
多个转化的经验数据,每个转化包括相应的起始状态数据、动作数据以及下一个状态数据,所述相应的起始状态数据、动作数据以及下一个状态数据对于多个所述动作分别限定起始状态、动作以及由于所述动作所致的下一个所述状态;训练模块,所述训练模块用于训练第二神经网络,所述第二神经网络是与第一神经网络相同的神经网络的实例,其中,训练所述第二神经网络包括:从所述经验数据中选择转化;通过所述第一神经网络生成用于所述选择的转化的目标动作值参数;以及基于由所述第一神经网络生成的所述目标动作值参数与由所述第二神经网络生成的动作值参数之间的差来更新所述第二神经网络的权重。24.根据权利要求23所述的数据处理器,进一步包括动作选择模块,所述动作选择模块用于响应于用于在所述系统的状态下可用的所述动作集合中的每个动作的动作值参数来选择所述动作,其中所述动作值参数由所述第二神经网络提供。25.根据权利要求23所述的数据处理器,其中,所述神经网络生成模块被配置为将所述第二神经网络的权重集合复制到所述第一神经网络。26.一种被配置为执行Q学习的数据处理器,其中Q值通过神经网络来确定,并且用于选择要在系统上执行的动作,以使所述系统在状态之间移转,所述数据处理器包括耦接到存储处理器控制代码的工作存储器以及非易失性程序存储器的处理器,其中所述处理器控制代码被配置为控制所述处理器:利用第一神经网络来生成用于目标的Q值;利用所述目标来训练第二神经网络;以及利用所述第二神经网络来选择动作以控制所述系统。27.一种在控制系统中学习的方法,对于主题系统的一系列状态,所述方法包括:输入与主题系统的当前状态有关的当前状态数据;将所述当前状态数据的版本提供给神经网络;利用所述神经网络确定用于动作值函数集合的值,潜在动作集合中的一个或每个;响应于所述动作值函数的所述值,选择所述动作;将用于所述选择的动作的动作数据输出到所述主题系统,使得所述主题系统从所述当前状态转化为后续状态;输入与所述主题系统的所述后续状态有关的后续状态数据以及与由于从所述当前状态到所述后续状态的所述转化所致的奖励或成本有关的奖励数据;将经验数据存储在经验存储器中,所述经验数据表示所述当前状态、所述后续状态、所述选择的动作、以及所述奖励或成本;根据所述存储的经验数据,确定用于所述神经网络的目标动作值函数输出;以及利用所述目标动作值函数输出来更新所述神经网络的权重,其中所述更新包括递增地修改先前确定的所述神经网络的权重集合;所述方法进一步包括:存储所述神经网络的权重集合,以产生所述神经网络的两个版本,一个版本针对另一个版本时移,其中用于选择所述动作的所述动作值函数集合的所述值的所述确定利用所述神经网
络版本的后一个版本被执行,以及其中所述目标动作值函数的所述确定利用所述神经网络版本的较早版本被进行。28.根据权利要求27所述的方法,其中,所述目标动作值函数输出通过从所述经验存储器读取识别第一状态、动作、后续状态、以及奖励或成本值的数据而被确定;所述方法进一步包括:利用所述神经网络,确定用于通过所述神经网络为所述后续状态推荐的动作的动作值函数的值;以及根据用于通过所述神经网络为所述后续状态推荐的所述动作的所述动作值函数的所述值与所述奖励或成本值的组合,确定所述目标动作值函数输出。29.一种由一个或多个计算机执行的强化学习的方法,所述方法包括:获得与主题系统有关的训练数据,所述主题系统与强化学习代理交互,所述强化学习代理执行来自动作集合中的动作以使所述主题系统改变状态;其中所述训练数据通过执行来自所述动作集合的一系列动作以与环境交互来生成并且包括多个转化,每个转化包括限定所述环境的相应的起始状态的相应的起始状态数据,限定来自所述动作集合的相应的动作的相应的动作数据以及限定相应的下一个状态的相应的下一个状态数据,所述相应的下一个状态由所述相应的动作被执行所致;以及使用所述训练数据和从第一神经网络得出的第二神经网络的目标值来训练所述第二神经网络;以及根据所述第二神经网络更新所述第一个神经网络。30.根据权利要求29所述的方法,还包括使用从所述第二神经网络获得的作为输出的已学习的动作值参数来选择为生成所述训练数据而执行的动作,其中,所述动作响应于由所述第二神经网络生成的、在所述主题系统的状态下可用的动作集合的每个动作的相应的动作值参数而被选择。31.根据权利要求30所述的方法,所述方法还包括通过将限定使用所述第二神经网络选择的动作的数据与限定所述动作的相应的起始状态和下一个状态的数据相关联地存储来生成所述转化。32.根据权利要求31所述的方法,还包括通过至少提供限定所述下一个状...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。