CN116134449A - 使用控制观测嵌入的辅助任务训练动作选择神经网络 - Google Patents
使用控制观测嵌入的辅助任务训练动作选择神经网络 Download PDFInfo
- Publication number
- CN116134449A CN116134449A CN202180059791.3A CN202180059791A CN116134449A CN 116134449 A CN116134449 A CN 116134449A CN 202180059791 A CN202180059791 A CN 202180059791A CN 116134449 A CN116134449 A CN 116134449A
- Authority
- CN
- China
- Prior art keywords
- embedding
- neural network
- time step
- observation
- observations
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/87—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
方法、系统和装置,包括被编码在计算机存储介质上的计算机程序,用于选择要由与环境交互的智能体执行以实现目标的动作。在一个方面,方法包括:获得表征环境状态的观测,使用嵌入模型处理观测以生成观测的较低维嵌入,基于嵌入的特定维度的值确定辅助任务奖励,至少部分地基于辅助任务奖励确定总体奖励,以及使用强化学习技术基于总体奖励确定对动作选择神经网络的多个参数的值的更新。
Description
相关申请的交叉引用
本申请要求于2020年7月28日提交的美国临时专利申请序列号63/057,795“使用控制观测嵌入的辅助任务训练动作选择神经网络”的申请日的权益,并在此通过引用整体并入。
背景技术
本说明书涉及使用机器学习模型处理数据。
机器学习模型接收输入并基于接收到的输入生成输出,例如预测输出。一些机器学习模型是参数模型,并基于接收到的输入和模型参数的值生成输出。
一些机器学习模型是深度模型,其采用多层模型为接收到的输入生成输出。例如,深度神经网络是包括输出层和一个或多个隐藏层的深度机器学习模型,每个隐藏层对接收到的输入应用非线性变换以生成输出。
发明内容
本说明书总体上描述了一种系统,该系统在一个或多个位置的一个或多个计算机上实现为计算机程序,用于训练具有多个参数的动作选择神经网络,该神经网络用于控制与环境交互的智能体。动作选择神经网络可以被配置为处理输入,该输入包括表征环境状态的观测的嵌入,以生成动作选择输出,该动作选择输出包括可以由智能体执行的一组可能动作中每个动作的相应动作分数。
贯穿本说明书,实体的“嵌入”(例如,环境的观测)可以是指实体作为数值的有序集合的表示,例如数值的向量或矩阵。可以生成实体的嵌入,例如,作为处理表征实体的数据的神经网络的输出。
根据第一方面,提供了一种用于训练具有多个参数的动作选择神经网络的方法,该方法用于选择要由与环境交互的智能体执行的动作,其中动作选择神经网络被配置为处理包括表征环境状态的观测的输入以生成动作选择输出,该动作选择输出包括可以由智能体执行的一组可能动作中每个动作的相应动作分数,并基于动作分数从一组可能动作中选择要由智能体执行的动作。该方法包括获得表征在一时间步处的环境状态的观测,使用嵌入模型处理观测以生成观测的较低维嵌入,其中观测的较低维嵌入具有多个维度,基于嵌入的特定维度的值确定时间步的辅助任务奖励,其中辅助任务奖励与控制嵌入的特定维度的值的辅助任务相对应,至少部分地基于时间步的辅助任务奖励确定时间步的总体奖励,以及使用强化学习技术,基于时间步的总体奖励,确定对动作选择神经网络的多个参数的值的更新。
在一些实施方式中,控制嵌入的特定维度的值的辅助任务包括最大化或最小化嵌入的特定维度的值。
在一些实施方式中,确定时间步的辅助任务奖励包括确定表征多个时间步中的每个时间步处的环境状态的相应观测的嵌入的特定维度的最大值,确定表征所述多个时间步中的每个时间步处的环境状态的相应观测的嵌入的特定维度的最小值,以及基于以下因素确定时间步的辅助任务奖励:(i)在该时间步处的嵌入的特定维度的值,(ii)与嵌入的特定维度相对应的最大值,以及(iii)与嵌入的特定维度相对应的最小值。
在一些实施方式中,确定时间步的辅助任务奖励包括确定以下的比率:(i)与嵌入的特定维度相对应的最大值和在该时间步处的嵌入的特定维度的值之间的差,以及(ii)与嵌入的特定维度相对应的最大值和最小值之间的差。
在一些实施方式中,确定时间步的辅助任务奖励包括确定以下的比率:(i)在该时间步处的嵌入的特定维度的值和与嵌入的特定维度相对应的最小值之间的差,以及(ii)与嵌入的特定维度相对应的最大值和最小值之间的差。
在一些实施方式中,方法进一步包括根据任务选择策略从一组可能的辅助任务中选择控制嵌入的特定维度的值的辅助任务,其中每个可能的辅助任务与控制嵌入的相应维度的值相对应。
在一些实施方式中,强化学习技术是离策略强化学习技术。
在一些实施方式中,嵌入模型包括随机矩阵,并且使用嵌入模型处理观测包括:将随机矩阵应用于观测的向量表示以生成观测的投影,以及将非线性激活函数应用于观测的投影。
在一些实施方式中,该方法进一步包括通过将观测展平成向量来生成观测的向量表示。
在一些实施方式中,嵌入模型包括嵌入神经网络。
在一些实施方式中,嵌入神经网络包括自动编码器神经网络的编码器神经网络。
在一些实施方式中,自动编码器神经网络是变分自动编码器(VAE)神经网络。
在一些实施方式中,变分自动编码器神经网络是β变分自动编码器(β-VAE)神经网络。
在一些实施方式中,使用嵌入模型处理观测以生成观测的较低维嵌入包括:使用编码器神经网络处理观测以生成定义潜在空间上的概率分布的参数,以及基于潜在空间上的概率分布的均值确定观测的较低维嵌入。
在一些实施方式中,观测包括图像并且观测的较低维嵌入包括图像中的多个关键点中的每一个的相应坐标。
在一些实施方式中,观测包括图像并且观测的较低维嵌入包括表征图像中的空间颜色分布的一组统计。
在一些实施方式中,该方法进一步包括确定与环境中的智能体正在执行的主要任务相对应的时间步的主要任务奖励,以及基于时间步的辅助任务奖励和时间步的主要任务奖励确定时间步的总体奖励。
在一些实施方式中,智能体是与真实世界环境交互的机械智能体,并且由智能体执行的主要任务包括物理地操纵环境中的对象。
在一些实施方式中,观测包括图像,并且其中使用嵌入模型处理观测以生成观测的较低维嵌入包括:处理图像以生成一组多个注意力掩码,其中每个注意力掩码定义了图像的相应区域,并且注意力掩码共同定义了图像的分区:通过处理(i)注意力掩码和(ii)图像,使用自动编码器神经网络的编码器神经网络为每个注意力掩码生成相应的嵌入,以及基于每个注意力掩码的相应嵌入的组合确定观测的较低维嵌入。
根据第二方面,提供了一种系统,包括:一个或多个计算机;以及被通信耦合到所述一个或多个计算机的一个或多个存储设备,其中所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行任何前述的方面的相应方法的操作。
根据第三方面,提供了存储指令的一个或多个非暂时性计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机执行任一前述方面的相应方法的操作。
可以实施本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个。
本说明书中描述的系统可以训练动作选择神经网络,该神经网络用于使用来自一个或多个辅助任务的辅助任务奖励来控制与环境交互的智能体。每个辅助任务可以与控制(例如,最大化或最小化)使用嵌入模型生成的环境观测的嵌入的相应维度的值相对应。使用辅助任务奖励训练动作选择神经网络可以鼓励智能体有效地探索环境,并且从而可以加速智能体执行“主要”(例如,主)任务的训练,例如,在环境中物理操纵对象。特别是,使用辅助任务奖励可以使智能体通过更少的训练迭代和使用比其他方式所需的更少的训练数据在主要任务上达到可接受的性能水平,并且因此可以减少训练期间的计算资源消耗。计算资源可以包括例如存储器和计算能力。
本说明书中描述的系统可用于加速用于控制机器人或其他机械智能体的动作选择神经网络的训练。例如,系统可以在模拟数据上训练动作选择神经网络,例如表征模拟机器人与模拟环境的交互。该系统可以通过鼓励机器人通过学习执行辅助任务——例如,控制模拟观测嵌入的维度——来有效探索其模拟环境,从而加速动作选择神经网络在模拟数据上的训练。在模拟数据上被训练后,经过训练的动作选择神经网络可以被部署来控制真实世界机器人在真实世界环境中高效地执行任务。因此,提供了用于选择要由与真实世界环境交互的智能体执行的动作的方法,包括执行用于基于模拟(或真实世界)的环境的观测来训练具有多个参数的动作选择神经网络的方法的第一阶段,随后是基于真实世界环境的观测使用经过训练的动作选择网络来选择智能体在与真实环境交互时执行的动作的一个或多个步骤的第二阶段。在每个阶段,对真实世界环境的观测是由感测真实世界环境的传感器(例如相机)获得的。
本说明书中描述的系统可以使用辅助任务训练动作选择神经网络,这能够需要最少的手动设计工作。特别是,系统用户无需由专家手动设计的辅助任务(这能够既困难又耗时),只需指定用于生成观测嵌入的嵌入模型。大量传统嵌入模型,例如变分自动编码器,是可轻松获得的而无需手动设计工作。
本说明书的主题的一个或多个实施例的细节在附图和下面的说明书中阐述。从说明书、附图和权利要求中,主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是包括动作选择神经网络的示例动作选择系统的框图。
图2是示例嵌入模型的框图。
图3是用于训练动作选择神经网络的示例过程的流程图。
各种附图中相同的附图标记和名称指示相同的元件。
具体实施方式
图1示出了可以控制与环境106交互的智能体104的示例动作选择系统100。动作选择系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中,下面描述的系统、组件和技术被实现。
系统100选择要由智能体104在多个时间步中的每个时间步与环境106交互以完成目标(也称为“主要”任务)执行的动作102。在每个时间步,系统100接收表征环境106的当前状态的数据并且响应于接收到的数据选择要由智能体104执行的动作102。表征环境106的状态的数据在本说明书中将被称为观测110并且可以包括例如图像或任何其他适当的数据。在一些情况下,智能体104可以是例如机器人,并且观测110可以包括例如关节位置、速度和扭矩,或任何其他适当的数据,如下文将更详细地描述的。在每个时间步,环境106在该时间步的状态(如观测110所表征)取决于环境106在先前时间步的状态和由智能体104在先前时间步执行的动作102。
在每个时间步,系统100可以基于环境106的当前状态和智能体104在该时间步的动作102接收主要任务奖励108。通常,主要任务奖励108可以表示为数值。主要任务奖励108可以基于环境106中的任何事件或环境106的方面。例如,主要任务奖励108可以指示智能体104是否已经完成主要任务(例如,以期望的方式物理地操纵环境中的对象)或智能体104完成主要任务的进度。在系统100选择由智能体104在该时间步要执行的动作102之后,智能体104通过执行动作102与环境106交互,并且系统100可以基于交互接收主要任务奖励108。
在一些情况下,动作选择系统100可以仅在智能体104已成功完成主要任务时接收非零主要任务奖励108,或者接收非零主要任务奖励108的实例在其他情况下与由智能体104在训练过程期间执行的动作102的数目相比时能够相对较少。换言之,在智能体104能够从环境106接收关于其在主要任务上的性能的任何反馈——例如,以非零主要任务奖励的形式——之前,可以要求智能体104执行多个动作102。例如,如果智能体104是物理机械臂,并且主要任务是捡起物理对象,则可以要求机械臂首先成功执行中间任务,诸如到达并抓取对象,在其能够成功举起对象之前(例如,以成功执行主要任务)。在缺失来自环境106的任何中间反馈(例如,以非零主要任务奖励的形式)的情况下,训练智能体104执行主要任务能够花费相当数量的时间。
因此,在每个时间步,除了基于智能体104与环境106的交互接收主要任务奖励108之外,系统100还可以接收(例如,生成)一个或多个辅助任务奖励119,这些辅助任务奖励119可以表征智能体104在执行一个或多个辅助(例如,内在或中间)任务时的性能。适当定义的辅助任务可以促进探索并改进智能体104在主要任务上的性能。辅助任务可以由人类专家确定,这能够需要相当数量的设计工作,尤其是在机器人系统领域。然而,通过使用嵌入模型150作为动作选择系统100的一部分,可以自动确定适当的辅助任务和相关联的辅助任务奖励119,如将在接下来更详细地描述的。
可以基于表征环境106的当前状态的观测110来确定辅助任务。具体地,在每个时间步,可以由嵌入模型150处理观测110以生成具有特定数目维度(例如,2、16、32或100维)的较低维嵌入118并且辅助任务可以与控制嵌入的至少一个特定维度的值相对应。通常,“嵌入”指的是数值的有序集合,诸如数值的向量或矩阵,并且“较低维”指示嵌入118具有比观测110更小数目的维度。
嵌入模型150可以生成观测110的“压缩”结构化表示,其可以由动作选择神经网络120更有效地处理。在一些实施方式中,系统100可以使用多个嵌入模型150,并将由嵌入模型150中的每一个生成的每个相应的较低维嵌入118提供给动作选择神经网络120。系统100可以使用相同类型的嵌入模型150或不同类型的嵌入模型150来生成较低维嵌入118。
举例来说,在每个时间步,嵌入模型150可以处理高维观测110(例如,具有64×64像素维度的图像)以生成表示例如图像中多个关键点中的每一个(例如,在图像的参考系中)的x和y坐标的相应值的嵌入118。通常,“关键点”是指图像中被预测具有期望属性的位置(例如,由空间二维坐标表示),例如,图像中的关键点可以被定位于一个或多个对象、对象的部分、和/或在环境中独立移动的实体上。
在这个示例中,对于这组关键点中的每个关键点,第一辅助任务可以是,例如,控制嵌入的x坐标的值,并且第二辅助任务可以是,例如,控制嵌入的y坐标的值。因此,在每个时间步,除了朝着解决主要任务前进(这可能会或可能不会导致系统在该时间步接收到主要任务奖励108)之外,智能体104还可以朝着解决一个或两个辅助任务前进并且系统100可以接收表征智能体104在辅助任务中的性能的相应辅助任务奖励119。提供以上示例仅用于说明目的,并且嵌入的维数以及辅助任务和辅助任务奖励119的对应数目可以取决于特定类型的嵌入模型150,如下面将更详细地参考图2描述的。
控制嵌入的特定维度的值的每个辅助任务可以包括例如使嵌入的特定维度的值最大化或最小化。例如,如果x是在该时间步处接收到的观测110,并且zi(x)表示由嵌入模型150生成的嵌入z的特定维度i的值,则辅助任务可以是,对于嵌入的每个维度i,使嵌入maxx(zi(x))的值最大化或使嵌入minx(zi(x))的值最小化。
在每个时间步处,基于(i)嵌入在该时间步的特定维度的值zi(x),(ii)嵌入的特定维度的最大值maxx(zi(x)),以及(iii)嵌入的特定维度的最小值minx(zi(x)),系统100可以确定与每个辅助任务相关联的辅助任务奖励119。例如,给定在该时间步处接收到的观测x,以及由智能体在该时间步处执行的动作a,与max和min辅助任务中的每一个相关联的嵌入z的维度i的辅助任务奖励ri可以是以下中的任一个:
其中range(zi)是归一化因子,其表示嵌入zi(x)的特定维度i的最大值maxx(zi(x))与嵌入zi(x)的特定维度i的最小值minx(zi(x))之间的差异。
在一个示例中,嵌入的特定维度的最大值和最小值可以在动作选择系统100的训练期间在先前时间步上接收到的观测的特定窗口(例如,数目或范围)上确定。在另一个示例中,嵌入的特定维度的最大值和最小值可以在作为预训练嵌入模型150的结果——例如,在训练动作选择系统100之前并且独立于训练动作选择系统作为训练嵌入模型150的结果——生成的观测和嵌入的训练数据集上确定。
在一些实施方式中,控制嵌入的特定维度的值的辅助任务可以包括将嵌入的特定维度的值转向目标值。目标值可以例如随机选择或由系统的用户指定,并且可以例如随时间改变。
如上所述,在每个时间步,系统100可以接收表征智能体104朝着实现主要目标的进程的主要任务奖励108,并且附加地接收表征智能体104在一个或多个辅助任务的性能的一个或多个辅助任务奖励119。在每个时间步,动作选择系统100可以进一步至少部分地基于所述一个或多个辅助任务奖励119来确定总体奖励。该时间步的总体奖励可以是例如主要任务奖励和一个或多个辅助任务奖励119的线性组合。
在一些实施方式中,动作选择神经网络120可以包括一个或多个“共享”神经网络层,随后是:(i)与主要任务相对应的“头部”,以及(ii)与每个辅助任务相对应的相应“头部”(“头部”是指一组一个或多个神经网络层,例如,一个序列的完全连接的神经网络层,或任何其他适当的神经网络层)。共享神经网络层被配置为处理动作选择神经网络输入以生成动作选择神经网络输入的共享表示,即,其在所有头部之间共享。与主要任务相对应的头部被配置为处理共享表示以生成用于选择用于执行主要任务的动作的动作选择输出。与每个辅助任务相对应的相应头部被配置为处理共享表示以生成用于选择用于执行辅助任务的动作的动作选择输出。
系统可以使用主要任务奖励来训练与主要任务相对应的动作选择神经网络的“主要任务头部”,即通过将基于主要任务奖励的强化学习目标的梯度通过主要任务头部反向传播到共享神经网络层。系统可以使用相应的辅助任务奖励类似地训练与每个辅助任务相对应的动作选择神经网络的每个“辅助任务头部”,即通过将基于辅助任务奖励的强化学习目标函数的梯度通过辅助任务头部反向传播到共享神经网络层。系统可以因此训练动作选择神经网络的共享神经网络层,以使用主要任务奖励和辅助任务奖励两者来生成有效的并且提供有用信息的动作选择表示。
在一些实施方式中,系统100可以根据任务选择策略从一组可能的辅助任务中选择特定的辅助任务。任务选择策略可以优化辅助任务的选择,从而使智能体104在主要任务上的性能最大化。任务选择策略可用于选择新的辅助任务,例如,在每次智能体在预定义数目的时间步上与环境交互之后,或每次智能体完成目标(例如,主要任务)时。在“选择”特定辅助任务之后,特定辅助任务用于在与该辅助任务相关联的辅助任务奖励119上训练动作选择神经网络120。
任务选择策略可以具有两个阶段。在第一阶段,例如,在接收到任何非零主要任务奖励之前,系统100可以从一组可能的辅助任务中采样辅助任务作为“替代”主要任务。系统100可以将某些辅助任务排除在替代主要任务的考虑之外,例如,系统可以排除辅助任务,对于这些辅助任务,仅零值奖励已经先前被收到,或者对于这些辅助任务,高奖励(例如,其超过预定义阈值)已经在环境的初始状态下被实现。系统根据剩余候选组的辅助任务(即,其尚未被排除在替代主要任务的考虑之外)的概率分布(例如,均匀分布)对替代主要任务进行采样。在选择了替代主要任务后,系统可以根据这组可能任务(即包括主要任务和每个辅助任务)上的概率分布来选择任务。系统可以确定这组可能任务中每个任务的相应分数作为在使用与任务相对应的动作选择神经网络来选择动作时为替代主要任务接收的(例如,沿着存储在重放存储器中的轨迹计算的)平均奖励。系统可以然后使用分数确定在一组可能任务上的概率分布,例如,通过使用soft-max函数处理分数。因此,在一些实施方式中,在第一阶段中系统100可以选择任务以加速替代主要任务的学习。
在第二阶段,例如,在一个或多个时间步已经接收到非零主要任务奖励后,系统100可以选择任务以加速主要任务的学习(例如,代替加速替代主要任务的学习)。例如,当使用与辅助任务相对应的动作选择神经网络头部选择动作时,系统可以确定每个辅助任务的分数作为为主要任务接收的(例如,沿着重放存储器中的轨迹计算的)平均奖励。系统然后可以使用分数确定辅助任务上的概率分布,例如,通过使用soft-max函数处理分数。因此,在一些实施方式中,在第二阶段中系统100可以选择任务以加速主要任务的学习。
在每个时间步,动作选择神经网络120可以处理嵌入118以生成动作选择输出122,该输出122可以包括可以由智能体104执行的一组可能动作中每个动作的相应分数。系统100使用由动作选择神经网络120在该时间步处生成的动作选择输出122,选择要由智能体104在该时间步处执行的动作102。例如,系统100可以根据动作选择输出122选择具有最高分数的动作作为由智能体在该时间步处要执行的动作102。
在一些实施方式中,系统100根据探索策略选择要由智能体执行的动作102。例如,系统100可以使用∈贪婪探索策略。在该示例中,系统100可以以概率1-∈选择具有最高分数的动作(根据动作选择输出122),并以概率∈随机选择动作,其中∈是0和1之间的数字。
动作选择神经网络120可以具有使其能够执行其描述的函数的任何适当的神经网络架构。例如,动作选择神经网络可以包括以任何适当的配置(例如,作为层的线性序列)连接的任何适当的神经网络层(例如,卷积层、完全连接层、循环层、注意力层等)。
训练引擎112可以使用观测110和对应的整体奖励来使用强化学习技术训练动作选择系统100。训练引擎112通过迭代地调整动作选择神经网络120的参数以及可选地调整嵌入模型150的参数来训练动作选择系统100。训练引擎112可以通过迭代地反向传播强化学习目标函数(例如,Q学习目标函数、策略梯度目标函数或任何其他适当的强化学习目标函数)的梯度通过动作选择系统100来调整动作选择系统100的参数。通过训练动作选择系统100,训练引擎112可以使动作选择系统100选择增加由动作选择系统100接收的总体奖励的累积度量(例如,长期时间折扣累积总体奖励)的动作,并使智能体104更有效地完成其主要目标(例如,通过更少的时间步)。
动作选择系统100可以进一步包括重放存储器114,其被实现为例如逻辑数据存储区域或物理数据存储设备。存储器114可以存储与多个先前时间步中的每一个相对应的相应“经验元组”(例如,存储器114可以存储当前时间步之前的每个时间步的相应经验元组)。时间步的经验元组是指表征智能体104在先前时间步与环境106的交互的数据。例如,先前时间步的经验元组可以包括以下的相应嵌入(表示):(i)先前时间步的观测110,(ii)智能体104在先前时间步执行的动作102,(iii)由智能体在先前时间步执行的动作导致的后续观测,以及(iv)在先前时间步的总体奖励(其可以包括,例如,主要任务奖励108和一个或多个辅助任务奖励119)。
在一些实施方式中,训练引擎112可以使用离线强化学习技术在重放存储器114中存储的经验元组上训练动作选择神经网络120。也就是说,当动作选择神经网络120的参数与它们在当前时间步的值不同时,动作选择神经网络120基于与对应时间步相关的多个经验元组在任何给定的当前时间步被训练。这些对应的时间步可以包括导致当前环境状态的一个序列的时间步中的先前时间步;和/或在与环境交互的先前会话期间的时间步(时间步的序列),例如从环境的不同初始状态开始。示例离策略强化学习技术参考以下描述:Abdolmaleki,Abbas etal.,“Relative entropy regularized policy iteration,”arXivpreprint arXiv:1812.02256(2018)。
接下来将更详细地描述可能的智能体、环境和主要任务的示例。
在一些实施方式中,环境106是真实世界环境并且智能体是与真实世界环境交互的机械智能体,例如在真实世界环境内移动(通过在环境中平移和/或旋转,和/或改变其配置)和/或修改真实世界的环境。例如,智能体可以是与环境交互的机器人,例如,以执行在环境中定位感兴趣对象的主要任务,将感兴趣对象移动到环境中的指定位置,以指定的方式在环境中物理地操纵感兴趣对象,或导航到环境中的指定目的地;或者智能体可以是自主或半自主的陆地、空中或海上载具,其执行通过环境导航到环境中的指定目的地的主要任务。
在这些实施方式中,观测110可以包括例如图像、对象位置数据和传感器数据中的一个或多个,以在智能体与环境106交互时捕获观测,例如来自图像、距离或位置传感器或来自执行器的传感器数据。
例如,在机器人的情况下,观测110可以包括表征机器人当前状态的数据,例如以下中的一个或多个:关节位置、关节速度、关节力、扭矩或加速度,例如重力补偿扭矩反馈,以及由机器人持有的项目的全局或相对姿势。
在机器人或其他机械智能体或载具的情况下,观测110可以类似地包括智能体的一个或多个部分的位置、线速度或角速度、力、扭矩或加速度以及全局或相对姿态中的一个或多个。观测110可以在1、2或3维中定义,并且可以是绝对和/或相对观测。
观测110还可以包括例如由感测真实世界环境的多个传感器设备中的一个获得的数据;例如,感测的诸如电机电流或温度信号的电子信号;和/或例如来自相机或激光雷达(LIDAR)传感器的图像或视频数据,例如来自智能体的传感器的数据或来自与环境106中的智能体分开定位的传感器的数据。
在电子智能体的情况下,观测110可以包括来自一个或多个传感器的数据,所述一个或多个传感器监视工厂或服务设施的一部分,诸如电流、电压、功率、温度和其他传感器和/或表示设备的电子和/或机械项目的运转的电子信号。
动作102可以是控制机器人或其他机械智能体的控制输入,例如机器人关节的扭矩或更高级别的控制命令,或自主或半自主的陆地或空中或海上载具,例如控制载具的表面或其他控制元件的扭矩或更高级别的控制命令。因此,观测可能与真实世界环境有关,而所选动作可能与机械智能体要执行的动作有关。动作选择神经网络120用于控制机械智能体执行任务,同时通过从感测真实世界环境的一个或多个传感器获得观测并使用策略输出来选择动作以控制机械智能体——例如以执行主要任务——来与真实世界环境交互。
换言之,动作可以包括例如机器人的一个或多个关节或另一个机械智能体的部件的位置、速度或力/扭矩/加速度数据。动作可以附加地或可替代地包括诸如电机控制数据的电子控制数据,或更一般地用于控制环境106内的一个或多个电子设备的数据,其控制对环境106的观测状态具有影响。例如在自主或半自主的陆地、空中或海上载具的情况下,动作可以包括控制导航——例如转向——和移动——例如载具的制动和/或加速——的动作。
在一些实施方式中,环境106是模拟环境106并且智能体被实现为与模拟环境106交互的一个或多个计算机。
例如,模拟环境106可以是机器人或载具的模拟,并且动作选择网络可以在该模拟上被训练。例如,模拟环境106可以是运动模拟环境106,例如驾驶模拟或飞行模拟,并且智能体可以是执行通过运动模拟导航的主要任务的模拟载具。在这些实施方式中,动作可以是控制输入以控制模拟用户或模拟载具。
在另一个示例中,模拟环境106可以是视频游戏并且智能体可以是玩视频游戏的模拟用户。
在进一步的示例中,模拟环境106可以是蛋白质折叠环境106,使得每个状态是蛋白质链的相应状态并且智能体是用于确定如何折叠蛋白质链的计算机系统。在该示例中,动作是用于折叠蛋白质链的可能折叠动作,并且要实现的目标可以包括例如折叠蛋白质使得蛋白质稳定并使得其实现特定的生物学功能。
一般而言,在模拟环境106的情况下,观测可以包括先前描述的观测或观测类型中的一个或多个的模拟版本,并且动作可以包括先前描述的动作或动作类型中的一个或多个的模拟版本。
在一些情况下,动作选择系统100可用于控制智能体104与模拟环境106的交互,并且训练引擎可以基于智能体104与模拟环境106的交互(例如,使用强化学习技术)来训练动作选择系统的参数。在基于智能体104与模拟环境106的交互来训练动作选择系统100之后,可以将智能体104部署在真实世界环境中,并且经过训练的动作选择系统可用于控制智能体104与真实世界环境的交互。基于智能体104与模拟环境106(即,代替真实世界环境)的交互来训练动作选择系统可以避免智能体104的磨损,并且可以降低通过执行选择不当的动作,智能体104可能够损坏自身或其环境106的方面的似然性。
在一些其他应用中,智能体104可以控制真实世界环境中的动作,包括设备项目,例如在数据中心或电网干线电力或配水系统中,或者在制造工厂或服务设施中。观测然后可能与工厂或设施的操作有关。例如,观测可以包括对设备用电或用水的观测,或对发电或配电控制的观测,或对资源使用或浪费产生的观测。例如通过减少资源使用,和/或减少环境106中操作的环境影响,例如通过减少浪费,智能体104可以控制环境106中的动作以实现提高效率的目标。这些动作可以包括在工厂/设施的设备项目上控制或施加操作条件的动作,和/或导致改变工厂/设施操作中的设置的动作,例如以调整或打开/关闭工厂/设施的组件。
在一些进一步的应用中,环境106是真实世界环境并且智能体104管理任务跨计算资源——例如在移动设备上和/或数据中心中的分布。在这些实施方式中,动作可以包括将任务分配给特定的计算资源,并且要实现的目标可以包括将使用指定的计算资源完成一组任务所需的时间最小化。
作为进一步的示例,动作可以包括呈现广告,观测可以包括广告印象或点击计数或率,并且奖励可以表征由一个或多个用户对项目或内容的先前选择。在此示例中,要实现的目标可以包括使由所述一个或多个用户对项目或内容的选择最大化。
可选地,在任何上述实施方式中,在任何给定时间步的观测可以包括来自先前时间步的数据,这些数据能够有利于表征环境,例如,在先前时间步执行的动作,在先前时间步接收到的奖励等。
接下来将更详细地描述可以用作动作选择系统100的一部分以处理观测110并生成较低维嵌入118的示例嵌入模型150。
图2是可以被包括在参考图1描述的动作选择系统100中的示例嵌入模型200的框图。嵌入模型是作为计算机程序在一个或多个位置的一个或多个计算机上实现的系统示例,其中实现了下述系统、组件和技术。
每个嵌入模型被配置为处理表征环境(例如,图1中的环境106)的当前状态的观测210(例如,图1中的观测110)以生成观测210的较低维嵌入270。如上所述,在每个时间步,动作选择系统可以接收一个或多个辅助任务奖励,每个辅助任务奖励与控制由一个或多个示例嵌入模型200生成的较低维嵌入270的特定维度的值相对应。示例嵌入模型200可以包括随机投影模型220、关键点模型230、变分自动编码器模型240和颜色分割模型260,下面将更详细地描述其中的每一个。嵌入模型200仅出于说明目的而提供,并且其他类型的嵌入模型200可用于生成观测210的较低维嵌入270。在图1的系统的一些形式中,仅提供嵌入模型220、230、240、260中的一个作为嵌入模型150。在图1的系统的其他形式中,在动作选择系统100中提供了多个嵌入模型220、230、240、260,并且在不同时间使用多个嵌入模型220、230、240、260中对应的不同一个作为图1的嵌入模型150,如下所述。
随机投影模型220可以被配置为将高维输入投影到较低维子空间上,从而生成较低维嵌入270。具体而言,模型220可以通过将随机矩阵应用到(例如,通过将图像展平为向量获得的)图像的向量表示以生成图像的投影来处理观测。随机矩阵可以包括多个条目,其中每个条目是从概率分布——例如,标准正态分布——中采样的。通常,图像可以表示为例如“像素”阵列,其中每个像素与图像中的相应空间位置相关联并且与表示该空间位置处的图像数据的一个或多个数值的相应向量相对应。例如,2D RGB图像可以由2D像素阵列表示,其中每个像素都与相应的值的3D向量相关联,这些值表示与图像中像素相对应的空间位置处的红色、绿色和蓝色的强度。
由随机投影模型220使用的随机矩阵M能够具有维数为(d,h×w×3),其中h是图像的高度,w是图像的宽度,并且d是嵌入的大小,并且3的因子仅在图像的每个像素具有对应数目的颜色强度值(即RGB)的情况下呈现。在将随机矩阵M应用于图像的向量表示之后,随机投影模型220可以将非线性激活函数——例如,双曲正切函数tanh——应用于投影。得到的嵌入z可以被表示为:
z=tanh(M×flatten(I)) (3)
其中M是随机矩阵,I是图像,并且flatten(I)是图像的向量表示。示例随机投影模型参考以下描述:Bingham,E.,and Mannila,H.:“Random projection in dimensionalityreduction:applications to image and text data,”Proceedings of the Seventh ACMSIGKDD International Conference on Knowledge Discovery and Data Mining,pp.245-250.2001。
关键点模型230可以被配置为处理包括图像的观测210以生成较低维嵌入270,其包括图像中多个关键点235中的每一个的相应坐标。如上所述,“关键点”通常是指图像中被预测具有某些期望属性的位置(例如,空间二维坐标)。例如,图像中的关键点可以被定位于例如一个或多个对象、对象的部分和/或环境中独立移动的实体上。例如,关键点模型230可以处理图像并生成具有维度K×2的较低维嵌入,其中K表示图像中的对象的数目并且可以例如由系统的用户手动指定。
关键点模型230可以被实现为具有神经网络架构的神经网络,该神经网络架构使其能够执行所描述的功能并且可以使用例如监督学习或强化学习技术来被训练。在一些实施方式中,可以独立于动作选择神经网络来训练关键点模型230。关键点模型的示例参考:T.D.Kulkarni,A.Gupta,C.Ionescu,S.Borgeaud,M.Reynolds,A.Zisserman,and V.Mnih,“Unsupervised learning of object keypoints for perception and control,”inNeurIPS,2019,pp.10 723-10 733。
变分自动编码器模型240可以被配置为处理观测210(例如,图像)以生成定义潜在空间上的概率分布的参数,并且基于概率分布245在潜在空间上的均值来确定较低维嵌入270。通常,变分自动编码器可以实现为包括编码器神经网络和解码器神经网络的神经网络架构。编码器神经网络可以处理观测210以生成定义潜在变量空间上的分布的一组参数,例如,定义多变量高斯分布在d维欧几里德空间上的均值和方差。解码器神经网络可以从潜在空间上的概率分布中采样潜在,并处理采样的潜在以重建观测210。
由变分自动编码器模型240生成的较低维嵌入可以是例如由编码器神经网络通过处理观测生成的分布的均值。在一些实施方式中,可以独立于动作选择神经网络来训练变分自动编码器模型240。示例变分自动编码器架构参考:Higgins,Irina,et al.,“beta-VAE:Learning basic visual concepts with a constrained variational framework,”(2016)and Burgess,Christopher P.,et al.,“Monet:Unsupervised scenedecomposition and representation,”arXiv preprint arXiv:1901.11390(2019)。
在一些实施方式中,作为使用变分自动编码器模型240生成表示为图像的观测的嵌入的一部分,系统可以处理图像以生成一组多个注意力掩码。每个注意力掩码定义了图像的相应区域,并且注意力掩码共同定义了图像的分区,即,使得图像中的每个像素被包括在恰好由一个注意力掩码定义的对应区域中。每个注意力掩码被预测为定义图像的语义上有意义的区域,例如,与相应对象相对应的图像区域,或与背景相对应的图像区域。在这些实施方式中,变分自动编码器模型可以被配置为通过处理包括以下两者的输入来生成与每个注意力掩码相对应的相应嵌入(如上所述):(i)注意力掩码,和(ii)图像。系统然后可以将图像的总体嵌入定义为为每个注意力掩码生成的相应嵌入的组合(例如,连结)。参考以下更详细地描述了联合训练分割神经网络和变分自动编码器的示例技术:Burgess,Christopher P.,et al.,“Monet:Unsupervised Scene Decomposition andRepresentation,”arXiv preprint arXiv:1901.11390(2019)。
颜色分割模型260被配置为处理观测210(例如,图像)以生成较低维嵌入270,其包括表征图像中的空间颜色分布265的一组统计。空间颜色分布265可以与例如图像中感兴趣的对象相关联。
通常,感兴趣的对象可以由图像中的一组像素表示,其中每个像素与红色、绿色和蓝色的特定强度(或强度范围)相关联。颜色分割模型260可以分割图像,使得它仅包括表示感兴趣对象的那些像素。换言之,模型260可以生成仅包括具有高于特定阈值的红色、绿色和蓝色强度(或强度范围)的那些像素的二元掩码。
在生成图像的二元掩码后,颜色分割模型260可以确定二元掩码在图像中沿x和y轴的空间分布,并选择沿每个轴的空间分布的均值作为图像中感兴趣的对象的表示。图像中的每个对象(例如,与相应的颜色或颜色范围相对应)可以被表示为具有二维的嵌入,其中第一维是图像中二元掩码沿x轴的空间分布的均值,并且第二维是图像中二元掩码沿y轴的空间分布的均值。可以手动估计和指定表示图像中感兴趣对象的特定颜色(或颜色范围)。示例颜色分割模型参考以下描述:Hertweck,Tim,et al.,“Simple SensorIntentions for Exploration,”arXiv preprint arXiv:2005.07541(2020)。
图3是用于训练动作选择神经网络的示例过程300的流程图。为方便起见,过程300将被描述为由被定位于一个或多个位置的一个或多个计算机的系统执行。例如,动作选择系统,例如根据本说明书适当编程的图1的动作选择系统100,可以执行过程300。
该系统获得表征环境在一时间步处的状态的观测(302)。观测可以是例如图像。
系统使用嵌入模型处理观测以生成观测的较低维嵌入(304)。观测的较低维嵌入可以包括多个维度。例如,如果观测是图像,则观测的较低维嵌入可以包括例如图像中多个关键点中的每一个的相应坐标,或者表征图像中空间颜色分布的一组统计。嵌入模型可以包括随机矩阵,并且使用嵌入模型处理观测可以包括将随机矩阵应用于观测的向量表示以生成观测的投影(例如,通过将观测展平为向量)和将非线性激活函数应用到观测的投影。
在一些实施方式中,嵌入模型包括嵌入神经网络,该嵌入神经网络包括自动编码器神经网络(例如,变分自动编码器神经网络,诸如β-VAE神经网络)的编码器神经网络。在这样的实施方式中,使用嵌入模型处理观测以生成观测的较低维嵌入可以包括使用编码器神经网络处理观测以生成定义潜在空间上的概率分布的参数,以及基于潜在空间上概率分布的均值确定观测的较低维嵌入。
系统基于嵌入的特定维度的值确定时间步的辅助任务奖励(306)。辅助任务奖励可以与控制嵌入的特定维度的值的辅助任务相对应并且可以包括使嵌入的特定维度的值最大化或最小化。确定该时间步的辅助任务奖励可以包括,在多个时间步的每一个,确定特定嵌入维度的最大值,确定特定嵌入维度的最小值,以及基于以下确定该时间步的辅助任务奖励:(i)嵌入在该时间步处的特定维度的值,(ii)最大值,以及(iii)最小值。
在一些实施方式中,确定时间步的辅助任务奖励可以包括确定以下的比率:(i)与嵌入的特定维度相对应的最大值和在该时间步处的嵌入的特定维度的值之间的差,以及(ii)与嵌入的特定维度相对应的最大值和最小值之间的差,例如,如上文参考等式(1)所描述的。
在一些实施方式中,确定时间步的辅助任务奖励可以包括确定以下的比率:(i)在该时间步处嵌入的特定维度的值和与嵌入的特定维度相对应的最小值之间的差,以及(ii)与嵌入的特定维度相对应的最大值和最小值之间的差,例如,如上文参考等式(2)所描述的。
系统至少部分地基于时间步的辅助任务奖励来确定时间步的总体奖励(308)。在一些实施方式中,系统可以确定与由智能体在环境中正在执行的主要任务相对应的时间步的主要任务奖励,并基于时间步的辅助任务奖励以及时间步的主要任务奖励确定该时间步的总体奖励。
系统使用强化学习技术基于时间步的总体奖励来确定对动作选择神经网络的多个参数值的更新(310)。强化学习技术可以包括离策略强化学习技术。
在一些实施方式中,该方法进一步可以包括根据任务选择策略从一组可能的辅助任务中选择控制嵌入的特定维度的值的辅助任务,其中每个可能的辅助任务与控制嵌入的相应维度的值相对应。如所讨论的,辅助任务可以从预先确定的一组可能的辅助任务中选择,例如在每个时间步随机选择,或者根据更复杂的任务选择策略选择。
本说明书使用与系统和计算机程序组件相关的术语“被配置”。对于要被配置为执行特定的操作或动作的一个或多个计算机的系统意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中导致系统执行这些操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序意味着所述一个或多个程序包括当由数据处理装置执行时使该装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本说明书中公开的结构和它们的结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备,或者它们中的一个或多个的组合。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以编码信息以便传输到合适的接收器装置以由数据处理装置执行。
术语“数据处理装置”是指数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如构成处理器固件的代码、协议栈、数据库管理系统、操作系统,或者它们中的一个或多个的组合。
计算机程序,其也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码,可以以任何形式的编程语言编写,包括编译或解释性语言,或声明性或程序性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以但不需要与文件系统中的文件相对应。程序可以被存储在保存其他程序或数据的文件的一部分中,例如,一个或多个脚本,其被存储在标记语言文档中,专用于所讨论程序的单个文件中,或多个协调文件中,例如,存储一个或多个模块、子程序或部分代码的文件。计算机程序可以被部署在一个计算机上执行,也可以被部署在被定位于一个站点或跨多个站点分布并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”被广泛地用于指代基于软件的系统、子系统或被编程为执行一个或多个特定功能的过程。通常,引擎将被实现为一个或多个软件模块或组件,其被安装在一个或多个位置的一个或多个计算机上。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在相同的一个或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,所述计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,例如FPGA或ASIC,或者由专用逻辑电路和一个或多个编程计算机的组合执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于施行或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或合并到专用逻辑电路中。通常,计算机还将包括或被可操作地耦合以从用于存储数据的一个或多个大容量存储设备——例如,磁盘、磁光盘或光盘——接收数据或向其传输数据或两者。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入到另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪速驱动器,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器,和键盘以及定点设备,例如鼠标或轨迹球,用户可以通过其向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向由用户使用的设备发送文档和从其接收文档来与用户交互;例如,响应于从Web浏览器接收到的请求通过向用户设备上的Web浏览器发送网页。此外,计算机可以通过向个人设备——例如,正在运行消息传递应用的智能手机——发送文本消息或其他形式的消息来与用户交互,并且作为回复接收来自用户的响应消息。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或产生的公共和计算密集部分,即推理、工作负载。
可以使用机器学习框架,例如TensorFlow框架,来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器,或包括中间件组件,例如应用服务器,或包括前端组件,例如具有图形用户界面、Web浏览器或应用的客户端计算机,用户可以通过其与本说明书中描述的主题的实施方式进行交互,或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质——例如通信网络——互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器的关系是由于计算机程序在相应的计算机上运行并且彼此具有客户端-服务器关系而产生的。在一些实施例中,服务器将例如HTML页面的数据传输到用户设备,例如,为了向与充当客户端的设备交互的用户显示数据和从与充当客户端的设备交互的用户接收用户输入。可以在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。
虽然本说明书包含许多具体的实施方式细节,但这些不应被解释为对任何发明的范围或可以要求保护的范围的限制,而是作为对特定发明的特定实施例特定的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管特征可以在上面被描述为以特定组合起作用,并且甚至最初像这样要求保护,但是在一些情况下,可以从组合中删除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然操作在附图中以特定次序描述并在权利要求中叙述,但这不应理解为要求以所示的特定次序或依次顺序执行这样的操作,或者执行所有图示的操作,以达到期望的结果。在某些情况下,多任务处理和并行处理能够是有利的。另外,上述实施例中各种系统模块和组件的分离不应理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起被集成在单个软件产品中,或者被封装成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的次序执行并且仍然达到期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定次序或依次顺序来达到期望的结果。在一些情况下,多任务和并行处理能够是有利的。
Claims (21)
1.一种用于训练具有多个参数的动作选择神经网络的方法,所述方法用于选择要由与环境交互的智能体执行的动作,其中,所述动作选择神经网络被配置为处理包括表征所述环境状态的观测的输入以生成动作选择输出,所述动作选择输出包括能够由智能体执行的一组可能动作中每个动作的相应动作分数,并且基于所述动作分数从所述一组可能动作中选择要由所述智能体执行的动作,所述方法包括:
获得表征在一时间步处的所述环境状态的观测;
使用嵌入模型处理所述观测以生成所述观测的较低维嵌入,其中,所述观测的较低维嵌入具有多个维度;
基于所述嵌入的特定维度的值确定所述时间步的辅助任务奖励,其中,所述辅助任务奖励与控制所述嵌入的所述特定维度的值的辅助任务相对应;
至少部分地基于所述时间步的所述辅助任务奖励来确定所述时间步的总体奖励;以及
使用强化学习技术,基于所述时间步的所述总体奖励,确定对所述动作选择神经网络的所述多个参数的值的更新。
2.根据权利要求1所述的方法,其中,控制所述嵌入的所述特定维度的值的所述辅助任务包括使所述嵌入的所述特定维度的值最大化或最小化。
3.根据权利要求2所述的方法,其中,确定所述时间步的所述辅助任务奖励包括:
确定表征在多个时间步中的每个时间步处的环境状态的相应观测的嵌入的特定维度的最大值;
确定表征在所述多个时间步中的每个时间步处的环境状态的相应观测的嵌入的特定维度的最小值;以及
基于以下确定所述时间步的所述辅助任务奖励:(i)在所述时间步处的所述嵌入的所述特定维度的值,(ii)与所述嵌入的所述特定维度相对应的最大值,以及(iii)与所述嵌入的所述特定维度相对应的最小值。
4.根据权利要求3所述的方法,其中,确定所述时间步的所述辅助任务奖励包括:
确定以下的比率:(i)与所述嵌入的所述特定维度相对应的所述最大值和在所述时间步处的所述嵌入的所述特定维度的值之间的差,以及(ii)与所述嵌入的所述特定维度相对应的所述最大值和所述最小值之间的差。
5.根据权利要求3所述的方法,其中,确定所述时间步的所述辅助任务奖励包括:
确定以下的比率:(i)在所述时间步处的所述嵌入的所述特定维度的值和与所述嵌入的所述特定维度相对应的所述最小值之间的差,以及(ii)与所述嵌入的所述特定维度相对应的所述最大值和所述最小值之间的差。
6.根据任一前述权利要求所述的方法,进一步包括:根据任务选择策略从一组可能的辅助任务中选择控制所述嵌入的所述特定维度的值的辅助任务,其中每个可能的辅助任务与控制所述嵌入的相应维度的值相对应。
7.根据任一前述权利要求所述的方法,其中,所述强化学习技术是离策略强化学习技术。
8.根据任一前述权利要求所述的方法,其中,所述嵌入模型包括随机矩阵,并且使用所述嵌入模型处理所述观测包括:
将所述随机矩阵应用于所述观测的向量表示以生成所述观测的投影;以及
将非线性激活函数应用于所述观测的所述投影。
9.根据权利要求8所述的方法,进一步包括通过将所述观测展平成向量来生成所述观测的向量表示。
10.根据权利要求1至7中的任一项所述的方法,其中,所述嵌入模型包括嵌入神经网络。
11.根据权利要求10所述的方法,其中,所述嵌入神经网络包括自动编码器神经网络的编码器神经网络。
12.根据权利要求11所述的方法,其中,所述自动编码器神经网络是变分自动编码器(VAE)神经网络。
13.根据权利要求12所述的方法,其中,所述变分自动编码器神经网络是β变分自动编码器(β-VAE)神经网络。
14.根据权利要求12至13中的任一项所述的方法,其中,使用所述嵌入模型处理所述观测以生成所述观测的所述较低维嵌入包括:
使用所述编码器神经网络处理所述观测以生成定义潜在空间上的概率分布的参数;以及
基于所述潜在空间上的所述概率分布的均值来确定所述观测的所述较低维嵌入。
15.根据权利要求1至7中的任一项所述的方法,其中,所述观测包括图像并且所述观测的所述较低维嵌入包括所述图像中的多个关键点中的每一个的相应坐标。
16.根据权利要求1至7中的任一项所述的方法,其中,所述观测包括图像并且所述观测的所述较低维嵌入包括表征所述图像中的空间颜色分布的一组统计。
17.根据任一前述权利要求所述的方法,进一步包括:
确定与所述环境中的所述智能体正在执行的主要任务相对应的时间步的主要任务奖励;以及
基于所述时间步的所述辅助任务奖励和所述时间步的所述主要任务奖励来确定所述时间步的总体奖励。
18.根据权利要求17所述的方法,其中,所述智能体是与真实世界环境交互的机械智能体,并且由所述智能体正在执行的所述主要任务包括物理地操纵所述环境中的对象。
19.根据权利要求11所述的方法,其中,所述观测包括图像,并且其中,使用所述嵌入模型处理所述观测以生成所述观测的所述较低维嵌入包括:
处理所述图像以生成一组多个注意力掩码,其中,每个注意力掩码定义了所述图像的相应区域,并且所述多个注意力掩码共同定义了所述图像的分区;
通过处理(i)每个注意力掩码和(ii)所述图像,使用所述自动编码器神经网络的所述编码器神经网络为所述注意力掩码生成相应的嵌入;以及
基于每个注意力掩码的相应嵌入的组合来确定所述观测的所述较低维嵌入。
20.一种系统,包括:
一个或多个计算机;以及
被通信地耦合到所述一个或多个计算机的一个或多个存储设备,其中所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至19中的任一项所述的相应方法的操作。
21.存储指令的一个或多个非暂时性计算机存储介质,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至19中的任一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063057795P | 2020-07-28 | 2020-07-28 | |
US63/057,795 | 2020-07-28 | ||
PCT/EP2021/071078 WO2022023385A1 (en) | 2020-07-28 | 2021-07-27 | Training action selection neural networks using auxiliary tasks of controlling observation embeddings |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116134449A true CN116134449A (zh) | 2023-05-16 |
Family
ID=77226799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180059791.3A Pending CN116134449A (zh) | 2020-07-28 | 2021-07-27 | 使用控制观测嵌入的辅助任务训练动作选择神经网络 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230290133A1 (zh) |
EP (1) | EP4158544A1 (zh) |
JP (1) | JP2023536126A (zh) |
KR (1) | KR20230025885A (zh) |
CN (1) | CN116134449A (zh) |
WO (1) | WO2022023385A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11900244B1 (en) * | 2019-09-30 | 2024-02-13 | Amazon Technologies, Inc. | Attention-based deep reinforcement learning for autonomous agents |
US20220054033A1 (en) * | 2020-08-21 | 2022-02-24 | X Development Llc | Eeg signal representations using auto-encoders |
KR20230147908A (ko) * | 2022-04-15 | 2023-10-24 | 삼성전자주식회사 | 오픈 소스 라이선스를 검증하는 전자 장치 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3602409B1 (en) * | 2017-06-05 | 2023-11-01 | Deepmind Technologies Limited | Selecting actions using multi-modal inputs |
-
2021
- 2021-07-27 US US18/016,746 patent/US20230290133A1/en active Pending
- 2021-07-27 JP JP2023506026A patent/JP2023536126A/ja active Pending
- 2021-07-27 EP EP21751552.7A patent/EP4158544A1/en active Pending
- 2021-07-27 WO PCT/EP2021/071078 patent/WO2022023385A1/en unknown
- 2021-07-27 CN CN202180059791.3A patent/CN116134449A/zh active Pending
- 2021-07-27 KR KR1020237001958A patent/KR20230025885A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
EP4158544A1 (en) | 2023-04-05 |
US20230290133A1 (en) | 2023-09-14 |
KR20230025885A (ko) | 2023-02-23 |
JP2023536126A (ja) | 2023-08-23 |
WO2022023385A1 (en) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111417964B (zh) | 异策略行动者-评价者强化学习方法和系统 | |
CN110651279B (zh) | 利用学徒来训练动作选择神经网络 | |
CN110168560B (zh) | 用于场景理解和生成的方法、系统和介质 | |
US20210192358A1 (en) | Graph neural network systems for behavior prediction and reinforcement learning in multple agent environments | |
CN110520868B (zh) | 用于分布式强化学习的方法、程序产品和存储介质 | |
CN110799992B (zh) | 使用模拟和域适配以用于机器人控制 | |
US11714996B2 (en) | Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy | |
US11992944B2 (en) | Data-efficient hierarchical reinforcement learning | |
CN116134449A (zh) | 使用控制观测嵌入的辅助任务训练动作选择神经网络 | |
US11714990B2 (en) | Jointly learning exploratory and non-exploratory action selection policies | |
US20220261639A1 (en) | Training a neural network to control an agent using task-relevant adversarial imitation learning | |
CN116210030A (zh) | 基于半监督关键点的模型 | |
CN115066686A (zh) | 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划 | |
US20230214649A1 (en) | Training an action selection system using relative entropy q-learning | |
US20240189994A1 (en) | Real-world robot control using transformer neural networks | |
WO2024129898A1 (en) | Real-world robot control using transformer neural networks | |
WO2023057511A1 (en) | Hierarchical latent mixture policies for agent control | |
WO2023222885A1 (en) | Large-scale retrieval augmented reinforcement learning | |
WO2023237635A1 (en) | Hierarchical reinforcement learning at scale |
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 |