用于强化学习的方法和设备的制造方法

文档序号:9872470阅读:572来源:国知局
用于强化学习的方法和设备的制造方法
【专利说明】
[0001 ] 相关申请的交叉参考
[0002] 本申请基于并主张2013年10月8日提交的美国临时申请No. 61 /888,247的优先权, 通过引用将其全部内容合并于此。
技术领域
[0003] 本发明涉及用于强化学习的改进技术,尤其是Q学习,并涉及数据处理器和处理器 控制代码。
【背景技术】
[0004] -般而言,强化学习与监督学习的不同在于,不出现正确的输入输出对,而是机器 (软件代理)学习在某些环境中采取动作,将某些形式的奖励最大化或者将成本最小化。采 取动作将环境/系统从一个状态移动到另一个状态,并且在Q学习的特定情况下,计算状态 动作组合的质量,这描述可用于确定动作的期望效用的动作值函数。在"Q-learning" (Machine learning,voI 8,pages 279-292,1992,Watkins,Christopher JCH and Dayan, Peter,并且例如在Wikipedia?上方便地总结)中描述了 Q学习算法。
[0005] 尽管如此,学习直接根据高维度传感输入,诸如视觉和语言,来控制软件代理是强 化学习(RL)的一个长期挑战。在这些领域中操作的大多数成功的RL应用依赖与线性政策函 数组合的手工制作特征,并且这种系统的性能严重依赖特征表示的质量。另一方面,学习传 感数据的表示已经成为深度学习方法的焦点,大多数深度学习方法依赖应用于深度卷积神 经网络的大监督训练集合。
[0006] 可能使用神经网络的强化学习的最广为人知的成功是TD-Gammon( "Temporal difference learning and TD-Gammon",Communications of the ACM,voI 38(3),pages 58-68,Tesauro,Gerald)。这是一个西洋双陆棋游戏程序,它通过强化学习和自我游戏来学 习,并达到超人类的游戏水平。但是这种方法采用人体工程学特征以及无关于动作的状态 值函数(总得分),而不是动作值函数。此外它不接受视觉输入。
[0007] 追随TD-Gammon的早期尝试不太成功,这种方法对于国际象棋、围棋和跳棋不太有 效。这导致一个广泛的信念,即TD-Gammon是一个特例,并且神经网络只能在西洋双陆棋中 近似值函数,原因是由于掷骰子的随机性,所以它很平滑。
[0008] 此外,已经表明,将无模型强化学习算法诸如Q-Iearning与非线性函数逼近器诸 如神经网络组合会导致Q网络发散。因此,后来的工作集中在具有较好收敛保证的线性函数 逼近器。除了关于发散的问题之外,通过强化学习提供的训练信号是否足以训练大型神经 网络也不清楚。因此,虽然有卷积神经网络的很多成功应用得益于使用大型标记训练示例 集合(监督学习),但是通过RL提供的奖励信号经常延迟、稀少且有噪声。
[0009] 尽管如此,在"Neural fitted Q iteration-first experiences with a data efficient neural reinforcement learning method"(Machine Learning:ECML 2005, Springer 2005,pages 317-328,Riedmiller,Martin)中已经尝试使用多层感知器来逼近Q 值函数。所述技术基于存储并重新使用转移经验的原理,但是有一些显著的实际缺点:一般 而言,基于存储的经验来训练神经网络,但是当用新的三元数组(初始状态-动作-结果状 态)更新经验时,将先前的神经网络丢弃,并且在已更新的经验上训练全新的神经网络。这 是因为,无监督训练会容易地导致发散行为。但是结果是,每次更新存在与数据集合的大小 成比例的可计算成本,这使得将这种方法推广到大型数据集合不切实际。相同的方法已经 应用于通过自动编码器预处理的视觉输入,但是这遭遇基本上相同的问题("Deep Auto-Encoder Neural Networks in Reinforcement Learning",Sascha Lange and Martin Riedmiller)〇
[0010] 因此,需要一种用于强化学习的改进技术,特别是在采用神经网络时。

【发明内容】

[0011] 根据本发明,因此提供一种强化学习的方法,所述方法包括:输入与主题系统有关 的训练数据,所述主题系统具有多个状态,并且对于每个状态,所述主题系统具有从所述状 态中的一个移动到下一个所述状态的动作集合;其中所述训练数据通过以一系列所述动作 在所述系统上操作而被生成,并且包括起始状态数据、动作数据以及下一个状态数据,其对 于多个所述动作分别限定起始状态、动作以及由于所述动作所致的下一个所述状态;以及 利用所述训练数据以及从第一神经网络得出的用于第二神经网络的目标值,训练第二神经 网络;所述方法进一步包括:根据所述第二神经网络生成或更新所述第一神经网络。
[0012] -般而言,在本发明该方案的实施例中,维持两个神经网络来避免否则在估计动 作值参数时会出现的发散,特别是,否则将基于它自己的预测而被更新的神经网络的情况 下。在实施例中,第一神经网络生成目标动作值参数,诸如目标Q值,而第二神经网络基于第 一神经网络生成的目标而被更新。通过这种方式,目标保持基本上静态,但是每隔一段时间 就根据第二神经网络重新生成或更新第一神经网络,例如通过将第二神经网络学习的权重 集合中的一些或全部权重复制到第一神经网络。实际上,在实施例中,维持相同神经网络的 两个实例,第一实例用于生成用于更新第二实例的目标值,不时更新第一实例,以匹配第二 实例。潜在地,在本地连接的网络中,可以在不同的时间将网络的不同部分更新,但是这不 太可取。在一个实施例中,在规定数目的动作(例如每IO 4个步骤)之后将第一神经网络更 新。
[0013] 采用这种方法帮助推广到很大的数据集合,因为训练第二神经网络时涉及的计算 减少一一在实施例中每次迭代例如采用随机梯度更新以低(恒定)计算成本,将这种第二神 经网络有效地连续更新。这样进而促进使用很大数量的训练数据,并且特别是使用用于状 态数据的传感数据,诸如图像数据或声音数据(波形)。本技术的实施例可以直接对视觉图 像和/或声音进行训练,并且因此可以从该输入到输出动作"端到端"应用强化学习。这样能 够实现可能与区分动作值直接相关的特征的学习,而不是所谓的必须尝试通过手动来识别 它们。其他优点在于,因为有大数量的低级别数据可用,所以神经网络的前端可以实施通过 无监督的强化学习技术来训练的(深度)卷积神经网络。通过这种方式,系统本身可以学习 区分传感输入的与能够执行的可用动作相关的特征。
[0014] 上述系统的实施例的其他优点在于,它们可以在线操作,没有先前方法的问 题一一在执行每个连续动作时可以更新第二神经网络,并且每个连续状态上的数据被捕 捉。
[0015] 在实施例中,第二神经网络被供以用于每个连续动作的第一起始状态的表示,并 且被用于提供用于从该起始状态可用的动作集合中的每个动作的已学习的动作值参数,在 实施例中为Q值。然后该方法选择要执行的动作并输出用于控制主题系统的对应的动作数 据。这进而被用于生成经验数据,该经验数据被存储并提供给第一神经网络,以生成用于训 练第二神经网络的目标值。这种类型的方法的优点在于本身生成经验,程序(或数据处理 器)通过该经验进行学习:实际上每个神经网络提供被其他神经网络使用的输出。但是这并 非必要,并且用于通过第一神经网络处理的经验数据在原理上可以从一些其他源得出,例 如通过观察其他实体、机器或人类与主题系统的交互。
[0016] 该方法选择的动作对应于来自第二神经网络的最佳已学习的动作值参数。一般而 言,这是用于已经学习将(期望的)奖励最大化的网络的最大动作值参数,或者是用于已经 学习将(期望的)成本最小化的网络的最小动作值参数。在一些优选实施例中,不是第二神 经网络接收限定起始状态和动作的数据,而是训练神经网络为所限定的起始状态并行提供 输出集合,每个输出提供用于对应的可用动作的估计的动作值参数。通过有效地并行处理 动作,这样实际上加速了操作,允许耦接到神经网络的输出的后续选择器模块(或者是代 码/软件,或者是硬件)选择最大/最小输出值,具有该值的节点限定要采取的对应的动作。
[0017] 如上所述,在本方法的优选实施例中,经验数据仓库记录用于采取的动作的一些 或全部的经验数据。对于每个动作,经验数据包括限定起始状态、采取的动作以及系统的后 续状态的数据。在实施例中,存储只与最后N个动作有关的经验数据,以降低存储器要求。但 是附加性或替代性地,可以以一些其他方式选择动作的子集用于存储,例如只每隔一段时 间存储动作,或者随机存储动作,或者基于或者同时确定或者在一些后来的阶段确定的某 些显著性度量,例如基于测量的和/或期望的奖励/成本,来存储动作。
[0018] 在实施例中,经验数据包括从当前状态移动到后续状态时与动作的奖励(或成本) 有关的奖励(或成本)数据。可以例如通过输入限定通过动作收集/引起的奖励或成本的数 据来从系统测量奖励/成本。但是附加性或替代性地,可通过系统的参数或者要解决的工程 问题来限定奖励/成本。因此应当认识到,存储奖励/成本并非必要,因为特别是在后一种情 况下,可通过状态来限定或者与状态相关联:例如,对于所谓的回避控制任务、目标实现任 务、或者状态空间位置调节任务(诸如杆平衡任务),可通过状态空间的目标区域来限定奖 励/成本。
[0019] 在实施例中,结合用于训练第二神经网络的第一神经网络来使用经验数据。更具 体而言,根据存储的经验数据对包括第一、起始状态、动作、以及下一个状态的转移采样。这 用于根据第一神经网络(在实施例中,它在先制造第二神经网络的副本)生成目标动作值参 数(Q值),用于训练第二神经网络。因此将由于动作所致的下一个状态输入第一神经网络, 并识别最大(或最小)动作值参数(Q值),所述最大(或最小)动作值参数通过0和1之间
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1