CN116848532A - 具有短期记忆单元的注意力神经网络 - Google Patents

具有短期记忆单元的注意力神经网络 Download PDF

Info

Publication number
CN116848532A
CN116848532A CN202280013466.8A CN202280013466A CN116848532A CN 116848532 A CN116848532 A CN 116848532A CN 202280013466 A CN202280013466 A CN 202280013466A CN 116848532 A CN116848532 A CN 116848532A
Authority
CN
China
Prior art keywords
input
network
sub
attention
action selection
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
CN202280013466.8A
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 CN116848532A publication Critical patent/CN116848532A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/08Learning methods
    • 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/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/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder 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/092Reinforcement learning

Landscapes

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

Abstract

一种用于控制与环境交互的智能体以执行任务的系统。该系统包括动作选择神经网络,其被配置为生成用于选择要由智能体执行的动作的动作选择输出。动作选择神经网络包括编码器子网络,其被配置为生成当前观察的编码表示;注意力子网络,其被配置为利用注意力机制生成注意力子网络输出;循环子网络,其被配置为生成循环子网络输出;动作选择子网络,其被配置为生成动作选择输出,该动作选择输出用于选择由智能体响应于当前观察而执行的动作。

Description

具有短期记忆单元的注意力神经网络
相关申请的交叉引用
本申请要求于2021年2月5日提交的美国临时专利申请No.63/146,361的优先权。在先申请的公开被认为是本申请的公开的一部分并且通过引用并入本申请的公开中。
技术领域
本说明书涉及强化学习。
背景技术
在强化学习系统中,智能体通过执行强化学习系统响应于接收表征环境当前状态的观察所选择的动作来与环境交互。一些强化学习系统根据神经网络的输出选择要由智能体响应于接收给定观察而执行的动作。神经网络是机器学习模型,它采用一层或多层非线性单元来预测针对接收到的输入的输出。一些神经网络是深度神经网络,其除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作至网络中下一层的输入,即下一个隐藏层或输出层。网络的每一层根据相应参数集的当前值从接收到的输入生成输出。
发明内容
本说明书一般地描述了控制与环境交互的智能体的强化学习系统。
本说明书中描述的主题能够在具体实施例中实现,以实现以下一个或多个优点。
通过将基于注意力的神经网络的自注意力机制与循环神经网络(诸如长短期记忆(LSTM)神经网络)的记忆机制结合到由强化学习系统使用的动作选择神经网络中来选择要由智能体执行的动作,所描述的技术能够向动作选择神经网络提供时间上结构化的信息,以提高动作选择输出的质量,无论是在训练期间还是在训练之后,即在运行时。具体地,所描述的技术有效地利用自注意力机制来提取长期依赖关系,又利用记忆机制来推理短期依赖关系,以集成有关智能体在多个不同时间尺度与环境的过去交互的信息,从而允许动作选择神经网络对跨越多个时间尺度的事件进行推理,并相应地调整未来动作选择策略。
另外,本说明书中描述的技术可选地包括:实现可训练的门控机制,以允许动作选择神经网络更有效地结合通过使用基于注意力的神经网络和循环神经网络计算的信息。这种有效的组合在复杂的环境设置中尤其有利,因为它允许更灵活地确定在控制机器人智能体时应处理的信息。这里,术语“门控机制”是指基于神经网络的输入和神经网络的输出两者形成数据集的单元。可训练的门控机制是一种其中数据集进一步基于一个或多个可调整参数值的机制。例如,可以采用门控机制来基于至注意力子网络的输入和注意力子网络的输出两者来生成数据集。
因此,本说明书中描述的强化学习系统能够在控制智能体执行任务方面实现优于传统强化学习系统的性能,例如通过接收更多累积的外在奖励。本说明书中描述的强化学习系统比不利用自注意力机制或记忆机制或两者的传统强化学习系统更快地训练动作选择神经网络。进一步,通过在对比学习辅助任务上训练动作选择神经网络,除了训练神经网络以最大化累积奖励之外,本说明书中描述的强化学习系统还能够增强在动作选择神经网络的训练期间接收到的反馈信号以另外改进训练,例如以鼓励学习帮助避障或轨迹规划的表示。因此,本说明书中描述的强化学习系统允许在训练中更有效地使用计算资源。
本说明书的主题的一个或多个实施例的细节在附图和下面的描述中阐述。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得显而易见。
附图说明
图1示出了一个示例强化学习系统。
图2是用于控制智能体的示例过程的流程图。
图3是用于确定对注意力选择神经网络的参数值的更新的示例过程的流程图。
图4是确定对注意力选择神经网络的参数值的更新的示例图示。
图5示出了能够通过使用本说明书中描述的控制神经网络系统来实现的性能提升的定量示例。
各个附图中相同的附图标号和标记指示相同的元件。
具体实施方式
本说明书描述了一种强化学习系统,该系统通过在多个时间步的每个时间步处处理表征在该时间步的环境当前状态的数据(即“观察”)来控制与环境交互的智能体,以选择要由智能体执行的动作。
在每个时间步,在该时间步的环境状态取决于在先前时间步的环境状态以及由智能体在先前时间步执行的动作。
在一些实现方式中,环境是真实世界环境并且智能体是与真实世界环境交互的机械智能体,例如在环境中导航的机器人或自主或半自主陆地、空中或海上交通工具。
在这些实现方式中,观察可以包括例如以下中的一项或多项:图像、物体位置数据和传感器数据,以在智能体与环境交互时捕获观察,例如来自图像、距离或位置传感器或者来自致动器的传感器数据。
例如,在机器人的情况下,观察可以包括表征机器人当前状态的数据,例如以下中的一项或多项:关节位置、关节速度、关节力、扭矩或加速度,例如重力补偿扭矩反馈,以及机器人持有的物品的全局或相对姿态。
在机器人或其他机械智能体或交通工具的情况下,观察可以类似地包括智能体的一个或多个部分的位置、线速度或角速度、力、扭矩或加速度以及全局或相对姿态中的一项或多项。观察可以定义为1、2或3维,并且可以是绝对和/或相对观察。
观察还可以包括例如感测到的电子信号,诸如电机电流或温度信号;和/或例如来自相机或LIDAR传感器的图像或视频数据,例如来自智能体的传感器的数据或来自与环境中的智能体分开定位的传感器的数据。
在这些实现方式中,动作可以是控制输入,以控制机器人,例如机器人关节的扭矩或是更高级别的控制命令,或者控制自主或半自主陆地、空中、海上交通工具的控制输入,例如至交通工具的控制面或其他控制元件的扭矩或是更高级别的控制命令。
换句话说,动作能够包括例如机器人的一个或多个关节或另一机械智能体的部件的位置、速度或力/扭矩/加速度数据。动作数据可以附加地或替代地包括电子控制数据,诸如电机控制数据,或更一般地,用于控制环境内的一个或多个电子设备的数据,该电子设备的控制对所观察到的环境状态有影响。例如,在自主或半自主陆地或空中或海上交通工具的情况下,动作可以包括控制交通工具的导航(例如,转向)和运动(例如,交通工具的制动和/或加速)的动作。
在一些其他应用中,智能体可以控制包括设备的物品的真实世界环境中的动作,例如在数据中心、在电力/水分配系统中、或者在制造工厂或服务设施中。然后,观察可以与工厂或设施的操作相关。例如,观察可以包括对设备的电力或水使用的观察、或对发电或配电控制的观察、或对资源的使用或废物产生的观察。这些动作可以包括控制工厂/设施的设备的物品或对工厂/设施的设备的物品施加操作条件的动作,和/或导致工厂/设施的操作中的设置改变的动作,例如,调整或打开/关闭工厂/设施的组件。
在电子智能体的情况下,观察可以包括来自一个或多个传感器的数据,该传感器监视工厂或服务设施的一部分,例如电流、电压、功率、温度和其他传感器和/或表示设备的电子和/或机械物品的功能的电子信号。例如,真实世界环境可以是制造工厂或服务设施,观察可以与工厂或设施的操作相关,例如与诸如功耗的资源使用相关,并且智能体可以控制工厂/设施中的动作或操作,例如以减少资源使用。在一些其他实现方式中,真实世界环境可以是可再生能量工厂,观察可以与工厂的操作相关,例如最大化当前或未来计划的发电,并且智能体可以控制工厂中的动作或操作来实现这一点。
作为另一示例,环境可以是化学合成或蛋白质折叠环境,使得每个状态是蛋白质链或一种或多种中间体或前体化学品的相应状态,并且智能体是用于确定如何折叠蛋白质链或合成化学品的计算机系统。在该示例中,这些动作是用于折叠蛋白质链的可能的折叠动作或用于组装前体化学品/中间体的动作,并且要实现的结果可以包括例如折叠蛋白质,使得蛋白质稳定并且使得其实现特定的生物学功能或为化学品提供有效的合成路线。作为另一示例,该智能体可以是执行或控制由系统自动选择的蛋白质折叠动作或化学合成步骤而无需人工交互的机械智能体。观察可以包括对蛋白质或化学品/中间体/前体的状态的直接或间接观察和/或可以从模拟导出。
在一些实现方式中,环境可以是模拟环境并且智能体可以被实现为与模拟环境交互的一个或多个计算机。
模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体可以是通过运动模拟进行导航的模拟交通工具。在这些实现方式中,动作可以是控制模拟用户或模拟车辆的控制输入。
在一些实现方式中,模拟环境可以是特定真实世界环境的模拟。例如,该系统可以被用于在控制神经网络的训练或评估期间选择模拟环境中的动作,并且在训练或评估或两者完成之后,可以部署该系统来控制模拟环境所模拟的真实世界环境中的真实世界智能体。这能够避免对真实世界环境或真实世界智能体的不必要的磨损和损坏,并且能够允许控制神经网络在真实世界环境中很少发生或难以重现的情况下进行训练和评估。
通常,在模拟环境的情况下,观察可以包括先前描述的观察或观察类型中的一项或多项的模拟版本,并且动作可以包括先前描述的动作或动作类型中的一项或多项的模拟版本。
可选地,在任何上述实现方式中,在任何给定时间步的观察可以包括来自先前时间步的数据,该数据可能有利于表征环境,例如,在先前时间步执行的动作、在先前时间步接收到的奖励等。
图1示出了示例强化学习系统100。强化学习系统100是在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例,在该位置中实现下述系统、组件和技术。
系统100通过选择要由智能体102执行的动作106并且然后使智能体102执行所选择的动作106来控制与环境104交互的智能体102,诸如通过向智能体102发送控制数据,其指令智能体102执行动作102。在一些情况下,强化学习系统100可以安装在智能体102上或者作为智能体102的组件,并且控制数据被传输到智能体的(多个)致动器。
智能体102对所选择的动作106的执行通常使环境104转换到相继的新状态。通过重复地使智能体102在环境104中动作,系统100能够控制智能体102完成指定的任务。
系统100包括控制神经网络系统110、以及存储包括在控制神经网络系统110中的神经网络的模型参数118的集(“网络参数”)的一个或多个存储器。
在高级别,控制神经网络系统110被配置为在多个时间步中的每一个处处理输入,该输入包括根据模型参数118表征环境104的当前状态的当前观察108,以生成动作选择输出122,该动作选择输出能够被用于选择将由智能体102响应于当前观察108而执行的当前动作106。
控制神经网络系统110包括动作选择神经网络120。动作选择神经网络120利用神经网络架构来实现,该神经网络架构通过使得系统能够检测在不同时间尺度发生的事件并对其做出反应来提高动作选择输出122的质量。具体地,动作选择神经网络120包括编码器子网络124、注意力子网络128、门控子网络132(优选地)、循环子网络136和动作选择子网络140。每个子网络能够被实现为动作选择神经网络120中的一组一个或多个神经网络层。
在多个时间步中的每一个处,编码器子网络124被配置为接收编码器子网络输入,该编码器子网络输入包括表征环境104的当前状态的当前观察108,并且被配置为根据编码器子网络的训练参数值处理编码器子网络输入以生成当前观察108的编码表示(“Yt”)126。编码表示126能够是数值的有序集合的形式,例如数值的向量或矩阵。例如,随后被馈送作为至注意力子网络128的输入的编码表示126能够是在按输入顺序的多个输入位置的每一个具有相应的输入值的输入向量。在一些实现方式中,编码表示126具有与观察108相同的维度,并且在一些其他实现方式中,出于计算效率的原因,编码表示126具有比观察108更小的维度。在一些实现方式中,除了提供编码表示126作为至注意力子网络128的输入之外,系统还将在给定时间步处生成的编码表示126存储到存储器缓冲器或查找表中,使得编码表示126能够稍后使用,例如在给定时间步之后的未来时间步处使用。
当观察是图像时,编码器子网络124能够是卷积子网络,例如具有残差块的卷积神经网络,其被配置为针对时间步处理观察。在一些情况下,例如,当观察包括低维数据时,编码器子网络124能够附加地或替代地包括一个或多个全连接的神经网络层。
注意力子网络128是包括一个或多个注意力神经网络层的网络。每个注意力层对相应的输入序列进行操作,该相应的输入序列包括在一个或多个位置中的每一个的相应的输入向量(例如,多个级联的输入向量)。在多个时间步中的每一个处,注意力子网络128被配置为接收注意力子网络输入,该注意力子网络输入包括当前观察108的编码表示126和一个或多个先前观察的编码表示,并且被配置为根据注意力子网络的训练参数值来处理注意力子网络输入,以至少部分地通过将注意力机制应用于当前观察的相应的编码表示以及一个或多个先前观察来生成注意力子网络输出(“Xt”)130。也就是说,注意力子网络输出(“Xt”)130是从通过使用一个或多个注意力神经网络层生成的编码表示的更新的(即,“预期的”)表示确定或以其他方式导出的输出。
具体地,除了当前观察108的编码表示126之外,注意力子网络输入还包括表征紧接在环境108的当前状态之前的环境的一个或多个先前状态的一个或多个先前观察的编码表示。先前观察的每个编码表示能够是相应的输入向量的形式,该相应的输入向量包括在按输入顺序的多个输入位置中的每一个的相应的输入值。因此,注意力子网络输入能够是由多个单独输入向量组成的级联输入向量,每个输入向量对应于环境108的不同先前状态直到(并包括)当前状态的观察的相应的编码表示。
通常,注意力子网络128内的注意力层能够以多种配置中的任何一种来布置。注意力层的配置示例以及注意力子网络其他组件的细节在Vaswani等人的Attention Is AllYou Need(您所需要的就是注意力),arXiv:1706.03762和Parisotto等人的Stabilizingtransformers for reinforcement learning(用于强化学习的稳定变换器),arXiv:1910.06764中进行了更详细的描述,其全部内容通过引用整体并入本文。例如,注意力子网络128内的注意力层所应用的注意力机制能够是自注意力机制,例如多头自注意力机制。
通常,注意力机制将查询和键值对的集映射到输出,其中查询、键和值都是基于相应的矩阵从至注意力机制的输入导出的向量。输出被计算为值的加权和,其中分配给每个值的权重由兼容性函数计算,例如,具有对应键的查询的点积或缩放点积。通常,注意力机制确定两个序列之间的关系;自注意力机制被配置为关联同一序列中的不同位置,以确定序列的变换后的版本作为输出。注意力层输入可以包括输入序列的每个元素的向量。这些向量向自注意力机制提供输入,并由自注意力机制使用来确定注意力层输出的同一序列的新表示,其类似地包括输入序列的每个元素的向量。自注意力机制的输出可以被用作注意力层输出。
在一些实现方式中,注意力机制被配置为将每个查询变换,例如由矩阵WQ定义、键变换,例如由矩阵WK定义和值变换,例如由矩阵WV定义,应用到输入序列的每个输入向量X的注意力层,以导出相应的查询向量Q=XWQ、键向量K=XWK和值向量V=XWV,其用于确定输出的期望序列。例如,注意力机制可以是通过将每个查询向量应用于每个键向量来确定每个值向量的相应的权重而应用的点积注意力机制,然后使用相应的权重组合值向量,以确定输入序列的每个元素的注意力层输出。注意力层输出可以通过缩放因子来缩放,例如通过查询和键的维度的平方根,来实现缩放的点积注意力。因此,例如,注意力机制的输出可以被确定为其中d是键(和值)向量的维度。在另一实现方式中,注意力机制包括“附加注意力”机制,其使用具有隐藏层的前馈网络来计算兼容性函数。
注意力机制可以实现多头注意力,即可以并行应用多种不同的注意力机制。然后可以组合这些的输出,例如级联,如必要,与所应用的学习的线性变换组合以减少到原始维度。
注意力或自注意力神经网络层是包括注意力或自注意力机制(对注意力层输入进行操作以生成注意力层输出)的神经网络层。注意力子网络128可以包括单个注意力层,或者替代地包括注意力层的序列,其中除了第一个注意力层之外的每个注意力层接收来自该序列的前一注意力层的输出作为输入。
另外,在该示例中,自注意力机制能够被掩码,使得输入序列中的任何给定位置不会出现在输入序列中的给定位置之后的任何位置。例如,对于输入序列中给定位置之后的后续位置,后续位置的注意力权重被设置为零。
循环子网络136是包括一个或多个循环神经网络层的网络,例如,一个或多个长短期记忆(LSTM)层、一个或多个门控循环单元(GRU)层、一个或多个普通循环神经网络(RNN)层等。循环子网络136被配置为在多个时间步中的每一个处接收并根据循环子网络的训练参数值处理循环子网络输入,以更新对应于时间步的循环子网络的当前隐藏状态,并且被配置为生成循环子网络输出。
具体地,循环子网络输入是从注意力子网络输出130导出的。在一些实现方式中,动作选择神经网络120能够直接提供注意力子网络输出130作为至循环子网络136的输入。替代地,在一些实现方式中,动作选择神经网络120能够利用门控子网络132来组合编码器子网络124和注意力子网络128的相应的输出126和130。因此,循环子网络输入能够是动作选择神经网络120的门控子网络132的输出(“Zt”)134。
在这些实现方式中的一些中,由门控子网络132实现的门控机制是固定的求和(或级联)机制,并且门控子网络能够包括求和(或级联)层,其被配置为接收当前观察的编码表示126和注意力子网络输出130,并基于它们生成输出。例如,它可以沿着接收到的层输入的预定维度计算i)当前观察的编码表示126和ii)注意力子网络输出130的求和(或级联)。
在这些实现方式的其他实现方式中,由门控子网络132实现的门控机制是学习门控机制,其有助于更有效地组合包含在编码器子网络124和注意力子网络128的相应的输出126和130内或可以其他方式从该相应的输出导出的信息。在这些实现方式中,门控子网络132能够包括门控循环单元(GRU)层,其被配置为(即,通过训练)根据GRU层的训练后的参数值将学习后的GRU门控机制应用到i)当前观察的编码表示126和ii)注意力子网络输出130以生成门控输出,即,门控子网络输出134,然后将其作为输入馈送到循环子网络136中。下面将参考图2进一步描述使用GRU门控机制组合编码表示126和注意力子网络输出130。在一些实现方式中,能够在编码器子网络124和门控子网络132之间布置跳跃(“剩余”)连接,并且门控子网络132除了直接从注意力子网络128接收注意力子网络输出130之外,还能够被配置为通过跳跃连接接收编码表示126。
动作选择子网络140被配置为在多个时间步中的每一个处接收动作选择子网络输入,并且根据动作选择子网络140的训练后的参数值处理动作选择子网络输入以生成动作选择输出122。动作选择子网络输入包括循环子网络输出,并且在一些实现方式中,包括由编码器子网络124生成的编码表示126。在动作选择子网络输入还包括编码表示126的实现方式中,能够在编码器子网络124和动作选择子网络140之间布置跳跃连接,并且动作选择子网络140除了从循环子网络136直接接收循环子网络输出之外,还能够被配置为通过跳跃连接接收编码表示126。
然后系统100使用动作选择输出来选择由智能体在当前时间步执行的动作。接下来描述使用动作选择输出来选择要由智能体执行的动作的几个示例。
在一个示例中,动作选择输出122可以包括能够由智能体执行的可能动作集中的每个动作的相应数值概率值。系统能够选择要由智能体执行的动作,例如,通过根据动作的概率值对动作进行采样、或者通过选择具有最高概率值的动作。
在另一示例中,动作选择输出122可以例如通过定义应当应用到机器人智能体的关节的扭矩值来直接定义要由智能体执行的动作。
在另一示例中,动作选择输出122可以包括能够由智能体执行的可能动作集中的每个动作的相应Q值。系统能够处理Q值(例如,使用soft-max函数)来为每个可能的动作生成相应的概率值,该概率值能够被用于选择要由智能体执行的动作(如前所述)。系统还可以选择具有最高Q值的动作作为要由智能体执行的动作。
动作的Q值是对“回报”的估计,该回报是由智能体响应当前观察而执行动作并随后根据策略神经网络参数的当前值选择由智能体执行的未来动作而产生的。
回报是指由智能体接收到的“奖励”的累积量度,例如,奖励的按时间折扣的总和。智能体能够在每个时间步接收相应的奖励,其中奖励由标量数值指定并表征例如智能体朝向完成分配的任务的进度。
在一些情况下,系统能够根据探索策略选择要由智能体执行的动作。例如,探索策略可以是∈-贪婪探索策略,其中系统根据动作选择输出122以概率1-∈选择要由智能体执行的动作,并且以概率∈随机选择动作。在该示例中,∈是0到1之间的标量值。
下面将参考图2更详细地描述使用控制神经网络系统110控制智能体。
为了更有效地控制智能体102与环境104交互,强化学习系统100能够使用训练引擎150来训练动作选择神经网络120以确定动作选择神经网络120的参数118的训练值。
训练引擎150被配置为基于智能体102(或另一智能体)与环境108(或环境的另一实例)的交互,通过重复更新模型参数118,即,编码器子网络124、注意力子网络128、门控子网络132、循环子网络136、以及动作选择子网络140的参数值来训练动作选择神经网络120。
具体地,训练引擎150通过强化学习并且可选地还通过对比表示学习来训练动作选择神经网络120。对比表示学习意味着教导动作选择神经网络的神经网络组件——特别是注意力子网络128——在接收相应的输入时生成输出,使得动作选择神经网络,在相继地接收一对相似输入(例如,通过相似性度量来测量;例如,诸如欧几里得距离的距离度量)时,生成相应的输出,其与动作选择网络根据比一对相似输入相距更远的输入生成的相应的输出相比彼此更相似。在下面给出的示例中,对比表示学习基于训练动作子网络128,以在接收到作为由编码器子网络124在给定时间步生成的数据的掩码形式的输入时,生成输出,该输出重构由编码器子网络124在给定时间步生成的相同数据、和/或由编码器子网络124在另一时间步生成的数据。
在强化学习中,基于智能体与环境的交互来训练动作选择神经网络120,以便优化适当的强化学习目标函数。动作选择神经网络120的架构对于精确的RL训练算法的选择是不可知的,并且因此RL训练能够是在策略的(例如,在Song等人,V-mpo:On-policy maximuma-posteriori policy optimization for discrete and continuous control(用于离散和连续控制的在策略的最大后验策略优化),arXiv:1909.12238更详细描述的RL算法之一),或离策略的(例如,在Kapturowski等人,Recurrent experience replay indistributed reinforcement learning(分布式强化学习中的循环经验回放),在关于学习表示的国际会议,2018年中,更详细描述的RL算法之一)。
作为该RL训练过程的一部分,由强化学习系统100在交互期间接收到的观察108被编码成编码表示,从该编码表示生成动作选择输出122。因此,学习以生成信息丰富的编码表示是RL训练成功的一个重要因素。为此,训练引擎150评估时域对比学习目标并将其用作用于注意力子网络128的掩码预测训练的代理监督信号,即,用于训练注意力子网络128以预测注意力子网络输入的掩码部分。这样的信号旨在学习自注意力一致的表示,其包含动作选择子网络140的适当信息,以有效地合并由注意力子网络128先前观察到(或提取)的信息。
在一些实现方式中,通过利用对比表示学习技术来帮助确定参数值更新,训练引擎150提高训练过程的效率,例如,就用于训练动作选择神经网络120以达到或超过控制智能体执行给定任务当前状态性能所需的训练过程所消耗的计算资源量或挂钟时间而言。
下面将参照图3和图4更详细地描述训练动作选择神经网络120。
图2是用于控制智能体的示例过程200的流程图。为了方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,经过适当编程的强化学习系统(例如图1的强化学习系统100)能够执行过程200。
通常,系统能够在多个时间步中的每一个处重复执行过程200,以选择要由智能体在对应于时间步(下面称为“当前”时间步)的相应的环境状态(下面称为“当前”状态)执行的相应动作(下面称为“当前”动作)。
系统接收表征当前时间步的环境的当前状态的当前观察,并通过使用编码器子网络生成当前观察的编码表示(步骤202)。例如,当前观察能够包括图像、视频帧、音频数据段、自然语言的句子等。在这些示例中的一些中,观察还能够包括从先前时间步导出的信息,例如,先前执行的动作、在先前时间步接收的奖励或两者。观察的编码表示能够被表示为数值的有序集合,例如数值的向量或矩阵。
系统通过使用注意力子网络来处理包括当前观察的编码表示和一个或多个先前观察的编码表示的注意力子网络输入,以生成注意力子网络输出(步骤204)。一个或多个先前观察表征了环境的当前状态之前的一个或多个环境的先前状态,并且因此一个或多个先前观察的编码表示能够是通过使用编码器子网络在当前时间步之前的一个或多个时间步生成的编码表示。
注意力子网络能够是包括一个或多个注意力神经网络层的神经网络,并且被配置为至少部分地通过在当前观察的编码表示以及表征环境的一个或多个先前状态的一个或多个先前观察的编码表示上应用注意力机制(例如,自注意力机制)来生成注意力子网络输出。注意力机制的该使用促进了远程数据依赖性的连接,例如,跨环境不同状态的长序列的相应的观察。
更详细地,注意力子网络输入能够包括由对应于不同编码表示的多个单独输入向量组成的级联输入向量,每个编码表示在按输入顺序的多个输入位置中的每一个具有相应的输入值。为了生成注意力子网络输出,在注意力子网络中包括的每个注意力层能够被配置为接收一个或多个层输入位置中的每一个的注意力层输入(其可以类似地以向量的格式),并且针对按层输入顺序的每个具体层输入位置,使用从在该具体层输入位置的注意力层输入导出的一个或多个查询,将注意力机制应用于在层输入位置处的注意力层输入,以生成该具体层输入位置的相应的注意力层输出。
该系统生成i)当前观察的编码表示和ii)注意力子网络输出的组合,并随后提供该组合作为至循环子网络的输入。为了生成组合,系统能够利用门控子网络,该门控子网络被配置为将门控机制应用于i)当前观察的编码表示和ii)注意力子网络输出以生成循环子网络输入。例如,门控子网络能够包括门控循环单元(GRU)层,该层可配置为通过使用较少数量的层参数来应用比LSTM层复杂度较低的GRU门控机制。作为另一示例,门控子网络还可以计算i)当前观察的编码表示和ii)注意力子网络输出的求和或级联。
具体地,在前面的示例中,GRU层是一个循环神经网络层,其与具有遗忘门的长短期记忆(LSTM)层类似地执行,但参数比LSTM少,因为它缺少输出门。在一些实现方式中,该门控机制能够被适配为GRU层的更新,其在动作选择神经网络的深度上展开,而不是随着时间展开。这意味着,虽然GRU层是循环神经网络(RNN)层,但门控机制能够使用GRU层用于随时间更新其隐藏状态的相同公式,以生成在动作选择神经网络的门控子网络接收到的输入的“更新后的”组合。
在这些实现方式中,GRU层将非线性函数(诸如sigmoid激活σ())应用于接收到的层输入的加权组合,即,编码表示Yt和注意力子网络输出Xt,以分别计算重置门r并更新门z:
并且将非线性函数(诸如tanh激活tanh()应用于编码表示Yt以及重置门r和注意力子网络输出Xt之间的逐元素乘积的加权组合,以生成更新后的隐藏状态
其中和/>是根据GRU层参数的值确定的权重(或偏置),并且⊙表示逐元素乘法。然后,GRU层生成门控输出g(l)(x,y)(其能够被用作循环子网络输入),如下:
系统通过使用循环子网络来处理循环子网络输入以生成循环子网络输出(步骤206)。循环子网络能够被配置为接收循环子网络输入,并通过处理接收到的输入来更新循环子网络的当前隐藏状态,即,通过处理当前接收到的循环子网络输入来修改通过处理先前循环子网络输入已经生成的循环子网络的当前隐藏状态。在处理循环子网络输入之后更新的循环子网络的隐藏状态在下文中将被称为与当前时间步对应的隐藏状态。一旦已经生成了与当前时间步相对应的更新后的隐藏状态,系统就能够使用循环子网络的更新后的隐藏状态来生成循环子网络输出。
例如,循环子网络能够是包括一个或多个长短期记忆(LSTM)层的循环神经网络。由于其顺序的性质,LSTM层能够有效地捕获短程依赖性,例如,跨对环境最新状态的连续观察。
系统通过使用动作选择子网络来处理包括循环子网络输出的动作选择子网络输入,以生成动作选择输出,该输出被用于选择由智能体响应于当前观察而执行的动作(步骤208)。在一些实现方式中,动作选择子网络输入还包括编码表示。在这些实现方式中,为了生成动作选择子网络输入,系统能够计算i)循环子网络输出和ii)由编码器子网络在当前时间步生成的编码表示的级联。
然后,系统能够使智能体执行所选择的动作,即,通过指令智能体执行该动作或将控制信号传递给智能体的控制系统。
如上所述,能够通过强化学习结合对比表示学习来训练系统的组件。在一些实现方式中,系统维护重放缓冲器以辅助训练。重放缓冲器存储由于智能体与环境交互而生成的多个转换。每个转换表示有关智能体与环境交互的信息。
在这些实现方式中,每个转换都是一个经验元组,其包括:i)一次表征环境的当前状态的当前观察;ii)由智能体响应于当前观察而执行的当前动作;iii)下一观察,其表征智能体执行当前动作后环境的下一状态,即,由于智能体执行当前动作而环境转换到的状态;iv)响应于智能体执行当前动作而接收到的奖励。
简而言之,在这些实现方式中,RL训练能够涉及从重放缓冲器迭代地采样一个或多个转换的批次,然后使用适当的强化学习算法在采样后的转换上训练动作选择神经网络。在每次RL训练迭代期间,系统能够根据动作选择神经网络的当前参数值,使用动作选择神经网络处理每个采样后的转换中包括的当前观察,以生成动作选择输出;基于动作选择输出确定强化学习损失;并且然后,基于计算强化学习损失相对于动作选择神经网络参数的梯度,确定对动作选择网络参数的当前值的更新。
图4是确定对注意力选择神经网络的参数值的更新的示例图示。如图示,系统能够为在每个时间步(例如,时间步402A)生成的动作选择输出确定相应的强化学习损失(例如,RL损失410A)。
下面进一步描述对比表示学习,其能够被用于辅助RL训练以提高训练数据效率。
图3是用于确定对注意力选择神经网络的参数值的更新的示例过程300的流程图。为了方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,经过适当编程的强化学习系统(例如图1的强化学习系统100)能够执行过程300。
具体地,系统能够重复执行过程300以训练动作选择神经网络的编码器和注意力子网络以分别生成高质量(例如,信息性的、预测性的或两者)的编码表示和注意力子网络输出,这有助于生成高质量的动作选择输出,进而导致有效控制智能体执行给定的任务。
系统能够对从重放缓冲器采样的一个或多个转换的每一批次执行过程300的一次迭代。在每次迭代开始时,该系统能够通过根据编码器子网络的当前参数值使用编码器子网络处理当前观察来生成包括在每个采样后的转换中的当前观察的编码表示。然而,与其中编码表示被直接馈送作为至注意力子网络的输入的推理时不同,系统从编码表示生成掩码编码表示,并且随后提供掩码编码表示作为至注意力子网络的输入。
如上所述,当前观察的编码表示能够是输入向量的形式,该输入向量在按输入顺序的多个输入位置中的每一个具有相应的输入值。相反,掩码编码表示按输入顺序对在多个输入位置中的一个或多个输入位置中的每一个的相应的输入值进行掩码,即,包括代替一个或多个输入位置中的每一个处的原始输入值的固定值(例如,负无穷大、正无穷大或另一预定掩码值)。
为了生成掩码编码表示(下文称为“掩码输入向量”),系统从编码表示中选择按输入顺序的多个输入位置中的一个或多个;并且将掩码应用于选择的按输入顺序的多个输入位置中的每一个的相应的输入值,即,用每个所选择的输入位置处的固定值代替相应的输入值。例如,可以通过随机采样来执行选择,并且对于每个编码表示,固定量(例如,10%、15%或20%)的输入值可以被掩码。
该系统使用注意力子网络并根据注意力子网络的当前参数值来处理掩码输入向量,该掩码输入向量对在按输入顺序的多个输入位置中一个或多个中的每一个的相应的输入值进行掩码,以生成在按输入顺序的多个输入位置中的一个或多个中的每一个的相应的输入值的预测(步骤302)。也就是说,在对比学习训练期间,注意力子网络被训练来执行从其掩码版本重建输入向量的辅助任务。
系统评估对比学习目标函数(步骤304)。对比学习目标函数测量注意力子网络在根据处理掩码输入向量来预测掩码输入值时的对比学习损失(例如,图4的对比损失420)。
具体地,针对按输入顺序的多个输入位置中一个或多个中的每一个:对比学习目标函数可以测量i)相应的输入值的预测和ii)对应于当前观察的编码表示的输入向量中的相应的输入值之间的第一差异。该第一差异可以被称为针对“正例”评估的差异。如图4的示例所图示,在给定时间步402A,系统能够确定i)注意力子网络训练输出(“X1”)414A(其包括在输入位置处相应的输入的预测)与ii)掩码输入向量(其对最初包括在对应于给定时间步402A的观察的编码表示(“Y1”)412A中的相应的输入值进行掩码)之间的每个输入位置的相应的差异。
对比学习目标函数还可以测量i)相应的输入值的预测和ii)对应于增强的当前观察的编码表示的另一输入向量中的相应的输入值之间的第二差异。该第二差异可以被称为针对“负例”评估的差异。附加地或替代地,第二差异能够是i)相应的输入值的预测与ii)由注意力子网络根据对应于增强的当前观察的掩码输入向量生成的另一输入向量中的相应的输入值的预测之间的差异。也就是说,第二差异能够是相对于针对增强的当前观察生成的注意力子网络训练输出而评估的差异。例如,第一差异和第二差异可以根据Kullback-Leibler散度来评估。
特别地,对比表示学习通常利用数据增强技术来创建数据的组,这些数据的组能够被比较以生成有意义的训练信号。
在一些实现方式中,系统能够依赖于输入数据的顺序的性质,并且增强的当前观察能够是表征当前状态之后的环境的未来状态的未来观察。附加地或替代地,增强的当前观察能够是表征当前状态之前的环境的过去状态的历史观察。
如图4的示例所图示,在给定时间步402A,系统能够确定i)注意力子网络训练输出(“X1”)414A(包括在输入位置处的相应的输入的预测)与ii)另一输入向量中的相应的输入值(对应于在未来时间步402B接收到的未来观察的编码表示412B)之间的每个输入位置的相应的差异。附加地或替代地,系统能够确定i)注意力子网络训练输出(“X1”)414A(包括输入位置处的相应的输入值的预测)与ii)注意力子网络训练输出(“X2”)414B(包括由注意力子网络根据对应于未来时间步402B的掩码输入向量生成的另一输入向量中的相应的输入值的预测)之间的每个输入位置的相应的差异。具体地,在这些示例中,另一输入向量中的相应的输入值能够具有与对应于采样后的转换的输入向量中的相应的输入值在另一输入向量内的相同的输入位置。
在一些其他实现方式中,系统能够改为依赖基于视觉表示的增强技术,并且增强的当前观察能够例如是当前观察的几何变换或颜色空间变换的表示。
系统基于计算关于注意力子网络参数的对比学习损失的梯度来确定对注意力子网络的当前参数值的更新(步骤306)。另外,系统通过反向传播确定对编码器子网络当前参数值的更新。
在一些实现方式中,系统然后继续通过使用例如,随机梯度下降、RMSprop或Adam优化器,包括带有权重衰减的Adam(“AdamW”)优化器的传统的优化器,基于对比学习损失的梯度,来更新当前参数值。替代地,一旦已经针对整批采样后的转换执行了步骤302-306,系统仅继续更新当前参数值。换句话说,系统例如通过计算在步骤302-306的固定次数的迭代期间确定的相应的梯度的加权或未加权平均值来进行组合,并且继续基于组合后的梯度来更新当前参数值。
系统能够重复执行步骤302-306,直到满足对比学习训练终止准则,例如,在步骤302-306已经执行预定次数之后或者在对比学习目标函数的梯度已经收敛到指定值之后。
在一些实现方式中,系统能够联合地优化强化学习损失和对比学习损失。因此,在这些实现方式中,该系统例如通过计算强化学习损失和对比学习损失的加权和来进行组合,然后继续基于组合后的损失来更新当前参数值。在这些实现方式中,能够重复执行步骤302-306,直到系统的RL训练完成,例如,在强化学习目标函数的梯度收敛到指定值之后。
图5示出了能够通过使用本说明书中描述的控制神经网络系统来实现的性能提升的定量示例。具体地,图5示出了由使用图1的控制神经网络系统110控制的智能体在一系列DeepMind Lab任务上接收到的分数列表(其中更高的分数指示更大的奖励)。作为一个专为通用人工智能和机器学习系统研发而设计的平台,DeepMind Lab(https://arxiv.org/abs/1612.03801)能够被用于研究自主人工智能智能体如何在大型、部分观察以及视觉上多样化的环境中学习复杂任务。能够理解,如图所示,“coberl”智能体(对应于使用本说明书中描述的控制神经网络系统控制的智能体)通常在大多数任务上明显优于“gtrxl”智能体(对应于使用现有控制系统控制的智能体——Parisotto等人的Stabilizingtransformers for reinforcement learning(用于强化学习的稳定变换器),arXiv:1910.06764中描述的“Gated Transformer XL(门控变换器XL)”系统——其仅使用注意力机制)。
本说明书使用与系统和计算机程序组件相关的术语“被配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统来说,意味着该系统已在其上安装了在操作中使该系统执行该操作或动作的软件、固件、硬件或其组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令当由数据处理装置执行时,使该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例能够在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本说明书中公开的结构及其结构等同物,或者它们中的一种或多种的组合。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即编码在有形非暂时性存储介质上的一个或多个计算机程序指令模块,以由数据处理装置执行或控制数据处理装置的操作。计算机存储介质能够是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或者它们中的一个或多个的组合。替代地或附加地,程序指令能够被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件并且涵盖用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。该装置还能够是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还能够可选地包括为计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。
计算机程序,其也可以被称为或描述为程序、软件、软件应用、应用程序、模块、软件模块、脚本或代码,能够以任何形式的编程语言(包括编译语言或解释语言或声明性或过程性语言)编写;并且它能够以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以但不一定对应于文件系统中的文件。程序能够被存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本、专用于所讨论的程序的单个文件中、或多个协调文件中,例如,存储一个或多个模块、子程序或部分代码的文件。计算机程序能够被部署为在一个计算机或多个计算机上执行,这些计算机位于一个站点或分布在多个站点并通过数据通信网络互连。
在本说明书中,术语“数据库”广泛地用于指代任何数据集合:数据不需要以任何特定方式结构化,或者根本不需要结构化,并且它能够存储在一个或多个地点的存储设备上。因此,例如,索引数据库能够包括多个数据集合,每个数据集合可以以不同的方式组织和访问。
类似地,在本说明书中,术语“引擎”广泛地用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为一个或多个软件模块或组件,其安装在一个或多个地点的一个或多个计算机上。在某些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,能够在相同的一个或多个计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程能够由一个或多个可编程计算机来执行,该一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程还能够由专用逻辑电路(例如FPGA或ASIC)或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机能够基于通用或专用微处理器或两者,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘)接收数据或向其传输数据,或两者。然而,计算机不必须有这样的设备。此外,计算机能够被嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器器件,例如EPROM、EEPROM和闪存器件;磁盘,例如内置硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例能够在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指点设备(例如,鼠标或轨迹球,用户能够通过键盘和指点设备向计算机提供输入)的计算机上实现。其他类型的设备也能够被用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;来自用户的输入能够以任何形式接收,包括声音、语音或触觉输入。另外,计算机能够通过向由用户使用的设备发送文档以及从由用户使用的设备接收文档来与用户交互。例如,通过将网页发送到用户设备上的网络浏览器以响应从网络浏览器接收到的请求。此外,计算机能够通过向个人设备(例如,运行消息应用的智能电话)发送文本消息或其他形式的消息并从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还能够包括,例如,用于处理机器学习训练或生产的常见和计算密集型部分(即推理、工作负载)的专用硬件加速器单元。
能够使用机器学习框架,例如TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架,来实现和部署机器学习模型。
本说明书中描述的主题的实施例能够在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如,具有图形用户界面、网页浏览器或应用程序的客户端计算机,用户能够通过该应用程序与本说明书中描述的主题的实现进行交互,或者一个或多个这样的后端组件、中间件组件或前端组件的任意组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备发送数据,例如HTML页面,例如,出于向与充当客户端的设备交互的用户显示数据并从其接收用户输入的目的。在用户设备处生成的数据(例如,用户交互的结果)能够在服务器处从该设备接收。
虽然本说明书包含许多具体的实现方式细节,但这些不应被解释为对任何发明的范围或对可能要求保护的范围的限制,而是作为对具体发明的具体实施例特定的特征的描述。在本说明书中在分离的实施例的上下文中描述的某些特征也能够在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分离地或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在某些组合中起作用并且甚至最初被如此要求保护,但是在一些情况下可以从所要求保护的组合中删除来自该组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,虽然在附图中描绘了操作并且在权利要求中以具体顺序叙述了操作,这不应被理解为要求以所示的具体顺序或按次序的顺序执行此类操作,或者要求执行所有所图示的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中各个系统模块和组件的分离不应理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和系统通常能够被一起集成在单个软件产品中或者封装到多个软件产品中。
已经描述了主题的具体实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作能够以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的具体顺序或按次序的顺序来实现期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。

Claims (19)

1.一种用于控制与环境交互的智能体以执行任务的系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令当由所述一个或多个计算机执行时,使所述一个或多个计算机实现:
动作选择神经网络,所述动作选择神经网络被配置为生成用于选择要由所述智能体执行的动作的动作选择输出,所述动作选择神经网络包括:
编码器子网络,所述编码器子网络被配置为在多个时间步中的每一个处接收包括表征所述环境的当前状态的当前观察的编码器子网络输入,并且生成所述当前观察的编码表示;
注意力子网络,所述注意力子网络被配置为在所述多个时间步中的每一个处接收包括所述当前观察的编码表示的注意力子网络输入,并且至少部分地通过在所述当前观察的编码表示以及表征所述环境的一个或多个先前状态的一个或多个先前观察的编码表示上应用注意力机制来生成注意力子网络输出;
循环子网络,所述循环子网络被配置为在所述多个时间步中的每一个处接收从所述注意力子网络输出导出的循环子网络输入,以更新对应于所述时间步的所述循环子网络的当前隐藏状态,并且生成循环子网络输出;以及
动作选择子网络,所述动作选择子网络被配置为在所述多个时间步中的每一个处接收包括所述循环子网络输出的动作选择子网络输入并且生成用于选择要由所述智能体响应于所述当前观察而执行的动作的动作选择输出。
2.根据权利要求1所述的系统,其中,所述当前观察的编码表示包括输入向量,所述输入向量在按输入顺序的多个输入位置中的每一个具有相应的输入值。
3.根据权利要求2所述的系统,其中,所述注意力子网络包括多个注意力层,每个注意力层被配置为接收多个层输入位置中的每一个的注意力层输入,并且针对按层输入顺序的每个具体的层输入位置:
使用从在所述具体的层输入位置的注意力层输入导出的一个或多个查询,将所述注意力机制应用于在所述层输入位置的注意力层输入,以生成所述具体的层输入位置的相应的注意力层输出。
4.根据权利要求3所述的系统,其中,所述注意力机制是掩码注意力机制。
5.根据权利要求1-4中任一项所述的系统,其中,所述循环子网络包括一个或多个长短期记忆(LSTM)层。
6.根据权利要求1-5中任一项所述的系统,其中,所述动作选择输出包括可能的动作集中的每一个的Q值,所述Q值是如果所述智能体响应于所述当前观察而执行所述动作则将接收到的回报的估计。
7.根据权利要求1-6中任一项所述的系统,其中,所述动作选择神经网络还包括门控层,所述门控层被配置为将门控机制应用于i)所述当前观察的编码表示和ii)所述注意力子网络输出,以生成所述循环子网络输入。
8.根据权利要求7所述的系统,其中,将所述门控机制应用于i)所述当前观察的编码表示和ii)所述注意力子网络输出包括:
在i)所述当前观察的编码表示和ii)所述注意力子网络输出上应用门控循环单元(GRU)。
9.根据权利要求1-8中任一项所述的系统,其中,在所述多个时间步中的每一个处,所述注意力子网络输入包括所述当前观察的编码表示和表征所述环境的所述一个或多个先前状态的所述一个或多个先前观察的编码表示。
10.一个或多个存储有指令的计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机实现根据权利要求1-9中任一项所述的动作选择神经网络。
11.一种方法,所述方法包括根据权利要求1-9中任一项所述的动作选择神经网络被配置来执行的操作。
12.一种训练根据权利要求1-9中任一项所述的动作选择神经网络的方法,所述方法包括:
至少使用具有多个注意力子网络参数的注意力子网络来处理掩码输入向量,所述掩码输入向量对在按输入顺序的所述多个输入位置中的一个或多个中的每一个的相应的输入值进行掩码,以生成在按所述输入顺序的所述多个输入位置中的所述一个或多个中的每一个的相应的输入值的预测;
评估对比学习目标函数,所述对比学习目标函数针对按所述输入顺序的所述多个输入位置中的所述一个或多个中的每一个测量以下各项:
i)相应的输入值的预测与ii)所述当前观察的编码表示中包括的输入向量中的相应的输入值之间的第一差异,以及
i)相应的输入值的预测与ii)包括在增强的当前观察的编码表示中的输入向量中的相应的输入值之间的第二差异;以及
基于计算出的所述对比学习目标函数的梯度,确定对所述多个注意力子网络参数的当前值的更新。
13.根据权利要求12所述的方法,还包括通过以下方式生成所述掩码输入向量:
随机选择按所述输入顺序的所述多个输入位置中的所述一个或多个;以及
将掩码应用于在按所述输入顺序的所述多个输入位置中的随机选择的一个或多个中的每一个的相应的输入值。
14.根据权利要求12-13中任一项所述的方法,其中,所述增强的当前观察包括表征在所述当前状态之后的环境的未来状态的未来观察。
15.根据权利要求12-13中任一项所述的方法,其中,所述增强的当前观察包括经几何变换或色彩空间变换的当前观察。
16.根据权利要求11-15中任一项所述的方法,还包括:
使用具有多个动作选择网络参数的动作选择神经网络处理所述当前观察以生成所述动作选择输出;
基于所述动作选择输出确定强化学习损失;以及
基于所述强化学习损失,确定对所述动作选择网络参数的当前值的更新。
17.一种用于控制与环境交互的智能体以执行任务的计算机实现的方法,所述方法包括,在多个时间步中的每个时间步处:
接收编码器子网络输入,所述编码器子网络输入包括表征所述环境的当前状态的当前观察;
生成所述当前观察的编码表示;
至少部分地通过在所述当前观察的编码表示和表征所述环境的一个或多个先前状态的一个或多个先前观察的编码表示上应用注意力机制来生成注意力子网络输出;
基于从所述注意力子网络输出导出的循环子网络输入,更新与所述时间步对应的循环子网络的当前隐藏状态,并且生成循环子网络输出;以及
基于包括所述循环子网络输出的动作选择子网络输入,生成动作选择输出;
基于所述动作选择输出选择要由所述智能体执行的动作;以及
向所述智能体发送指令所述智能体执行所选择的动作的控制数据。
18.一种包括一个或多个计算机和存储有指令的一个或多个存储设备的系统,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据前述权利要求12-17中任意项的任一方法的相应的操作。
19.一种存储指令的一个或多个计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机执行根据前述权利要求12-17中任意项的任一方法的相应的操作。
CN202280013466.8A 2021-02-05 2022-02-07 具有短期记忆单元的注意力神经网络 Pending CN116848532A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163146361P 2021-02-05 2021-02-05
US63/146,361 2021-02-05
PCT/EP2022/052893 WO2022167657A2 (en) 2021-02-05 2022-02-07 Attention neural networks with short-term memory units

Publications (1)

Publication Number Publication Date
CN116848532A true CN116848532A (zh) 2023-10-03

Family

ID=80628930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280013466.8A Pending CN116848532A (zh) 2021-02-05 2022-02-07 具有短期记忆单元的注意力神经网络

Country Status (6)

Country Link
US (1) US20240095495A1 (zh)
EP (1) EP4260237A2 (zh)
JP (1) JP2024506025A (zh)
KR (1) KR20230119023A (zh)
CN (1) CN116848532A (zh)
WO (1) WO2022167657A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230107460A1 (en) * 2021-10-05 2023-04-06 Deepmind Technologies Limited Compositional generalization for reinforcement learning
CN115731498B (zh) * 2022-12-01 2023-06-06 石家庄铁道大学 一种联合强化学习和对比学习的视频摘要生成方法
CN116414093B (zh) * 2023-04-13 2024-01-16 暨南大学 基于物联网系统和强化学习的车间生产方法
CN117172085B (zh) * 2023-04-17 2024-04-26 北京市水科学技术研究院 一种pccp断丝预测方法、装置、计算机设备及介质
CN118603105B (zh) * 2024-08-08 2024-10-01 青岛理工大学 一种空地异构机器人导航方法、设备及介质

Also Published As

Publication number Publication date
US20240095495A1 (en) 2024-03-21
JP2024506025A (ja) 2024-02-08
EP4260237A2 (en) 2023-10-18
WO2022167657A2 (en) 2022-08-11
WO2022167657A3 (en) 2022-09-29
KR20230119023A (ko) 2023-08-14

Similar Documents

Publication Publication Date Title
US11663441B2 (en) Action selection neural network training using imitation learning in latent space
EP3788549B1 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
US11263531B2 (en) Unsupervised control using learned rewards
US10853725B2 (en) Neural networks with relational memory
US12067491B2 (en) Multi-agent reinforcement learning with matchmaking policies
US20240160901A1 (en) Controlling agents using amortized q learning
CN116848532A (zh) 具有短期记忆单元的注意力神经网络
WO2018224471A1 (en) Selecting actions using multi-modal inputs
US12008077B1 (en) Training action-selection neural networks from demonstrations using multiple losses
US20230144995A1 (en) Learning options for action selection with meta-gradients in multi-task reinforcement learning
JP2022504739A (ja) 時間的価値移送を使用した長いタイムスケールにわたるエージェントの制御
WO2019170905A1 (en) Training an unsupervised memory-based prediction system to learn compressed representations of an environment
US20240320506A1 (en) Retrieval augmented reinforcement learning
CN115066686A (zh) 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划
EP3788554B1 (en) Imitation learning using a generative predecessor neural network
JP2024519271A (ja) 弁別器モデルの集合を使用した強化学習
JP7467689B2 (ja) 相対エントロピーq学習を使ったアクション選択システムのトレーニング
US20230367996A1 (en) Offline Primitive Discovery For Accelerating Data-Driven Reinforcement Learning
US20240086703A1 (en) Controlling agents using state associative learning for long-term credit assignment
US20240104379A1 (en) Agent control through in-context reinforcement learning
WO2024149747A1 (en) Training reinforcement learning agents to perform multiple tasks across diverse domains
WO2023144395A1 (en) Controlling reinforcement learning agents using geometric policy composition
WO2023222885A1 (en) Large-scale retrieval augmented reinforcement learning

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