CN111316295A - 使用分布式优先化回放的强化学习 - Google Patents

使用分布式优先化回放的强化学习 Download PDF

Info

Publication number
CN111316295A
CN111316295A CN201880068801.8A CN201880068801A CN111316295A CN 111316295 A CN111316295 A CN 111316295A CN 201880068801 A CN201880068801 A CN 201880068801A CN 111316295 A CN111316295 A CN 111316295A
Authority
CN
China
Prior art keywords
action
actor
neural network
learner
experience
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.)
Granted
Application number
CN201880068801.8A
Other languages
English (en)
Other versions
CN111316295B (zh
Inventor
D.巴登
G.巴特马伦
J.全
D.G.霍根
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
Priority to CN202311150456.1A priority Critical patent/CN117313825A/zh
Publication of CN111316295A publication Critical patent/CN111316295A/zh
Application granted granted Critical
Publication of CN111316295B publication Critical patent/CN111316295B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic 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/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

方法、系统和装置,包括编码在计算机存储介质上的计算机程序,用于训练动作选择神经网络,该动作选择神经网络用于选择要由与环境交互的智能体执行的动作。该系统之一包括(i)多个行动者计算单元,其中每个行动者计算单元被配置为维护动作选择神经网络的相应副本并执行多个行动者操作,以及(ii)一个多个学习者计算单元,其中一个或多个学习者计算单元中的每一个被配置为执行多个学习者操作。

Description

使用分布式优先化回放的强化学习
相关申请的交叉引用
本申请是2017年10月27日提交的美国临时专利申请第62/578,384号的非临时申请并要求其优先权,通过引用将该申请的全部内容合并于此。
背景技术
本说明书涉及强化学习。
在强化学习系统中,智能体(agent)通过执行由强化学习系统响应于接收表征环境的当前状态的观察选择的动作来与环境交互。
一些强化学习系统根据神经网络的输出选择响应于接收给定观察要由智能体执行的动作。
神经网络是采用非线性单元的一个或多个层来为接收的输入预测输出的机器学习模型。一些神经网络是除了输出层之外还包括一个或多个隐藏层的深度神经网络。每个隐藏层的输出被用作到网络中的下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应一组参数的当前值从接收的输入生成输出。
发明内容
本说明书总体描述强化学习系统,其训练神经网络,该神经网络用于选择要由与环境交互的强化学习智能体执行的动作。
本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。本说明书中描述的主题涉及用于大规模深度强化学习的训练系统和训练技术,其使智能体能够从比先前使用现有训练技术可获得的训练数据显著更多的训练数据更有效和更快地学习。该系统具有分布式架构,其使行动与学习脱钩:多个行动者计算单元(或行动者)通过根据共享的动作选择神经网络选择动作来与自己的环境的实例进行交互,并在共享的经验回放存储器中积累所得到的经验;并且一个或多个学习者计算单元(或学习者)回放优先化的经验的样本并更新动作选择神经网络。行动和学习两者可以跨多个计算单元分布,例如,跨数百个CPU或GPU分布。这种分布式架构允许经训练的神经网络可以在挂钟学习速度和最终性能两方面在各种范围的离散和连续任务中实现最新技术水平的结果。具体地,通过采用可以并行地生成大量训练数据(训练元组)的多个行动者,训练技术可以比现有方法更快地生成训练数据,从而减少了训练时间,同时仍实现高质量的性能。
此外,训练技术可以生成多样化的经验组,然后通过利用优先级来识别最有用的经验元组并从中学习,从而提高经训练的动作选择神经网络的性能。更具体地,训练系统通过在行动者生成经验元组时使行动者生成初始优先级,从而生成准确的初始优先级而无需在计算或挂钟时间方面的任何附加成本,因为行动者已经在计算计算优先级所需的某些值。此技术确保进入回放存储器的经验数据具有更准确的优先级(与先前系统相比,先前系统将优先级初始化为目前为止看到的最大优先级,并且仅在对经验元组和优先级进行采样后才更新优先级)。由于在行动者和学习者之间共享优先级,因此任何行动者发现的高优先级数据都可以使整个训练系统受益。
另外,通过共享经验而不是像一些常规方案中那样共享梯度,系统可以用中心化回放存储器批处理所有通信(例如,系统可以从回放存储器选择包括多个经验元组的批次,并使用该批次更新神经网络),从而提高了系统的效率和吞吐量。通过这种方法,行动者和学习者可以在不限制性能的情况下在不同的数据中心中运行。
本文描述的训练技术不仅对于模拟环境有用而且对于各种现实世界的应用都是有用的,诸如机械臂农场、自动驾驶汽车、在线推荐系统或其中数据由同一环境的许多实例生成的其他多用户系统。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐明。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了示例强化学习系统。
图2是用于生成经验元组和优先级并将其存储在回放存储器中的示例过程的流程图。
图3是用于更新动作选择神经网络的网络参数的示例过程的流程图。
各附图中同样的参考数字和标记指示同样的要素。
具体实施方式
本说明书总体上描述了强化学习系统,其训练神经网络,该神经网络用于选择要由与环境交互的强化学习智能体执行的动作。
为了使智能体与环境交互,该系统接收表征环境的当前状态的数据,使用动作选择神经网络从一组动作选择响应于接收的数据要由智能体执行的动作,然后指令或以其他方式使智能体执行所选择的动作。在本说明书中表征环境的状态的数据将被称为观察。术语“强化学习技术”是指对于多个步骤中的每个步骤执行以下子步骤的技术:(1)基于表征环境的当前状态的输入数据,动作选择神经网络选择动作;(2)生成奖励(reward)值,该奖励值指示在智能体执行动作时这在多大程度上有助于执行任务;(3)基于所选择的动作、用于选择动作的环境的状态以及奖励值来更新神经网络。通常,多个步骤包括步骤的一个或多个序列,其中,环境的初始状态在每个步骤被相继更新。换句话说,在步骤的每个序列中,环境对于该序列的第一步骤的当前状态为初始状态,并且在该序列的每个后续步骤,环境的当前状态为对先前步骤被执行之前环境的当前的状态执行先前步骤中选择的动作而导致的状态。网络生成的输出的特定格式和网络架构取决于用于训练的强化学习技术,例如Q学习、DDPG(深度确定性策略梯度)学习、A3C(异步优势行动者-评价者(asynchronousadvantage actor-critic))学习等。Q学习技术是指这样一种强化学习技术,其中,使用Q函数执行子步骤(1),该Q函数是任何给定动作将接收的奖励的估计;例如,通过(至少以一定的概率)选择最大化Q函数的动作。更一般地,“n步骤Q学习技术”,其中,n表示至少为1且通常大于1的整数,是指在其中使用Q函数执行子步骤(1)的强化学习技术,该Q函数是n个相继动作的序列将接收的奖励的估计。无论哪种情况,Q函数都可以通过第二神经网络来实现。DDPG学习和A3C学习是行动者-评价者强化学习技术(或简称为“行动者-评价者技术”)的示例,其中,在子步骤(3)中,基于接收当前状态和生成的奖励的“评价者”(评价者神经网络)的输出来更新神经网络。
在一些其他实施方式中,环境是现实世界环境,并且智能体是与现实世界环境交互的机械智能体。例如,智能体可以是与环境交互以完成特有任务(例如,以将感兴趣的对象定位在环境中或将感兴趣的对象移动到环境中的指定位置或导航到环境中的指定目的地)的机器人;或者智能体可以是导航通过环境的自主或半自主陆地或空中或海洋载具。
在这些实施方式中,观察可包括例如图像、对象位置数据和传感器数据中的一个或多个,以在智能体与环境交互时捕获观察,例如来自图像、距离或位置传感器或致动器的传感器数据。
例如,在机器人的情况下,观察可以包括表征机器人的当前状态的数据,例如,以下中的一个或多个:关节位置、关节速度、关节力、扭矩或加速度,例如,重力补偿扭矩反馈以及机器人保持(hold)的物品的全局或相对姿态。
在机器人或其他机械智能体或载具的情况下,观察可以类似地包括位置、线速度或角速度、力、扭矩或加速度以及智能体的一个或多个部分的全局或相对姿态中的一个或多个。可以在1、2或3维中限定观察,并且观察可以是绝对和/或相对观察。
观察还可以包括例如感测的电子信号,诸如电动机电流或温度信号;和/或例如来自相机或LIDAR传感器的图像或视频数据,例如来自智能体的传感器的数据或来自环境中与智能体分离地定位的传感器的数据。
在电子智能体的情况下,观察可以包括来自监测工厂或服务设施的一部分的一个或多个传感器的数据,诸如电流、电压、功率、温度和表示装备的电子和/或机械物件的功能的其他传感器和/或电子信号。
在这些实施方式中,动作可以是控制机器人的控制输入,例如,用于机器人的关节的扭矩或更高级别的控制命令,或者是控制自主或半自主陆地或空中或海洋载具的控制输入,例如,到载具的控制表面或其他控制元件的扭矩或更高级别的控制命令。
换句话说,动作可以包括例如机器人的一个或多个关节或另一机械智能体的部分的位置、速度或力/扭矩/加速度数据。动作数据可以附加地或替代地包括电子控制数据,诸如电动机控制数据,或更一般地,用于控制环境内的一个或多个电子设备的数据,对该电子设备的控制对观察到的环境的状态有影响。例如,在自主或半自主陆地或空中或海洋载具的情况下,动作可以包括控制载具的导航(例如转向)和移动(例如制动和/或加速)的动作。
在一些实施方式中,环境是模拟环境,并且智能体被实现为与模拟环境交互的一个或多个计算机。
例如,模拟环境可以是机器人或载具的模拟,并且可以在该模拟上训练强化学习系统。例如,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体是导航通过该运动模拟的模拟载具。在这些实施方式中,动作可以是控制模拟用户或模拟载具的控制输入。
在另一示例中,模拟环境可以是视频游戏,并且智能体可以是玩视频游戏的模拟用户。
在另外的示例中,环境可以是蛋白质折叠环境,使得每个状态是蛋白质链的相应状态,并且智能体是用于确定如何折叠蛋白质链的计算机系统。在该示例中,动作是用于折叠蛋白质链的可能的折叠动作,并且要实现的结果可以包括例如折叠蛋白质以使蛋白质稳定并从而实现特定的生物学功能。作为另一示例,智能体可以是机械智能体,其在没有人类交互的情况下自动执行或控制由系统选择的蛋白质折叠动作。观察可以包括蛋白质的状态的直接或间接观察和/或可从模拟得出。
以类似的方式,环境可以是药物设计环境,使得每个状态是潜在的制药化学药物的相应状态,并且智能体是用于确定制药化学药物的元素和/或制药化学药物的合成途径的计算机系统。可以基于从药物的目标得出的奖励来设计药物/合成,例如在模拟中。作为另一示例,智能体可以是执行或控制药物合成的机械智能体。
通常,在模拟环境的情况下,观察可以包括观察类型或先前描述的观察中的一个或多个的模拟版本,并且动作可以包括动作类型或先前描述的动作中的一个或多个的模拟版本。
在某些其他应用中,智能体可以控制包括装备的物件的现实世界环境中的动作,例如在数据中心或电网干线电力或水分配系统中,或在制造工厂或服务设施中。然后,观察可以与工厂或设施的操作有关。例如,观察可以包括装备的电力或水使用的观察,或者发电或分配控制的观察,或者资源使用或废物产生的观察。智能体可以在该环境中控制动作,以例如通过减少资源使用来提高效率,和/或例如通过减少废物来减少环境中操作的环境影响。动作可以包括控制工厂/设施的装备的物件或将操作条件强加于工厂/设施的装备的物件的动作,和/或导致工厂/设施的操作设置改变,例如,以调整或打开/关闭工厂/设施的组件的动作。
在某些其他应用中,环境是现实世界环境,并且智能体管理任务跨例如移动设备上和/或数据中心中的计算资源的分配。在这些实施方式中,动作可以包括将任务分配给特定的计算资源。
作为另外的示例,动作可以包括呈现广告,观察可以包括广告印象或点击计数或比率,并且奖励可以表征一个或多个用户进行的对项目或内容的先前选择。
在某些情况下,观察使用表征环境的状态的低维特征向量来表征环境的状态。在这些情况下,低维特征向量的不同维度的值可以具有变化的范围。
在一些其他情况下,观察使用来自表征环境的状态的一个或多个图像的高维像素输入来表征环境的状态,所述图像为例如,模拟环境的图像或在机械智能体与现实世界环境交互时由机械智能体的传感器捕获的图像。
图1示出了示例强化学习系统100。强化学习系统100是被实现为一个或多个位置的一个或多个计算机上的计算机程序的系统的示例,其中实现下面描述的系统、组件和技术。
强化学习系统100选择要由与环境104交互的强化学习智能体102执行的动作。也就是说,强化学习系统100接收观察,并且响应于每个观察,从连续动作空间中选择要由强化学习智能体102响应于该观察而执行的动作,每个观察表征环境104的相应状态。
具体地,强化学习系统100使用动作选择神经网络110来选择动作。在一些实施方式中,动作选择神经网络110被配置为接收观察并处理该观察以将观察映射到下一动作,即连续动作空间中的点,该点限定智能体响应于该观察而应当执行的动作。在一些其他实施方式中,动作选择神经网络110被配置为生成观察-动作对的Q值,其中,观察-动作对的Q值表示如果智能体102响应于该对中的观察而执行动作则系统将接收的估计的时间折扣总将来奖励(estimated time-discounted total future reward)。给定观察,动作选择神经网络110可以选择产出最高可能Q值的动作。在一些实施方式中,动作选择神经网络110可以通过使用动作选择策略(探索策略)来选择要由智能体102响应于观察而执行的动作。例如,当要由智能体执行的一组可能动作离散时,动作选择神经网络110可以使用ε(epsilon)-贪婪策略。在一些其他实施方式中,动作选择神经网络110可以根据可能动作上的概率分布来选择动作。
为了允许智能体102有效地与环境交互,强化学习系统100训练动作选择神经网络110,以确定动作选择神经网络110的参数的经训练值。
动作选择神经网络110一旦已经被训练,强化学习系统100就可以有效地使用动作选择神经网络110选择要由智能体102执行的动作。具体地,当接收观察时,强化学习系统100可以使用动作选择神经网络110处理该观察,以根据动作选择神经网络110的参数的经训练值将观察映射到新动作,然后指导智能体102响应于该观察而执行新动作,即通过向智能体102发送使智能体执行新动作的指令。
为了帮助训练动作选择神经网络110,强化学习系统100维护训练组件128,该训练组件128包括回放存储器130、一个或多个学习者计算单元(例如,学习者计算单元120)以及多个行动者计算单元140,包括例如行动者计算单元112、114和116。通常,计算单元可以是例如计算机,具有多个核的计算机内的核或其他硬件或软件,例如,能够独立执行操作的计算机内的专用线程。计算单元可以包括处理器核、处理器、微处理器、专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))或任何其他适当的计算单元。在一些示例中,所有计算单元都是相同类型的计算单元。在其他示例中,计算单元可以是不同类型的计算单元。例如,一个计算单元可以是CPU,而其他计算单元可以是GPU。
回放存储器130是学习者计算单元和行动者计算单元中的每一个都可访问的共享存储器。回放存储器130存储由行动者计算单元140生成的经验元组。回放存储器130中的每个经验元组包括表征环境实例的训练状态的训练观察,由行动者计算单元选择供智能体102响应于训练观察而执行的动作,以及系统100响应于智能体102执行所选择的动作而接收的训练奖励。另外,回放存储器130存储每个经验元组的优先级。一个或多个经验元组可以具有相同的优先级。经验元组的优先级表示经验元组在训练动作选择神经网络110时的有用级别。优先级越高,经验元组在训练动作选择神经网络110时将可能越有用。因此,学习者计算单元120在训练动作选择神经网络110期间从回放存储器130中更频繁地采样具有较高优先级的元组。
在训练动作选择神经网络110期间,每个行动者计算单元140被配置为维护动作选择神经网络的相应副本118,并在智能体实例与环境104的相应实例交互时控制智能体102的相应实例。例如,如图1所示,行动者计算单元112维护动作选择神经网络副本118,并控制与环境实例132交互的智能体。
每个行动者计算单元140被配置为重复执行多个行动者操作,以便重复地生成经验元组和这些经验元组的优先级,并将它们存储在回放存储器130中。为了方便起见,在下文中详细描述了由行动者计算单元112执行一组行动者操作。
行动者计算单元112被配置为接收表征环境实例132的当前状态的观察,并使用动作选择神经网络副本118且根据网络参数的当前值来选择要由智能体102执行的动作。然后,行动者计算单元112获得表征在智能体102执行所选择的动作之后的环境实例的转变(transition)数据。例如,转变数据包括表征环境实例132的下一状态(即,作为智能体执行所选择的动作的结果环境实例132转变为的状态)的下一观察。转变数据还包括奖励,该奖励是作为智能体102执行所选择的动作的结果从环境接收的数值。行动者计算单元112然后从观察、所选择的动作和转变数据生成经验元组。可以表示为(St,At,rt+1,St+1)的经验元组包括当前观察St、所选择的动作At和奖励rt+1以及表征执行所选择的动作后环境的下一状态的下一观察St+1。经验元组可以包括用于奖励的折扣因子γt+1。折扣因子γt+1可以是常数。
在一些实施方式中,代替仅执行单个动作步骤,行动者计算单元112可以使用动作选择神经网络副本来生成要由智能体响应于后续观察而执行的附加动作,从而生成n步骤转变,其中,n是转变所表示的动作步骤的数量。在这些实施方式中,行动者计算单元112从n个动作步骤(即,从观察及其对应的所选择的动作以及在每个动作步骤的转变数据)生成经验元组。在这种情况下,经验元组也称为n步骤转变。例如,在3步骤转变中,行动者计算单元112生成经验元组,该经验元组包括
(St,At,rt+1,St+1,At+1,rt+2,St+2,Ar+2,rr+3,Sr+3)。在一些实施方式中,不是包括来自n个动作步骤的所有信息,n步骤转变可以仅包括步骤的第一观察St、第一动作At、综合(composite)奖励和最后观察St+n。综合奖励可以是从第一观察开始直到接收到最后一个观察为止所接收的奖励的时间折扣和,即,按其对应折扣因子加权的奖励和。单步骤转变是n=1的n-步骤转变的特殊情况。在单步骤转变中,经验元组仅包括如上所述的一个观察及对应的所选择的动作、奖励和下一观察。
然后,行动者计算单元112确定经验元组的优先级,并将经验元组124与优先级122关联地存储在回放存储器130中。
其他行动者计算单元可以执行类似的行动者操作,以生成其他经验元组和对应的优先级。在一些实施方式中,行动者计算单元与每个其他行动者计算单元异步地执行行动者操作。
在一些实施方式中,行动者计算单元中的两个或更多个可以使用不同的探索策略来选择动作。例如,当要由智能体执行的一组可能的动作离散时,不同的探索策略可以是具有不同ε值的ε-贪婪策略。例如,每个行动者计算单元i∈{0,...,N-1}可以执行∈i-贪婪策略,其中,
Figure BDA0002461533960000092
∈和α为常数,例如,∈=0.4,α=7;∈=0.1,α=3;或∈=0.5,α=9。作为另一示例,当要由智能体执行的一组可能的动作连续时,每个行动者计算单元可以在执行具有噪声的动作之前将从噪声分布采样的噪声添加到由动作选择神经网络选择的动作。在这些情况下,行动者计算单元中的两个或更多个可以从不同的噪声分布采样,或者在将噪声添加到所选择的动作之前将不同的常数值应用于被采样的噪声。
行动者计算单元可以周期性地从一个或多个学习者计算单元接收网络参数的更新值,并且用更新值替换副本所使用的网络参数的当前值。
在下面参考图2更详细地描述行动者操作。
在训练动作选择神经网络110期间,一个或多个学习者计算单元中的每一个,例如学习者计算单元120,被配置为重复执行多个学习者操作,以便重复地更新动作选择神经网络110的网络参数。
具体地,学习者计算单元120被配置为从回放存储器130采样一批经验元组106。经验元组在单步骤转变情况下可以包括一个观察的转变数据,或者在n步骤转变情况下包括从来自多个观察的转变数据生成的数据。对该批经验元组的采样受到回放存储器130中经验元组的优先级的偏倚。具体地,与具有较低优先级的经验元组相比,学习者计算机更频繁地采样具有较高优先级的经验元组。
学习者计算单元120(以下称为学习者120)使用采样的经验元组,利用强化学习技术来确定动作选择神经网络110的网络参数的更新。
例如,强化学习技术可以是n步骤Q学习技术(例如,DQN技术)。利用此技术,学习者120调整动作选择神经网络110的网络参数的当前值,以最小化如下限定的损失函数:
Figure BDA0002461533960000091
其中,q(.,.,θ)也称为函数逼近器,表示动作选择神经网络110(在此示例中为Q网络),并被配置为计算Q值。Q值q(St,At,θ)表示当智能体响应于观察St执行动作At时,学习者计算单元将接收的估计的时间折扣总将来奖励。Gt是针对n步骤转变所计算的采样奖励,如下:
Figure BDA0002461533960000101
其中,t是以状态St和动作At开始从回放存储器采样的经验元组(在这种情况下为n步骤转变)的时间索引。θ-表示目标网络的参数,该目标网络是与对应的动作选择神经网络110相同的网络,但是该目标网络的参数值被约束为在训练过程期间更缓慢地改变,以帮助提高训练的稳定性。n是转变所表示的动作步骤的数量。
作为另一示例,学习者120可以使用行动者-评价者强化学习技术来更新动作选择神经网络110的网络参数。
当使用行动者-评价者技术(例如,确定性策略梯度(DPG)方法)时,学习者120可以联合地调整动作选择神经网络110(在这种情况下也称为行动者神经网络)的网络参数的当前值以及评价者神经网络的网络参数的当前值,以最小化如下限定的损失函数:
Figure BDA0002461533960000102
其中,q(St,At,ψ)也称为函数逼近器,表示评价者神经网络,该评价者神经网络被配置为基于评价者神经网络的网络参数ψ的当前值,生成在智能体响应于给定观察St而执行动作At之后所接收的预期的奖励。Gt是从被采样的经验元组(在这种情况下为n步骤转变)所计算的采样奖励,如下:
Figure BDA0002461533960000103
其中,t是以状态St和动作At开始从回放存储器采样的经验元组的时间索引,以及其中,n是经验元组中包含的观察的数量。在这种情况下,π(St,φ)表示行动者神经网络,其具有网络参数φ,并且被配置为确定要由智能体响应于状态下的给定观察St而执行动作At。φ-和ψ-指相应的目标网络的参数,这些参数分别是参数φ和ψ的副本但是更缓慢地改变(例如,仅在φ和ψ的多次更新之后才被更新)。
学习者120可以为每个采样的经验元组确定相应的更新的优先级。然后,学习者120可以更新共享存储器以将更新的优先级与采样的经验元组关联。
具体地,为了确定采样的n步骤转变的更新的优先级,学习者120确定n步骤时间差分(TD)误差。TD误差是以下两者之间的差:a)基于在经验的n个步骤期间从步骤t到t+n的接收的奖励和在这n个步骤之后的状态下函数逼近器返回的值,对预期的长期值的预测;以及b)没有观察到的奖励的情况下函数逼近器在n个步骤的开始时返回的值。量a)用Gt表示,并且在使用Q步骤学习技术的情况下可以通过使用式(2)来计算,或者在使用行动者-评价者技术的情况下可以通过使用式(4)来计算。在这些相应情况下,量b)表示为q(St,At,θ)和q(St,At,ψ)。优先级可以是TD误差的绝对值。
对于每个采样的经验元组仅具有一个观察的单步骤转变情况,学习者120可以使用上述相同的方法以n=1来确定每个采样的经验元组的TD误差和优先级。
为了将回放存储器的容量维持在阈值内,学习者计算单元120可以确定是否满足用于从共享存储器移除任何经验元组的标准。当满足标准时,学习者计算单元120更新回放存储器130以从回放存储器130移除元组中的一个或多个。
学习者计算单元120可以确定是否满足用于更新行动者计算单元的标准。当满足标准时,学习者计算单元120可以将更新的网络参数值126发送到行动者计算单元。
下面参考图3更详细地描述学习者操作。通过重复执行行动者操作和学习者操作,系统100将网络参数的值从参数的初始值迭代地调整为经训练值。一旦已经确定了经训练值,系统100就可以使用神经网络110来控制智能体102,或者可以将网络参数的经训练值提供给另一系统以用于控制智能体102。
图2示出了用于在训练期间生成经验元组和优先级并将其存储在共享存储器(也称为回放存储器)中的示例过程。例如,根据本说明书被适当地编程的强化学习系统(例如图1的强化学习系统100)可以通过使用诸如图1的行动者计算单元112、114或116的行动者计算单元来执行过程200。
行动者计算单元接收表征环境的实例的当前状态的观察(步骤202)。
行动者计算单元使用动作选择神经网络(例如,图1的动作选择神经网络110)的副本并根据动作选择神经网络副本的网络参数的当前值,选择要由智能体执行的动作(步骤204)。
具体地,在一些实施方式中,动作选择神经网络副本可以是生成Q值q(St,At,θ)的Q网络。Q值q(St,At,θ)表示如果智能体响应于观察St而执行动作At,则系统将接收的估计的时间折扣总将来奖励。基于动作选择神经网络的参数θ的当前值来确定估计的时间折扣总将来奖励。在某些情况下,行动者计算单元可以选择动作a,以使Q值q(St,At,θ)最大化。在一些其他情况下,行动者计算单元可以以概率1-∈随机地选择动作代替使用最高Q值。在一些其他情况下,行动者计算单元可以通过使用ε-贪婪策略或其他动作选择策略来选择动作。具体地,当要由智能体执行的一组可能的动作离散时,行动者计算单元可以使用∈-贪婪策略来选择动作。当要由智能体执行的一组可能的动作连续时,行动者计算单元可以在执行具有噪声的动作之前将从噪声分布采样的噪声添加到由动作选择神经网络选择的动作。
在一些其他实施方式中,动作选择神经网络副本可以是行动者神经网络π(St,φ),该行动者神经网络π(St,φ)被配置为通过使用作为行动者参数φ的网络参数来生成要由智能体响应于给定观察St而执行的动作At。在训练期间,行动者神经网络与具有网络参数ψ并生成Q值的评价者神经网络q(s,a,ψ)联合地被训练。在训练之后,行动者计算单元可以根据行动者神经网络的参数φ的经训练值,使用经训练的行动者神经网络来选择要由智能体执行的动作。
在一些其他实施方式中,动作选择神经网络副本是接收观察并处理该观察以生成限定可能的动作上的概率分布的输出的神经网络。例如,当动作空间离散时,该输出可以包括每个动作的相应概率。当动作空间连续时,该输出可以是可能的动作上的概率分布的参数。
一旦行动者计算单元已经选择了动作,行动者计算单元就可以指导智能体响应于当前观察而执行所选择的动作,即,通过向智能体发送使智能体执行所选择的动作的指令。
在智能体已经执行了所选择的动作之后,行动者计算单元获得表征在智能体执行所选择的动作之后的环境实例的转变数据(步骤206)。
例如,转变数据可以包括(rt+1,St+1),其中,St+1表示表征环境实例的下一状态(即,作为智能体执行所选择的动作的结果环境实例转变到的状态)的下一观察;并且rt+1表示奖励,该奖励是作为智能体响应于观察St而执行所选择的动作At的结果而从环境接收的数值。
行动者计算单元从观察、所选择的动作和转变数据生成经验元组(步骤208)。可以表示为(St,At,rt+1,St+1)的经验元组包括当前观察St、所选择的动作At、奖励rt+1和下一观察St+1,下一观察St+1表征在执行所选择的动作之后环境的下一状态。在某些情况下,经验元组可以包括奖励的折扣因子γt+1。折扣因子γt+1可以是常数。
在一些实施方式中,代替仅执行单个动作步骤,行动者计算单元可以使用动作选择神经网络副本来生成要由智能体响应于后续观察而执行的附加动作,从而生成n步骤转变,其中,n是转变所表示的动作步骤的数量。在这些实施方式中,行动者计算单元从n个动作步骤(即,从观察及其对应的所选择的动作以及在每个动作步骤的转变数据)来生成经验元组。在这种情况下,经验元组也称为n步骤转变。例如,在3步骤转变中,行动者计算单元生成经验元组,该经验元组包括(St,At,rt+1,St+1,At+1,rt+2,St+2,At+2,rt+3,St+3)。在一些实施方式中,不是包括来自n个动作步骤的所有信息,n步骤转变可以仅包括步骤的第一观察St、第一动作At、综合奖励和最后观察St+n。综合奖励可以是从第一观察开始直到接收到最后一个观察为止所接收的奖励的时间折扣和,即,按其对应折扣因子加权的奖励和。单步骤转变是n=1的n步骤转变的特殊情况。在单步骤转变中,经验元组仅包括如上所述的一个观察及对应的所选择的动作、奖励和下一观察。
行动者计算单元确定经验元组的初始优先级(步骤210)。具体地,行动者计算单元(也称为“行动者”)根据强化学习技术来确定经验元组的学习误差。然后,行动者从学习误差确定初始优先级。例如,行动者可以确定学习误差,该学习误差是经验元组的时间差分(TD)误差。在这种情况下,优先级可以是TD误差的绝对值。
具体地,为了确定作为n步骤转变的经验元组的初始优先级,行动者确定n步骤时间差分(TD)误差,这通过计算以下两者之间的差来确定:a)基于在经验的n个步骤期间从步骤t到t+n的接收的奖励和在这n个步骤之后的状态下函数逼近器返回的值,对预期的长期值的预测,以及b)没有观察到的奖励的情况下函数逼近器在n个步骤的开始时返回的值。量a)用Gt表示,并且在使用Q步骤学习技术的情况下可以通过使用式(2)来计算,或者在使用行动者-评价者技术的情况下可以通过使用式(4)来计算。在这些相应情况下,量b)表示为q(St,At,θ)和q(St,At,ψ)。初始优先级从其得出的Q值估计基于从环境实例获得对应状态时行动者的动作选择神经网络参数的副本,而不是学习者处可用的网络参数的最新版本。
对于经验元组仅具有一个观察的单步骤转变情况,行动者可以使用上述相同方法以n=1来确定每个采样的经验元组的TD误差和优先级。
行动者计算单元将经验元组与优先级关联地存储在回放存储器中(步骤212)。
在一些实施方式中,行动者计算单元可以重复地执行步骤202-208,直到已经生成了B个经验元组,其中,B是预定数量。在这些实施方式中,行动者计算单元可以确定B个经验元组的组的优先级。然后,行动者计算单元将B个经验元组(在下面与图3关联的描述中也称为“经验”)与优先级关联地存储到回放存储器。
在一些实施方式中,为了减少存储器和带宽需求,当将经验元组存储在回放存储器中时,行动者计算单元可以例如通过使用PNG编解码器来压缩经验元组。
行动者计算单元可以周期性地从一个或多个学习者计算单元接收动作选择神经网络副本的网络参数的更新值,并且用更新值替换副本所使用的网络参数的当前值。
例如,在一个或多个学习者计算单元执行了预定数量的学习步骤(例如,50、100或200个步骤)之后,或者在预定时间段已经过去之后(例如,在1、2、2.5、2.8或5秒之后),行动者计算单元可以从一个或多个学习者计算单元接收更新值。
图3示出了用于更新动作选择神经网络的网络参数的示例过程。为了方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书被适当地编程的强化学习系统(例如图1的强化学习系统100)可以通过使用诸如图1的学习者计算单元120的学习者计算单元来执行过程300。
学习者计算单元从共享存储器采样一批经验元组(步骤302)。经验元组在单步骤转变情况下可以包括一个观察的转变数据,或者在n步骤转变情况下包括从来自多个观察的转变数据生成的数据。采样受到共享存储器中经验元组的优先级的偏倚。即,与具有较低优先级的经验元组相比,学习者计算单元更频繁地采样具有较高优先级的经验元组。
更具体地说,可以将采样经验元组的概率限定为:
Figure BDA0002461533960000151
其中,
Figure BDA0002461533960000152
是具有键k的经验元组的优先级,并且
Figure BDA0002461533960000153
是共享存储器中所有优先级的和,其中,每个优先级都提高到指数α。指数α控制优先化的量。指数α可以是常数,也可以在训练期间变化。当α为零时,采样是均匀的。
在一批经验元组被采样之后,学习者计算单元(也称为学习者)使用采样的经验元组,利用强化学习技术来确定网络参数的更新(步骤304)。
例如,强化学习技术可以是n步骤Q学习技术(例如,DQN技术)。利用此技术,学习者调整动作选择神经网络的网络参数的当前值,以最小化如下限定的损失函数:
Figure BDA0002461533960000154
其中,q(.,.,θ)表示动作选择神经网络110(在此示例中为Q网络),并被配置为计算Q值。Q值q(St,At,θ)表示当智能体响应于观察St执行动作At时,学习者计算单元将接收的估计的时间折扣总将来奖励。Gt是针对n步骤转变所计算的采样奖励,如下:
Figure BDA0002461533960000155
其中,t是以状态St和动作At开始从回放存储器采样的经验元组(在这种情况下为n步骤转变)的时间索引。θ-表示目标网络的参数,该目标网络是与对应的动作选择神经网络110相同的网络,但是该目标网络的参数值被约束为在训练过程期间更缓慢地改变,以帮助提高训练的稳定性。n是经验元组中观察的数量。
作为另一示例,学习者可以使用行动者-评价者强化学习技术来更新动作选择神经网络的网络参数。
当使用行动者-评价者技术(例如,确定性策略梯度(DPG)方法)时,学习者可以联合地调整动作选择神经网络(在这种情况下也称为行动者神经网络)的网络参数的当前值以及评价者神经网络的网络参数的当前值,以最小化如下限定的损失函数:
Figure BDA0002461533960000161
其中,q(St,At,ψ)表示评价者神经网络,该评价者神经网络被配置为基于评价者神经网络的网络参数ψ的当前值,生成在智能体响应于给定观察St而执行动作At之后所接收的预期的奖励。Gt是从被采样的经验元组(在这种情况下为n步骤转变)所计算的采样奖励,如下:
Figure BDA0002461533960000162
其中,t是以状态St和动作At开始从回放存储器采样的经验元组的时间索引,以及其中,n是经验元组中包含的观察的数量。在这种情况下,π(St,φ)表示行动者神经网络,其具有网络参数φ,并且被配置为确定要由智能体响应于状态下的给定观察St而执行的动作At。φ-和ψ-指相应的目标网络的参数,这些参数分别是参数φ和ψ的副本但是更缓慢地改变(例如,仅在φ和ψ的多次更新之后才被更新)。
学习者计算单元可以为每个采样的经验元组确定相应的更新的优先级(步骤306)。例如,学习者计算单元可以为每个采样的经验元组确定学习误差,并从学习误差确定优先级。例如,学习者计算单元可以确定每个采样的经验元组的时间差分(TD)误差,并从TD误差确定每个采样的经验的优先级。例如,优先级是TD误差的绝对值。
具体地,为了确定采样的n步骤转变的更新的优先级,学习者确定n步骤时间差分(TD)误差。TD误差是以下两者之间的差:a)基于在经验的n个步骤期间从步骤t到t+n的接收的奖励和在这n个步骤之后的状态下函数逼近器返回的值,对预期的长期值的预测;以及b)没有观察到的奖励的情况下函数逼近器在n个步骤的开始时返回的值。量a)用Gt表示,并且在使用Q步骤学习技术的情况下可以通过使用式(2)来计算,或者在使用行动者-评价者技术的情况下可以通过使用式(4)来计算。在这些相应情况下,量b)表示为q(St,At,θ)和q(St,At,ψ)。优先级可以是TD误差的绝对值。
对于每个采样的经验元组仅具有一个观察的单步骤转变情况,学习者120可以使用上述相同方法以n=1来确定每个采样的经验元组的TD误差和优先级。
然后,学习者计算单元更新回放存储器,以将更新的优先级与采样的经验元组关联(步骤308)。
为了将回放存储器的容量维持在阈值内,学习者计算单元可以确定是否满足用于从共享存储器移除任何经验元组的标准。当满足标准时,学习者计算单元更新回放存储器以从回放存储器移除元组中的一个或多个。
例如,在执行一定数量的学习步骤之后(例如,每50、100、200或500个步骤之后),学习者计算单元可以检查是否已经达到回放存储器的容量阈值。如果达到容量阈值,则学习者计算单元可以例如以先进先出的顺序从回放存储器移除一个或多个元组,以将容量维持在阈值内。
在一些实施方式中,学习者计算单元可以确定是否满足用于更新行动者计算单元的标准。当满足标准时,学习者计算单元可以将更新的参数值发送到行动者计算单元。例如,学习者计算单元可以在学习者计算单元已经执行了预定数量的学习步骤(例如,50、100或200个步骤)之后,或者在预定时间段过去之后(例如,1、2、2.5、2.8或5秒之后)更新行动者计算单元。
本说明书与系统和计算机程序组件有关地使用术语“被配置”。一个或多个计算机的系统被配置为执行特定操作或动作的意思是系统在其上安装有软件、固件、硬件或其组合,在操作时,软件、固件、硬件或其组合使系统执行操作或动作。一个或多个计算机程序被配置为执行特定操作或动作的意思是一个或多个程序包括指令,当在由数据处理装置执行该指令时使装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形地实现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构以及其结构等效物)或它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂态存储介质上以供数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基片、随机或串行存取存储器设备或它们中一个或多个的组合。替代地或额外地,程序指令可以编码在人工生成的传播的信号(例如,机器生成的电、光或电磁信号,其被生成为编码信息以传输到合适的接收器装置以供数据处理装置执行)上。
术语“数据处理装置”是指数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,举例来说包括可编程处理器、计算机或多个处理器或计算机。所述装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述装置可以可选地包括代码,该代码为计算机程序创建执行环境,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中一个或多个的组合的代码。
计算机程序(其也被称为或被描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释性语言、陈述性或过程语言,并且可以以任何形式部署计算机程序,包括作为独立程序或作为模块、组件、子例程或其他适于用在计算环境中的单元。程序可以但不必与文件系统中的文件对应。程序可以存储在保持其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、在专用于所讨论程序的单个文件中或在多个协作的文件(例如,存储一个或多个模块、子程序或代码的一些部分的文件)中。计算机程序可以部署为在一个或多个计算机上执行,这些计算机位于一个站点或跨多个站点分布并通过数据通信网络互联。
在本说明书中,术语“数据库”被用于宽泛地指任何数据集合:数据不需要以任何特定方式结构化,或者根本不结构化,并且其可以存储在一个或多个位置的存储设备上。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”被用于宽泛地指基于软件的系统、子系统或被编程为执行一个或多个特有功能的过程。通常,引擎将被实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,多个引擎可以安装并运行在相同的计算机或多个计算机上。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,从而通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个经编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或二者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路来补充或可以结合到其中。一般来说,计算机将也包括用于存储数据的一个或多个大容量存储设备(例如、磁盘、磁光盘或光盘)或可以操作性地联接一个或多个大容量存储设备以从其接收数据或将数据传送到其处或者接收和传输二者。然而,计算机不必具有这样的设备。另外,计算机可以嵌入到另一设备(例如,仅举例几个,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)快闪驱动器))中。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说,包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以实现在具有显示设备及键盘和指向设备的计算机上,显示设备例如用于向用户显示信息的CRT(阴极射线管)或LCD(液晶显示)监视器,用户可以通过键盘和指向设备向计算机提供输入,指向设备例如为鼠标或轨迹球。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,通过向由用户使用的设备发送文档和接收来自该设备的文档;例如,通过响应于从web浏览器接收的请求而将网页发送到用户的设备上的web浏览器,计算机可以与用户交互。另外,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息收发应用的智能电话)并且作为回应从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如用于处理机器学习训练或产生的一般和计算密集部分(即,推断、工作负荷)的专用硬件加速器单元。
机器学习模型可以使用机器学习框架(例如,TensorFlow框架、微软认知工具包框架(Microsoft Cognitive Toolkit framework)、Apache Singa框架或Apache MXNet框架)来实现和部署。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面、web浏览器或app的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。可以通过数字数据通信的任意形式或媒介(例如通信网络)将系统的组件互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。一般来说,客户端和服务器彼此远离,并且通常通过通信网络交互。通过运行在相应计算机并且彼此具有客户端-服务器关系的计算机程序而形成的客户端和服务器的关系。在一些实施例中,服务器向充当客户端的用户设备传输数据(例如,HTML页面)(例如,用于向与设备交互的用户显示数据和从其接收用户输入的目的)。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从该设备接收。
尽管本说明书包含许多具体的实现方式细节,但是这些细节不应当被解释为对任何发明的范围或对可能请求保护的范围进行限制,而应该被解释为可能特定于特定发明的特定实施例的特征的描述。在本说明书中在单独的实施例的上下文中描述的某些特征也可以以组合实现在单个实施例中。相反,在单个实施例的上下文中描述的各种特征也单独地可以在多个实施例中实现或以任何合适的子组合实现。此外,尽管特征可以如上被描述为以某些组合起作用并且甚至最初也这样地请求,但在一些情况下,来自所请求保护的组合的一个或多个特征可以从组合中排除,并且所请求保护的组合可以涉及子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描绘了操作并且在权利要求中以特定顺序记载了操作,但是这不应当被理解为需要以示出的特定顺序或以相继的顺序来执行这样的操作或者需要执行所有示意的操作来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。另外,上述实施例中各种系统模块和组件的分离不应当被理解为在所有实施例中要求这样的分离,而是应当理解,所描述的程序组件和系统可一般地在单个软件产品中被集成在一起或者被封装成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,记载在权利要求中的动作可以以不同的顺序执行而仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示出的特定顺序或者相继顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (14)

1.一种用于训练动作选择神经网络的系统,所述动作选择神经网络具有多个网络参数并且用于选择要由与环境交互的智能体执行的动作,所述系统包括:
多个行动者计算单元,每个行动者计算单元被配置为维护动作选择神经网络的相应副本并执行行动者操作,所述行动者操作包括:
接收表征环境的实例的当前状态的观察,
使用动作选择神经网络副本并根据网络参数的当前值,选择要由智能体执行的动作,
获得表征在智能体执行所选择的动作之后的环境实例的转变数据,
从观察、所选择的动作和转变数据生成经验元组,
确定经验元组的优先级;以及
将经验元组与优先级关联地存储在每个行动者计算单元能够访问的共享存储器中;以及
一个或多个学习者计算单元,其中,所述一个或多个学习者计算单元中的每一个被配置为执行学习者操作,所述学习者操作包括:
从共享存储器采样一批经验元组,其中,采样受到共享存储器中的经验元组的优先级的偏倚;以及
使用采样的经验元组,利用强化学习技术来确定网络参数的更新。
2.根据权利要求1所述的系统,其中,确定经验元组的优先级包括:
根据强化学习技术确定所选择的动作的学习误差;以及
从学习误差确定优先级。
3.根据权利要求2所述的系统,其中,所述优先级是学习误差的绝对值。
4.根据权利要求1-3中的任一项所述的系统,其中,所述行动者计算单元中的两个或更多个使用不同的探索策略来选择动作。
5.根据权利要求1-4中的任一项所述的系统,其中,所述不同的探索策略是具有不同的ε值的ε-贪婪策略。
6.根据权利要求1-5中的任一项所述的系统,其中,所述学习者操作还包括:
为每个采样的经验元组确定相应的更新的优先级;以及
更新共享存储器以将更新的优先级与采样的经验元组关联。
7.根据权利要求1-6中的任一项所述的系统,其中,所述学习者操作还包括:
确定是否满足用于从共享存储器移除任何经验元组的标准;以及
当满足所述标准时,更新共享存储器以移除元组中的一个或多个。
8.根据权利要求1-7中的任一项所述的系统,其中,所述强化学习技术是n步骤Q学习技术。
9.根据权利要求1-8中的任一项所述的系统,其中,所述强化学习技术是行动者-评价者技术。
10.根据权利要求1-9中的任一项所述的系统,其中,所述学习者操作还包括:
确定是否满足用于更新行动者计算单元的标准;以及
当满足所述标准时,将更新的参数值发送到行动者计算单元。
11.根据权利要求1-10中的任一项所述的系统,其中,获得表征在智能体执行所选择的动作之后的环境实例的转变数据包括:
使用动作选择神经网络副本来选择要由智能体响应于后续观察而执行的附加动作,以生成n步骤转变。
12.一个或多个存储指令的计算机可读存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机实现根据权利要求1-11中的任一项所述的系统。
13.一种方法,包括根据权利要求1-11中的任一项所述的学习者操作。
14.根据权利要求13所述的方法,还包括根据权利要求1-11中的任一项所述的行动者操作。
CN201880068801.8A 2017-10-27 2018-10-29 使用分布式优先化回放的强化学习 Active CN111316295B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311150456.1A CN117313825A (zh) 2017-10-27 2018-10-29 使用分布式优先化回放的强化学习

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762578384P 2017-10-27 2017-10-27
US62/578,384 2017-10-27
PCT/EP2018/079566 WO2019081783A1 (en) 2017-10-27 2018-10-29 REINFORCING LEARNING USING DISTRIBUTED PRIORIZED READING

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311150456.1A Division CN117313825A (zh) 2017-10-27 2018-10-29 使用分布式优先化回放的强化学习

Publications (2)

Publication Number Publication Date
CN111316295A true CN111316295A (zh) 2020-06-19
CN111316295B CN111316295B (zh) 2023-09-22

Family

ID=64049245

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311150456.1A Pending CN117313825A (zh) 2017-10-27 2018-10-29 使用分布式优先化回放的强化学习
CN201880068801.8A Active CN111316295B (zh) 2017-10-27 2018-10-29 使用分布式优先化回放的强化学习

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311150456.1A Pending CN117313825A (zh) 2017-10-27 2018-10-29 使用分布式优先化回放的强化学习

Country Status (4)

Country Link
US (2) US11625604B2 (zh)
EP (1) EP3701435A1 (zh)
CN (2) CN117313825A (zh)
WO (1) WO2019081783A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200234123A1 (en) * 2019-01-22 2020-07-23 Fujitsu Limited Reinforcement learning method, recording medium, and reinforcement learning apparatus
CN111917642A (zh) * 2020-07-14 2020-11-10 电子科技大学 分布式深度强化学习的sdn网络智慧路由数据传输方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7016295B2 (ja) * 2018-06-28 2022-02-04 三菱重工業株式会社 意思決定装置、無人システム、意思決定方法、及びプログラム
CN110875915B (zh) * 2018-09-04 2021-08-20 华为技术有限公司 数据传输方法及装置
JP7063284B2 (ja) * 2019-02-06 2022-05-09 日本電信電話株式会社 制御装置、制御方法及びプログラム
US11477243B2 (en) * 2019-03-22 2022-10-18 Google Llc Off-policy control policy evaluation
GB2584727B (en) * 2019-06-14 2024-02-28 Vision Semantics Ltd Optimised machine learning
US11645498B2 (en) * 2019-09-25 2023-05-09 International Business Machines Corporation Semi-supervised reinforcement learning
CN113767363B (zh) * 2019-11-08 2024-06-07 大日本印刷株式会社 软件生成装置、软件生成方法和程序产品
US20210158162A1 (en) * 2019-11-27 2021-05-27 Google Llc Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space
WO2021155936A1 (en) * 2020-02-06 2021-08-12 Telefonaktiebolaget Lm Ericsson (Publ) Distributed state-action models
US10853563B1 (en) * 2020-04-22 2020-12-01 Moveworks, Inc. Method and system for configuring form filling application to minimize form filling effort
CN111898770B (zh) * 2020-09-29 2021-01-15 四川大学 一种多智能体强化学习方法、电子设备及存储介质
CN112158189A (zh) * 2020-09-30 2021-01-01 东南大学 基于机器视觉和深度学习的混合动力汽车能量管理方法
US11756076B2 (en) 2021-02-26 2023-09-12 Walmart Apollo, Llc Systems and methods for providing sponsored recommendations
CN112861269B (zh) * 2021-03-11 2022-08-30 合肥工业大学 一种基于深度强化学习优先提取的汽车纵向多态控制方法
WO2022216192A1 (en) * 2021-04-08 2022-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Managing closed control loops
US20220274251A1 (en) * 2021-11-12 2022-09-01 Intel Corporation Apparatus and methods for industrial robot code recommendation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248693A (zh) * 2013-05-03 2013-08-14 东南大学 基于多智能体强化学习的大规模服务组合优化方法
CN105637540A (zh) * 2013-10-08 2016-06-01 谷歌公司 用于强化学习的方法和设备
US20160232445A1 (en) * 2015-02-06 2016-08-11 Google Inc. Distributed training of reinforcement learning systems
CN106056213A (zh) * 2015-04-06 2016-10-26 谷歌公司 使用目标和观察来选择强化学习动作

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248693A (zh) * 2013-05-03 2013-08-14 东南大学 基于多智能体强化学习的大规模服务组合优化方法
CN105637540A (zh) * 2013-10-08 2016-06-01 谷歌公司 用于强化学习的方法和设备
US20160232445A1 (en) * 2015-02-06 2016-08-11 Google Inc. Distributed training of reinforcement learning systems
CN107209872A (zh) * 2015-02-06 2017-09-26 谷歌公司 强化学习系统的分布式训练
CN106056213A (zh) * 2015-04-06 2016-10-26 谷歌公司 使用目标和观察来选择强化学习动作

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOM SCHAUL等: "PRIORITIZED EXPERIENCE REPLAY", 《ARXIV:1511.05952V2 [CS.LG] 19 NOV 2015》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200234123A1 (en) * 2019-01-22 2020-07-23 Fujitsu Limited Reinforcement learning method, recording medium, and reinforcement learning apparatus
CN111917642A (zh) * 2020-07-14 2020-11-10 电子科技大学 分布式深度强化学习的sdn网络智慧路由数据传输方法
CN111917642B (zh) * 2020-07-14 2021-04-27 电子科技大学 分布式深度强化学习的sdn网络智慧路由数据传输方法

Also Published As

Publication number Publication date
US20230252288A1 (en) 2023-08-10
US20200265305A1 (en) 2020-08-20
EP3701435A1 (en) 2020-09-02
CN111316295B (zh) 2023-09-22
WO2019081783A1 (en) 2019-05-02
CN117313825A (zh) 2023-12-29
US11625604B2 (en) 2023-04-11

Similar Documents

Publication Publication Date Title
CN111316295B (zh) 使用分布式优先化回放的强化学习
JP6935550B2 (ja) 強化学習を使用した環境ナビゲーション
US11868894B2 (en) Distributed training using actor-critic reinforcement learning with off-policy correction factors
EP3688675B1 (en) Distributional reinforcement learning for continuous control tasks
CN110235148B (zh) 训练动作选择神经网络
US20210201156A1 (en) Sample-efficient reinforcement learning
US20190244099A1 (en) Continual reinforcement learning with a multi-task agent
US20190354813A1 (en) Data-efficient reinforcement learning for continuous control tasks
US11113605B2 (en) Reinforcement learning using agent curricula
WO2020065024A1 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
US20220343164A1 (en) Reinforcement learning with centralized inference and training
WO2020074741A1 (en) Controlling agents over long time scales using temporal value transport
EP4085385A1 (en) Generating implicit plans for accomplishing goals in an environment using attention operations over planning embeddings
CN112334914A (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
GR01 Patent grant
GR01 Patent grant