CN116324818A - 使用增强时间差异学习训练强化学习智能体 - Google Patents

使用增强时间差异学习训练强化学习智能体 Download PDF

Info

Publication number
CN116324818A
CN116324818A CN202180067567.9A CN202180067567A CN116324818A CN 116324818 A CN116324818 A CN 116324818A CN 202180067567 A CN202180067567 A CN 202180067567A CN 116324818 A CN116324818 A CN 116324818A
Authority
CN
China
Prior art keywords
value
action
agent
environment
neural network
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
CN202180067567.9A
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.)
DeepMind Technologies Ltd
Original Assignee
DeepMind Technologies Ltd
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 DeepMind Technologies Ltd filed Critical DeepMind Technologies Ltd
Publication of CN116324818A publication Critical patent/CN116324818A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

包括编码在计算机存储介质上的计算机程序的方法、系统和装置,用于通过执行使得环境转换状态的动作来训练神经网络,该神经网络用于选择由与环境交互的智能体执行的动作。该方法之一包括:保持存储多个转换的回放存储器;从回放存储器中选择多个转换;并且,在多个转换上训练神经网络,包括,对于每个转换:为该转换生成初始Q值;确定转换的缩放Q值;确定转换的缩放时间差异学习目标;确定缩放时间差异学习目标与缩放Q值之间的误差;确定对Q网络参数的当前值的更新;以及,确定对缩放项的当前值的更新。

Description

使用增强时间差异学习训练强化学习智能体
相关申请的交叉引用
本申请要求对于在2020年10月2日提交的美国临时专利申请No.63/087,156的优先权。该在先申请的公开被视为本申请的公开的一部分,并通过引用并入本申请的公开中。
技术领域
本说明书涉及强化学习。
背景技术
在强化学习系统中,智能体通过执行由强化学习系统响应于接收的表征环境当前状态的观察而选择的动作与环境交互。
一些强化学习系统根据神经网络的输出选择要由智能体响应于接收到给定观察而执行的动作。
神经网络是机器学习模型,它采用一层或多层非线性单元来对于接收的输入预测输出。一些神经网络是深度神经网络,其除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作对于在网络中的下一层(即下一隐藏层或输出层)的输入。网络的每一层根据相应参数集的当前值从接收的输入生成输出。
发明内容
本说明书描述了一种系统,该系统在一个或多个位置的一个或多个计算机上实现为计算机程序,该系统使用控制神经网络系统来控制智能体以执行一个或多个任务。
一般而言,本说明书中描述的主题的一个创新方面可以体现在一种用于训练Q神经网络的方法,Q神经网络具有多个Q网络参数,并且用于选择由通过执行使得环境转换状态的动作来与环境交互的强化学习智能体执行的动作,该方法包括:保持回放存储器,回放存储器存储作为强化学习智能体与环境交互的结果而生成的多个转换,每个转换包括表征环境的相应当前状态的相应当前观察、由智能体响应于当前观察而执行的相应当前动作、表征环境的相应下一状态的相应下一观察以及响应于智能体执行当前动作而接收的奖励;从回放存储器中选择多个转换;以及,在多个转换上训练Q神经网络,包括,对于多个转换中的每个转换:根据Q网络参数的当前值处理当前观察和当前动作,以生成转换的初始Q值;根据(i)缩放项的当前值和(ii)初始Q值,确定转换的缩放Q值;根据(i)缩放项的当前值和(ii)转换中包括的下一观察,确定转换的缩放时间差异学习目标;确定缩放时间差异学习目标与缩放Q值之间的误差;基于计算相对于Q网络参数的误差的梯度,确定对Q网络参数的当前值的更新;以及,基于计算相对于一个或多个缩放项参数的误差的梯度,确定对缩放项的当前值的更新。
根据(i)缩放项的当前值和(ii)下一观察确定转换的缩放时间差异学习目标可以包括:使用Q神经网络处理下一观察和由智能体在与环境交互时能够执行的可能动作集合中的每个动作,以输出针对作为对如果智能体响应于在转换中包括下一观察而执行动作则将接收的回报的估计的动作的相应的Q值;基于相应的Q值从可能动作集合中选择所选择的动作;如果响应于下一观察而执行选择的动作,则根据折扣因子的值和所选择的动作的Q值确定调整初始时间的下一预期回报;根据(i)缩放项的当前值和(ii)调整初始时间的下一预期回报,确定缩放的、调整时间的下一预期回报;以及,计算(i)转换中包括的奖励和(ii)缩放的、调整时间的下一预期回报的总和。
根据(i)缩放项的当前值和(ii)下一观察确定转换的缩放时间差异学习目标还可以包括:使用Q神经网络的目标实例根据神经网络的目标参数值处理下一观察和由智能体在与环境交互时能够执行的可能动作集合中的每个动作,以输出针对作为对如果智能体响应于在转换中包括下一观察而执行动作则将接收的回报的估计的动作的相应的Q值。
根据(i)缩放项的当前值和(ii)初始Q值确定转换的缩放Q值可以包括:计算缩放项和初始Q值的乘积。
该方法还可以包括将缩放项的当前值初始化为一。
缩放项可以是exp(ρ)的形式,其中,ρ为可训练参数。
基于计算相对于Q网络参数的误差的梯度,确定对Q网络参数的当前值的更新可以包括:将排名正则化项添加到误差,其中,排名正则化项取决于以下部分之中的最大值:(i)常数加上以下的(a)与(b)之间的差值:(a)转换的初始Q值,(b)通过根据Q网络参数的当前值处理当前观察和不同于在转换中包括的动作的可能动作集合中的剩余动作而生成的Q值;以及(ii)零;以及,基于计算相对于Q网络参数的排名正则化项和误差的梯度,确定对Q网络参数的当前值的更新。
该方法还可以包括根据过滤方案将排名正则化项添加到误差,过滤方案基于转换中包括的奖励确定是否应将排名正则化项添加到误差。
基于计算相对于一个或多个缩放项参数的误差的梯度来确定对缩放项的当前值的更新可以包括:将缩放项正则化项添加到误差,其中,缩放项正则化项取决于以下之间的差异:(i)转换的缩放Q值与(ii)对于在从回放存储器中选择的多个转换中的转换的、一个或多个后续转换中包括的相应奖励的调整时间总和;以及,基于计算相对于一个或多个缩放项参数的正则化项和误差的梯度,确定对缩放项的当前值的更新。
确定对Q网络参数的当前值的更新可以还包括确定Q网络参数学习率的值;以及,确定对缩放项的当前值的更新可以还包括确定小于Q网络参数学习率的值的缩放项学习率的值。
缩放项学习率的值可以取决于从回放存储器中选择的多个转换的数量。
回放存储器中的每个转换可以还包括由智能体响应于下一观察而执行的相应下一动作;以及,在多个转换上训练Q神经网络可以还包括,对于多个转换中的每个转换:根据Q网络参数的当前值处理当前观察和当前动作,以生成转换的初始Q值;根据转换中包括的下一观察和下一动作,确定转换的时间差异学习目标;确定在时间差异学习目标与初始Q值之间的误差;基于计算相对于Q网络参数的误差的梯度,确定对Q网络参数的当前值的更新;以及,基于计算相对于一个或多个缩放项参数的误差梯度,确定对缩放项的当前值的更新。
多个转换中没有一个可以是通过使用Q神经网络控制智能体而生成的。
环境可以是现实世界环境,并且观察是由被布置成感测现实世界环境的状态的传感器生成的。
本说明书中描述的主题的另一个创新方面可以体现在一种方法中,该方法包括:接收新的观察,新的观察表征由智能体正在与之交互的环境的新状态;使用Q神经网络处理新观察,以生成由智能体响应于新观察而能够执行的可能动作集合中的每个动作的相应的Q值,每个动作的Q值是对如果智能体响应于新的观察而执行动作则将接收的回报的估计,其中,已经使用任何前述权利要求的方法训练Q神经网络;根据相应的Q值,从可能动作集合中选择动作;以及,使智能体执行所选择的动作。环境可以是现实世界环境,观察可以由被布置成感测现实世界环境的状态的传感器生成,并且智能体可以是导航通过环境的机器人或者自主或半自主的陆地、空中或海上交通工具。可能使用模拟环境训练Q神经网络。
该方面的其他实施例包括对应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,每个被配置为执行所述方法的动作。一个或多个计算机的系统可以被配置为通过安装在系统上的软件、固件、硬件或其任何组合来执行特定的操作或动作,安装在系统上的软件、固件、硬件或其任何组合在操作中可以使系统执行所述动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定的操作或动作,这些指令当由数据处理装置执行时,使该装置执行所述动作。
本说明书中描述的主题可以在特定实施例中实施以实现以下优点中的一个或多个。
离线RL训练(即,基于预先存在的训练数据语料库进行RL训练,并且在训练过程期间不生成额外的训练数据来补充用于训练的训练数据)是用于训练神经网络的有效算法,该神经网络用于选择要由智能体执行的动作,因为可以在不需要控制智能体与现实环境交互的情况下训练网络。在训练期间,这避免了执行由于次优策略而执行的冒险动作,并且不会导致对现实世界智能体的机械磨损或撕裂或其他损害。由于训练过程涉及对未被训练数据很好覆盖的状态-动作对的估计,因此传统的离线RL算法不可避免地会产生外推误差,其当与自举混合时,可能会导致无界学习目标,并且从而阻碍成功的训练。
然而,所公开的技术可以通过下述方式来缓解这些问题:允许以在离线RL训练期间增加所选数据的值的方式来利用来自回放存储器的训练数据。特别地,通过额外训练将时间差异学习目标值限制在合理范围内的缩放项,可以减轻因训练数据的学习目标被高估而导致的外推误差对神经网络训练的影响,从而允许以极其稳定和数据高效的方式学习高质量的动作选择策略。此外,通过采用基于排名的正则化方案,与从有待收集的有关环境交互的外推信息中学习相比,所公开的技术鼓励在从已经收集的训练数据(尤其是从性能良好的智能体已经生成的训练数据)中学习时对神经网络参数值进行更彻底的更新,该外推信息例如是由智能体在交互期间尚未选择的可能动作集合中的剩余动作,以及由智能体响应于执行未选择的动作而接收的对应奖励。这可以进一步防止外推错误阻碍成功的训练。
因此,所公开的技术可以提高在选择要由智能体执行的动作时使用的神经网络的训练速度,并减少有效训练那些神经网络所需的训练数据的量。因此,可以减少神经网络的训练所需的计算资源量。例如,可以减少存储训练数据所需的存储器的量,可以减少训练过程使用的处理资源量,或者两者兼而有之。神经网络的训练的提高的速度对于更难训练的复杂神经网络或训练神经网络选择由执行复杂强化学习任务的智能体执行的动作尤其重要。
本说明书中描述的主题的一个或多个实施例的细节在附图和下面的描述中阐述。从描述、附图和权利要求中,主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了示例强化学习系统。
图2是阻碍强化学习系统的传统训练的示例外推误差的图示。
图3是用于训练Q神经网络的示例过程的流程图。
图4是用于确定缩放时间差异(TD)学习目标的示例过程的流程图。
图5是用于训练Q神经网络的另一个示例过程的流程图。
图6是图5的示例训练过程和传统训练过程之间的比较的图示。
各种附图中相同的附图标号和附图标记指示相同的元件。
具体实施方式
本说明书描述了强化学习系统,该强化学习系统通过在多个时间步长中的每个时间步长处处理表征在该时间步长处的环境的当前状态的数据(即“观察”)以选择要由智能体执行的动作来控制与环境交互的智能体。
在每个时间步长,在该时间步长处的环境的状态取决于在前一时间步长处的环境的状态和智能体在前一时间步长处执行的动作。
在一些实现方式中,环境可以是现实世界环境,并且智能体是与现实世界环境交互的机械智能体,例如,导航通过环境的机器人或自主或半自主陆地、空中或海上交通工具。
在这些实现方式中,观察可以包括例如以下中的一个或多个:图像、对象位置数据和传感器数据,以在智能体与环境交互时捕获观察,例如来自图像、距离或位置传感器或者来自执行器的传感器数据。
例如,在机器人的情况下,观察可以包括表征机器人的当前状态的数据,例如以下中的一个或多个:关节位置、关节速度、关节力、扭矩或加速度,例如重力补偿扭矩反馈以及机器人持有的物品的全局或相对姿势。
在机器人或其他机械智能体或交通工具的情况下,观察可以类似地包括智能体的一个或多个部分的位置、线速度或角速度、力、扭矩或加速度以及全局或相对姿态中的一个或多个。观察可以在1、2、3或更多维度中定义,并且可以是绝对和/或相对观察。
观察还可以包括例如:感测的电子信号,诸如电机电流或温度信号;以及/或者,例如来自相机或LIDAR传感器的图像或视频数据,例如来自智能体的传感器的数据或来自环境中与智能体分开定位的传感器的数据。
在这些实现方式中,动作可以是控制输入,用于控制:机器人,例如机器人关节的扭矩或更高级别的控制命令;或自主或半自主的陆地、空中、海上交通工具,例如交通工具的控制表面或其他控制元件的扭矩或更高级别的控制命令。
换言之,动作可以包括例如机器人的一个或多个关节或另一机械智能体的部件的位置、速度或力/扭矩/加速度数据。动作数据可以附加地或替代地包括诸如电机控制数据的电子控制数据,或更一般地包括用于控制环境内的一个或多个电子设备的数据,其控制对观察的环境状态有影响。例如,在自主或半自主的陆地或空中或海上交通工具的情况下,动作可以包括控制导航的动作,导航例如是转向和运动,例如交通工具的制动和/或加速。
在一些其他应用中,智能体可以控制现实世界环境中的动作,现实世界环境包括例如在数据中心、在电力/水分配系统或在制造厂或服务设施中的设备项。然后,观察可能与工厂或设施的运行有关。例如,观察可以包括对设备用电或用水的观察、或对发电或配电控制的观察、或对资源使用或废物产生的观察。这些动作可以包括控制工厂/设施的设备项或对工厂/设施的设备项强加操作条件的动作,和/或导致对于在工厂/设施的操作中的设置的改变以例如调整或打开/关闭工厂/设施的组件的动作。
在电子智能体的情况下,观察可能包括来自一个或多个传感器的数据,该传感器监测工厂或服务设施的一部分,例如电流、电压、功率、温度和其他传感器和/或代表电子和/或机械设备项的电子信号。例如,现实世界环境可能是制造工厂或服务设施,观察可能与工厂或设施的运行有关,例如与资源使用(如功耗)有关,并且智能体可能控制工厂/设施中的动作或操作,以例如减少资源使用。在一些其他实现方式中,现实世界环境可以是可再生能源工厂,观察可能与工厂的运行有关,以例如最大化当前或未来计划的发电量,并且智能体可以控制工厂中的动作或操作以实现这一点。
作为另一个示例,环境可以是化学合成或蛋白质折叠环境,使得每个状态是蛋白质链或一个或多个中间体或前体化学品的相应状态,并且智能体是用于确定如何折叠蛋白质链或合成化学品的计算机系统。在此示例中,这些动作可能是用于折叠蛋白质链的折叠动作或用于组装前体化学品/中间体的动作,并且要实现的结果可能包括例如折叠蛋白质以使得蛋白质稳定并使得其实现特定的生物学功能或为化学品提供有效的合成路线。作为另一个示例,智能体可以是机械智能体,其执行或控制由系统自动选择的蛋白质折叠动作或化学合成步骤而无需人为交互。观察可包括对蛋白质或化学品/中间体/前体的状态的直接或间接观察,和/或可源自模拟。
在一些实现方式中,环境可以是模拟环境并且智能体可以被实现为与模拟环境交互的一个或多个计算机。
模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体可以是通过运动模拟导航的模拟交通工具。在这些实现方式中,动作可以是用于控制模拟用户或模拟交通工具的控制输入。
在一些实现方式中,模拟环境可以是特定现实世界环境的模拟。例如,该系统可用于在控制神经网络的训练或评估期间选择模拟环境中的动作,并且在训练或评估或两者完成后,可被部署用于控制模拟环境所模拟的现实世界环境中的现实世界智能体。这可以避免对现实世界环境或现实世界智能体造成不必要的磨损或撕裂或其他损害,并且可以允许在现实世界环境中很少发生或难以重建的情况下控制待训练和评估的神经网络。
通常,在模拟环境的情况下,观察可包括先前描述的观察或观察类型中的一个或多个的模拟版本,并且动作可包括先前描述的动作或动作类型中的一个或多个的模拟版本。
可选地,在上述实现方式的任何一种中,在任何给定时间步长处的观察可以包括来自先前时间步长的数据,这些数据可能有利于表征环境,例如,在先前时间步长处执行的动作、在先前时间步长处接收的奖励等。
图1示出了示例强化学习系统100。强化学习系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中,实现了下述系统、组件和技术。
强化学习系统100选择要由与环境104交互的强化学习智能体102执行的动作。也就是说,强化学习系统100接收观察108,每个观察表征环境104的相应状态,并且响应于每个观察,从强化学习智能体102响应于观察108执行的预定动作集合中选择动作106。响应于智能体102执行的动作的一些或全部,强化学习系统100接收到奖励。每个奖励是作为智能体执行动作的结果从环境104接收的数值,即,奖励将根据环境104作为智能体102执行动作的结果而转换到的状态而不同。
具体而言,强化学习系统100选择要由智能体102使用Q神经网络110和训练引擎120执行的动作106。
Q神经网络110是这样的神经网络,其接收表征环境104的状态的观察108作为输入并且针对动作集合中的每个动作生成相应的Q值112作为输出。动作的Q值112是对“回报”的估计,该回报源自智能体响应于当前观察108执行该动作,并且然后根据Q神经网络的参数的当前值选择智能体102执行的未来动作。回报是指智能体接收的“奖励”的累积度量,例如,奖励的时间折扣总和。
因此,Q神经网络110的功能是生成指示动作集合中每个可能动作的Q值112的数据。换言之,它的功能是为每个可能动作评估函数Q(观察,动作)。相应地,在下文中,我们将接收观察并为某个动作确定Q值的过程称为“根据Q网络参数的当前值处理观察和某个动作以生成动作的Q值”。Q神经网络110可以同时对动作集合中的所有动作进行此操作。换言之,在本文中,诸如“根据Q网络参数的当前值处理观察和某个动作以生成动作的Q值”的表述应被理解为以一种形式包括“根据Q网络参数的当前值处理观察以生成所有动作集合的Q值,并处理某个动作以选择与该某个动作对应生成的Q值”。
注意,在一些实施例中,Q网络110可以通过计算机过程(例如多层感知器,MLP)来实现,该计算机过程接收观察和指定动作集合中的单个动作的数据(例如,对于每个动作具有组件的单热向量),并只为该单个动作生成Q值(即,具有Q网络参数的当前值的Q神经网络在接收到观察后将为该动作生成的相同的Q值)。这在下面也被认为是“根据Q网络参数的当前值处理观察和某个动作以生成动作的Q值”的示例。请注意,如果计算机过程在多个连续次数的每个处接收到(i)观察和(ii)指示可能动作集合中对应一个的数据,则计算机过程将连续生成在该集合中的所有可能动作的Q值。
Q神经网络110可以用使其能够执行它的描述的功能的任何适当的神经网络架构来实现。在一个示例中,Q神经网络110可以包括“嵌入”子网络、“核心”子网络和“选择”子网络。神经网络的子网络是指神经网络中的一组一个或多个神经网络层。当观察是图像时,嵌入子网络可以是卷积子网络,即其包括一个或多个卷积神经网络层,其被配置为处理针对时间步长的观察。当观察是低维数据时,嵌入子网络可以是全连接子网络。核心子网络可以是循环子网络,例如,其包括一个或多个长短期记忆(LSTM)神经网络层,其被配置为处理嵌入子网络的输出,并且在某些情况下,处理定义了来自可能动作集合中的每个动作的动作数据(或从动作数据派生的数据或两者)。选择子网络可以被配置为处理核心子网络的输出以生成针对动作的Q值输出。
为了选择智能体要执行的动作106,系统可以处理Q值(例如,使用soft-max函数)以生成每个可能动作的相应概率值,并且然后根据动作的概率值对动作进行采样。或者,系统可以选择具有最高Q值的动作作为智能体要执行的动作。
为了允许智能体102有效地与环境104交互,强化学习系统100包括训练Q神经网络110以确定Q神经网络的参数118的训练值的训练引擎120。
为了协助Q神经网络110的训练,训练引擎120保持回放存储器130。回放存储器130存储作为智能体102或另一智能体与环境104或用于训练Q神经网络110的环境的另一个实例的交互的结果而生成的数据项(“转换”)。
在一些实现方式中,每个转换都是一个元组,其包括:(1)表征环境在一个时间处的当前状态的当前观察;(2)智能体响应于当前观察而执行的当前动作;(3)下一观察,其表征智能体执行当前动作后环境的下一状态,即环境作为智能体执行当前动作的结果而转换为的状态;(4)响应于智能体执行当前动作而接收的奖励;以及,可选的(5)智能体响应于下一观察而执行的相应下一动作。
训练引擎120通过重复地从回放存储器130中选择转换(例如随机地)并且在选择的转换上训练Q神经网络110来训练动作选择神经网络110。
这种训练设置可以称为离线强化学习,它将学习过程集中在依赖记录的转换数据上,而无需使用Q神经网络实际控制智能体102与环境104交互。也就是说,训练引擎120可以训练Q神经网络110,即使在回放存储器130中的多个转换都没有通过使用Q神经网络控制智能体而生成时。
离线强化学习使得能够使用记录的数据来训练Q神经网络,该Q神经网络用于在广泛的技术用例中控制智能体,广泛的技术用例包括诸如医疗保健和自动驾驶汽车的现实世界应用,其中,与环境的重复交互成本高昂且可能不安全或不道德,并且其中,记录的历史数据可能非常丰富。然而,离线强化学习也可能对系统的RL训练提出独特的挑战。一个主要的挑战是处置由转换数据未很好覆盖的状态-动作对的值的高估引起的误差。由于自举,这些误差在训练期间会被放大,并可能导致发散,从而阻碍系统的成功训练。另一个挑战来自训练数据的陈旧性。简单地说,与在线强化学习相比,在离线强化学习中,智能体无法探索在训练数据集的生成期间尚未收集的新动作或状态,即使这些新动作看起来是最优的。这趋向于表现为对训练数据集中不存在的动作的Q值的高估,其由于学习的自举机制而得到加强,导致下述策略(由Q神经网络参数化),该策略趋于远离从训练数据集覆盖的状态空间区域而进入其中学习的策略(即,训练的Q神经网络)不可预测的区域。
图2是阻碍强化学习系统的传统训练的示例外推误差的图示。Q是在响应于表征环境状态的观察s而执行的动作a的实际Q值,并且Qθ是通过在系统训练期间根据Q网络参数θ的当前值使用Q神经网络处理表征状态的观察s为动作a生成的估计(或更准确地说,外推)的Q值。
在图2的示例中,a1在回放存储器中被观察到(即,包括在回放存储器130中存储的其中也包括观察s的至少一个转换中),而a2和a3未被观察到(即,不包括在其中也包括观察s的任何转换中)。在这个示例中,为了评估训练期间Q神经网络在给定任务上的损失,使用Q神经网络(或者,等效地,Q网络参数θ的当前值)来外推超出训练数据,即,为未观察的动作a2和a3生成外推的Q值。这种外推可能会导致值高估。
更详细地,当Q神经网络输出比转换中动作的实际Q值更大的估计Q值时,就会发生值高估。(如前所述)当用于选择智能体响应于观察s执行的动作a,并对应地评估训练期间Q神经网络的损失时,这些估计的Q值可能导致在学习过程中传播的状态的真实值的过度自信的估计。例如,在图2中,估计的Q值可能导致选择a3(而不是a1)。虽然在在线RL中,这种高估可能会导致乐观探索,然后通过额外学习纠正高估,但在离线RL设置中,高估通常会导致系统训练发散,从而阻碍有效训练或降低训练的Q网络的性能。
在估计任意高的情况下,这些由外推产生的误差将通过自举进一步传播到其他状态(例如,紧前或紧后的转换中的状态)的值内。此外,在低数据状况下,未观察的动作的影响变得甚至更大,其中,遇到未观察的动作的机会更大,并且Q神经网络更容易出现外推误差。
因此,为了克服上述缺点并提高整体训练效率(例如,在处理周期方面),训练引擎120采用正则化的离线学习方案,其可以有效地减轻因从回放存储器中丢失的交互信息的不准确估计而导致的外推误差对离线训练的影响。具体而言,正则化离线学习方案可以包括(i)通过使用缩放项的Q值重新参数化,(ii)转换排名正则化,以及(iii)行为值估计,其中每一个都可以单独使用或组合使用,例如与Q学习或Sarsa学习相关联地使用。将在下面参考图3和4更详细地描述使用这种正则化离线学习方案来训练Q神经网络110。
图3是用于训练Q神经网络的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的系统,例如图1的强化学习系统100,可以执行过程300。
系统保持回放存储器(302)。如上所述,回放存储器存储了作为强化学习智能体(或另一个智能体)与环境(或环境的另一个实例)交互的结果而生成的多个转换。在各种情况下,智能体可以由另一个控制系统(包括:由人工操作或另一个基于机器学习的控制系统;由硬编码策略,该策略选择要由智能体根据预编程逻辑执行的动作;或者简单地由随机策略,该随机策略选择具有统一随机性的动作)控制。
在图3的示例中,每个转换都可以是一个元组,其包括:(1)当前观察s,其表征环境在一个时间处的当前状态;(2)智能体响应于当前观察而执行的当前动作a;(3)下一观察s′,其表征智能体执行当前动作后环境的下一状态,即环境因智能体执行当前动作而转换为的状态;以及(4)响应于智能体执行当前动作a′而接收的奖励r。
系统从回放存储器中选择多个转换(304)。系统可以随机或根据优先策略(例如,基于相关联的时间差异学习误差的值或某种其他学习进度度量)选择转换。
为了在所选的多个转换上训练Q神经网络,系统可以对多个转换中的每个转换重复执行以下步骤306-316。
系统根据Q网络参数θ的当前值处理当前观察s和当前动作a以生成转换的初始Q值Qθ(s,a)(306)。Q值是对如果智能体响应于当前观察而执行动作时将收到的回报的估计。
在一些实现方式中,系统可以使用Q值重新参数化来减少高估。在这些实现方式中,系统根据(i)缩放项α的当前值和(ii)初始Q值确定转换的缩放Q值(308)。通常,系统使用缩放项α通过限制Q神经网络预测的初始Q值来防止训练期间的严重高估。
在各种情况下,例如根据Q神经网络的实际配置,初始Q值可以是有界的或无界的。在它们不受限制的情况下,系统可以处理初始Q值(例如,通过使用tanh激活函数)以生成在预定范围内有界的“标准化”Q值
Figure GDA0004250823940000161
例如/>
Figure GDA0004250823940000162
具体地,系统可以通过计算缩放项α与初始Q值(或标准化处理后的初始Q值)的乘积来确定缩放Q值,即确定缩放Q值为αQθ(s,a)或
Figure GDA0004250823940000163
从标准化Q值确定的缩放Q值始终被界定在缩放项α的绝对值中,例如/>
Figure GDA0004250823940000164
在这些实现方式的一些中,缩放项α的当前值可以独立于转换中包括的当前动作和当前观察。在这些实现方式中,系统可以将缩放项α的值与Q神经网络预测的初始Q值的相对大小分开,同时能够对缩放项α施加约束。
在这些实现方式中的一些中,缩放项α的当前值可以由一个或多个缩放项参数来定义,即,可以通过在Q神经网络的训练期间学习的一个或多个缩放项参数上评估预定函数来确定。例如,缩放项α=exp(ρ),使得α>0,其中,ρ是可训练参数,其当前值可以确定为系统对Q神经网络的训练的一部分。
在这些实现方式中,系统根据(i)缩放项α的当前值和(ii)转换中包括的下一观察确定转换的缩放时间差异学习目标(310)。如下面将参考图4进一步描述的那样,缩放时间差异学习目标可以是以下各项的总和:(a)如果响应于转换中的下一观察执行下一动作的情况下的缩放的、调整时间的(例如,时间折扣的)下一预期回报和(b)转换中的奖励。确定这种缩放时间差异学习目标与确定传统时间差异学习目标的不同之处在于,除了使用折扣因子γ来折扣(即减少)未来预期从环境接收的奖励之外,系统还使用缩放项α来调整已经调整时间的下一预期回报,即从调整初始时间的下一预期回报确定缩放的、调整时间的下一预期回报。如上所述,系统使用缩放项α来防止在训练期间时间差异学习目标的严重高估。
在这些实现方式中,系统确定缩放时间差异学习目标和缩放Q值之间的误差(312)。
具体而言,系统计算缩放时间差异学习目标与缩放Q值之间的差异:
Figure GDA0004250823940000171
其中,
Figure GDA0004250823940000172
是缩放后的Q值,并且/>
Figure GDA0004250823940000173
是缩放时间差异学习目标。值θ′被称为“目标网络参数”。它们以间隔(例如,在Q神经网络训练期间的每个C更新步骤之后)被更新为等于Q神经网络参数θ的当前值,否则在单独的更新步骤之间保持固定。如前所述,缩放项α的值可以在训练期间被迭代地调整,并且如果是这样,算法将采用目标缩放项α',它可以以间隔被更新为等于当前值α。在其中不对α进行迭代地调整的方法的版本中,α'等于α。更一般地,误差可以是在两个值之间的任何适当的相对度量,例如以下之一:差值、差值的平方、差值的立方、差值的平方根等。
在一些其他实现方式中,除了使用Q值重新参数化之外或代替使用Q值重新参数化,系统可以利用排名正则化来鼓励Q神经网络为Q网络输入生成可预测的Q值,这些输入包括看不见(或很少见)的动作、观察或两者。在这些实现方式中,系统可以向误差添加排名正则化项,其当用于评估Q神经网络的损失时,鼓励Q神经网络从处理Q网络输入(包括没有(或很少)在训练期间使用过的动作、观察或两者)输出较低的Q值。具体地,该误差可以是从步骤312确定的误差或与所选转换相关联的传统时间差异学习误差。传统时间差异学习误差可以基于计算以下两者之间的差异来确定:(i)从步骤306确定的初始Q值;以及(ii)以下各项的总和:(a)如果响应于转换中的下一观察执行下一动作的情况下的下一时间折扣的预期回报和(b)转换中的奖励。
特别地,排名正则化项可以对于可能动作集合中不同于转换中包括的动作的每个剩余动作计算为以下两个部分之间的最大值上的总和:(i)常数加上(a)转换的初始Q值和(b)通过根据Q网络参数的当前值处理当前观察和剩余动作而生成的Q值之间的差;以及(ii)零。在数学上,系统可以将排名正则化项计算为:
Figure GDA0004250823940000181
其中,常量v可以被设置为具有较小的正值(例如,5e-1、5e-2或5e-3),并且|A|是可能动作的集合,其中,at是转换中包括的动作。
当被系统使用时,这个排名正则化项鼓励Q神经网络从处理Q网络输入中输出较低的Q值,这些输入包括在训练期间没有(或很少)使用的动作、观察或两者,因为误差(包括排名正则化项并驱动Q神经网络的训练)当Q神经网络通过处理此类Q网络输入生成的Q值更高时通常会更大。
在这些实现方式中的一些中,取代将此排名正则化项添加到与每个转换相关联的误差,系统可以根据过滤方案将排名正则化项添加到误差。过滤方案根据转换中包括的奖励确定是否应将排名正则化项添加到误差。例如,过滤方案可以指定排名正则化项仅被添加到与“奖励”转换(即,包括大于预定阈值的奖励的转换)相关联的误差,而不是添加到与所有所选转换相关联的误差,所有所选转换包括那些具有低于预定阈值的奖励的转换,例如,由于智能体执行次优动作而生成的转换。
在其中使用Q值重新参数化的实现方式的一些中,系统可以额外施加软约束以鼓励Q神经网络为可能动作集合生成相应的Q值,在可能动作集合中可以选择接近在转换中包括的动作的动作。这进一步防止了在训练期间对Q神经网络的总的高估。在这些实现方式中,系统可以向误差添加缩放项正则化项。
特别地,缩放项正则化项可以取决于以下两个部分之间的差异:(i)转换的缩放Q值和(ii)在对于在从回放存储器中选择的多个转换中的转换的一个或多个后续转换中包括的相应奖励的调整时间总和。在数学上,系统可以将缩放项正则化项计算为:
Figure GDA0004250823940000191
其中,对于从回放存储器中选择的多个转换中的每个选择的转换,
Figure GDA0004250823940000192
是选择的转换的缩放Q值,并且/>
Figure GDA0004250823940000193
是包括在选择转换之后的一个或多个转换中的相应奖励的调整时间总和。在此示例中,系统仅在/>
Figure GDA0004250823940000194
时依赖于softplus函数来约束缩放项α。Softplus是对整流线性(ReLU)函数的平滑近似,并且可以定义为
Figure GDA0004250823940000195
其中,β是实数值,其可能等于1。
该系统基于计算包括相对于Q网络参数的误差的损失函数的梯度来确定对Q网络参数的当前值的更新(314)。具体而言,损失函数可以包括误差(即,从步骤312确定的误差,或者传统的时间差异学习误差),并且在一些实现方式中,还包括依赖于排名正则化项或缩放项正则化项或两者的附加损失项,并且该系统可以通过反向传播确定更新。
系统基于计算包括相对于定义缩放项的一个或多个缩放项参数的误差的损失函数的梯度并通过反向传播来确定对缩放项的当前值的更新(316)。
在一些实现方式中,Q网络参数的相应当前值以与一个或多个缩放项参数的学习率不同的(例如,更大的)学习率被更新。系统可以根据用于训练Q神经网络的所选转换的小批量大小,即根据从回放存储器中选择的多个转换的确切数量,设置不同的Q网络参数学习率和不同的缩放项学习率。
然后,系统继续根据适当的机器学习训练算法(例如,随机梯度下降算法、Adam算法或rmsProp算法),基于确定的更新来更新Q网络参数和缩放项的当前值。备选地,一旦已经对整个批次的所选多个转换执行了步骤306-316,系统仅继续更新Q网络参数和缩放项的当前值。换言之,系统例如通过计算在步骤306-316的固定次数迭代期间确定的相应更新之间的加权或未加权平均来组合,并继续基于组合更新而更新Q网络参数和缩放项的当前值。
图4是用于确定缩放时间差异学习目标的示例过程400的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的系统,例如图1的强化学习系统100,可以执行过程400。
对于每个转换,缩放时间差异学习目标可以是以下各项的总和:(a)如果响应于转换中的下一观察而执行下一动作的情况下的缩放的、调整时间的(例如,时间折扣的)下一预期回报和(b)转换中的奖励。系统选择下一动作并确定下一预期回报的方式取决于用于训练Q神经网络的强化学习算法。
例如,在Q学习技术中,系统选择以下动作作为下一动作,对于该动作,当下一观察作为输入提供给Q神经网络(或“目标”Q神经网络,即Q神经网络的目标实例)时,Q神经网络(或目标Q神经网络)输出最高的Q值,并且将通过提供下一观察作为到Q神经网络(或目标Q神经网络)的输入而生成的Q值作为下一回报。换言之,在这个示例中,系统使用Q神经网络(或目标Q神经网络)并根据Q神经网络(或目标Q神经网络)的参数值处理下一观察和每个智能体在与环境交互时可以执行的可能动作集合中的每个动作,以输出该动作的相应Q值(402),并且然后基于相应Q值从可能动作集合中选择所选动作(404),即选择具有最高Q值的动作。每个动作的相应的Q值是如果智能体响应于转换中包括的下一观察执行该动作的情况下将接收的回报的估计。
在这个示例中,系统可以使用目标Q神经网络来模仿Q神经网络,因为在每固定数量的训练步骤处,来自Q神经网络的参数值被复制到目标Q神经网络。目标Q神经网络用于确定下一预期回报,其然后用于确定从其驱动Q神经网络的训练的时间差异学习目标。这有助于稳定学习。在一些实现方式中,不是将参数值复制到目标Q神经网络,而是目标Q神经网络的参数值根据θ′←τθ+(1-τ)θ′缓慢地跟踪Q神经网络(“学习”神经网络),其中,θ'表示目标Q神经网络的参数值,并且θ表示Q神经网络的参数值,并且τ<<1。
作为另一个示例,在Sarsa学习技术中,下一动作是智能体响应于下一观察实际执行的动作,并且下一回报是通过提供下一观察并且在某些情况下提供下一动作作为对于Q神经网络(或Q神经网络的目标实例)的输入而生成的Q值。将在下面参考图5进一步描述使用正则化离线学习方案连同Sarsa学习技术来训练Q神经网络。
如果所选动作是响应于下一观察而执行的,系统根据折扣因子γ的值和所选动作的Q值确定调整初始时间的下一预期回报(406)。特别是,为了确定调整初始时间的下一预期回报,系统可以计算折扣因子γ和所选动作的Q值的乘积,
Figure GDA0004250823940000211
系统根据(i)缩放项的当前值和(ii)调整初始时间的下一预期回报,确定缩放的、调整时间的下一预期回报(408)。特别地,例如,系统可以计算目标缩放项α'和调整初始时间的下一预期回报的乘积,并且对应地确定缩放的、调整时间的下一预期回报为:
Figure GDA0004250823940000221
在此示例中,类似于双深度Q学习技术中的Q网络参数值更新方案,系统使用目标缩放项α'来模仿缩放项α,因为以间隔,将缩放项的值复制到目标缩放项(或者,因为目标缩放项的值根据预定时间表缓慢跟踪缩放项的值)。目标缩放项用于确定缩放的、调整时间的下一预期回报,其然后用于确定缩放时间差异学习目标,从其驱动Q神经网络的训练。这有助于稳定学习。
然后系统通过计算(i)转换中包括的奖励和(ii)缩放的、调整时间的下一预期回报的总和来确定缩放时间差异学习目标(410)。也就是说,系统可以确定缩放后的时间差异学习目标为
Figure GDA0004250823940000222
下面示出了用于使用正则化离线学习方案训练Q神经网络的示例算法。
Figure GDA0004250823940000223
Figure GDA0004250823940000231
在上面所示的示例算法中,缩放项α的值被初始化为1,并且然后在训练期间使用与更新Q网络参数θ相同的技术(即随机梯度下降)进行更新,但优选以较小的学习率(例如,通过从回放存储器中选择比转换的小批量B1较大的转换小批量B2)更新以稳定学习并减少估计的方差。该示例算法还利用了双深度Q学习技术,该技术利用目标Q神经网络和目标缩放项,其中,目标Q网络参数θ′的值和目标缩放项α′的值在每个ttarget步长处被更新。
图5是用于训练Q神经网络的另一示例过程500的流程图。为方便起见,过程500将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的系统,例如图1的强化学习系统100,可以执行过程500。
图5的示例与图3的示例不同之处在于,回放存储器中的每个转换还包括由智能体响应于转换中包括的下一观察而执行的相应下一动作。换言之,在图5的示例中,系统在回放存储器处保持多个转换,其中,每个转换可以是一个元组,其包括:(1)表征环境在一个时间处的当前状态的当前观察s;(2)智能体响应于当前观察而执行的当前动作a;(3)下一观察s′,其表征智能体执行当前动作后环境的下一状态,即环境作为智能体执行当前动作的结果而转换为的状态;(4)响应于智能体执行当前动作而接收的奖励r;以及,(5)智能体响应于下一观察而执行的相应下一动作a′。
系统从回放存储器中选择多个转换,并且然后通过对所选多个转换中的每个转换重复执行以下步骤502-508来训练Q神经网络。
系统根据Q网络参数的当前值处理当前观察和当前动作,以生成转换的初始Q值(502)。
系统根据转换中包括的下一观察和下一动作确定转换的时间差异学习目标(504)。此步骤可称为行为值估计,因为下一动作是由使用“行为”控制系统(如上所述,它可能例如是人工操作的或另一个基于机器学习的控制系统)在生成要包括在回放存储器中的转换时响应于下一观察而控制的智能体实际执行的动作。下一回报是通过提供下一观察并且在一些情况下提供下一动作作为对于Q神经网络的输入而生成的Q值,Q神经网络被配置为根据Q网络参数的当前值处理下一观察,并且在一些情况下处理下一动作,以为下一动作生成Q值。此Q值是如果智能体响应于转换中的下一观察执行转换中的下一动作的情况下将接收的回报的估计。为了确定调整时间的下一预期回报,系统可以计算折扣因子γ与Q神经网络生成的Q值的乘积。然后系统可以将时间差异学习目标计算为以下各项的总和:(a)调整时间(例如,时间折扣)的下一预期回报和(b)转换中的奖励。
系统确定时间差异学习目标和初始Q值之间的误差(506)。具体来说,系统计算时间差异学习目标与初始Q值之间的差异:
Qθ(s,a)-(r+γQθ′(s′,a′)),
其中,Qθ(s,a)是初始Q值,并且(r+γQθ′(s′,a′))是时间差异学习目标。
更一般地,误差可以是两个值之间的任何适当的相对度量,例如以下之一:差值、差值的平方、差值的立方、差值的平方根等。
该系统基于计算损失函数的梯度并通过反向传播来确定对Q网络参数的当前值的更新(508),该损失函数包括(i)误差,并且在一些实现方式中,包括(ii)可以根据相对于Q网络参数的过滤方案添加到误差的排名正则化项。
在数学上,在根据过滤方案将排名正则化项添加到误差的情况下,损失函数
Figure GDA0004250823940000252
可以包括依赖于误差(Qθ(s,a)-(r+γQθ′(s′,a′))的第一损失项和依赖于排名正则化项
Figure GDA0004250823940000251
的第二损失项。
图6是图5的示例训练过程和传统训练过程之间的比较的图示。在离线强化学习设置中,动作选择策略改进(通过相对于Q网络参数Qθ的当前值贪婪地选择动作,即计算所有动作的最大化π(s)=arg maxaQθ(s,a))可能有风险,因为它依赖于数据之外的外推。
然而,一些传统手段在计算训练数据中的转换的目标Q值时在训练期间执行策略改进的许多迭代(如图6的顶部所示),导致外推误差和发散。相反,如底部所示,通过执行过程500,系统能够在训练期间估计行为策略的值,而无需执行任何策略改进步骤,即,无需对所有动作执行最大化,系统并能够仅在使用训练的Q神经网络控制智能体以与环境交互时,即仅在选择Q神经网络已经经过训练之后由智能体执行的动作时执行策略改进(通过在所有动作上计算最大化),并且系统因此减轻了在训练期间这些外推误差的影响。此外,排名正则化用于训练Q神经网络以生成Q值,这些Q值导致数据集中导致成功结果比任何未观察的动作更有可能被选择的动作。
本说明书结合系统和计算机程序组件使用术语“被配置为”。对于要被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了软件、固件、硬件或它们的组合,其在运行中使得系统执行操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序意味着一个或多个程序包括当由数据处理装置执行时使该装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以被实现在数字电子电路中、在有形地实施的计算机软件或固件中、在计算机硬件(包括本说明书中公开的结构及其结构等同物)中或在它们的一个或多个的组合中。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。可替换地或另外,程序指令可以编码在人工生成的传播信号上,该信号例如为机器生成的电、光或电磁信号,其被生成以编码信息以便传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指代数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置也可以是或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括创建用于计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(其也可以被称为程序、软件、软件应用、app、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,该任何形式的编程语言包括编译或解释语言或者声明性或过程语言,并且该计算机程序可以以任何形式部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子例程或其他单元。程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所讨论的程序的单个文件中或者在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个站点处或跨多个站点分布并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛用于指代任何数据集合:数据不需要以任何特定方式进行结构化,或者根本不需要结构化,并且它可以存储在一个或多个位置中的存储设备上。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在相同的一台计算机或多台计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或由专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以是基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,该一个或多个大容量存储设备用于存储数据,例如是磁盘、磁光盘或光盘。但是,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一个设备中,该另一个设备例如是移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),此处仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移除磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和定点设备(例如,鼠标或轨迹球)的计算机上实现,用户可以通过键盘和定点设备向计算机提供输入。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过下述方式来与用户交互:向由用户使用的设备发送文档和从由用户使用的设备接收文档;例如,通过响应于从web浏览器接收的请求将web网页发送到用户设备上的web浏览器。此外,计算机可以通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息并且反过来从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft认知工具包框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以实现在计算系统中,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如具有用户可以通过其与本说明书中描述的主题的实现方式交互的图形用户界面、web浏览器或app的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信——例如,通信网络——互连。通信网络的示例包括局域网(LAN)和广域网(WAN)(例如,因特网)。
计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与用作客户端的设备交互的用户显示数据和从该用户接收用户输入的目的。可以在服务器处从该设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包括许多具体的实现方式细节,但是这些不应被解释为对任何发明的范围或可以要求保护的内容的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在本说明书中在单独实施例的场境中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的场境中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变化。
类似地,虽然在附图中描绘了操作并且以特定顺序在权利要求中记载了操作,但是这不应该被理解为要求以所示的特定顺序或以先后顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,在权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或先后顺序来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。

Claims (19)

1.一种用于训练Q神经网络的方法,所述Q神经网络具有多个Q网络参数,并且用于选择由通过执行使得环境转换状态的动作来与所述环境交互的强化学习智能体执行的动作,所述方法包括:
保持回放存储器,所述回放存储器存储作为所述强化学习智能体与所述环境交互的结果而生成的多个转换,每个转换包括表征所述环境的相应当前状态的相应当前观察、由所述智能体响应于所述当前观察而执行的相应当前动作、表征所述环境的相应下一状态的相应下一观察以及响应于所述智能体执行所述当前动作而接收的奖励;
从所述回放存储器中选择多个转换;以及
在所述多个转换上训练所述Q神经网络,包括,对于多个转换中的每个转换:
根据所述Q网络参数的当前值处理所述当前观察和所述当前动作,以生成所述转换的初始Q值;
根据(i)缩放项的当前值和(ii)所述初始Q值,确定所述转换的缩放Q值;
根据(i)所述缩放项的当前值和(ii)所述转换中包括的下一观察,确定所述转换的缩放时间差异学习目标;
确定所述缩放时间差异学习目标与所述缩放Q值之间的误差;
基于计算相对于所述Q网络参数的误差的梯度,确定对所述Q网络参数的当前值的更新;以及
基于计算相对于一个或多个缩放项参数的误差的梯度,确定对所述缩放项的当前值的更新。
2.根据权利要求1所述的方法,其中,根据(i)所述缩放项的当前值和(ii)所述下一观察确定所述转换的缩放时间差异学习目标包括:
使用所述Q神经网络处理所述下一观察和由所述智能体在与所述环境交互时能够执行的可能动作集合中的每个动作,以输出针对作为对如果所述智能体响应于在所述转换中包括下一观察而执行所述动作则将接收的回报的估计的所述动作的相应的Q值;
基于所述相应的Q值从所述可能动作集合中选择所选择的动作;
如果响应于所述下一观察而执行所选择的动作,则根据折扣因子的值和所选择的动作的Q值确定调整初始时间的下一预期回报;
根据(i)所述缩放项的当前值和(ii)调整所述初始时间的下一预期回报,确定缩放的、调整时间的下一预期回报;以及
计算(i)所述转换中包括的奖励和(ii)所述缩放的、调整时间的下一预期回报的总和。
3.根据权利要求1所述的方法,其中,根据(i)所述缩放项的当前值和(ii)所述下一观察确定所述转换的缩放时间差异学习目标还包括:
使用所述Q神经网络的目标实例根据所述神经网络的目标参数值处理所述下一观察和由所述智能体在与所述环境交互时能够执行的可能动作集合中的每个动作,以输出针对作为对如果所述智能体响应于在所述转换中包括下一观察而执行所述动作则将接收的回报的估计的动作的相应的Q值。
4.根据权利要求1-3中任一项所述的方法,其中,根据(i)缩放项的当前值和(ii)所述初始Q值确定所述转换的缩放Q值包括:
计算所述缩放项和所述初始Q值的乘积。
5.根据权利要求1-4中任一项所述的方法,还包括将所述缩放项的当前值初始化为一。
6.根据权利要求1-5中任一项所述的方法,其中,所述缩放项为exp(ρ)的形式,其中,ρ为可训练参数。
7.根据权利要求1-6中任一项所述的方法,其中,基于计算相对于所述Q网络参数的误差的梯度,确定对所述Q网络参数的当前值的更新包括:
将排名正则化项添加到所述误差,其中,所述排名正则化项取决于以下之中的最大值:(i)常数加上以下的(a)与(b)之间的差值:(a)所述转换的初始Q值,(b)通过根据所述Q网络参数的当前值处理所述当前观察和不同于在所述转换中包括的动作的可能动作集合中的剩余动作而生成的Q值;以及(ii)零;以及
基于计算相对于所述Q网络参数的所述排名正则化项和误差的梯度,确定对所述Q网络参数的当前值的更新。
8.根据权利要求7所述的方法,还包括根据过滤方案将所述排名正则化项添加到所述误差,所述过滤方案基于所述转换中包括的奖励确定是否应将所述排名正则化项添加到所述误差。
9.根据权利要求1-8中任一项所述的方法,其中,基于计算相对于一个或多个缩放项参数的误差的梯度来确定对所述缩放项的当前值的更新包括:
将缩放项正则化项添加到所述误差,其中,所述缩放项正则化项取决于以下之间的差异:(i)所述转换的缩放Q值与(ii)对于在从所述回放存储器中选择的多个转换中的转换的一个或多个后续转换中包括的相应奖励的调整时间总和;以及
基于计算相对于所述一个或多个缩放项参数的所述缩放项正则化项和误差的梯度,确定对所述缩放项的当前值的更新。
10.根据权利要求1-9中任一项所述的方法,其中:
确定对所述Q网络参数的当前值的更新还包括:确定Q网络参数学习率的值;以及
确定对所述缩放项的当前值的更新还包括:确定小于Q网络参数学习率的值的缩放项学习率的值。
11.根据权利要求10所述的方法,其中,所述缩放项学习率的值取决于从所述回放存储器中选择的多个转换的数量。
12.根据权利要求1-11中任一项所述的方法,其中:
所述回放存储器中的每个转换还包括由所述智能体响应于所述下一观察而执行的相应下一动作;以及
在所述多个转换上训练所述Q神经网络还包括,对于所述多个转换中的每个转换:
根据所述Q网络参数的当前值处理所述当前观察和所述当前动作,以生成所述转换的初始Q值;
根据所述转换中包括的下一观察和下一动作,确定所述转换的时间差异学习目标;
确定在所述时间差异学习目标与所述初始Q值之间的误差;以及
基于计算相对于所述Q网络参数的误差的梯度,确定对所述Q网络参数的当前值的更新。
13.根据权利要求1-12中任一项所述的方法,其中,所述多个转换中没有一个是通过使用所述Q神经网络控制所述智能体而生成的。
14.根据权利要求1-13中任一项所述的方法,其中,所述环境是现实世界环境,并且所述观察是由被布置成感测所述现实世界环境的状态的传感器生成的。
15.一种方法,包括:
接收新的观察,所述新的观察表征由所述智能体正在与之交互的环境的新状态;
使用Q神经网络处理所述新观察,以生成由所述智能体响应于所述新观察而能够执行的可能动作集合中的每个动作的相应的Q值,每个动作的Q值是对如果所述智能体响应于所述新的观察而执行所述动作则将接收的回报的估计,其中,所述Q神经网络已经使用任何前述权利要求所述的方法被训练;
基于所述相应的Q值,从所述可能动作集合中选择动作;以及
使所述智能体执行所选择的动作。
16.根据权利要求15所述的方法,其中,所述环境是现实世界环境,所述观察由被布置成感测所述现实世界环境的状态的传感器生成,并且所述智能体是导航通过所述环境的机器人或者自主或半自主的陆地、空中或海上交通工具。
17.根据权利要求16所述的方法,其中,所述Q神经网络使用模拟环境被训练。
18.一个或多个计算机可读存储介质,所述一个或多个计算机可读存储介质存储指令,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行前述权利要求中任一项所述的方法中的任何一个的相应操作。
19.一种包括一个或多个计算机和一个或多个存储指令的存储设备的系统,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行前述权利要求中任一项所述的方法中的任何一个的相应操作。
CN202180067567.9A 2020-10-02 2021-10-01 使用增强时间差异学习训练强化学习智能体 Pending CN116324818A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063087156P 2020-10-02 2020-10-02
US63/087,156 2020-10-02
PCT/EP2021/077182 WO2022069747A1 (en) 2020-10-02 2021-10-01 Training reinforcement learning agents using augmented temporal difference learning

Publications (1)

Publication Number Publication Date
CN116324818A true CN116324818A (zh) 2023-06-23

Family

ID=78078263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180067567.9A Pending CN116324818A (zh) 2020-10-02 2021-10-01 使用增强时间差异学习训练强化学习智能体

Country Status (4)

Country Link
US (1) US20230376780A1 (zh)
EP (1) EP4205034A1 (zh)
CN (1) CN116324818A (zh)
WO (1) WO2022069747A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6728495B2 (ja) * 2016-11-04 2020-07-22 ディープマインド テクノロジーズ リミテッド 強化学習を用いた環境予測
CN115222024B (zh) * 2022-09-05 2023-01-24 广东电网有限责任公司湛江供电局 基于深度特征选择网络的短期光伏发电预测方法和系统
US20240104379A1 (en) * 2022-09-28 2024-03-28 Deepmind Technologies Limited Agent control through in-context reinforcement learning
CN115686779B (zh) * 2022-10-14 2024-02-09 兰州交通大学 基于dqn的自适应边缘计算任务调度方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2018000942A (es) * 2015-07-24 2018-08-09 Deepmind Tech Ltd Control continuo con aprendizaje de refuerzo profundo.
US20190272465A1 (en) * 2018-03-01 2019-09-05 International Business Machines Corporation Reward estimation via state prediction using expert demonstrations

Also Published As

Publication number Publication date
WO2022069747A1 (en) 2022-04-07
US20230376780A1 (en) 2023-11-23
EP4205034A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
US10860926B2 (en) Meta-gradient updates for training return functions for reinforcement learning systems
US11868894B2 (en) Distributed training using actor-critic reinforcement learning with off-policy correction factors
CN110520868B (zh) 用于分布式强化学习的方法、程序产品和存储介质
US11627165B2 (en) Multi-agent reinforcement learning with matchmaking policies
CN110546653B (zh) 使用管理者和工作者神经网络的用于强化学习的动作选择
JP7335434B2 (ja) 後知恵モデリングを用いた行動選択ニューラルネットワークの訓練
US10872294B2 (en) Imitation learning using a generative predecessor neural network
CN116324818A (zh) 使用增强时间差异学习训练强化学习智能体
US20210397959A1 (en) Training reinforcement learning agents to learn expert exploration behaviors from demonstrators
EP3788549A1 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
US12008077B1 (en) Training action-selection neural networks from demonstrations using multiple losses
US20230083486A1 (en) Learning environment representations for agent control using predictions of bootstrapped latents
CN112930541A (zh) 通过最小化妄想影响来确定控制策略
WO2021156513A1 (en) Generating implicit plans for accomplishing goals in an environment using attention operations over planning embeddings
EP3788554B1 (en) Imitation learning using a generative predecessor neural network
CN118043824A (zh) 检索增强强化学习
US20230214649A1 (en) Training an action selection system using relative entropy q-learning
US20240086703A1 (en) Controlling agents using state associative learning for long-term credit assignment
US20240185083A1 (en) Learning diverse skills for tasks using sequential latent variables for environment dynamics
KR20230153481A (ko) 판별기 모델의 앙상블을 사용한 강화 학습
EP4384952A1 (en) Hierarchical latent mixture policies for agent control
CN116134451A (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