CN112119406B - 利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习 - Google Patents
利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习 Download PDFInfo
- Publication number
- CN112119406B CN112119406B CN201980032994.6A CN201980032994A CN112119406B CN 112119406 B CN112119406 B CN 112119406B CN 201980032994 A CN201980032994 A CN 201980032994A CN 112119406 B CN112119406 B CN 112119406B
- Authority
- CN
- China
- Prior art keywords
- neural network
- recurrent neural
- update
- fast
- agent
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
用于强化学习的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。方法之一包括使用慢速更新循环神经网络和快速更新循环神经网络两者来选择要由代理执行的动作,该快速更新循环神经网络接收包括慢速更新循环神经网络的隐藏状态的快速更新输入。
Description
技术领域
本公开涉及强化学习,更具体地,本公开涉及利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习。
背景技术
本说明书涉及强化学习。
在强化学习系统中,代理通过执行由强化学习系统响应于接收到表征环境的当前状态的观测而选择的动作来与环境交互。
一些强化学习系统根据神经网络的输出来选择要由代理响应于接收到给定的观测而执行的动作。
神经网络是机器学习模型,其采用一层或多层非线性单元来预测针对接收到的输入的输出。一些神经网络是深度神经网络,其除了输出层之外,还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即,下一个隐藏层或输出层)的输入。网络的每一层根据相应参数集的当前值,根据接收到的输入生成输出。
发明内容
本说明书总体上描述了一种强化学习系统,该强化学习系统选择要由与环境交互的强化学习代理执行的动作。
可以实施本说明书中描述的主题的特定实施例,以便实现一个或多个以下优点。
涉及自动识别与环境交互的代理的时间扩展行为模式的各方面可以通过分析包括神经网络系统的代理的行为来促成对代理的性能的评估。更具体地,所描述的方法和系统能够识别高级别的行为模式,这些行为模式可能以其他方式被系统的复杂性所掩盖。这进而使人类能够根据这些模式来评估代理,例如确定代理正在实现其目标的效率及其正在使用的技术。因此,这些技术可以以可理解的方式表示代理的非常复杂的内部状态,这有助于评估从而有助于实施如前所述的由自主或半自主代理对真实世界或模拟系统的控制。例如,所描述的方法和系统可以帮助人类理解代理在控制系统时是如何表现的或为什么表现的,从而可以有助于定制代理以适于特定的任务。
某些所描述的方面涉及使用时间分层神经网络系统来选择动作。这些方面允许在每个时间步处选择的动作与代理的长期计划一致。然后,代理可以在需要取决于在当前时间步之前的大量时间步处的观测中所接收的数据来选择动作的任务上实现改进的性能。因为神经网络是联合训练的,所以可以实现性能的提高,而不会过度增加在循环神经网络训练期间消耗的计算资源量。通过使用时间分层神经网络系统生成潜变量、然后在潜变量上调节动作选择,系统可以有效地执行任务,即使在接收到的观测没有完全表征环境的真实状态的情况下,即,在即使考虑到代理迄今收到的所有观测、环境的真实状态也不明确的情况下。例如,许多任务包括在环境中独立运行的多个代理,例如,多个自主交通工具或多个机器人。在这些任务中,单个代理所接收到的观测不能完全表征环境的真实状态,因为该代理不知道其他代理的控制策略,或者这些控制策略是否会随着时间的推移而改变。因此,存在固有的不确定性,因为该代理无法知道其他代理对环境状态的改变将如何表现或反应。该系统可以通过使用时间分层神经网络从取决于从环境接收的长期数据和短期数据的后验分布中采样潜变量来解决这种不确定性。
某些所描述的方面允许系统学习对神经网络训练的奖励。这些方面允许系统有效地训练神经网络,即,训练神经网络使得其可用于使代理在强化学习任务上具有可接受的性能,即使是在与任务性能相关联的奖励非常稀疏且非常延迟的情况下。特别地,即使当指定所提取的数据如何与任务性能相关的数据没有在训练开始之前被指定时,系统也可以利用可以从环境中提取的附加信息来生成改进的奖励信号。
本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了示例强化学习系统。
图2示出了由强化学习系统在给定时间步处执行的处理。
图3A和图3B示出了由强化学习系统使用的神经网络的示例架构。
图4是用于选择要由代理执行的动作的示例过程的流程图。
图5是用于更新候选神经网络的参数值和奖励映射的示例过程的流程图。
图6示出了代理行为的用户界面呈现的一个示例。
图7示出了代理行为的用户界面呈现的另一示例。
各图中相同的附图标记和名称表示相同的元件。
具体实施方式
本说明书描述了一种强化学习系统,该强化学习系统通过在多个时间步中的每个时间步处处理表征该时间步处的环境的当前状态的数据(即,“观测(observation)”)以选择要由代理执行的动作,来控制与环境交互的代理。
在每个时间步处,该时间步处的环境状态取决于前一时间步处的环境状态和前一时间步处代理所执行的动作。
在一些实施方式中,环境是真实世界环境,并且代理是与真实世界环境交互的机械代理,例如,在环境中导航的机器人或者自主或半自主的陆地、空中或海上交通工具。特别地,环境可以是真实世界环境,其中多个代理(即,多个自主交通工具或多个机器人)正在运行。在这些情况下,用于控制其他代理的控制策略通常对系统不可用。
在这些实施方式中,观测可以包括例如图像、物体位置数据和传感器数据中的一个或多个,以在代理与环境交互时捕获观测,例如来自图像、距离或位置传感器或者来自致动器的传感器数据。
例如,在机器人的情况下,观测可以包括表征机器人的当前状态的数据,例如,关节位置、关节速度、关节力、扭矩或加速度(例如,重力补偿扭矩反馈)、以及机器人持有的物品的全局或相对姿态中的一个或多个。
在机器人或其他机械代理或交通工具的情况下,观测可以类似地包括位置、线速度或角速度、力、扭矩或加速度、以及代理的一个或多个部件的全局或相对姿态中的一个或多个。观测可以被定义为一维、二维或三维,并且可以是绝对和/或相对的观测。
观测还可以包括例如感测到的电子信号,诸如电机电流或温度信号;和/或例如来自相机或LIDAR传感器的图像或视频数据,例如,来自代理的传感器的数据或来自与环境中的代理分开放置的传感器的数据。
在这些实施方式中,动作可以是用于控制机器人的控制输入(例如,机器人关节的扭矩或更高级别的控制命令),或者用于控制自主或半自主的陆地、空中、海上交通工具的控制输入(例如,交通工具的控制表面的扭矩或其他控制元素或更高级别的控制命令)。
换句话说,动作可以包括例如机器人的一个或多个关节或另一机械代理的部件的位置、速度或力/扭矩/加速度数据。动作数据可以附加地或替代地包括电子控制数据(诸如马达控制数据),或者更一般地,包括用于控制环境内的一个或多个电子设备的数据,对该一个或多个电子设备的控制对环境的观测状态有影响。例如,在自主或半自主的陆地或空中或海上交通工具的情况下,动作可以包括用于控制交通工具的行驶(例如,转向)和运动(例如,制动和/或加速)的动作。
在其他一些应用中,代理可以控制包括各装备的真实世界环境中的动作,例如,在数据中心、配电/配水系统、或者制造厂或服务设施中的动作。观测然后可以与工厂或设施的运行有关。例如,观测可以包括对装备的电力使用或水使用的观测,或者对发电控制或配电控制的观测,或者对资源使用或废物产生的观测。这些动作可以包括控制或施加工厂/设施的各件设备的运行条件的动作,和/或导致工厂/设施的运行中的设置改变的动作,例如,用于调整或打开/关闭工厂/设施的组件。
在电子代理的情况下,观测可以包括来自监控工厂或服务设施的一部分的一个或多个传感器(诸如电流、电压、功率、温度和其他传感器)的数据和/或表示各件电子和/或机械装备的功能的电子信号。
图1示出了示例强化学习系统100。强化学习系统100是在处于一个或多个位置的一个或多个计算机上被实施为计算机程序的系统的示例,其中实施了下面描述的系统、组件和技术。
系统100通过选择要由代理102执行的动作106、然后使代理102执行所选择的动作106,来控制与环境104交互的代理102。代理这样重复执行的动作通常会导致环境状态重复转换到新的状态。
系统100包括策略神经网络110和训练引擎116,并维护策略神经网络110的模型参数118的集合。
在多个时间步中的每一个时间步处,策略神经网络110被配置成根据模型参数118处理包括表征环境104的当前状态的当前观测120的输入,以生成动作选择输出122(“动作选择策略”)。
系统100使用动作选择输出122来选择要由代理在当前时间步处执行的动作106。接下来描述使用动作选择输出122来选择要由代理102执行的动作106的几个示例。
在一个示例中,动作选择输出122可以定义可以由代理执行的可能动作集合中的动作的概率分布。例如,动作选择输出122可以包括代理可以执行的可能动作集合中的每个动作的相应数字概率值。作为另一示例,动作选择输出122可以包括可能动作集合的分布的参数,例如,当该动作集合被表示为连续空间时该动作集合的多变量正态分布的参数。例如,系统100可以通过根据动作的概率值对动作进行采样或者通过选择具有最高概率值的动作,来选择要由代理执行的动作。
在另一示例中,动作选择输出122可以例如通过定义应当应用于机器人代理的关节的扭矩值,来直接定义要由代理执行的动作。
在另一示例中,动作选择输出122可以包括可以由代理执行的可能动作集合中的每个动作的相应Q值。系统100可以处理Q值(例如,使用softmax函数)来为每个可能动作生成相应的概率值,该概率值可以用于选择要由代理执行的动作(如前所述)。系统100还可以选择具有最高Q值的动作作为要由代理执行的动作。
动作的Q值是对“回报”的估计,该Q值是由代理响应于当前观测120执行动作、然后根据策略神经网络参数的当前值选择由代理102执行的未来动作而产生的。
回报是指代理所接收到的“奖励”124的累积度量,例如,奖励的时间折扣总和。代理可以在每个时间步处接收相应的奖励124,其中奖励124由标量数值指定并且表征例如代理完成分配任务的进度。
在一些情况下,系统100可以根据探索策略来选择要由代理执行的动作。例如,探索策略可以是∈-贪婪(∈-greedy)探索策略,其中系统100根据具有概率1-∈的动作选择输出122来选择要由代理执行的动作,并且随机选择具有概率∈的动作。在该示例中,∈是介于0和1之间的标量值。作为另一示例,系统可以向动作选择输出122添加随机采样的噪声以生成噪声输出,然后使用噪声输出而不是输出122来选择动作。
策略神经网络110包括时间分层循环神经网络112。时间分层循环神经网络112进而包括两个循环神经网络:在每个时间步处更新其隐藏状态的快速更新循环神经网络(recurrent neural network,RNN)和在少于所有时间步的时间步处更新其隐藏状态的慢速更新循环神经网络。
在本说明书中,快速更新循环神经网络的隐藏状态将被称为“快速更新隐藏状态”,慢速更新循环神经网络的隐藏状态将被称为“慢速更新隐藏状态”。
如下面将更详细描述的,快速更新RNN被称为“快速更新”,因为快速更新隐藏状态在每个时间步处被更新。相比之下,慢速更新RNN被称为“慢速更新”,因为慢速更新隐藏状态不是在每个时间步处都被更新,而是仅在满足特定标准时才被更新。
在每个时间步处,快速更新循环神经网络接收包括观测120和慢速更新循环神经网络的慢速更新隐藏状态的输入,并使用该输入来更新快速更新隐藏状态。
策略神经网络110然后使用该更新的快速更新隐藏状态来生成动作选择输出122。通过利用时间分层RNN 112,系统100可以在每个时间步处选择与代理的长期计划一致的动作,并且系统100可以有效地控制代理,即使是在可能要求用户在任何给定时间步处选择的动作取决于在给定时间步之前的大量时间步处的观测中接收的数据的任务上。
下面参考图2-4更详细地描述策略神经网络110和时间分层循环神经网络112的操作和架构。
训练引擎116被配置成通过基于代理与环境的交互而重复更新策略神经网络110的模型参数118(即,使用由于代理与环境的交互而接收到的观测120和奖励124),来训练策略神经网络110。
训练引擎116可以使用从代理与环境的交互中收集的数据、使用强化学习技术,来训练策略神经网络110增加代理所接收到的回报(即,奖励的累积度量)。因为回报测量代理在完成任务时的进度,所以训练策略神经网络110增加回报导致代理能够在被策略神经网络110控制的同时成功地完成指定的任务。
然而,对于一些任务,外部奖励124可能不足以生成高质量学习信号,这样的高质量学习信号允许训练引擎116训练策略神经网络110在任务上具有高性能。例如,奖励124可能非常稀疏且非常延迟。也就是说,即使在给定时间步处执行的给定动作有助于任务的成功完成,在给定时间步之后的许多时间步内也不会接收到对应的奖励。
作为特殊示例,一些任务可能需要执行大量的操作才能被成功完成。然而,奖励124可以仅在任务达到终点状态时才为非零,例如,仅当环境达到任务完成的最终状态时才可能是正值。这可能使得难以仅使用稀疏奖励124作为学习信号来训练策略神经网络110。
在这些情况下,即使当指定所提取的附加数据152如何与任务性能相关的数据没有在训练开始之前被指定时,系统100也可以利用可从环境中提取的附加数据152来生成改进的奖励信号。特别地,奖励映射引擎160可以在每个时间步处将附加数据152(以及在非零情况下的可选的奖励124)映射到学习奖励值162,并且该学习奖励162可以被训练引擎116用来更新模型参数118(即,而不是仅仅依靠稀疏奖励124)。下面参考图2和图5更详细地描述学习奖励。
此外,系统100可以生成识别与环境交互的代理的时间扩展行为模式的数据并将其提供给用户以供呈现。也就是说,系统100可以生成用户界面数据,并将用户界面数据提供给用户,以用于在用户设备上呈现。这可以通过允许用户在被策略神经网络控制的同时分析代理的行为来促成对代理的性能的评估。下面参考图6和图7描述生成这样的用户界面数据。
图2示出了在代理与环境交互期间强化学习系统在时间步t处的操作。
在图2的示例中,在时间步t处接收的观测120是例如由代理的相机传感器在时间步t处捕获的环境的图像。然而,如上所述,除了图像之外或代替图像,观测还可以包括表征环境状态的其他数据。
图2的示例示出了快速更新隐藏状态210和慢速更新隐藏状态220如何在包括时间步t的时间步序列上被更新。从图2的示例中可以看出,快速更新RNN在每个时间步处使用包括该时间步处的观测的输入来更新快速更新隐藏状态。另一方面,慢速更新RNN不在每个时间步处更新慢速更新隐藏状态。在图2中,更新隐藏状态的时间步是表示隐藏状态的箭头连接到黑色圆圈的时间步,不更新隐藏状态的时间步是没有黑色圆圈的时间步。例如,在序列中的时间步t之前的时间步处,不存在对于慢速更新RNN的状态的更新。
在任何给定的时间步处,如果满足用于更新慢速更新隐藏状态的标准,则系统使用慢速更新RNN来处理包括快速更新隐藏状态的慢速更新输入(即,在给定时间步之前的时间步之后的最终快速更新隐藏状态),以更新慢速更新隐藏状态。因此,在时间步t处,慢速更新RNN的输入可以是时间步t-1之后的快速更新隐藏状态,慢速更新RNN可以使用该输入来更新时间步t的慢速更新隐藏状态。
慢速更新RNN可以有任何合适的循环架构。例如,慢速更新RNN可以是一个或多个长短期记忆(long short-term memory,LSTM)层的堆叠。当堆叠中有不止一个层时,慢速更新隐藏状态可以是堆叠中最后一个LSTM层的隐藏状态。
当不满足标准时,系统避免在该时间步处更新慢速更新隐藏状态,即,在慢速更新隐藏状态被用于该时间步处的进一步处理之前,不更新慢速更新隐藏状态。
在每个时间步处,系统根据慢速更新隐藏状态,例如通过对慢速更新隐藏状态应用线性变换,生成潜变量的可能值的先验分布222的参数。通常,潜变量是具有固定维数的向量,因此先验分布是潜变量的可能值的多变量分布。例如,先验分布可以是正态分布,因此参数可以是多变量正态分布的均值和协方差。当慢速更新隐藏状态没有在给定的时间步处被更新时,系统可以重新使用最近计算的先验参数,而不是像在前一个时间步中那样不得不根据相同的隐藏状态重新计算先验参数。
然后,系统使用快速更新RNN来处理快速更新输入以更新快速更新隐藏状态,该快速更新输入包括观测120、慢速更新隐藏状态和先验分布的参数222。
像慢速更新RNN一样,快速更新RNN可以具有任何合适的循环架构。例如,快速更新RNN可以是一个或多个长短期记忆(LSTM)层的堆叠。当堆叠中有不止一个层时,快速更新隐藏状态可以是堆叠中最后一个LSTM层的隐藏状态。
当观测是图像(像在图2的示例中一样)或其他高维数据时,快速更新RNN可以包括卷积神经网络(convolutional neural network,CNN)或其他编码器神经网络,其在通过快速更新RNN的循环层处理观测的编码表示之前对观测进行编码。
此外,在一些实施方式中,快速更新RNN和慢速更新RNN利用共享外部存储器来增强,即,作为更新对应的隐藏状态的一部分,两个RNN都从相同的共享外部存储器读取和写入。一种利用可以由系统使用的外部存储器来增强RNN的示例架构是可微神经计算机(Differentiable Neural Computer,DNC)存储器架构,在以下文献中有更详细的描述:Alex Graves,Greg Wayne,Malcolm Reynolds,Tim Harley,Ivo Danihelka,AgnieszkaGrabska-Barwinska,Sergio Gomez Colmenarejo,Edward Grefenstette,Tiago Ramalho,John Agapiou,et al.Hybrid computing using a neural network with dynamicexternal memory.Nature,538(7626):471,2016。
一旦快速更新隐藏状态已经在时间步t处被更新,系统就使用快速更新隐藏状态,例如通过对慢速更新隐藏状态应用线性变换,来生成潜变量的可能值的后验分布212的参数。
系统然后从后验分布212中采样潜变量232,即,根据后验分布212中的概率采样潜变量的一个可能值。
系统然后使用采样的潜变量232来选择要响应于观测120而执行的动作106。
特别地,系统使用一个或多个策略神经网络层来处理采样的潜变量,以生成策略输出(即,动作选择输出122),然后使用策略输出来选择动作106。
由快速更新RNN在任何给定时间步处处理的快速更新输入还可以包括附加输入(除了观测、慢速更新隐藏状态和先验参数)。例如,在时间步t处的快速更新隐藏状态可以满足:
其中,ut是时间步t处的观测xt的编码表示,at-1是在前一时间步处执行的动作,rt-1是来自前一时间步的奖励(外部的或学习的),是时间t处的慢速更新隐藏状态,是前一快速更新隐藏状态,和是使用慢速更新隐藏状态生成的先验分布的均值和协方差,zt-1是在前一时间步处采样的潜变量。
通过从分布中采样潜变量而不是直接使用快速更新隐藏状态来选择动作,系统可以有效地解决在接收到的观测没有完全表征环境的真实状态的情况下的不确定性,即,在即使考虑到代理迄今收到的所有观测、真实状态也不明确的情况下的不确定性。
当时间步t发生在学习期间(或者当时间步t发生在学习之后,但奖励是快速更新RNN的输入的一部分)时并且系统正在使用学习奖励来增强外部奖励时,系统还接收从环境提取的附加数据152,并且将当前奖励映射应用于附加数据152以生成学习(或“内部”)奖励162。该学习奖励然后可以用于更新策略神经网络110。下面将更详细地描述应用映射和更新映射数据。
特别地,系统可以训练神经网络110以使用强化学习来最大化接收的回报。
作为特定示例,在一些情况下,神经网络110还根据采样的潜变量来生成值输出(在下文中也称为“基线输出”),该值输出是对从处于当前状态的环境产生的回报的估计。在这些情况下,系统可以使用演员-评论家强化学习技术来训练神经网络110。
在训练期间,系统使用由先验参数生成的先验分布来正则化潜变量。这有助于确保慢速更新RNN和快速更新RNN捕获长期时间相关性,并促进对观测中接收的信息的记忆。特别地,在训练期间,系统通过训练快速更新循环神经网络和慢速更新循环神经网络最小化先验分布和后验分布之间的散度(divergence)(例如,KL散度),来增强强化学习技术。在一些情况下,为了防止两个分布相匹配,系统还在训练中的损失函数中包括一个项,这个项惩罚先验分布和均值为0、标准差为0.1或一些其他小的固定值的多元高斯分布之间的KL散度。
如下面将更详细描述的,在训练期间,系统还可以使用快速更新循环神经网络的隐藏状态为一个或多个辅助任务中的每一个辅助任务生成相应的辅助输出,并基于辅助任务的辅助输出在辅助任务上训练神经网络。
图3A和图3B是示出策略神经网络110的各种组件的示例架构的图。图3A所示的、识别图中符号所表示的各种神经网络组件的图例也适用于图3B中的图。
图3A示出了策略神经网络110的高级架构310的示例。特别地,该架构示出了处理输入观测以生成编码表示的视觉嵌入(卷积)神经网络312,以及包括生成潜变量的慢速更新RNN和快速更新RNN的循环处理块314。
架构310还示出了:策略神经网络层322,其生成以潜变量为条件的动作选择输出;基线神经网络层320,其使用潜变量生成基线分数,该基线分数用于在使用需要基线状态值分数的强化学习技术训练策略神经网络时的训练,该强化学习技术例如是基于演员-评论家的技术,如在以下文献中描述的重要性加权演员-学习者(Importance Weighted Actor-Learner,IMPALA)技术:IMPALA:Scalable Distributed Deep-RL with ImportanceWeighted Actor-Learner Architectures,Lasse Espeholt,Hubert Soyer,Remi Munos,Karen Simonyan,Volodymir Mnih,Tom Ward,Yotam Doron,Vlad Firoiu,Tim Harley,Iain Dunning,Shane Legg,Koray Kavukcuoglu。如上所述,系统可以通过添加附加的损失项来增强这种训练,这些损失项使用先验分布来正则化潜变量。
架构310还包括多个辅助组件,这些辅助组件可用于改进策略神经网络的训练,例如,试图预测将接收的下一奖励的奖励预测神经网络316,以及预测当前观测的像素将在下一观测中改变多少的像素控制神经网络318。这些神经网络可以与策略神经网络的其余部分联合训练,并且梯度可以从这些神经网络反向传播到策略神经网络中,以改进策略神经网络在训练期间所学习的表示。
图3A还示出了视觉嵌入神经网络的详细架构330,该视觉嵌入神经网络接收观测并生成编码表示,该编码表示作为输入的一部分被提供给循环处理块314。
图3B示出了策略神经网络的详细架构340、基线神经网络350的详细架构以及循环处理块360的详细架构,循环处理块360包括在详细的变分单元(variational unit,VU)架构370中更详细描述的VU。
图4是用于选择要由代理执行的动作的示例过程400的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,经过适当编程的强化学习系统(例如,图1的强化学习系统100)可以执行过程400。
系统确定是否满足用于更新慢速更新隐藏状态的标准(步骤402)。如上所述,标准通常在少于所有时间步的时间步处被满足。
例如,标准可以在代理与环境的交互期间仅在预定间隔处被满足。也就是说,标准可以在每N个时间步处被满足,其中N是大于1的整数。例如,N可以是5到20范围内(含5和20)的整数。
作为另一示例,系统可以在每个时间步处确定在该时间步处的观测和在上一时间步处的观测之间的差异度量,在该上一时间步处慢速更新循环神经网络的隐藏状态被更新。在该示例中,仅当差异度量满足阈值时,即,当观测与在更新隐藏状态的上一时间步处的观测足够不同时,标准才在给定时间步处被满足。例如,距离度量可以是由编码器神经网络生成的编码表示之间的余弦相似度,并且仅当该余弦相似度低于阈值相似度时才可能满足标准。
当满足标准时,系统如上所述更新慢速更新隐藏状态(步骤404)。当不满足标准时,系统避免更新慢速更新隐藏状态。
系统在该时间步处接收观测(步骤406)。
系统如上所述处理快速更新输入以更新快速更新隐藏状态(步骤408)。
系统使用快速更新隐藏状态来选择动作(步骤410)。例如,系统可以使用快速更新隐藏状态来采样如上所述的潜变量,然后使用一个或多个策略神经网络层来处理采样的潜变量,以生成策略输出。
如上所述,在一些实施方式中,代替或除了从环境接收的实际外部奖励值,系统还通过使用学习的奖励值来增强神经网络的训练。
特别地,系统使用奖励映射,该奖励映射将从环境中提取的数据映射到奖励值。通常,所提取的数据包括一个或多个奖励信号中的每一个奖励信号的相应数值,该一个或多个奖励信号可以从环境中直接观测到(例如,由代理的传感器直接测量),可以根据代理的传感器测量来确定,或者可以根据系统可访问的关于环境和代理的其他信息来确定。作为特定示例,一个或多个奖励信号可以识别环境中代理的位置。作为另一特定示例,一个或多个奖励信号可以识别代理相对于环境中的已知物体或位置的距离。作为又一示例,一个或多个奖励信号可以是从环境接收的外部奖励,例如,指示任务已成功完成或未成功终止的奖励。
假设奖励信号可以被映射到奖励值,奖励映射数据针对每个奖励信号识别将奖励信号的可能数值划分成多个分区,然后将每个分区映射到奖励信号的对应奖励值。因此,对于给定的奖励信号,数据将不同的分区映射到不同的奖励值。
当在给定的时间步处从环境中提取的奖励信号不止一个时,系统可以组合奖励信号的奖励值(例如,平均或求和),以生成最终的奖励值。
在系统学习该奖励映射的实施方式中,系统可以在训练期间维护多个候选神经网络,并且可以使用多个候选的集合来联合更新参数值和学习奖励映射。
特别地,在训练期间,系统可以针对这些候选神经网络中的每一个候选神经网络来维护识别候选神经网络的参数值的数据和识别在候选神经网络的训练期间使用的奖励映射的数据。
在训练期间,针对候选神经网络中的每一个候选神经网络,系统通过并行执行下面参考图5描述的训练操作来重复更新候选神经网络所使用的参数值和奖励映射。
一旦训练结束,即,在重复执行训练操作之后,系统从候选神经网络的维护数据中的参数值中选择训练的网络参数值。例如,在重复执行训练操作之后,系统可以选择在强化学习任务上具有最佳性能的候选神经网络的所维护的参数值。因此,系统可以持续改进候选神经网络所使用的奖励映射,以便增强训练过程并生成比仅使用外部奖励所能实现的更高质量的经训练的神经网络。
图5是用于更新候选神经网络的参数值和奖励映射的示例过程500的流程图。为方便起见,过程500将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,经过适当编程的强化学习系统(例如,图1的强化学习系统100)可以执行过程500。
系统可以对集合中的所有候选神经网络重复并行执行过程500。在一些情况下,系统对所有候选神经网络异步执行过程500。
系统使用候选神经网络的所维护的奖励映射来训练候选神经网络(步骤502)。也就是说,系统在代理与环境的交互上使用强化学习技术(例如,上述技术)来训练候选神经网络,以更新候选神经网络的参数值。在训练期间,系统使用从环境中提取的数据和候选神经网络的奖励映射来生成在训练中使用的奖励。
例如,系统可以在预定数量的时间步内或在预定数量的任务时期(episode)内或预定时间量内训练候选神经网络,以便完成步骤502。
系统确定经训练的候选神经网络的质量度量,该质量度量表示候选神经网络能够在多大程度上控制代理执行任务(相对于其他候选神经网络)(步骤504)。质量度量的示例可以是当代理被经训练的候选神经网络控制时成功完成的任务片段。在一些情况下,系统不使用外部奖励作为奖励映射的一部分,而是可以使用当使用候选神经网络控制代理时接收的平均外部奖励作为质量度量。
系统使用质量度量为候选神经网络确定新的网络参数值和新的奖励映射(步骤506)。
通常,系统可以更新新的网络参数值、新的奖励映射以及可选的训练的其他超参数(例如,如上所述的间隔N),使得表现较弱的神经网络复制较强的神经网络的参数,同时探索可能的回报映射和可选的其他超参数的空间。
例如,系统可以从集合中采样另一候选,并比较两个候选的质量度量。
如果发现一个候选的质量度量比另一候选差超过阈值量,则系统可以针对表现最差的候选复制更好的候选的参数、奖励映射和超参数。然后,系统可以为表现最差的候选探索新的奖励映射和超参数。例如,系统可以针对每个奖励信号分区确定是否以预定概率修改分区所映射到的奖励值,并且响应于确定修改分区所映射到的奖励值而改变分区所映射到的数值,例如,用当前值的某个固定部分随机扰动任一方向上的数值
作为另一示例,系统可以对一个或多个其他候选神经网络进行采样,并确定质量度量是否指示候选神经网络比所有一个或多个其他候选神经网络表现更好。
响应于确定候选神经网络没有比所有一个或多个其他候选神经网络表现更好,系统(1)将新的网络参数值设置为表现最佳的采样的其他候选神经网络的所维护的网络参数值,以及(2)将新的奖励映射设置为表现最佳的其他候选神经网络的所维护的奖励映射的修改版本。例如,系统可以通过针对每个奖励信号分区确定是否以预定概率修改分区所映射到的奖励值并且响应于确定修改分区所映射到的奖励值而改变分区所映射到的数值(例如,用当前值的某个固定部分随机扰动任一方向上的数值),来生成修改版本。
响应于确定候选神经网络确实比所有一个或多个其他候选神经网络表现更好,系统在步骤502中的训练之后将新的网络参数值设置为更新的网络参数值,并且不修改奖励映射。
通过针对所有候选神经网络重复执行过程500,系统训练神经网络,同时探索可能的奖励映射的空间,以发现导致在任务上的更好代理性能的奖励映射。
如上所述,在一些实施方式中,系统可以向用户提供从代理与环境的交互中导出的某些数据以供呈现。因此,系统可以自动识别与环境交互的代理的时间扩展行为模式,并将识别这些模式的数据作为输出提供给用户设备。
在一些实施方式中,为了发现这些模式,系统可以允许代理与环境交互,然后当代理与环境交互时,确定表征环境状态的特征的多个时间序列。
然后,系统可以用捕获的时间序列来训练变分自动编码器,特别是变分序列自动编码器。变分序列自动编码器可以包括耦合到循环神经网络解码器的循环神经网络编码器,循环神经网络编码器用于将输入数据序列编码为潜变量集合,循环神经网络解码器用于解码该潜变量集合以产生输出数据序列,即,以根据输入数据序列再现输出数据序列。在训练期间,潜变量被约束为近似定义的分布,例如高斯分布。
在一些实施方式中,当代理与环境交互时,系统还捕获环境的进一步的观测序列。然后,系统可以使用经训练的变分序列自动编码器来处理进一步的观测序列,以确定该潜变量集合的序列。可选地,系统可以处理潜变量集合的序列,以识别潜变量的空间中的聚类序列,每个聚类表示代理的时间扩展行为模式。
系统可以自动识别并向用户呈现识别代理的复杂高级行为的数据。在实施方式中,该方法以人类可理解的方式表示这些行为,如下文进一步描述的。例如,由系统识别的聚类可以对应于与组成高级行为模式的各个动作相比更容易被人类识别的高级行为模式。
用于识别行为的、表征环境状态的特征可以是以代理为中心的特征,即与代理所执行的高级行为相关并由聚类表示的特征。因此,这些特征可以包括,例如,表征代理相对于环境的位置或状态的特征。例如,它们可以相对于代理而定义的特征,诸如代理或代理的一部分的位置或朝向,或者代理的属性,或者与代理的短期或长期奖励相关的代理或环境的状态。
在一些实施方式中,可以手动定义特征,并将其作为方法的输入而提供。在可以将特征定义为代理-环境系统的宏观属性的意义上,这些特征可以是高级特征,特别是在足够高的级别上可由人类在任务的上下文中进行解释。例如,特征可能以高级别与目标的定义或实现相关,和/或特征可能被期望是一些行为模式的有意义的分量。特征可以通过与代理的观测分离的观测直接从环境中捕获,例如其中,由于它们处于模拟环境中所以环境的属性可以直接获得,和/或它们可以从代理的观测中导出,和/或它们可以被习得。
变分序列自动编码器在适合于期望行为模式的时间尺度上处理特征序列。例如,如果期望在一到几秒的时间尺度上表征行为,那么用于训练变分序列自动编码器的所捕获的时间序列可以具有类似的时间尺度。变分序列自动编码器进行学习以将特征序列编码或压缩成表示该序列的潜变量集合。潜变量可以被约束为具有高斯分布;它们可以包括均值和标准差向量。循环神经网络编码器和解码器可以各自包括LSTM(长短期记忆)神经网络。
因此,变分序列自动编码器的潜变量集合可以根据高级特征提供观测序列的潜表示。可以使用混合模型来处理从进一步观测中导出的潜变量集合的序列,以识别聚类。例如,可以使用混合模型将每个潜变量集合映射到K个分量或聚类之一,该混合模型可以是高斯混合模型。每个分量或聚类可以对应于从表示代理-环境系统的高级特性的特征中导出的不同的时间扩展行为。这些可以被认为是代理的原型(prototypical)行为,每个行为都在用于训练自动编码器的序列的时间范围内扩展。因此,处理进一步的观测序列最终导致确定在一系列时间中的每一个时间处,代理参与原型行为集合中的哪一个原型行为。
可选地,这些行为(更具体地,聚类)可以结合一些或所有聚类的代理和/或环境的对应表示来表示,例如以图形方式。聚类的表示可以是例如图表,该图标在一个轴上有时间并且在相同轴或另一轴上有识别的行为模式。代理和/或环境的表示可以是任何方便的形式,例如图像和/或特征集合。在聚类和对应状态之间可能存在关联,例如表示这些聚类和对应状态相互结合,或者用鼠标悬停在聚类的表示上来提供状态的表示。
图6示出了代理行为的用户界面呈现600的示例。特别地,用户界面呈现600示出了已经使用上述技术发现的行为。特别地,呈现600示出了沿着轴602的行为聚类以及在行为沿着轴604所参与的时期期间的步数量。因此,表示给定行为的呈现600中的条(bar)的高度表示该代理在该时期期间执行该行为的频率。系统可以允许用户通过鼠标悬停、选择或以其他方式与演示600中的条进行交互来访问关于行为的更多信息,例如,对当代理参与该行为时环境所处的状态的表示。
图7示出了代理行为的用户界面呈现700的另一示例。特别地,用户界面呈现700是时间图,其示出了随着任务的时期的进展、特定行为聚类被执行的频率,即,示出了就时间而言在一时期(“时期时间”)内的何时执行某些行为聚类。呈现700包括32个不同行为聚类中的每一个行为聚类的相应行,其中白条表示在代理正在执行聚类中的一个或多个行为的时期期间的时间段。例如,白条702示出了代理在该时期期间的特定时段处正在执行聚类12中的行为,白条704示出了代理在该时期期间的不同的稍后时段处正在执行聚类14中的行为,白条706示出了代理在时期期间的另一甚至更晚的时段处正在执行聚类32中的行为。
如同表示600一样,系统可以允许用户通过鼠标悬停、选择或以其他方式与演示700中的条进行交互来访问关于行为的更多信息,例如,对当代理参与该行为时环境所处的状态的表示。
尽管已经主要在物理现实世界环境的上下文中描述了主题技术,但是将理解,本文描述的技术也可以在非现实世界环境的情况下利用。例如,在一些实施方式中,环境可以是模拟环境,并且代理可以被实施为与模拟环境交互的一个或多个计算机。
模拟环境可以是运动模拟环境(例如,驾驶模拟或飞行模拟),并且代理可以是通过运动模拟行驶的模拟交通工具。在这些实施方式中,动作可以是用于控制模拟用户或模拟交通工具的控制输入。
在另一示例中,模拟环境可以是视频游戏,并且代理可以是玩视频游戏的模拟用户。通常,在模拟环境的情况下,观测可以包括一个或多个先前描述的观测或观测类型的模拟版本,并且动作可以包括一个或多个先前描述的动作或动作类型的模拟版本。
本说明书结合系统和计算机程序组件使用术语“配置”。对于一个或多个计算机的系统来说,被配置成执行特定的操作或动作意味着该系统已经在该系统上安装了软件、固件、硬件或其组合,这些软件、固件、硬件或其组合在操作中使该系统执行这些操作或动作。对于一个或多个计算机程序来说,被配置成执行特定的操作或动作意味着该一个或多个程序包括指令,当该指令被数据处理装置执行时,使得该装置执行这些操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在包括本说明书中公开的结构及其结构等同物的计算机硬件中、或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即,编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,其用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备,或者它们中的一个或多个的组合。替代地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,生成该传播信号以对信息进行编码来传输到合适的接收器装置供数据处理装置执行。
术语“数据处理装置”是指数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、或者多个处理器或计算机。该装置也可以是或还包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序,也可以被称为或描述为程序、软件、软件应用、小应用、模块、软件模块、脚本或代码,可以用任何形式的编程语言来编写,包括编译或解释语言或者声明性或过程性语言;并且计算机程序可以以任何形式来部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,在标记语言文档中所存储的一个或多个脚本)中,可以存储在专用于所述程序的单个文件中,或者可以存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机上或在位于一个站点或跨多个站点分布并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”被广泛用于指代任何数据集合:数据不需要以任何特定的方式被结构化,或者根本不需要被结构化,并且它可以被存储在处于一个或多个位置的存储设备上。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”被广泛用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实施为安装在处于一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,可以在相同的一个或多个计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该可编程计算机执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA或ASIC)来执行,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适于执行计算机程序的计算机可以基于通用微处理器或专用微处理器或两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和一个或多个用于存储指令和数据的存储器设备。中央处理单元和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘),以从其接收数据或向其传送数据,或者两者兼有。然而,计算机不需要这样的设备。此外,计算机可以嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几个示例。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如:半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(CRT(阴极射线管)或LCD(液晶显示)监控器)以及用户可以通过它向计算机提供输入的定点设备(例如,鼠标或轨迹球)。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求将网页发送到用户设备上的网络浏览器。而且,计算机可以通过向个人设备(例如,运行消息传递应用的智能手机)发送文本消息或其他形式的消息来与用户交互,并接收作为回报的来自用户的响应消息。
用于实施机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,专用硬件加速器单元用于处理机器学习训练或生产的普通部分和计算密集型部分,即,推理、工作量。
机器学习模型可以使用机器学习框架(例如,TensorFlow框架、MicrosoftCognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实施和部署。
本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,客户端计算,其具有图形用户界面、网络浏览器或应用,用户可以通过这些图形用户界面、网络浏览器或应用与本说明书中描述的主题的实施方式交互),或者包括一个或多个这样的后端组件、中间件组件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过运行在各自计算机上并且彼此之间具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器传输数据(例如,HTML网页)给用户设备,例如,为了向与充当客户端的设备交互的用户显示数据和从用户接收用户输入。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从设备接收到。
虽然本说明书包含许多具体的实施细节,但是这些不应被解释为对任何发明的范围或对所要求保护的范围的限制,而是对特定发明的特定实施例的特定特征的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合地实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开地实施或者在任何合适的子组合中实施。此外,尽管特征可以在上文中被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然以特定次序在附图中描绘并且在权利要求中记载了操作,但是这不应当被理解为要求以所示的特定次序或以顺序的次序执行这些操作或者要求执行所有示出的操作来获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应当被理解为在所有实施例中都要求这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。
已经描述了本主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的次序执行,并且仍然获得期望的结果。作为一个示例,附图中描述的过程不一定要求所示的特定次序或顺序的次序来获得期望的结果。在一些情况下,多任务和并行处理可能是有利的。
Claims (21)
1.一种用于强化学习以选择要由与环境交互的代理执行的动作的方法,所述方法包括在多个时间步中的每个时间步处:
确定在所述时间步处是否满足用于更新慢速更新循环神经网络的隐藏状态的标准;
当满足所述标准时,处理包括快速更新循环神经网络的隐藏状态的慢速更新输入,以更新慢速更新循环神经网络的隐藏状态;
接收表征在所述时间步处的环境的当前状态的观测;
使用快速更新循环神经网络来处理用于所述时间步的快速更新输入,以更新快速更新循环神经网络的隐藏状态,所述快速更新输入包括(i)所述观测和(ii)慢速更新循环神经网络的隐藏状态;以及
在更新快速更新循环神经网络的隐藏状态之后:
使用快速循环神经网络的隐藏状态来选择要响应于所述观测而执行的动作;
其中,所述观测是表征环境状态的数据或信号;并且代理是在环境中导航的机器人或者自主或半自主的陆地、空中或海上交通工具之一,或者代理是用于控制数据中心、配电/配水系统或者制造厂或服务设施中的设备的代理;
其中,所述标准在少于所有多个时间步的时间步处被满足。
2.根据权利要求1所述的方法,还包括在多个时间步中的每个时间步处:
当不满足所述标准时,在慢速更新循环神经网络的隐藏状态被用作用于所述时间步的快速更新输入的一部分之前,避免更新所述隐藏状态。
3.根据权利要求1-2中任一项所述的方法,其中,每N个时间步满足所述标准,并且其中N是大于1的固定整数。
4.根据权利要求1-2中任一项所述的方法,还包括在所述多个时间步中的每个时间步处:
确定在所述时间步处的观测和在慢速更新循环神经网络的隐藏状态被更新的上一时间步处的观测之间的差异度量,其中,仅当所述差异度量满足阈值时,所述标准才在所述时间步处被满足。
5.根据权利要求1-2中任一项所述的方法,其中,使用快速更新循环神经网络的隐藏状态来选择所述动作包括:
根据快速更新循环神经网络的隐藏状态生成可能潜变量的后验分布的后验参数;
从由后验参数参数化的后验分布中采样潜变量;以及
使用采样的潜变量来选择所述动作。
6.根据权利要求5所述的方法,其中,选择所述动作包括:
使用策略神经网络来处理采样的潜变量以生成策略输出,以及
使用所述策略输出来选择所述动作。
7.根据权利要求5所述的方法,其中,所述快速更新输入还包括在前一时间步处采样的潜变量。
8.根据权利要求5所述的方法,还包括:
在所述多个时间步中的每个时间步处,根据慢速更新循环神经网络的隐藏状态生成可能潜变量的先验分布的先验参数。
9.根据权利要求8所述的方法,其中,所述快速更新输入还包括在前一时间步处生成的先验分布的先验参数。
10.根据权利要求1-2和6-9中任一项所述的方法,还包括:
响应于代理执行所选择的动作而获得奖励;以及
使用强化学习技术基于所选择的动作和所述奖励来训练快速更新循环神经网络和慢速更新循环神经网络。
11.根据权利要求7-8中任一项所述的方法,还包括:
响应于代理执行所选择的动作而获得奖励;以及
使用强化学习技术基于所选择的动作和所述奖励来训练快速更新循环神经网络和慢速更新循环神经网络;
其中,在快速更新循环神经网络和慢速更新循环神经网络的训练期间使用先验分布来正则化潜变量。
12.根据权利要求11所述的方法,其中,在快速更新循环神经网络和慢速更新循环神经网络的训练期间使用先验分布来正则化潜变量包括:
训练快速更新循环神经网络和慢速更新循环神经网络,以最小化先验分布和后验分布之间的散度。
13.根据权利要求10所述的方法,还包括,在所述多个时间步中的每个时间步处,使用快速更新循环神经网络的隐藏状态来生成值输出,所述值输出是对从处于当前状态的环境产生的回报的估计,并且其中,所述训练包括使用演员-评论家技术基于所述奖励、所选择的动作和所述值输出来训练快速更新循环神经网络和慢速更新循环神经网络。
14.根据权利要求10中任一项所述的方法,还包括:
在所述多个时间步中的每个时间步处,使用快速更新循环神经网络的隐藏状态来生成值输出,所述值输出是对从处于当前状态的环境产生的回报的估计,并且其中,所述训练包括使用演员-评论家技术基于所述奖励、所选择的动作和所述值输出来训练快速更新循环神经网络和慢速更新循环神经网络;
其中,生成所述值输出包括使用采样的潜变量来生成所述值输出。
15.根据权利要求10所述的方法,还包括在所述多个时间步中的每个时间步处:
使用快速更新循环神经网络的隐藏状态针对一个或多个辅助任务中的每一个辅助任务生成相应的辅助输出;以及
针对一个或多个辅助任务中的每一个辅助任务,基于所述辅助任务的辅助输出,在所述辅助任务上训练快速更新循环神经网络和慢速更新循环神经网络。
16.根据权利要求15所述的方法,其中,针对一个或多个辅助任务中的每一个辅助任务生成相应的辅助输出包括使用采样的潜变量生成相应的辅助输出。
17.根据权利要求1-2,6-9,12,13和15-16中任一项所述的方法,其中,所述慢速更新循环神经网络和所述快速更新循环神经网络共享外部存储器。
18.根据权利要求1-2,6-9,12,13和15-16中任一项所述的方法,还包括在所述多个时间步中的每个时间步处:
使代理执行所选择的动作。
19.根据权利要求10中所述的方法,其中,获得所述奖励包括:
在执行所选择的动作之后,获得从环境中提取的数据,以及
使用奖励映射将获得的数据映射到所述奖励。
20.一种包括一个或多个计算机和一个或多个存储指令的存储设备的系统,当所述指令被所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据任一前述权利要求所述的方法。
21.存储指令的一个或多个计算机存储介质,当所述指令被一个或多个计算机执行时,使得所述一个或多个计算机执行根据任一前述权利要求所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510131927.7A CN120146141A (zh) | 2018-05-29 | 2019-05-29 | 利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862677632P | 2018-05-29 | 2018-05-29 | |
| US62/677,632 | 2018-05-29 | ||
| PCT/EP2019/063970 WO2019229125A1 (en) | 2018-05-29 | 2019-05-29 | Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent neural networks |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510131927.7A Division CN120146141A (zh) | 2018-05-29 | 2019-05-29 | 利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112119406A CN112119406A (zh) | 2020-12-22 |
| CN112119406B true CN112119406B (zh) | 2025-02-21 |
Family
ID=66690356
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510131927.7A Pending CN120146141A (zh) | 2018-05-29 | 2019-05-29 | 利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习 |
| CN201980032994.6A Active CN112119406B (zh) | 2018-05-29 | 2019-05-29 | 利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510131927.7A Pending CN120146141A (zh) | 2018-05-29 | 2019-05-29 | 利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习 |
Country Status (4)
| Country | Link |
|---|---|
| US (3) | US10872293B2 (zh) |
| EP (2) | EP4357976A1 (zh) |
| CN (2) | CN120146141A (zh) |
| WO (1) | WO2019229125A1 (zh) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11194968B2 (en) * | 2018-05-31 | 2021-12-07 | Siemens Aktiengesellschaft | Automatized text analysis |
| WO2019241145A1 (en) | 2018-06-12 | 2019-12-19 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
| US20230334338A1 (en) * | 2018-06-29 | 2023-10-19 | Meta Platforms, Inc. | Predicting a future behavior by applying a predictive model to embeddings representing past behaviors and the future behavior |
| WO2020118408A1 (en) * | 2018-12-11 | 2020-06-18 | The Toronto-Dominion Bank | Regularization of recurrent machine-learned architectures |
| CN113227973A (zh) * | 2019-02-26 | 2021-08-06 | 谷歌有限责任公司 | 用于选择软件策略网络并且基于所选择的策略网络自主控制对应软件客户端的强化学习技术 |
| US20220164669A1 (en) * | 2019-06-05 | 2022-05-26 | Intel Corporation | Automatic machine learning policy network for parametric binary neural networks |
| KR102461732B1 (ko) * | 2019-07-16 | 2022-11-01 | 한국전자통신연구원 | 강화 학습 방법 및 장치 |
| US11367268B2 (en) * | 2019-08-27 | 2022-06-21 | Nvidia Corporation | Cross-domain image processing for object re-identification |
| CN112580795B (zh) * | 2019-09-29 | 2024-09-06 | 华为技术有限公司 | 一种神经网络的获取方法以及相关设备 |
| US11205099B2 (en) * | 2019-10-01 | 2021-12-21 | Google Llc | Training neural networks using data augmentation policies |
| US20210232919A1 (en) * | 2020-01-29 | 2021-07-29 | Nec Laboratories America, Inc. | Modular networks with dynamic routing for multi-task recurrent modules |
| JP7314831B2 (ja) * | 2020-02-17 | 2023-07-26 | トヨタ自動車株式会社 | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 |
| US20210267487A1 (en) * | 2020-02-28 | 2021-09-02 | Rensselaer Polytechnic Institute | Recurrent neural network for tumor movement prediction |
| US20210295130A1 (en) * | 2020-03-19 | 2021-09-23 | Mohammad Rasoolinejad | Artificial intelligent agent rewarding method determined by social interaction with intelligent observers |
| US11682272B2 (en) * | 2020-07-07 | 2023-06-20 | Nvidia Corporation | Systems and methods for pedestrian crossing risk assessment and directional warning |
| US20220008824A1 (en) * | 2020-07-13 | 2022-01-13 | Nvidia Corporation | Game generation using one or more neural networks |
| US12541568B2 (en) | 2020-10-29 | 2026-02-03 | Visa International Service Association | Method, system, and computer program product for recurrent neural networks for asynchronous sequences |
| US20220180744A1 (en) * | 2020-12-09 | 2022-06-09 | Beijing Didi Infinity Technology And Development Co., Ltd. | System and method for task control based on bayesian meta-reinforcement learning |
| CN112580537B (zh) * | 2020-12-23 | 2022-06-21 | 中国人民解放军国防科技大学 | 一种用于多无人机系统持续覆盖特定区域的深度强化学习方法 |
| CN112732092B (zh) * | 2021-01-22 | 2023-04-07 | 河北工业大学 | 基于双视图多尺度卷积神经网络的表面肌电信号识别方法 |
| EP4315179A1 (en) * | 2021-05-28 | 2024-02-07 | DeepMind Technologies Limited | Learning diverse skills for tasks using sequential latent variables for environment dynamics |
| US12387570B2 (en) | 2021-06-23 | 2025-08-12 | Bank Of America Corporation | Artificial intelligence (AI)-based security systems for monitoring and securing physical locations |
| US11954990B2 (en) | 2021-06-23 | 2024-04-09 | Bank Of America Corporation | Artificial intelligence (AI)-based security systems for monitoring and securing physical locations |
| US11735017B2 (en) | 2021-06-23 | 2023-08-22 | Bank Of America Corporation | Artificial intelligence (AI)-based security systems for monitoring and securing physical locations |
| US11868812B2 (en) * | 2021-08-12 | 2024-01-09 | International Business Machines Corporation | Predictive scaling of container orchestration platforms |
| DE102022108396A1 (de) | 2022-04-07 | 2023-10-12 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Verfahren, System und Computerprogrammprodukt zum verstärkenden Lernen für die Durchführung von Steuerungs- und/oder Regelungsaufgaben einer Entität |
| CN117476084A (zh) | 2022-07-22 | 2024-01-30 | 戴尔产品有限公司 | 存储测试方法及电子设备 |
| US20250028935A1 (en) * | 2023-07-20 | 2025-01-23 | Taalas Inc. | Integrated Denoising Neural Network for High Density Memory |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104662526A (zh) * | 2012-07-27 | 2015-05-27 | 高通技术公司 | 用于高效地更新尖峰神经元网络的装置和方法 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9679258B2 (en) * | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
| KR20160091625A (ko) * | 2015-01-26 | 2016-08-03 | 한국전자통신연구원 | 계층적 네트워크 제어 시스템 및 방법 |
| KR102140672B1 (ko) * | 2015-09-11 | 2020-08-03 | 구글 엘엘씨 | 트레이닝 증강 학습 신경 네트워크 |
| EP3384435B1 (en) * | 2015-12-01 | 2023-07-19 | Deepmind Technologies Limited | Selecting action slates using reinforcement learning |
| US10671938B2 (en) * | 2016-01-27 | 2020-06-02 | Bonsai AI, Inc. | Artificial intelligence engine configured to work with a pedagogical programming language to train one or more trained artificial intelligence models |
| US11574164B2 (en) * | 2017-03-20 | 2023-02-07 | International Business Machines Corporation | Neural network cooperation |
-
2019
- 2019-05-29 CN CN202510131927.7A patent/CN120146141A/zh active Pending
- 2019-05-29 EP EP23206214.1A patent/EP4357976A1/en active Pending
- 2019-05-29 WO PCT/EP2019/063970 patent/WO2019229125A1/en not_active Ceased
- 2019-05-29 EP EP19728014.2A patent/EP3776364B1/en active Active
- 2019-05-29 US US16/425,717 patent/US10872293B2/en active Active
- 2019-05-29 CN CN201980032994.6A patent/CN112119406B/zh active Active
-
2020
- 2020-12-14 US US17/121,679 patent/US11842261B2/en active Active
-
2023
- 2023-12-11 US US18/536,065 patent/US20240220774A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104662526A (zh) * | 2012-07-27 | 2015-05-27 | 高通技术公司 | 用于高效地更新尖峰神经元网络的装置和方法 |
Non-Patent Citations (1)
| Title |
|---|
| 全面解读深度强化学习:从基础概念到AlphaGo;Duke Lee;《www.toutiao.com》;20170326;第1-22页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20190370637A1 (en) | 2019-12-05 |
| WO2019229125A1 (en) | 2019-12-05 |
| CN112119406A (zh) | 2020-12-22 |
| EP3776364B1 (en) | 2023-12-06 |
| US10872293B2 (en) | 2020-12-22 |
| US11842261B2 (en) | 2023-12-12 |
| EP3776364A1 (en) | 2021-02-17 |
| EP4357976A1 (en) | 2024-04-24 |
| US20210097373A1 (en) | 2021-04-01 |
| CN120146141A (zh) | 2025-06-13 |
| US20240220774A1 (en) | 2024-07-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112119406B (zh) | 利用快速更新循环神经网络和慢速更新循环神经网络的深度强化学习 | |
| US20240370725A1 (en) | Multi-agent reinforcement learning with matchmaking policies | |
| CN112119404B (zh) | 样本高效的强化学习 | |
| JP7258965B2 (ja) | ニューラルネットワークを使用する強化学習のための行動選択 | |
| CN116776964B (zh) | 用于分布式强化学习的方法、程序产品和存储介质 | |
| JP7419547B2 (ja) | 学習済み隠れ状態を使用するエージェント制御のためのプランニング | |
| EP3788549B1 (en) | Stacked convolutional long short-term memory for model-free reinforcement learning | |
| JP7139524B2 (ja) | 時間的価値移送を使用した長いタイムスケールにわたるエージェントの制御 | |
| CN114521262A (zh) | 使用因果正确环境模型来控制智能体 | |
| CN115298668A (zh) | 使用适应性回报计算方案强化学习 | |
| EP3596662B1 (en) | Imagination-based agent neural networks | |
| CN112930541B (zh) | 通过最小化妄想影响来确定控制策略 | |
| JP7646870B2 (ja) | 弁別器モデルの集合を使用した強化学習 | |
| Ge et al. | Deep reinforcement learning navigation via decision transformer in autonomous driving | |
| CN116134451A (zh) | 使用相对变分内在控制来控制代理 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |