CN110447041B - 噪声神经网络层 - Google Patents
噪声神经网络层 Download PDFInfo
- Publication number
- CN110447041B CN110447041B CN201880018376.1A CN201880018376A CN110447041B CN 110447041 B CN110447041 B CN 110447041B CN 201880018376 A CN201880018376 A CN 201880018376A CN 110447041 B CN110447041 B CN 110447041B
- Authority
- CN
- China
- Prior art keywords
- noise
- layer
- current value
- parameter
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- 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/047—Probabilistic or stochastic 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
Abstract
方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于选择由强化学习代理要执行的动作。该方法包括获得表征环境的当前状态的观察。对于神经网络的每个噪声层的每个层参数确定相应的噪声值。对于每个噪声层的每个层参数,从层参数的当前值、相应噪声参数的当前值和噪声值,确定层参数的噪声当前值。根据噪声当前值使用神经网络处理网络输入,以生成网络输入的网络输出。使用网络输出从代理响应于观察要执行的可能动作集合中选择动作。
Description
技术领域
本说明书涉及强化学习。
背景技术
在强化学习系统中,代理通过执行由强化学习系统响应于接收表征环境的当前状态的观察而选择的动作来与环境交互。
一些强化学习系统根据神经网络的输出,响应于接收给定观察,选择由代理执行的动作。
神经网络是机器学习模型,它使用一层或多层非线性单元来预测接收的输入的输出。除了输出层之外,一些神经网络是包括一个或多个隐藏层的深度神经网络。每个隐藏层的输出用作网络中下一层(即下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集合的当前值从接收的输入生成输出。
发明内容
本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的强化学习系统。
根据第一方面,提供了一种训练神经网络的方法。神经网络被配置为接收网络输入并处理网络输入以生成网络输出。神经网络包括多个层,每个层具有各自的层参数。神经网络的一个或多个层是噪声层。该方法包括:维持指定所述多个层中的每个层的每个层参数的当前值的数据,并且对于每个噪声层的每个层参数,维持层参数的相应噪声参数的当前值。获得训练网络输入。为每个噪声层的每个层参数确定相应的噪声值。从层参数的当前值、相应噪声参数的当前值和噪声值,为每个噪声层的每个层参数确定层参数的噪声当前值。根据噪声当前值使用神经网络处理训练输入,以生成对于训练输入的网络输出。确定目标函数的梯度,该梯度取决于关于层参数的当前值和噪声参数的当前值的网络输出。从梯度确定对层参数的当前值和噪声参数的当前值的更新。
稍后描述该方法的一些优点。在一些实现方式中,对每个噪声层的每个层参数,从所述层参数的当前值、所述对应噪声参数的当前值和所述噪声值确定所述层参数的噪声当前值,包括:将噪声参数应用于噪声值以生成噪声修改器。将噪声修改器和当前值相加以生成层参数的噪声值。例如,可以通过噪声参数的仿射函数、噪声值和当前参数确定层参数的噪声当前值。这些方法便利了便于深度探索的噪声扰动,具有非常少的附加参数。
在一些实现方式中,对每个噪声层的每个层参数确定相应的噪声值包括:从预定分布中采样噪声值。
在一些实现方式中,对每个噪声层的每个层参数确定相应的噪声值包括:对于每个噪声层,从一个或多个预定分布中采样预定数量的噪声值。对于每个噪声层的每个层参数,通过组合噪声层的两个或更多个采样噪声值来生成参数的噪声值。仅通过示例,可通过确定每个采样噪声值的函数、然后确定函数的乘积来执行组合。
所描述的技术不对预定的噪声分布施加任何约束(其通常不具有任何学习的参数)。然而,仅作为示例,这种预定分布可以包括正态分布。
在以下描述的一些示例中,噪声层的层参数的当前值由变量c表示;相应噪声参数的当前值为σ;噪声值是ε;并且层参数的噪声当前值为n。在一些示例实现方式中,可以使用n=c+σ·ε来确定n的值。
在一些实现方式中,所述神经网络用于选择由与环境交互的强化学习代理执行的动作。
在一些实现方式中,所述网络输入包括表征所述环境的状态和来自动作集合的动作的观察,并且所述网络输出是在所述强化学习代理响应于所述观察执行所述动作的情况下接收的返回的估计。
在一些实现方式中,所述网络输入包括表征所述环境状态的观察,并且所述网络输出定义了所述代理响应于所述观察要执行的可能动作集合中的动作的似然分布。
在一些实现方式中,所述多个层还包括不是噪声层的一个或多个层,并且其中使用所述神经网络处理所述训练输入包括根据所述噪声当前值和非噪声层的层的层参数的当前值处理所述训练输入,以生成对于训练输入的网络输出。
在一些实现方式中,所述一个或多个噪声层包括一个或多个全连接层。
在一些实现方式中,所述一个或多个噪声层包括一个或多个卷积层。
在一些实现方式中,所述一个或多个噪声层包括一个或多个递归神经网络层。
根据第二方面,提供了一种选择要由使用神经网络与环境交互的强化学习代理执行的动作的方法。所述神经网络具有多个层。每个层具有多个层参数。所述多个层包括一个或多个噪声层。所述方法包括:维持指定所述多个层中的每个层的每个层参数的当前值的数据,并且对于每个噪声层的每个层参数,维持层参数的相应噪声参数的当前值。获得表征环境的当前状态的观察。生成包括观察的神经网络的网络输入。为每个噪声层的每个层参数确定相应的噪声值。从层参数的当前值、相应噪声参数的当前值和噪声值,为每个噪声层的每个层参数确定层参数的噪声当前值。根据噪声当前值使用神经网络处理网络输入,以生成网络输入的网络输出。使用网络输出从代理响应于观察要执行的可能动作集合中选择动作。
在一些实现方式中,所述网络输入还包括来自所述可能动作集合的动作,并且所述网络输出是在所述强化学习代理响应于所述观察而执行所述动作的情况下所接收的返回的估计。
在一些实现方式中,所述网络输出定义所述可能动作集合中的动作的似然分布。
在一些实现方式中,所述网络输出识别来自所述可能动作集合的动作。
在一些实现方式中,所述目标函数还取决于所述训练网络输入的目标输出。
根据第三方面,提供了一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行上述方法的操作。
根据第四方面,提供了一种或多种计算机存储介质,存储指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行上述方法的操作。
可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。
本说明书中描述的强化学习系统基于由神经网络生成的网络输出来选择由与环境交互的代理要执行的动作。神经网络包括一个或多个噪声层,并通过根据噪声层参数的噪声值处理网络输入来生成网络输出。噪声层参数的噪声值是噪声值对噪声层参数的当前值的学习扰动。通过根据噪声层参数的噪声值生成网络输出,神经网络驱动代理探索环境,从而改善代理在完成任务(例如,导航到环境中的目标位置)中的性能。
与一些传统的探索策略(如ε-贪婪的探索策略)相比,本说明书中描述的系统实施的探索策略(即通过神经网络的噪声层)取决于每个时间步骤的环境的状态。当环境状态处于比其他状态更少观察的状态时,这可以通过更积极地探索来使代理能够更有效地探索。更积极地探索是指执行的行动更有可能与在没有探索策略时选择执行的行动不同。也就是说,更积极地探索是指根据噪声层参数的当前值(而不是噪声层参数的噪声值),执行更可能与基于由神经网络生成的网络输出将被选择执行的动作不同的动作。
在本说明书中描述的强化学习系统中,对权重矢量的改变可以在多个时间步骤中产生复杂的、依赖于状态的策略变化。因此,该系统可以提供权重噪声到策略变化的结构化转换,其具有很少的附加参数和很少的计算成本,促进深度探索并因此更快地训练和改善最终结果。在一些实现方式中,在更新权重(层参数和噪声参数)之前,可以针对多个时间步长固定权重扰动(噪声值和噪声参数)。在一些实现方式中,使用来自强化学习目标的梯度更新来学习噪声分布。
由本说明书中描述的系统实现的探索策略可以直接从代理与环境交互的经验中学习。更具体地,在训练期间通过用于训练神经网络的层参数的相同目标函数的梯度自动调整噪声参数的值,该噪声参数控制噪声层参数的当前值对噪声层参数的噪声值的扰动有多强。因此,系统可以自动学习如何调整代理探索环境的积极程度。例如,当系统更多地了解环境时,可以自动调整噪声参数的值以减少代理探索的活跃程度,从而使系统能够更有效地利用在先前探索中学习的关于环境的信息。相反,一些传统的探索策略(例如,ε-贪婪的探索策略)不包括用于学习如何从代理与环境交互的经验中探索的任何机制。
此外,由本说明书中描述的系统实现的探索策略不需要修改用于训练神经网络的目标函数。相反,一些传统的探索策略例如,通过向目标函数添加鼓励动作选择策略更加熵的项来修改目标函数。通过修改目标函数,这些传统的探索策略可以使得系统在训练期间学习的动作选择策略选择不优化系统接收的返回的动作,并且通过扩展,不优化代理完成任务的性能。因此,由本说明书中描述的系统实现的探索策略可以使系统学习动作选择策略,该动作选择策略导致选择导致代理比使用一些传统探索策略的系统更有效地执行任务的动作。
至少由于先前描述的优点,可以训练实现本说明书中描述的探索策略的系统,以比实施传统探索策略的系统更快地实现可接受的性能水平。因此,实现本说明书中描述的探索策略的系统可以在训练期间比实现传统探索策略的系统消耗更少的计算资源(例如,存储器和计算能力)。
在特定示例中,如本说明书中描述的强化学习系统可以选择由与真实世界环境交互的机器人(例如,机械代理)执行的动作。例如,机器人可以在制造环境中执行任务(例如,组装电子组件)或在仓库环境中执行任务(例如,在仓库中运输包裹)。通过使用如本说明书中描述的强化学习系统选择机器人要执行的动作,可以训练机器人以更快地实现可接受的性能水平并且可以比通过传统系统选择由机器人执行的动作更容易地适应先前看不见的环境条件。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是示例神经网络系统的图示。
图2是用于使用具有一个或多个噪声层的神经网络选择要由代理执行的动作的示例处理的流程图。
图3是用于训练具有一个或多个噪声层的神经网络的示例处理的流程图。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
图1示出了示例强化学习系统100。强化学习系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中实现下面描述的系统、组件和技术。
强化学习系统100在多个时间步骤中的每一个处选择要由与环境106交互的代理104执行的动作102。在每个时间步骤,系统100接收表征环境106的当前状态的数据,例如环境106的图像,并且响应于接收的数据选择要由代理104执行的动作102。表征环境106的状态的数据在本说明书中将被称为观察(observation)108。
这里描述的系统100可广泛应用,并且不限于一种特定实现方式。然而,出于说明性目的,下面描述了少量示例实现方式。
在一些实现方式中,环境106是现实世界环境,并且代理104是与现实世界环境交互的机械代理。例如,代理104可以是与环境106交互以完成特定任务的机器人。作为另一示例,代理104可以是在环境106中导航的自主或半自主车辆。在这些实现方式中,动作102可以是控制输入以控制机器人或自主车辆。在这些实现中的一些中,观察108可以由代理104的传感器生成或从代理104的传感器导出。例如,观察108可以由代理104的相机捕获。作为另一示例,观察108可以从自代理104的激光传感器捕获的数据导出。作为另一示例,观察108可以是由代理104的高光谱传感器捕获的高光谱图像。
在一些实现方式中,环境106是工业设施,并且代理104是用于工业设施的控制系统。例如,代理104可以是控制数据中心的温度的温度控制系统。在该示例中,动作102可以是控制数据中心的温度的控制输入,诸如控制冷却数据中心的风扇叶片的旋转速度的控制输入。
在一些实现方式中,环境106可以是模拟环境,并且代理104可以实现为与模拟环境交互的一个或多个计算机程序。例如,模拟环境106可以是视频游戏,并且代理104可以是玩视频游戏的模拟用户。作为另一示例,模拟环境106可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理104是在运动模拟环境中导航的模拟车辆。在这些实现方式中,动作102可以是控制模拟用户或模拟车辆的控制输入。
在每个时间步骤,在该时间步骤(由观察108表征)的环境106的状态取决于前一时间步骤的环境106的状态和由代理104在前一时间步骤执行的动作102。
在每个时间步骤,系统100可以在该时间步骤基于环境106的当前状态和代理104的动作102接收奖励。通常,奖励是数值。奖励可以基于环境106的任何事件或方面。例如,奖励可以指示代理104是否已完成任务(例如,导航到环境106中的目标位置)或代理104朝向完成任务的进度。
在每个时间步骤,系统100使用由神经网络112通过处理网络输入114生成的网络输出110来选择代理104在该时间步骤要执行的动作102。网络输入114包括表征在该时间步骤环境106的状态的观察108、以及在一些实现方式中(如稍后将更详细描述的)来自可由代理104执行的可能动作集合的动作。
在一些实现方式中,网络输出110定义可能动作集合中的动作的似然分布。例如,网络输出110可以包括可能动作集合中的每个动作的相应数字似然值。在这些实现方式中的一些中,系统100通过基于似然分布从可能动作集合中采样动作来选择要由代理104执行的动作102。例如,系统100可以处理通过soft-max函数定义似然分布的似然值,以确定可能动作集合上的概率分布。在确定可能动作集合上的概率分布之后,系统100可以通过根据概率分布从可能动作集合中采样动作来选择要由代理104执行的动作102。作为另一示例,网络输出110可包括定义参数概率分布的参数(例如,正态分布的均值和标准偏差)的相应数值。在该示例中,可能动作集合可以是连续集合(例如,连续范围的实数)。系统100可以基于由网络输出110定义的参数概率分布,通过从可能动作集合中采样动作来选择要由代理104执行的动作102。
在一些实现方式中,网络输出110从可能动作集合中识别动作。例如,如果代理104是机器人代理,则网络输出110可以识别要应用于代理104的关节的扭矩。在这些实现方式中的一些中,系统100选择由网络输出110识别的动作为要由代理104执行的动作102。
在一些实现方式中,网络输入包括观察108和来自可能动作集合的给定动作,并且网络输出110是在代理104响应于观察108执行给定动作的情况下将由系统100接收的返回的估计。返回指的是当代理104在多个时间步骤上与环境106交互时由系统100接收的奖励的累积度量。例如,返回可以指系统100接收的长期时间折扣奖励。在这些实现方式中的一些中,对于可能动作集合中的每个动作,系统100向神经网络112提供网络输入114,其包括动作和表征该时间步骤中的环境的状态的观察108。对于可能动作集合中的每个动作,神经网络112处理包括动作和观察108的网络输入114,以生成在代理104响应于观察108执行动作的情况下将由系统100接收的返回的估计。系统可以从可能动作集合中的所有动作中选择在该时间步骤要由代理104执行的动作102,作为具有最高估计返回的动作。
神经网络112包括多个神经网络层(例如,神经网络层116、118和120)。神经网络层包括一个或多个噪声神经网络层(例如,有噪声的神经网络层118),并且可选地包括一个或多个传统的神经网络层。
噪声神经网络层和传统神经网络层都被配置为接收层输入并根据一个或多个层参数处理层输入以生成层输出。例如,层参数可以定义权重矩阵和偏置矢量。在该示例中,层可以通过将层输入(例如,表示为数值的矢量)乘以权重矩阵并将偏置矢量与结果相加来处理层输入以生成层输出。噪声层和传统层都可以实现为全连接层、卷积层、递归层或任何其他配置。
虽然传统层根据层参数122的当前值处理层输入,但是噪声层根据层参数124的噪声当前值处理层输入。系统100通过随机扰动噪声层的层参数122的当前值来确定噪声层的层参数124的噪声当前值。更具体地,对于给定的噪声层,系统100通过使用(i)噪声层的随机噪声值126和(ii)噪声层的噪声参数128的当前值,随机扰动层参数122的当前值来确定噪声层的层参数124的噪声当前值。如将参考图2进一步描述的,每个噪声参数128对应于噪声层的相应层参数。噪声参数128的当前值可以控制相应层参数124的噪声当前值与相应层参数122的当前值的差异。系统100通过噪声引擎130确定噪声层的层参数的噪声值126。噪声引擎130通过从一个或多个概率分布中采样来确定噪声值126(如下面将参考图2进一步描述的)。
系统100维持指定神经网络112的每层的每个层参数122的当前值的数据,并且对于每个噪声层的每个层参数,维持用于层参数的对应噪声参数128的当前值。系统100可以在例如物理数据存储设备或逻辑数据存储区域中维持指定层参数122的当前值和噪声参数128的当前值的数据。
系统100包括训练引擎132,被配置为在多次训练迭代中训练神经网络112。训练引擎132通过迭代地(即,在每次训练迭代)调整层参数122的当前值和噪声参数128的当前值来训练神经网络112。通过训练神经网络112,训练引擎132可以使神经网络112生成网络输出110,其导致选择将由代理104执行的动作102,其增加系统100接收的奖励的累积度量。通过增加系统100接收的奖励的累积度量。(例如,长期时间折扣奖励),训练引擎132使代理104更有效地执行给定任务。
训练引擎132基于包括多个经验元组134的集合的训练数据训练神经网络112。每个经验元组包括指示以下的数据:(i)观察;(ii)由代理104响应于观察执行的动作;(iii)响应于代理执行动作接收的奖励;以及(iv)表征作为代理执行动作的结果环境转换到的状态的下一观察。该经验元组134的集合可以包括在线经验元组、离线经验元组或两者。在线经验元组是指这样的经验元组,其中基于由神经网络112根据层参数122的当前值和噪声参数128的当前值生成的网络输出110来选择经验元组中包括的动作。相反,离线经验元组指的是这样的经验元组,其中可能没有基于由神经网络112根据层参数122的当前值和噪声参数128的当前值生成的网络输出110来选择经验元组中包括的动作。例如,可以基于由神经网络112根据层参数的先前值和噪声参数的先前值(即在训练期间已经调整过的值)生成的网络输出110来选择包括在离线经验元组中的动作。
在每次训练迭代时,训练引擎132选择经验元组并从经验元组获得训练网络输入114。例如,当神经网络112被配置为接收包括观察和动作的网络输入时,训练引擎132可以使用经验元组中包括的观察-动作对作为训练网络输入114。系统100确定神经网络112的噪声层的层参数的噪声当前值124,并且训练引擎132将训练网络输入114提供给神经网络112。神经网络112根据噪声层参数的噪声当前值124处理训练网络输入114,以生成训练网络输入114的网络输出110。
接下来,训练引擎132确定损失函数的梯度138,所述梯度取决于关于层参数122的当前值和噪声参数128的当前值的网络输出110(并且在一些情况下,目标输出136)。通常,目标输出136是应该由神经网络112响应于处理训练网络输入114而生成的网络输出。训练引擎132使用梯度138来更新层参数122的当前值和噪声参数128的当前值,如将参考图3进一步描述的那样。
系统100通过基于由神经网络112根据层参数124的噪声当前值生成的网络输出110选择要由代理104执行的动作102来驱动探索(exploration)。探索是指系统100选择要由代理104执行的动作102的处理,该动作不同于将基于由神经网络112根据神经网络112的层参数122的当前值生成的网络输出而选择的动作。
通过探索,系统100可以了解关于环境106的更多信息,从而潜在地学习选择使代理104更有效地完成任务的动作102。更具体地,通过探索,系统100可以生成经验元组,其可以表示关于环境106的先前未知信息。训练引擎132可以使用这些经验元组134训练神经网络112,从而使神经网络112能够利用关于环境106的先前未知信息以生成网络输出110,其导致代理104执行更有效地完成任务的动作102。
通过在每次训练迭代时调整噪声参数128的当前值,训练引擎132自适应地调整所执行的探索量。例如,当系统100更多地了解环境106时,训练引擎132可以调整噪声参数128的当前值以减少执行的探索量。
图2是用于使用具有一个或多个噪声层的神经网络选择要由与环境交互的代理执行的动作的示例处理的流程图。为方便起见,处理200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的强化学习系统,例如,图1的强化学习系统100,可以执行处理200。
系统维持指定神经网络的每个层的每个层参数的当前值的数据,并且对于每个噪声层的每个层参数,维持对于层参数的对应噪声参数的当前值(202)。系统可以在例如物理数据存储设备或逻辑数据存储区域中维持指定层参数的当前值和噪声参数的当前值的数据。
系统获得表征环境的当前状态的观察(204)。例如,环境可以是真实世界环境或模拟环境,并且观察可以由代理的传感器生成或从代理的传感器导出。在具体示例中,观察可以是:(i)由代理的相机捕获的图像;(ii)从代理的激光传感器捕获的数据;或(iii)由代理的高光谱传感器捕获的高光谱图像。
系统生成用于神经网络的网络输入(206)。通常,网络输入包括观察(即,如在204中获得的)的数字表示(例如,作为矢量或矩阵)。例如,如果观察是由代理的相机捕获的图像,则网络输入可以包括表示图像的像素的颜色和强度的值矩阵。在一些实现方式中,神经网络被配置为接收网络输入,该网络输入另外包括来自可由代理执行的可能动作集合的动作的数字表示。在这些实现方式中,系统可以通过连接(或以其他方式组合)观察的数字表示和动作的数字表示来生成网络输入。特定动作的数字表示可以是特定动作的独热(one-hot)表示。特定动作的独热表示由矢量定义,该矢量包括可能动作集合中的每个动作的不同分量,其中对应于特定动作的矢量的分量具有值1,而其他分量具有值零。
系统确定每个噪声层的每个层参数的相应噪声值(208)。通常,噪声值是系统通过从一个或多个概率分布中采样而确定的随机值。系统可以通过任何适当的随机或伪随机数采样技术(例如,逆变换采样)从概率分布确定样本。
在一些实现方式中,系统通过从预定概率分布独立地采样来对每个噪声层的每个层参数采样相应的噪声值。例如,概率分布可以是预定范围内的均匀分布。作为另一示例,概率分布可以是具有预定平均值(典型地,零)和标准偏差的正态分布。
在一些实现方式中,对于每个噪声层,系统从一个或多个预定概率分布中采样预定数量的噪声值。对于每个噪声层的每个层参数,系统可以通过组合噪声层的两个或更多个采样噪声值来确定层参数的噪声值。例如,噪声层的层参数可以定义q×p权重矩阵(即,具有q行和p列的权重矩阵)和q×1偏置矢量(即,具有q分量的偏置矢量)。在该示例中,系统可以采样由和/>表示的总共q+p个噪声值(例如,来自正态分布)。接下来,系统可以确定权重矩阵的第(i,j)项的噪声值/>为:
其中f(·)、g(·)和h(·)是任意函数。例如,对于任何输入x,f(·)、g(·)和h(·)可以生成输出为:
其中sgn(·)是这样的函数,如果输入为正值则输出1,否则输出-1。在该示例中,系统必须仅维持噪声层的q+p噪声参数,而不是q×p+q噪声参数(如果系统对每个层参数采样不同的噪声值,则将是这种情况)。以这种方式,可以降低系统的复杂性,从而潜在地使得能够更有效地训练系统(例如,在更少的训练迭代中)。
系统确定每个噪声层的每个层参数的噪声当前值(210)。更具体地,系统从以下各项确定每个噪声层的每个层参数的噪声当前值:(i)层参数的当前值;(ii)相应噪声参数的当前值;以及(iii)层参数的噪声值。例如,系统可以如下确定噪声层的层参数的噪声当前值n:
n=c+σ·∈ (4)
其中c是层参数的当前值,σ是对应于层参数的噪声参数的当前值,并且ε是层参数的噪声值。在具体示例中,如果噪声层的层参数定义权重矩阵w和偏置矢量b,则系统可以将权重矩阵w和偏置矢量b的噪声当前值确定为:
w=μ+σ⊙∈ (5)
b=μb+σb⊙∈b (6)
其中μ表示权重矩阵的当前值,σ表示噪声参数的矩阵,⊙表示逐元素乘积,ε表示噪声值的矩阵,μb表示偏置矢量的当前值,σb表示噪声参数的矢量,并且∈b表示噪声值的矢量。
系统通过使用神经网络并根据噪声层的层参数的噪声当前值处理网络输入来生成网络输出(212)。在处理网络输入时,每个神经网络层接收相应的层输入并通过层参数处理层输入以生成层输出。传统层根据其层参数的当前值处理层输入,而噪声层根据其层参数的噪声当前值(即,如在210中确定的)处理层输入。噪声层和任何传统层都可以实现为全连接层、卷积层递归层或任何其他配置。
系统使用网络输出选择要由代理执行的动作(214)。在一些实现方式中,网络输出定义了可能动作集合中的动作的似然分布。例如,网络输出可以包括可能动作集合中的每个动作的相应数字似然值。在这些实现方式中的一些实现方式中,系统通过基于似然分布从可能动作集合中采样动作来选择要由代理执行的动作。例如,系统可以通过soft-max函数处理定义似然分布的似然值,以确定可能动作集合上的概率分布。在确定可能动作集合上的概率分布之后,系统可以通过根据概率分布从可能动作集合中采样动作来选择要由代理执行的动作。作为另一个示例,网络输出可以包括定义参数概率分布的参数(例如,正态分布的平均值和标准偏差)的相应数值。在该示例中,可能动作集合可以是连续集合(例如,连续范围的实数)。系统可以通过基于由网络输出定义的参数概率分布从可能动作集合中采样动作来选择要由代理执行的动作。
在一些实现方式中,网络输出从可能动作集合中识别动作。例如,如果代理是机器人代理,则网络输出可以识别要应用于代理的关节的扭矩。在这些实现方式中的一些实现方式中,系统选择由网络输出识别的动作作为要由代理执行的动作。
在一些实现方式中,网络输入包括观察和来自可能动作集合的给定动作,并且网络输出是如果代理响应于观察执行给定动作则系统将接收的返回的估计(例如,长期时间折扣的奖励)。在这些实现方式中的一些实现方式中,对于可能动作集合中的每个动作,系统生成包括动作和观察的网络输入(如参考206所述)。对于可能动作集合中的每个动作,神经网络处理包括动作和观察的网络输入,以生成如果代理响应于观察而执行动作则将由系统接收的返回的估计。系统可以从可能动作集合中的所有动作中选择在该时间步骤要由代理执行的动作,作为具有最高估计返回的动作。
通过结合一个或多个噪声层,该系统消除了对传统探索策略的需要,例如ε-贪婪的探索策略。在ε-贪婪的探索策略中,系统基于具有概率1-ε的网络输出选择要由代理执行的动作,并且从具有概率ε的可能动作集合中随机选择动作(其中ε是在0和1之间的数字)。相反,通过包括一个或多个噪声层,本说明书中描述的神经网络生成固有地包含探索策略的网络输出。
图3是用于训练具有一个或多个噪声层的神经网络的示例处理的流程图。更具体地,图3是用于训练具有在多个训练迭代中的每一个处执行的一个或多个噪声层的神经网络的迭代处理的一次迭代的流程图。为方便起见,处理300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的强化学习系统,例如,图1的强化学习系统100,可以执行处理300。
系统获得训练网络输入(302)。更具体地,系统选择经验元组并从经验元组获得训练网络输入。如前所述,经验元组包括指示以下的数据:(i)观察;(ii)代理104响应观察所执行的动作;(iii)响应于代理执行动作而接收的奖励,以及(iv)下一个观察,表征由于代理执行动作而环境转变至的状态。经验元组可以是在线经验元组或离线经验元组。系统可以例如通过从经验元组集合中随机采样经验元组而从经验元组集合中选择经验元组。系统基于经验元组中包括的观察来确定训练网络输入。当神经网络被配置为接收进一步包括动作的网络输入时,则系统可以进一步基于经验元组中包括的动作来确定训练网络输入(如参考206所述)。
通常,系统可以获得多个训练网络输入,并且在每个训练迭代关于每个训练网络输入执行处理300的步骤。然而,为简洁起见,将参考单个训练网络输入来描述处理300。
系统确定神经网络的每个噪声层的每个层参数的相应噪声值(304)。通常,噪声值是系统通过从一个或多个概率分布中采样而确定的随机值。参考208进一步描述确定噪声层的层参数的噪声值。
系统确定神经网络的每个噪声层的每个层参数的噪声当前值(306)。更具体地,系统从以下各项确定每个噪声层的每个层参数的噪声当前值:(i)层参数的当前值;(ii)相应噪声参数的当前值;以及(iii)层参数的噪声值。参考210进一步描述确定噪声层的层参数的噪声当前值。
该系统通过使用神经网络并根据噪声层的层参数的噪声当前值处理网络输入来生成网络输出(308)。在处理网络输入时,每个神经网络层接收相应的层输入并通过层参数处理层输入以生成层输出。传统的层根据其层参数的当前值处理层输入,而噪声层根据其层参数的噪声当前值处理层输入。
在一些强化学习实现方式中,网络输出定义了可能动作集中的动作的似然分布。在一些强化学习实现方式中,网络输出从可能动作集合中识别动作。在一些实现方式中,例如演员批评强化学习系统,网络输入包括观察和来自可由代理执行的可能动作集合的给定动作,并且网络输出是如果代理响应于观察执行给定动作则将由系统接收的返回的估计(例如,长期时间折扣奖励)。
在一些实现方式中,系统确定目标函数的梯度,该梯度取决于关于层参数的当前值和噪声参数的当前值的网络输出(并且在一些情况下,训练网络输入的目标输出)(310)。例如,目标函数可以通过以下给出:
其中θ表示层参数和噪声参数,y是目标输出,并且Q(s,a;θ)表示网络输出,它是如果系统响应于观察s执行动作a则系统将接收的返回的估计。在该示例中,神经网络处理网络输入,该网络输入包括从所选择的经验元组获得的动作a和观察s(例如,如302中所述)。系统可以将目标输出y确定为:
其中r表示包含在所选择的经验元组中的奖励,γ表示折扣因子(典型地,0到1之间的数字),A表示可以由代理执行的可能动作的集合,以及Q(s′,b;θ)表示网络输出,其是如果系统响应于观察s′执行动作b则将接收的返回的估计。在该示例中,s′是包括在所选择的经验元组中的下一观察,并且系统通过使用神经网络来处理包括动作b和观察s′的网络输入来确定Q(s′,b;θ)。
在一些情况下,系统通过使用目标神经网络来处理包括动作b和观察s′的网络输入来确定Q(s′,b;θ)。目标神经网络具有与神经网络相同的架构,但潜在地具有层参数的不同当前值、噪声参数的不同当前值以及层参数的不同噪声当前值。系统可以周期性地将层参数的当前值和目标网络的噪声参数的当前值更新为与层参数的当前值和神经网络的噪声参数的当前值相同。
作为另一个示例,目标函数可以由以下给出:
其中表示概率期望算子,并且R表示系统接收的返回(例如,长期时间折扣奖励)。系统可以通过反向传播过程或通过任何其他适当的方法确定目标函数的梯度。在这种类型的强化学习(RL)系统的一些策略上实现方式中,噪声参数和噪声值可以在从估计奖励时的状态推出期间被固定,使得RL策略在此期间不改变。然后可以在推出之后更新层参数和噪声参数。
系统使用梯度更新层参数的当前值和噪声参数的当前值(312)。对于神经网络的给定参数θ(例如,层参数或噪声参数),系统可以通过以下更新参数的当前值:
本说明书使用与系统和计算机程序组件有关的术语“被配置”。对于要配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已在其上安装了软件、固件、硬件或它们的组合,其在操作中使系统执行操作或动作。对于要配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合体现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。可替代地或另外地,程序指令可以在例如机器生成的电、光或电磁信号的人工生成的传播信号上编码,其被生成以编码信息,用于传输到合适的接收器设备以由数据处理装置执行。
术语“数据处理装置”指数据处理硬件并且包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们的一个或多个的组合的代码。
计算机程序也可以被称为或描述为程序、软件、软件应用、应用程序、模块、软件模块、脚本或代码,可以用任何形式的编程语言编写,包括编译或解释语言、或声明或过程性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,所述协调文件例如存储一个或多个模块、子程序或代码部分的文件。可以部署计算机程序以在一个计算机上或在位于一个站点上或跨多个站点分布并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或处理。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,可以在同一个或多个计算机上安装和运行多个引擎。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或两者,所述大容量存储设备例如磁盘、磁光盘或光盘。但是,计算机不必需这样的设备。此外,计算机可以嵌入在例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动)等的另一设备中。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,所述计算机具有:显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息;以及键盘和指示设备(例如,鼠标或轨迹球),用户可通过其向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以包括声学、语音或触觉输入的任何形式接收来自用户的输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档,例如,通过响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器,与用户交互。此外,计算机可以通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息、并且从用户接收响应消息作为回复来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。
可以使用例如TensorFlow框架、Microsoft Cognitive Toolkit框架、ApacheSinga框架或Apache MXNet框架的机器学习框架来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括:后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如,具有图形用户界面、网络浏览器或应用程序的客户端计算机,用户可通过其与本说明书中描述的主题的实现进行交互;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过例如通信网络的任何形式或介质的数字数据通信互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然以特定顺序在附图中描绘并且在权利要求中叙述了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作以达到期望的效果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定顺序或按顺序来实现期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。
Claims (11)
1.一种训练强化学习系统的神经网络的方法,
其中,所述强化学习系统被配置为在多个时间步骤中的每一个处选择要由与环境交互的代理执行的动作,其中在每个时间步骤,强化学习系统接收包括表征环境的当前状态的数据的观察并响应于所接收的数据选择要由代理执行的动作,其中,环境是真实世界环境且代理是与真实世界环境交互的机械代理,或者其中环境是工业设施且代理是用于工业设施的控制系统,或者其中环境是运动模拟环境并且代理是在运动模拟环境中导航的模拟车辆,
其中,所述神经网络被配置为接收包括观察的网络输入并处理所述网络输入以生成网络输出用于选择动作,
其中,所述神经网络包括多个层,每个层具有各自的层参数,其中,层参数定义权重,
其中,一个或多个所述层是噪声层,并且
其中,所述方法包括:
维持指定所述多个层中的每个层的每个层参数的当前值的数据,并且对于每个噪声层的每个层参数,维持所述层参数的相应的噪声参数的当前值;
获得训练网络输入;
为每个噪声层的每个层参数确定相应的噪声值;
从所述层参数的当前值、所述相应的噪声参数的当前值、和所述噪声值,为每个噪声层的每个层参数确定所述层参数的噪声当前值;
根据所述噪声当前值使用神经网络处理训练网络输入,以生成所述训练网络输入的网络输出;
确定目标函数的梯度,所述梯度取决于关于所述层参数的当前值和所述噪声参数的当前值的所述网络输出;以及
从所述梯度确定对所述层参数的当前值和所述噪声参数的当前值的更新,
其中,为每个噪声层的每个层参数确定相应的噪声值包括:
为每个噪声层,从一个或多个预定分布采样预定数量的噪声值;以及
为每个噪声层的每个权重,通过合并关于该噪声层的两个或多个采样的噪声值来生成该权重的噪声值。
2.根据权利要求1所述的方法,其中,从所述层参数的当前值、所述相应的噪声参数的当前值、和所述噪声值,为每个噪声层的每个层参数确定所述层参数的噪声当前值,包括:
将所述相应的噪声参数的当前值应用于所述噪声值,以生成噪声修改器;以及
将所述噪声修改器和所述层参数的当前值相加,以生成所述层参数的噪声的当前值。
3.根据权利要求1所述的方法,其中,所述网络输入包括表征所述环境的状态和来自动作集合的动作的观察,并且其中,所述网络输出是在所述强化学习代理响应于所述观察执行所述动作的情况下接收的返回的估计。
4.根据权利要求1所述的方法,其中,所述网络输入包括表征所述环境状态的观察,并且所述网络输出定义了所述代理响应于所述观察要执行的可能动作集合中的动作的似然分布。
5.根据权利要求1所述的方法,其中,所述多个层还包括不是噪声层的一个或多个层,并且其中,使用所述神经网络处理所述训练网络输入包括根据所述噪声当前值和作为非噪声层的层的层参数的当前值来处理所述训练网络输入,以生成所述训练网络输入的网络输出。
6.根据权利要求1所述的方法,其中,所述一个或多个噪声层包括一个或多个全连接层。
7.根据权利要求1所述的方法,其中,所述一个或多个噪声层包括一个或多个卷积层。
8.根据权利要求1所述的方法,其中,所述一个或多个噪声层包括一个或多个递归神经网络层。
9.根据权利要求1所述的方法,其中,所述目标函数还取决于所述训练网络输入的目标输出。
10.一种训练强化学习系统的神经网络的系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-9中任一项所述的相应方法的操作。
11.一种或多种计算机存储介质,存储指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-9中任一项所述的相应方法的操作。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762509059P | 2017-05-20 | 2017-05-20 | |
US62/509,059 | 2017-05-20 | ||
US201762525099P | 2017-06-26 | 2017-06-26 | |
US62/525,099 | 2017-06-26 | ||
PCT/EP2018/063125 WO2018215344A1 (en) | 2017-05-20 | 2018-05-18 | Noisy neural network layers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110447041A CN110447041A (zh) | 2019-11-12 |
CN110447041B true CN110447041B (zh) | 2023-05-30 |
Family
ID=62196615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880018376.1A Active CN110447041B (zh) | 2017-05-20 | 2018-05-18 | 噪声神经网络层 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10839293B2 (zh) |
EP (1) | EP3571631A1 (zh) |
CN (1) | CN110447041B (zh) |
WO (1) | WO2018215344A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3807823A1 (en) | 2018-06-12 | 2021-04-21 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
US11922314B1 (en) * | 2018-11-30 | 2024-03-05 | Ansys, Inc. | Systems and methods for building dynamic reduced order physical models |
JP7021132B2 (ja) * | 2019-01-22 | 2022-02-16 | 株式会社東芝 | 学習装置、学習方法およびプログラム |
DE102019117839A1 (de) * | 2019-07-02 | 2021-01-07 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zur Datenverarbeitung in einem Fahrzeug und Fahrzeug |
CN112257345A (zh) * | 2020-10-28 | 2021-01-22 | 中国人民解放军战略支援部队航天工程大学 | 一种作战仿真模型的构建方法及装置 |
CN113253612B (zh) * | 2021-06-01 | 2021-09-17 | 苏州浪潮智能科技有限公司 | 一种自动驾驶控制方法、装置、设备及可读存储介质 |
US20230267337A1 (en) * | 2022-02-24 | 2023-08-24 | Protopia AI, Inc. | Conditional noise layers for generating adversarial examples |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116468070A (zh) * | 2015-11-12 | 2023-07-21 | 渊慧科技有限公司 | 使用规范化的目标输出训练神经网络 |
US9536191B1 (en) * | 2015-11-25 | 2017-01-03 | Osaro, Inc. | Reinforcement learning using confidence scores |
US11042586B2 (en) * | 2016-12-29 | 2021-06-22 | Shutterstock, Inc. | Clustering search results based on image composition |
-
2018
- 2018-05-18 EP EP18725534.4A patent/EP3571631A1/en active Pending
- 2018-05-18 WO PCT/EP2018/063125 patent/WO2018215344A1/en unknown
- 2018-05-18 CN CN201880018376.1A patent/CN110447041B/zh active Active
-
2019
- 2019-06-12 US US16/439,026 patent/US10839293B2/en active Active
-
2020
- 2020-09-14 US US17/020,248 patent/US11977983B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Non-Patent Citations (3)
Title |
---|
"Learning_Weight_Uncertainty_with_Stochastic_Gradient_MCMC_for_Shape_Classification";Chunyuan Li等;《2016 IEEE Conference on Computer Vision and Pattern Recognition》;20160725;第1-10页 * |
"REPRESENTING INFERENTIAL UNCERTAINTY IN DEEP NEURAL NETWORKS THROUGH SAMPLING";Patrick等;《arXiv》;20170202;第1-14页 * |
"Weight Uncertainty in Neural Networks";Charles Blundell等;《arXiv》;20150521;第1-10页 * |
Also Published As
Publication number | Publication date |
---|---|
US11977983B2 (en) | 2024-05-07 |
US20190362238A1 (en) | 2019-11-28 |
CN110447041A (zh) | 2019-11-12 |
US20210065012A1 (en) | 2021-03-04 |
WO2018215344A1 (en) | 2018-11-29 |
US10839293B2 (en) | 2020-11-17 |
EP3571631A1 (en) | 2019-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110447041B (zh) | 噪声神经网络层 | |
US11842281B2 (en) | Reinforcement learning with auxiliary tasks | |
CN110520868B (zh) | 用于分布式强化学习的方法、程序产品和存储介质 | |
US11727281B2 (en) | Unsupervised control using learned rewards | |
CN111417964B (zh) | 异策略行动者-评价者强化学习方法和系统 | |
EP3776364B1 (en) | Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent neural networks | |
CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
US11627165B2 (en) | Multi-agent reinforcement learning with matchmaking policies | |
JP7335434B2 (ja) | 後知恵モデリングを用いた行動選択ニューラルネットワークの訓練 | |
CN110114784B (zh) | 递归环境预测器及其方法 | |
CN113168566A (zh) | 通过使用熵约束来控制机器人 | |
US10860895B2 (en) | Imagination-based agent neural networks | |
US20210158162A1 (en) | Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space | |
US11604941B1 (en) | Training action-selection neural networks from demonstrations using multiple losses | |
EP3915052A1 (en) | Action selection using interaction history graphs | |
CN116324818A (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 |