CN110692066B - 使用多模态输入选择动作 - Google Patents
使用多模态输入选择动作 Download PDFInfo
- Publication number
- CN110692066B CN110692066B CN201880026852.4A CN201880026852A CN110692066B CN 110692066 B CN110692066 B CN 110692066B CN 201880026852 A CN201880026852 A CN 201880026852A CN 110692066 B CN110692066 B CN 110692066B
- Authority
- CN
- China
- Prior art keywords
- current
- neural network
- observation
- action
- 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
- 230000009471 action Effects 0.000 title claims abstract description 247
- 238000013528 artificial neural network Methods 0.000 claims abstract description 220
- 238000000034 method Methods 0.000 claims abstract description 101
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000003860 storage Methods 0.000 claims abstract description 15
- 238000003780 insertion Methods 0.000 claims abstract description 7
- 230000037431 insertion Effects 0.000 claims abstract description 7
- 239000003795 chemical substances by application Substances 0.000 claims description 120
- 238000012549 training Methods 0.000 claims description 56
- 238000012545 processing Methods 0.000 claims description 24
- 238000009826 distribution Methods 0.000 claims description 21
- 230000002787 reinforcement Effects 0.000 claims description 20
- 238000010801 machine learning Methods 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 15
- 230000000306 recurrent effect Effects 0.000 claims description 11
- 230000002123 temporal effect Effects 0.000 claims description 11
- 239000013598 vector Substances 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 5
- 238000012952 Resampling Methods 0.000 claims description 4
- 238000003058 natural language processing Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 35
- 238000004590 computer program Methods 0.000 abstract description 15
- 230000007613 environmental effect Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 240000004760 Pimpinella anisum Species 0.000 description 1
- 241000009334 Singa Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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/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/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/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised 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
- G06N3/092—Reinforcement learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
方法、***和装置,包括编码在计算机存储介质上的计算机程序,用于选择要由与环境交互的智能体执行的动作。在一个方面,一种***包括语言编码器模型,该语言编码器模型被配置为接收特定自然语言的文本串,并处理该文本串以生成该文本串的文本嵌入。***包括观察编码器神经网络,该观察编码器神经网络被配置为接收表征环境的状态的观察,并处理该观察以生成该观察的观察嵌入。***包括子***,该子***被配置为获得当前文本串的当前文本嵌入和当前观察的当前观察嵌入。子***被配置为选择智能体响应于当前观察要执行的动作。
Description
技术领域
本说明书涉及强化学习。
背景技术
在强化学习***中,智能体(agent)通过执行由强化学习***响应于接收到表征环境的当前状态的观察选择的动作来与环境交互。
一些强化学习***按照神经网络的输出,选择智能体响应于接收到给定的观察要执行的动作。
神经网络是采用一层或多层非线性单元来预测接收的输入的输出的机器学习模型。一些神经网络是深度神经网络,除了输出层外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一个层(即下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集合的当前值从接收的输入生成输出。
发明内容
本说明书描述了一种***,该***被实现为在一个或多个位置的一个或多个计算机上的计算机程序,其选择要由与环境交互的强化学习智能体执行的动作。
根据第一方面,提供一种用于选择要由与环境交互的智能体执行的动作的***,该***包括一个或多个计算机以及一个或多个存储设备,该存储设备存储指令。当所述指令由所述一个或多个计算机执行时,使所述一个或多个计算机实现语言编码器模型、观察编码器神经网络和子***。
语言编码器模型被配置为:接收特定自然语言的输入文本串,以及处理输入文本串以生成输入文本串的文本嵌入。观察编码器神经网络被配置为:接收表征环境的状态的输入观察,以及处理输入观察以生成输入观察的观察嵌入。子***被配置为:接收特定自然语言的当前文本串,其表达关于智能体当前正在执行的当前任务的信息。该子***提供当前文本串作为语言编码器模型的输入,以获得当前文本串的当前文本嵌入。该子***接收表征环境的当前状态的当前观察。该子***提供当前观察作为观察编码器神经网络的输入,以获得当前观察的当前观察嵌入。该子***组合当前观察嵌入和当前文本嵌入,以生成当前组合嵌入。该子***使用当前组合嵌入,选择智能体响应于当前的观察要执行的动作。
在一些实施方式中,所述指令还使所述一个或多个计算机实现动作选择神经网络。动作选择神经网络被配置为:接收输入组合嵌入,以及处理输入组合嵌入以生成动作选择输出。
在一些实施方式中,使用所述当前组合嵌入,选择智能体响应于当前观察要执行的动作包括:提供当前组合嵌入作为动作选择神经网络的输入,以获得当前动作选择输出。使用当前操作选择输出,选择智能体响应于当前观察要执行的动作。
在一些实施方式中,所述当前动作选择输出定义智能体要执行的可能动作上的概率分布。选择智能体要执行的动作包括:从所述概率分布中采样动作或根据概率分布选择具有最高概率的动作。
在一些实施方式中,对于智能体要执行的多个可能动作中的每一个,所述当前动作选择输出包括相应的Q值,所述相应的Q值是智能体响应于当前观察执行所述可能动作而导致的回报的估计。选择智能体要执行的动作包括:选择具有最高Q值的动作。
在一些实施方式中,所述当前动作选择输出识别智能体响应于当前观察要执行的最佳可能动作,并且选择智能体要执行的动作包括:选择所述最佳可能动作。
在一些实施方式中,所述语言编码器模型是递归神经网络(recurrent neuralnetwork)。
在一些实施方式中,所述语言编码器模型是词袋编码器。
在一些实施方式中,所述当前文本串是用于智能体执行当前任务的自然语言指令。
在一些实施方式中,所述当前观察嵌入是所述当前观察的特征矩阵,并且其中,当前文本嵌入是当前文本串的特征向量。
在一些实施方式中,组合当前观察嵌入和当前文本嵌入包括:将当前观察的特征矩阵扁平化;以及拼接扁平化的特征矩阵和当前文本串的特征向量。
在一些实施方式中,对于在当前任务的执行期间接收的每个观察,当前文本串是相同的。
在一些实施方式中,当前文本串与在当前任务的执行期间接收的先前文本串不同。
根据第二方面,提供了一种训练语言编码器模型、观察编码器神经网络和动作选择神经网络的方法。该方法包括:接收作为智能体响应于当前观察执行当前动作的结果的当前奖励。通过执行机器学习训练技术的迭代以优化基于当前奖励的任务特定目标,确定动作选择神经网络的参数的当前值的任务特定更新。通过将任务特定目标的梯度反向传播通过动作选择神经网络并且到语言编码器模型和观察编码器神经网络中,确定语言编码器模型和观察编码器神经网络的参数的当前值的任务特定更新。
在一些实施方式中,所述任务特定目标是使响应于智能体在当前任务的执行期间执行的动作而接收的时间折扣期望回报最大化。执行所述机器学习训练技术的迭代包括:执行强化学习技术的迭代,以使用当前奖励和当前动作选择输出来优化任务特定目标。
在一些实施方式中,所述当前动作选择输出还包括预测的期望回报输出,其是环境处于当前状态而导致的时间折扣回报的估计。执行强化学习技术的迭代包括:执行执行器-评价器技术的迭代。
在一些实施方式中,所述方法还包括:使用当前观察嵌入、当前文本嵌入或两者来确定一个或多个辅助输出。通过执行机器学习训练技术的迭代以优化基于一个或多个辅助输出的辅助目标,确定语言编码器模型、观察编码器神经网络和动作选择神经网络的参数的当前值的辅助更新。
在一些实施方式中,确定一个或多个辅助输出包括:使用时间自动编码器神经网络预测在智能体执行选择的动作之后要接收的下一个观察,该时间自动编码器神经网络接收选择的动作的嵌入和当前观察嵌入作为输入。
在一些实施方式中,确定所述辅助更新包括:获得实际的下一个观察。通过执行梯度下降的迭代以最小化实际的下一个观察与预测的下一个观察之间的损失,确定观察编码器神经网络的参数的当前值的更新。
在一些实施方式中,所述时间自动编码器神经网络与动作选择神经网络共享一个或多个参数,并且确定辅助更新还包括确定共享参数的当前值的更新。
在一些实施方式中,确定一个或多个辅助输出包括:获得识别有意义单词的数据,其中,所述有意义单词是当前文本串中影响智能体对当前任务的执行的单词。使用与观察编码器神经网络共享至少一些参数的语言预测神经网络处理当前观察,以生成单词词汇上的概率分布,其中每个单词的概率表示该单词应为有意义单词的似然。
在一些实施方式中,确定所述辅助更新包括:通过执行梯度下降的迭代以最小化确定的有意义单词的概率的负对数似然,确定观察编码器神经网络的参数的当前值的更新。
在一些实施方式中,确定一个或多个辅助输出还包括:使用奖励预测神经网络来处理动作选择神经网络的中间输出,该奖励预测神经网络被配置为生成预测奖励,该预测奖励是作为智能体响应于当前观察执行当前动作的结果而将接收的奖励的估计。
在一些实施方式中,确定所述辅助更新包括:通过执行梯度下降的迭代以最小化预测奖励与当前奖励之间的损失,确定语言编码器模型、观察编码器神经网络和动作选择神经网络的参数的当前值的更新。
在一些实施方式中,所述当前动作选择输出还包括预测的期望回报输出,其是环境处于当前状态而导致的时间折扣回报的估计。确定一个或多个辅助输出还包括:对来自重放存储器的最近观察嵌入和最近文本嵌入重新采样,以及处理最近观察嵌入和最近文本嵌入,以生成最近观察嵌入和最近文本嵌入的预测的期望回报输出。
在一些实施方式中,确定所述辅助更新包括:通过使用最近观察嵌入和最近文本嵌入的预测的期望回报执行值函数回归的迭代,确定语言编码器模型、观察编码器神经网络和动作选择神经网络的参数的当前值的更新。
根据第三方面,提供了一种***,其包括一个或多个计算机和一个或多个存储设备,该存储设备存储指令,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行前述方法的操作。
根据第四方面,提供了一个或多个计算机存储介质,其存储指令,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行前述方法的操作。
根据第五方面,提供了一种***,其包括一个或多个计算机和一个或多个存储设备,所述存储设备存储指令,当所述指令由所述一个或多个计算机执行时,使所述一个或多个计算机执行前述子***的相应操作。
根据第六方面,提供了一个或多个计算机存储介质,其存储指令,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行前述子***的相应操作。
根据第七方面,提供了一个或多个计算机存储介质,其存储前述***的相应指令。
根据第八方面,提供了一种用于学习与公共环境有关的两种不同模式的输入数据之间的关系的计算***。该***包括第一环境神经网络模块,接收代表环境的环境输入数据并输出代表环境的特征的环境特征数据。该***包括第二任务神经网络模块,接收与关于环境要执行的一个或多个任务有关的任务输入数据,并输出该任务输入数据的嵌入表示。该***包括策略定义神经网络模块,定义用于计算***的策略。耦接策略定义神经网络模块以从环境神经网络模块和任务神经网络模块接收数据,并按照策略输出动作数据。动作数据表示要在环境中执行的动作。策略定义响应于环境输入数据和任务输入数据要在环境中执行的动作。动作是由旨在完成任务的***控制的动作的序列之一。策略定义神经网络模块包括递归神经网络,该递归神经网络定义计算***的状态的序列中的状态。
***包括强化学习训练模块,其耦接到环境神经网络模块、任务神经网络模块和策略定义神经网络模块。强化学习训练模块响应于代表一个或多个任务的成功执行的奖励数据,训练环境神经网络模块、任务神经网络模块和策略定义神经网络模块。***包括至少一个辅助神经网络模块,其中该辅助神经网络模块包括与环境神经网络模块、任务神经网络模块和策略定义神经网络模块中的一个或多个共享以训练环境神经网络模块的权重的第一集合和权重的第二集合。辅助神经网络模块被配置为使用环境输入数据和任务输入数据中的一个或两个进行无监督训练。
在一些实施方式中,计算***包括在第一和第二神经网络模块与策略定义神经网络模块之间的组合模块。组合模块具有耦接到第一和第二神经网络模块的输入,以组合环境特征数据和任务输入数据的嵌入表示,并且被配置为输出用于策略定义神经网络模块的组合表示数据。
在一些实施方式中,至少一个辅助神经网络模块包括预测辅助神经网络模块。预测辅助神经网络模块被配置用于基于环境输入数据的当前状态与环境输入数据的预测的未来状态的比较进行无监督训练。
在一些实施方式中,预测辅助神经网络模块被配置为从环境输入数据的当前状态和动作数据预测环境输入数据的未来状态。权重的第一集合包括与环境神经网络模块共享的权重和与策略定义神经网络共享的权重。
在一些实施方式中,预测辅助神经网络模块包括时间自回归神经网络。
在一些实施方式中,至少一个辅助神经网络模块包括建模辅助神经网络模块。建模辅助神经网络模块被配置用于基于环境输入数据和任务输入数据之间的连接进行无监督训练。
在一些实施方式中,建模辅助神经网络模块被配置为接收环境输入数据并输出代表任务输入数据的一个或多个数据元素。权重的第一集合包括与环境神经网络模块和任务神经网络模块共享的权重。建模辅助神经网络模块被配置用于基于任务输入数据与表示任务输入数据的一个或多个数据元素的比较而进行无监督训练。
在一些实施方式中,任务神经网络模块包括递归神经网络,并且任务输入数据包括与要执行的一个或多个任务有关的数据项的序列。
在一些实施方式中,环境输入数据包括图像数据。
在一些实施方式中,任务输入数据包括语言数据。
根据第九方面,提供了一种非暂时性数据载体,其承载处理器控制代码以实现前述计算***。
根据第十方面,提供了一种训练基于神经网络的计算***以学习与公共环境有关的两种不同模式的输入数据之间的关系的方法。该计算***包括:第一和第二神经网络模块,处理与环境有关的第一和第二模式输入数据;以及策略神经网络模块,其耦合到第一和第二神经网络模块,以根据状态动作策略依赖于第一和第二模式输入数据来输出动作数据。该方法包括通过基于由第一和第二模式输入数据的组合定义的奖励的强化学习来训练计算***。结合通过强化学习的训练,该方法包括基于第一和第二模式输入数据通过无监督学习来训练一个或多个辅助神经网络模块。一个或多个辅助神经网络模块与第一和第二神经网络模块以及策略神经网络模块中的一个或多个共享权重。
在一些实施方式中,该方法包括使用一个或多个辅助神经网络模块之一来预测由动作数据定义的动作对环境的影响,并基于所观察到的动作的影响训练一个或多个辅助神经网络模块。
在一些实施方式中,该方法包括使用一个或多个辅助神经网络模块中的一个来对第一和第二模式输入数据的组合进行建模。
在一些实施方式中,第一模式输入数据包括图像数据,并且其中第二模式输入数据包括语言数据。
根据第十一方面,提供了一种非暂时性数据载体,其携带处理器控制代码以实现前述方法。
根据第十二方面,提供了一种通过强化学习训练的电子控制器,以控制具有多个状态的***,并且对于每个状态,控制动作的集合以从一个状态移动到下一个状态。电子控制器包括第一输入,以从***接收状态数据。电子控制器包括第二输入,以接收指令数据,该指令数据定义关于***要执行的指令。该电子控制器包括计算***,该计算***包括第一和第二神经网络模块以处理来自第一和第二模式输入的数据。该计算***包括耦接到第一和第二神经网络模块的策略神经网络模块,以根据状态动作策略依赖于状态数据和指令数据输出动作数据。该电子控制器包括至少一个辅助神经网络模块,其中该辅助神经网络模块包括与第一、第二和策略神经网络模块中的一个或多个共享以训练环境神经网络模块的权重、以及权重的第二集合。
在一些实施方式中,策略神经网络模块和第一神经网络模块中的一个或两个包括递归神经网络。
可以实施本说明书中描述的主题的特定实施方式,以实现以下优点中的一个或多个。可以训练如本说明书中描述的***以选择使与环境交互的智能体执行由文本串指定的书面指令的动作。因此,***可以通过将自然语言文本串与环境相关来学习理解自然语言的含义。更具体地,该***可以学习将自然语言文本串的分量(例如单词和短语)与环境的观察以及相关的动作的序列相关。创建理解自然语言的含义的***(诸如本说明书中描述的***)对于开发人工智能(AI)是一项长期挑战,而这对促进人与AI的交互至关重要。
可以基于文本串和环境的观察(例如,视觉观察)来训练本说明书中所描述的***,而无需任何关于语言或关于文本串与观察之间的连接的先验知识。因此,与依赖于基于规则的方法和先验知识的一些用于计算语言学习的常规***不同,如本说明书中所描述的***获取可以相对于新环境和新文本串进行推广的语义知识。例如,本说明书中描述的***可以使用它已经知道的单词来解释文本串中的陌生短语,并在陌生环境中成功执行由文本串指定的指令。而且,随着如本说明书中所描述的***引导其现有知识以使得能够获取新知识,所述***学习新单词的速率可以随着时间而加速。
通过消除对一些常规***所需的基于规则的方法和先验知识的需求,相对于一些常规***,本说明书中所描述的***可以减少对计算资源(例如,存储器)的使用。例如,与一些常规***相比,本说明书中描述的***获取可以推广到新环境和新文本串的知识,而所述常规***将需要(例如,在存储器中)存储新规则和先验知识以便处理来自新环境和新文本串的数据。
本说明书中所描述的***可以通过任务特定参数更新和辅助参数更新的组合来训练,所述任务特定参数更新基于***为完成任务进展而接收的奖励,所述辅助参数更新利用在每个时间步骤可用的来自观察的潜在有用的感知反馈流。使用辅助参数更新来训练***可以减少训练***所需的计算资源量(例如存储器和计算能力),尤其是当***接收的奖励稀少(即很少,仅仅为非零)时。例如,如果***在完成任务后接收到非零奖励,但在完成任务时却接收到很少的非零奖励,则***接收的奖励可能是稀少的。与一些没有辅助参数更新的益处的常规***相比,本说明书中描述的***可以被训练以在较少的训练迭代中实现可接受的任务执行水平。
智能体可以是机器人,或者是半自主或自主载具。对于这样的设备,环境可以是真实世界,在这种情况下,可以从相机、激光传感器或其他这样的设备获得观察,并且动作可以是真实世界任务,诸如导航通过环境。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1A是示例动作选择***的框图。
图1B是动作选择***的示例架构的框图。
图2是用于选择要由智能体执行的动作的示例处理的流程图。
图3是用于使用任务特定参数更新来训练动作选择***的示例处理的流程图。
图4是用于使用辅助参数更新来训练动作选择***的示例处理的流程图。
在各个附图中相似的参考数字和标号指示相似的元件。
具体实施方式
图1A示出了示例动作选择***100。动作选择***100是实现在一个或多个位置中的一个或多个计算机上的计算机程序的***的示例,其中实现以下描述的***、组件和技术。
动作选择***100在多个时间步骤中的每一个选择要由与环境106交互的智能体104执行的动作102。为了使智能体104与环境106交互,在每个时间步骤,***100接收输入并响应于接收的输入来选择要由智能体104执行的动作102。通常,输入包括表征环境106的当前状态的数据(例如,环境106的图像)和表达关于智能体104当前正在执行的任务(或要由智能体104执行的任务)的一些信息的另一模态(modality)的数据(例如,文本串108)。在本说明书中,表征环境106的状态的数据将被称为观察110。
本文描述的***100是广泛适用的,并且不限于一种特定的实施方式。然而,出于说明性目的,下面描述了少数示例实施方式。
在一些实施方式中,环境106是真实世界环境,并且智能体104是与真实世界环境交互的机械智能体。例如,智能体104可以是与环境106交互以完成特定任务的机器人。作为另一示例,智能体104可以是导航通过环境106的自主或半自主载具。在这些实施方式中,动作102可以是控制机器人或自主载具的控制输入。在这些实施方式中的一些中,观察110可以由智能体104的传感器生成或从其导出。例如,观察110可以由智能体104的相机捕获。作为另一示例,观察110可以从自智能体104的激光传感器捕获的数据导出。作为另一示例,观察110可以是由智能体104的高光谱(hyperspectral)传感器捕获的高光谱图像。
在一些实施方式中,环境106可以是模拟环境,并且智能体104可以被实现为与模拟环境交互的一个或多个计算机程序。例如,模拟环境106可以是视频游戏,并且智能体104可以是玩视频游戏的模拟用户。作为另一示例,模拟环境106可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体104可以是导航通过运动模拟环境的模拟载具。在这些实施方式中,动作102可以是控制模拟用户或模拟载具的控制输入。
如先前所描述的,***100接收的输入包括表达关于智能体104当前正在执行的任务(或要由智能体104执行的任务)的一些信息的另一模态(例如,与观察110的模态不同的模态)的数据。例如,其他模态数据可以是用于智能体104执行任务的自然语言(例如,英语)的指令。在特定示例中,任务可以用于智能体104导航到环境106中的特定位置(例如,在这种情况下,该指令可能是:“导航到学校”),或在环境106中定位特定对象(例如,在这种情况下,指令可能是:“找到红色对象”)。其他模态数据可以由***100的用户例如通过键盘或麦克风来提交。***100的用户可以是例如自主驾驶载具智能体104的驾驶员或机器人智能体104的操作员。虽然此处将***100描述为接收文本串108形式的其他模式数据,但是更一般地,其他模态数据可以具有任何适当的格式。例如,其他模态数据可以是表达***100的用户话语的音频数据。
在一些实施方式中,在当前任务的执行期间,***100所接收的文本串108在每个时间步骤都是相同的。例如,在当前任务的执行期间的每个时间步骤,文本串108可以是自然语言的指令,用于智能体104执行当前任务。通常,当***100接收的文本串108在每个时间步骤均相同时,***100可以维持文本串108(例如,在存储器中),并且不需要***100的用户在多个时间步骤重复提供相同的文本串108。在一些实施方式中,在当前任务的执行期间,***100所接收的文本串108可以在时间步骤之间不同。例如,在当前任务的执行期间的较晚时间步骤,文本串108可以是执行当前任务的指令,其中该指令指定了关于应如何执行任务的、比在当前任务的执行期间较早时间步骤更多的细节。
***100按照观察编码器神经网络参数的当前值,使用观察编码器神经网络112处理当前观察110,以生成观察嵌入114。在一些实施方式中,当前观察110是图像,观察编码器神经网络112是卷积神经网络,并且当前观察嵌入114是描述当前观察110的特征矩阵。通常,嵌入是指输入的数值表示,例如,作为向量或矩阵或其他有序的数值集。
***100使用语言编码器模型116(也可以称为“语言编码器模块”)处理当前文本串108的表示,以生成当前文本嵌入118。例如,当前文本串108的表示可以是数值表示的序列,其中每个数值表示表示来自可能的字符(或单词)的字典的相应字符(或单词),并且当前文本嵌入118可以是表示当前文本串108的特征向量。在一些实施方式中,语言编码器模型116是递归神经网络(例如,长短期记忆网络(LSTM)),其被配置为在一系列内部时间步骤上处理当前文本串108以生成当前文本嵌入118。在一些实施方式中,尤其是在当前文本串108中的单词的顺序不重要时,语言编码器模型116是词袋(bag-of-words)语言编码器。词袋语言编码器可以通过对当前文本串108的每个字符(或单词)的数值表示求和来生成当前文本嵌入118。
在每个时间步骤,***100组合当前观察嵌入114和当前文本嵌入118以确定当前组合嵌入120,并使用当前组合嵌入120以选择智能体104响应于当前观察110要执行的动作102。例如,***100可以按照动作选择神经网络参数的当前值,使用动作选择神经网络122来处理当前组合嵌入120,以生成动作选择输出124。在该示例中,***100可以基于动作选择输出124选择要在该时间步骤执行的动作102。动作选择神经网络122可以实现为例如递归神经网络(例如LSTM)或前馈神经网络(例如,多层感知器)。
在一些实施方式中,动作选择输出124定义在可以由智能体104执行的可能动作集合中的动作上的概率分布。例如,动作选择输出124可以包括可能动作集合中的每个动作的相应的数值似然值。作为另一示例,动作选择输出124可以包括定义在可能动作集合上的参数概率分布(例如,正态分布)的参数值(例如,平均值和标准偏差值)。在这些实施方式中的一些中,***100通过基于概率分布从可能动作集合中采样动作来选择智能体104要执行的动作102。在这些实施方式中的一些中,***根据概率分布从可能动作集合中选择具有最高概率的动作作为要由智能体104执行的动作102。在这些实施方式的其他实施方式中,***通过从概率分布中采样来选择要由智能体执行的动作。
在一些实施方式中,动作选择输出124识别智能体104响应于当前观察110要执行的最佳可能动作,并且***100将动作102选择为最佳可能动作。例如,如果智能体104是机器人智能体,则动作选择输出124可以识别要施加到智能体104的关节的最佳可能扭矩。
在一些实施方式中,动作选择输出124包括可能动作集合中的每个动作的相应的Q值。动作的Q值是如果智能体104响应于当前观察110而执行动作,则***100将接收的回报(return)的估计。回报指当智能体104在多个时间步骤上与环境106交互时由***100接收的奖励(reward)的累积度量。例如,回报可以指***100接收的长期时间折扣奖励总和(long-term time-discounted sum of rewards)。在这些实施方式中的一些中,***将在该时间步骤智能体104要执行的动作102选择为具有最高Q值的动作。
在每个时间步骤,***100可以基于环境106的当前状态和智能体104的当前动作102接收奖励126。通常,奖励126被表示为一个或多个数值。奖励126可以基于环境106的任何事件或方面。例如,奖励可以指示智能体104是否已经成功执行了由文本串108指定的任务。
***100包括训练引擎128,其被配置为在多个训练迭代上训练***100。训练引擎128通过迭代地(即,在每个训练迭代)调整动作选择神经网络122、观察编码器神经网络112和语言编码器模型116中的一个或多个的当前参数值来训练***100。训练引擎128可以使***100选择使智能体104能够更有效地执行由文本串108指定的任务的动作102。由此,训练引擎128使***100通过将自然语言文本串108与环境106相关而学习理解自然语言的含义。更具体地,训练引擎128使***100学习将自然语言文本串108的分量(例如,单词和短语)与环境106的观察110和相关动作序列102相关。
在多个训练迭代中的每一个,训练引擎128确定任务特定参数更新130并应用任务特定参数更新130以调整动作选择神经网络122、观察编码器神经网络112和语言编码器模型116中的一个或多个的当前参数值。如将参考图3进一步描述的,训练引擎128可以通过执行机器学习训练技术的迭代以优化基于***接收的奖励126的任务特定目标来确定任务特定参数更新130。例如,任务特定目标可以是使响应于智能体104在当前任务的执行期间执行的动作102而接收的时间折扣的期望回报最大化。机器学习训练技术可以是强化学习技术(例如,执行器-评价器(actor-critic)强化学习技术),以使用当前奖励126和当前动作选择输出124来优化任务特定目标。机器学习训练技术可以包括反向传播任务特定目标的梯度通过动作选择神经网络122并且到语言编码器模型116和观察编码器神经网络112中。
除了基于奖励126(可能是稀疏的)使用任务特定参数更新来训练***100之外,当智能体104探索环境106时,训练引擎128还可以利用在每个时间步骤可用的来自观察110的潜在有用的感知反馈流。在多个训练迭代中的每一个,训练引擎128可以确定辅助参数更新132并应用辅助参数更新132以调整动作选择神经网络122、观察编码器神经网络112和语言编码器模型116中的一个或多个的当前参数值。如将参考图4进一步描述的,训练引擎可以通过执行机器学习训练技术的迭代以基于一个或多个辅助输出134优化辅助目标来确定辅助参数更新132。***100可以使用一个或多个辅助神经网络136(并且在一些情况下,动作选择神经网络122)来生成辅助输出134。机器学习训练技术可以包括将辅助目标的梯度反向传播到动作选择神经网络122、语言编码器模型116和观察编码器神经网络112中。
辅助神经网络136可以处理包括当前观察嵌入114、当前文本嵌入118或这两者的输入,以生成涉及对环境106的方面进行预测或建模的辅助输出134。例如,辅助神经网络136可以包括时间自动编码器神经网络,其被配置为生成辅助输出,该辅助输出包括在智能体104在当前时间步骤执行当前动作102之后要接收的下一观察110的预测。作为另一示例,辅助神经网络136可以包括语言预测神经网络,该语言预测神经网络被配置为生成辅助输出134,该辅助输出134定义对当前文本串108中包括的有意义的单词的预测。作为另一示例,辅助神经网络136可以包括奖励预测神经网络,该奖励预测神经网络被配置为生成辅助输出134,该辅助输出134包括预测奖励,该预测奖励是由于智能体104在当前时间步骤执行当前动作102而将接收的奖励的估计。作为另一示例,动作选择神经网络122的动作选择输出124可以包括辅助输出,该辅助输出定义预测的期望回报输出,该预测的期望回报输出是由于环境处于当前状态而导致的时间折扣回报的估计。
图1B是动作选择***(例如,图1A的动作选择***100)的示例架构138的框图。
在示例架构138中,观察110是图像140,观察编码器神经网络112是卷积神经网络,并且语言编码器模型116是LSTM递归神经网络。动作选择神经网络122也是LSTM递归神经网络,其在每个时间步骤被配置为生成输出,该输出定义智能体104要执行的动作102以及当前状态的值142的估计,即由于环境106处于当前状态而产生的时间折扣回报。
时间自动编码器神经网络144是反卷积神经网络,其被配置为处理包括当前动作102的嵌入和当前观察嵌入114的输入,以生成包括下一个观察预测146的辅助输出。下一个观察预测146是智能体104在当前时间步骤执行当前动作102之后要接收的图像140的预测。
语言预测神经网络148被配置为处理包括当前图像140和语言编码器模型116的中间输出的输入,以生成辅助输出,该辅助输出定义文本串108中包含的有意义单词150的预测。有意义单词是指影响智能体104对当前任务的执行的单词。语言预测神经网络148与观察编码器神经网络112共享一些参数。
奖励预测神经网络152被配置为处理包括动作选择神经网络122的中间输出的输入,以生成包括预测奖励154的辅助输出。预测奖励154是作为智能体104在当前时间步骤执行当前动作102的结果将接收的奖励的估计。
***100生成辅助值156,该辅助值156通过对来自重放存储器的最近观察嵌入和最近文本嵌入进行重新采样,并使用动作选择神经网络122处理最近观察嵌入和最近文本嵌入以生成辅助值156而输出。辅助值156是通过最近观察嵌入和最近文本嵌入表征的状态的值的估计。
训练引擎128基于***100接收的奖励,使用执行器-评价器强化学习技术来确定***100的任务特定参数更新,如将参考图3进一步描述的。训练引擎128基于下一个观察预测146、预测的有意义单词150、预测奖励154和辅助值156来确定***100的辅助参数更新,如将参考图4进一步描述的。
图2是用于选择要由智能体执行的动作(即,在给定的时间步骤)的示例处理的流程图。为了方便起见,处理200将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,按照本说明书适当编程的动作选择***,例如,图1A的动作选择***100,可以执行处理200。
***接收表达关于智能体当前正在执行的任务(或智能体要执行的任务)的一些信息的当前文本串(202)。例如,当前文本串可以是用于智能体执行任务的自然语言(例如,英语)的指令。
***获得当前文本串的当前文本嵌入(204)。更具体地,***使用语言编码器模型处理当前文本串的表示,以生成当前文本嵌入。例如,当前文本串的表示可以是数值表示的序列,其中每个数值表示表示来自可能的字符(或单词)的字典的相应字符(或单词),并且当前文本嵌入可以是表示当前文本串的特征向量。在一些实施方式中,语言编码器模型是递归神经网络(例如,长短期记忆网络(LSTM)),其被配置为在一系列内部时间步骤上处理当前文本串以生成当前文本嵌入。在一些实施方式中,特别是在当前文本串中的单词的顺序不重要时,语言编码器模型是词袋语言编码器。词袋语言编码器可以通过对当前文本串的每个字符(或单词)的数值表示求和来生成当前文本嵌入。
***接收表征环境的当前状态的当前观察(206)。该观察可以由智能体的传感器生成或从智能体的传感器导出。例如,该观察可以由智能体的相机捕获。作为另一示例,观察可以从自智能体的激光传感器捕获的数据导出。作为另一示例,观察可以是由智能体的高光谱传感器捕获的高光谱图像。
***获得当前观察的当前观察嵌入(208)。更具体地,该***按照观察编码器神经网络参数的当前值,使用观察编码器神经网络处理当前观察,以生成当前观察嵌入。在一些实施方式中,当前观察是图像,观察编码器神经网络是卷积神经网络,并且当前观察嵌入是描述当前观察的特征矩阵。
***将当前观察嵌入和当前文本嵌入组合以获得当前组合嵌入(210)。例如,***可以将(如在步骤208中确定的)当前观察的特征矩阵扁平化(flatten),并且将扁平化的特征矩阵与(如在步骤204中确定)当前文本串的特征向量拼接(concatenate)。将矩阵扁平化是指通过以预定顺序将矩阵的分量拼接成向量来将矩阵变换为向量。
***使用当前组合嵌入来选择要由智能体执行的动作(212)。例如,***可以按照动作选择神经网络参数的当前值,使用动作选择神经网络来处理当前组合嵌入,以生成动作选择输出。在该示例中,***可以基于动作选择输出来选择要在时间步骤执行的动作。
在一些实施方式中,动作选择输出定义可以由智能体执行的可能动作集合中的动作上的概率分布。例如,动作选择输出可以包括可能动作集合中的每个动作的相应的数值似然值。作为另一示例,动作选择输出可以包括定义在可能动作集合上的参数概率分布(例如,正态分布)的参数值(例如,平均值和标准偏差值)。在这些实施方式中的一些中,***通过基于概率分布从可能动作集合中采样动作来选择智能体要执行的动作。在这些实施方式中的一些中,***根据概率分布,从可能动作集合中选择具有最高概率的动作,作为智能体要执行的动作。
在一些实施方式中,动作选择输出识别智能体响应于当前观察要执行的最佳可能动作,并且***将动作选择为最佳可能动作。例如,如果智能体是机器人智能体,则动作选择输出可以识别要施加到智能体的关节的最佳可能扭矩。
在一些实施方式中,动作选择输出包括可能动作集合中的每个动作的相应的Q值。动作的Q值是如果智能体响应于当前观察而执行该动作,则***将接收的回报的估计。回报指当智能体在多个时间步骤上与环境交互时***接收的奖励的累积度量。例如,回报可以指***接收的长期时间折扣奖励(long-term time-discounted reward)。在这些实施方式中的一些中,***将在时间步骤处要由智能体执行的动作选择为具有最高Q值的动作。
在一些实施方式中,***按照探索策略选择要由智能体执行的动作。通常,按照探索策略选择动作是指选择与基于(例如,由动作选择神经网络的当前参数值所定义的)当前动作选择策略要选择的动作不同的动作。例如,***可以按照∈贪婪探索策略来选择要由智能体执行的动作。在此示例中,***可以基于具有概率1-∈的动作选择输出选择要由智能体执行的动作,并且可以用概率∈随机选择要由智能体执行的动作(其中∈是0和1之间的数)。
图3是用于使用任务特定参数更新(即,以给定的训练迭代)来训练动作选择***的示例处理的流程图。为了方便起见,处理300将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,按照本说明书适当编程的动作选择***,例如,图1A的动作选择***100,可以执行处理300。
***接收奖励(302)。通常,奖励表示为一个或多个数值。奖励可以基于环境的任何事件或方面。例如,奖励可以指示智能体是否已经成功执行了由文本串指定的任务。在一些实施方式中,***作为智能体响应于当前观察而执行当前动作的结果而接收当前奖励,如参考图2所描述的。在一些实施方式中,***从重放存储器获得数据,该数据包括先前时间步骤的先前奖励、由智能体执行的先前动作以及表征环境的先前状态的观察。重放存储器是指***可以在每个时间步骤存储数据(例如,观察、选择的动作、奖励等)的外部存储器(例如,逻辑数据存储区或物理数据存储设备)。
该***通过执行机器学习训练技术的迭代以基于***所接收的奖励优化任务特定目标来确定任务特定参数更新(304)。例如,任务特定目标可以是使响应于智能体在当前任务的执行期间执行的动作而接收的时间折扣期望回报最大化。在此示例中,可以通过以下方式给出时间折扣期望回报:
其中是相对于***的动作选择策略π的期望算子,λ是折扣因子(通常为0和1之间的数),t为时间步骤编索引,并且rt是***在时间步骤t接收的奖励。机器学习训练技术可以是用于优化任务特定目标的强化学习技术。例如,强化学习技术可以是策略梯度技术、单步或n步Q学习技术或执行器-评价器技术。当强化学习技术是执行器-评价器技术时,动作选择神经网络的动作选择输出可以包括当前状态值的估计,即,由于环境处于当前状态而产生的时间折扣回报。
***可以通过确定任务特定目标(例如,如由等式(1)定义)相对于动作选择神经网络、语言编码器模型和观察编码器神经网络的参数的梯度来确定任务特定参数更新。***可以使用例如反向传播技术来确定特定任务目标的梯度。任务特定参数更新可以表示为向量或矩阵或数值,其中每个数值对应于动作选择神经网络、语言编码器模型或观察编码器神经网络的不同参数。
***使用任务特定参数更新来更新动作选择神经网络、语言编码器模型和观察编码器神经网络的参数的当前值(306)。对于给定的参数θ,***可以通过以下方式更新参数的当前值:
其中r是正学习率超参数(positive learning rate hyper-parameter)(即,控制参数值在训练期间可以多快改变的***超参数),并且是任务特定目标相对于(例如,如步骤304所确定的)参数θ的梯度。
图4是用于使用辅助参数更新(即,在给定的训练迭代处)训练动作选择***的示例处理的流程图。为了方便起见,处理400将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,按照本说明书适当编程的动作选择***,例如,图1A的动作选择***100,可以执行处理400。
***确定一个或多个辅助输出(402)。该***可以使用一个或多个辅助神经网络以及在一些情况下使用动作选择神经网络来生成辅助输出。
在一些实施方式中,辅助神经网络包括时间自动编码器神经网络。时间自动编码器神经网络被配置为处理包括当前动作的嵌入和当前观察嵌入的输入,以生成包括在智能体在当前时间步骤执行当前动作之后要接收的下一观察的预测的输出。例如,如果观察是环境的图像(例如,RGB图像),则时间自动编码器神经网络生成在智能体在当前时间步骤执行当前动作之后的环境的预测图像。
在一些实施方式中,时间自动编码器神经网络与动作选择神经网络共享一个或多个参数。如果对于两个神经网络参数的值相同,则称两个神经网络共享该参数,并且(例如,在训练期间)改变在一个神经网络中参数的值也会导致在另一个神经网络中参数的值改变。在特定示例中,时间自动编码器神经网络可以将中间表示确定为:
其中Wb和Wv是参数矩阵,⊙指逐元素乘法运算,y是当前观察嵌入,并且Wba是当前动作的嵌入,其中参数矩阵Wb与动作选择神经网络共享其参数。时间自动编码器神经网络可以使用反卷积神经网络处理中间表示/>以生成下一个观察的预测。
在一些实施方式中,辅助神经网络包括语言预测神经网络。语言预测神经网络可以与观察编码器神经网络共享一些参数,并且被配置为处理包括当前观察和语言编码器模型的中间输出的输入,以生成辅助输出,该辅助输出定义对包含在当前文本串中的有意义单词的预测。有意义单词是指影响智能体对当前任务的执行的单词。例如,如果当前文本串将当前任务指定为:“导航至药房”,则单词“药房”可以是有意义单词。由语言预测神经网络生成的辅助输出可以是单词词汇上的概率分布,其中每个单词的概率表示该单词应该是有意义单词的似然。在一些情况下,语言预测神经网络的辅助输出可以解释为定义最能描述当前观察的单词的预测。
在一些实施方式中,辅助神经网络包括奖励预测神经网络。奖励预测神经网络被配置为处理包括动作选择神经网络的中间输出的输入,以生成包括预测奖励的辅助输出,该预测奖励是作为智能体在当前时间步骤执行当前动作的结果而将接收的奖励的估计。
在一些实施方式中,动作选择神经网络的动作选择输出包括值(即,预测的期望回报)输出,该值输出是由环境处于当前状态导致的时间折扣回报的估计。在这些实施方式中的一些中,***通过对来自重放存储器的最近观察嵌入和最近文本嵌入进行重新采样,并使用动作选择神经网络处理最近观察嵌入和最近文本嵌入来生成辅助值,以生成辅助值(即预测的期望回报)输出。辅助值输出是对由最近观察嵌入和最近文本嵌入表征的状态的值的估计。最近观察嵌入和最近文本嵌入是指在先前时间步骤生成的观察嵌入和文本嵌入。***可以通过获得与随机采样的先前时间步骤相对应的观察嵌入和文本嵌入,对来自重放存储器的最近观察嵌入和最近文本嵌入进行重新采样。
该***通过执行机器学习训练技术的迭代以优化基于一个或多个辅助输出的辅助目标来确定辅助参数更新(404)。
在一些实施方式中,辅助输出包括时间自动编码器神经网络的输出,包括在智能体在当前时间步骤执行当前动作之后要接收的下一观察的预测(如步骤402中所述)。在这些实施方式中的一些中,***获得实际的下一个观察,并通过执行梯度下降的迭代以最小化实际的下一个观察与预测的下一个观察之间的损失,确定对观察编码器神经网络的参数的当前值的辅助参数更新。例如,损失可以是均方误差(MSE)损失。在这些实施方式中的一些中,时间自动编码器神经网络与动作选择神经网络共享一个或多个参数,并且***确定相对于共享参数的当前值的辅助参数更新。
在一些实施方式中,辅助输出包括语言预测神经网络的输出,包括在单词词汇上的概率分布,其中每个单词的概率表示该单词是有意义单词的似然(如步骤402中所述)。在这些实施方式中的一些中,***获得识别有意义单词的数据,并通过执行梯度下降的迭代以最小化确定的有意义单词的概率的负对数似然,确定对观察编码器神经网络的参数的当前值的辅助参数更新。
在一些实施方式中,辅助输出包括奖励预测神经网络的输出,包括预测奖励,该预测奖励是作为智能体在当前时间步骤执行当前动作的结果而将接收的奖励的估计(如步骤402所述)。在这些实施方式中的一些中,***通过执行梯度下降的迭代以最小化预测奖励和当前奖励之间的损失,确定语言编码器模型、观察编码器神经网络和动作选择神经网络的参数的辅助更新。例如,损失可以是平方误差损失。
在一些实施方式中,辅助输出包括由动作选择神经网络通过处理最近观察嵌入和最近文本嵌入而生成的预测的期望回报输出。在这些实施方式中的一些中,***通过使用最近观察嵌入和最近文本嵌入的预测的期望回报执行值函数回归的迭代,确定对语言编码器模型、观察编码器神经网络和动作选择神经网络的参数的当前值的辅助更新。
当***确定多个辅助参数更新时(例如,基于由多个辅助神经网络生成的辅助输出),***可以组合多个辅助参数更新以确定最终的辅助参数更新。例如,***可以通过加权线性组合来组合多个辅助参数更新,其中线性组合的权重是***超参数。
***使用辅助参数更新来更新动作选择神经网络、语言编码器模型和观察编码器神经网络的参数的当前值(406)。参考步骤306描述用于更新***参数的当前值的示例处理。
本说明书使用与***和计算机程序组件有关的术语“被配置”。对于要配置为执行特定操作或动作的一个或多个计算机的***,意味着***已在其上安装了软件、固件、硬件或它们的组合,其在操作时使***执行操作或动作。对于要配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。可替代地或另外地,程序指令可以在例如机器生成的电、光或电磁信号的人工生成的传播信号上编码,其被生成以编码信息,用于传输到合适的接收器装置以由数据处理装置执行。
术语“数据处理装置”指数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可选地可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***、或者它们的一个或多个的组合的代码。
计算机程序也可以被称为或描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码,可以用任何形式的编程语言编写,包括编译或解释语言、或声明或过程性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。程序可以但不必对应于文件***中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,所述协调文件例如存储一个或多个模块、子程序或代码部分的文件。可以部署计算机程序以在一个计算机上或在位于一个站点上或跨多个站点分布并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的***、子***或处理。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,可以在同一个或多个计算机上安装和运行多个引擎。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦接以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或两者,所述大容量存储设备例如磁盘、磁光盘或光盘。但是,计算机不必需这样的设备。此外,计算机可以嵌入在例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动)等的另一设备中。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,所述计算机具有:显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息;以及键盘和指示设备(例如,鼠标或轨迹球),用户可通过其向计算机提供输入。其他种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以包括声学、语音或触觉输入的任何形式接收来自用户的输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档,例如,通过响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器,与用户交互。此外,计算机可以通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息、并且从用户接收响应消息作为回复来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。
可以使用例如TensorFlow框架、Microsoft Cognitive Toolkit框架、ApacheSinga框架或Apache MXNet框架的机器学习框架来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在计算***中实现,该计算***包括:后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如,具有图形用户界面、web浏览器或应用程序的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。***的组件可以通过例如通信网络的任何形式或介质的数字数据通信互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然以特定顺序在附图中描绘并且在权利要求中叙述了操作,但是这不应该被理解为要求以所示的特定顺序或相继顺序执行这些操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和***通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定顺序或相继顺序来实现期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。
Claims (15)
1.一种训练用于选择要由与环境交互的智能体执行的动作的***的方法,其中所述环境是真实世界环境或模拟环境,其中所述智能体是机器人,或者是半自主或自主载具,并且其中所述动作是控制机器人或者半自主或自主载具的控制输入;该***包括一个或多个计算机以及一个或多个存储设备,该一个或多个存储设备存储指令,所述指令当由所述一个或多个计算机执行时,使所述一个或多个计算机实现:
语言编码器模型,被配置为:
接收特定自然语言的输入文本串,以及
处理输入文本串以生成输入文本串的文本嵌入;
观察编码器神经网络,被配置为:
接收表征环境的状态的输入观察,以及
处理输入观察以生成输入观察的观察嵌入:
动作选择神经网络,被配置为:
接收输入组合嵌入,以及
处理输入组合嵌入以生成动作选择输出;以及
子***,被配置为:
接收特定自然语言的当前文本串,所述当前文本串是用于所述智能体执行由智能体当前正在执行的当前任务的指令;
提供当前文本串作为语言编码器模型的输入,以获得当前文本串的当前文本嵌入;
接收表征环境的当前状态的当前观察;
提供当前观察作为观察编码器神经网络的输入,以获得当前观察的当前观察嵌入;
组合当前观察嵌入和当前文本嵌入,以生成当前组合嵌入;以及
使用当前组合嵌入,通过以下来选择智能体响应于当前观察要执行的动作:
提供当前组合嵌入作为动作选择神经网络的输入,以获得当前动作选择输出;以及
使用当前动作选择输出,选择智能体响应于当前观察要执行的动作;
所述方法包括通过以下来训练语言编码器模型、观察编码器神经网络和动作选择神经网络的方法:
接收作为智能体响应于当前观察执行当前动作的结果的当前奖励;
通过执行机器学习训练技术的迭代以优化基于当前奖励的任务特定目标,确定动作选择神经网络的参数的当前值的任务特定更新;以及
通过将任务特定目标的梯度反向传播通过动作选择神经网络并且到语言编码器模型和观察编码器神经网络中,确定语言编码器模型和观察编码器神经网络的参数的当前值的任务特定更新。
2.根据权利要求1所述的方法,其中,所述当前动作选择输出定义智能体要执行的可能动作上的概率分布,并且其中,选择智能体要执行的动作包括:从所述概率分布中采样动作或根据概率分布选择具有最高概率的动作。
3.根据权利要求1所述的方法,其中,对于智能体要执行的多个可能动作中的每一个,所述当前动作选择输出包括相应的Q值,所述相应的Q值是智能体响应于当前观察执行所述可能动作而导致的回报的估计,并且其中,选择智能体要执行的动作包括:选择具有最高Q值的动作。
4.根据权利要求1-3中任一项所述的方法,其中,所述语言编码器模型是递归神经网络。
5.根据权利要求1-3中任一项所述的方法,其中,所述语言编码器模型是词袋编码器。
6.根据权利要求1所述的方法,其中,所述当前观察嵌入是当前观察的特征矩阵,并且其中,所述当前文本嵌入是当前文本串的特征向量。
7.根据权利要求6所述的方法,其中,组合当前观察嵌入和当前文本嵌入包括:
将当前观察的特征矩阵扁平化;以及
拼接扁平化的特征矩阵和当前文本串的特征向量。
8.根据权利要求1所述的方法,其中,所述任务特定目标是使响应于智能体在当前任务的执行期间执行的动作而接收的时间折扣期望回报最大化,并且其中,执行所述机器学习训练技术的迭代包括:执行强化学习技术的迭代,以使用当前奖励和当前动作选择输出来优化任务特定目标。
9.根据权利要求1所述的方法,其中,所述当前动作选择输出还包括预测的期望回报输出,所述预测的期望回报输出是环境处于当前状态而导致的时间折扣回报的估计,并且其中,执行强化学习技术的迭代包括:执行执行器-评价器技术的迭代。
10.根据权利要求1所述的方法,还包括:
使用当前观察嵌入、当前文本嵌入或两者来确定一个或多个辅助输出;以及
通过执行机器学习训练技术的迭代以优化基于一个或多个辅助输出的辅助目标,确定语言编码器模型、观察编码器神经网络和动作选择神经网络的参数的当前值的辅助更新。
11.根据权利要求10所述的方法,其中,确定所述一个或多个辅助输出包括:
使用时间自动编码器神经网络,预测在智能体执行选择的动作之后要接收的下一个观察,所述时间自动编码器神经网络接收选择的动作的嵌入和当前观察嵌入作为输入;
其中,确定所述辅助更新包括:
获得实际的下一个观察;以及
通过执行梯度下降的迭代以最小化实际的下一个观察与预测的下一个观察之间的损失,确定观察编码器神经网络的参数的当前值的更新;并且
其中,所述时间自动编码器神经网络与所述动作选择神经网络共享一个或多个参数,并且其中,确定所述辅助更新还包括确定共享参数的当前值的更新。
12.根据权利要求10-11中任一项所述的方法,其中,确定所述一个或多个辅助输出包括:
获得识别有意义单词的数据,其中,所述有意义单词是当前文本串中影响智能体对当前任务的执行的单词;以及
使用与观察编码器神经网络共享至少一些参数的语言预测神经网络处理当前观察,以生成单词词汇上的概率分布,其中,每个单词的概率表示该单词应为有意义单词的似然;
其中,确定所述辅助更新包括:
通过执行梯度下降的迭代以最小化确定的有意义单词的概率的负对数似然,确定观察编码器神经网络的参数的当前值的更新。
13.根据权利要求10所述的方法,其中,确定所述一个或多个辅助输出还包括:
使用奖励预测神经网络来处理动作选择神经网络的中间输出,所述奖励预测神经网络被配置为生成预测奖励,所述预测奖励是作为智能体响应于当前观察执行当前动作的结果而将接收的奖励的估计;
其中,确定所述辅助更新包括:
通过执行梯度下降的迭代以最小化预测奖励与当前奖励之间的损失,确定语言编码器模型、观察编码器神经网络和动作选择神经网络的参数的当前值的更新。
14.根据权利要求10所述的方法,其中,所述当前动作选择输出还包括预测的期望回报输出,所述预测的期望回报输出是环境处于当前状态而导致的时间折扣回报的估计,其中,确定所述一个或多个辅助输出还包括:
对来自重放存储器的最近观察嵌入和最近文本嵌入重新采样,以及
处理最近观察嵌入和最近文本嵌入,以生成最近观察嵌入和最近文本嵌入的预测的期望回报输出;
其中,确定所述辅助更新包括:
通过使用最近观察嵌入和最近文本嵌入的预测的期望回报执行值函数回归的迭代,确定语言编码器模型、观察编码器神经网络和动作选择神经网络的参数的当前值的更新。
15.一个或多个计算机存储介质,其存储指令,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行权利要求1-14中任一项的相应方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310780609.4A CN116957055A (zh) | 2017-06-05 | 2018-06-05 | 使用多模态输入选择动作 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762515458P | 2017-06-05 | 2017-06-05 | |
US62/515,458 | 2017-06-05 | ||
PCT/EP2018/064703 WO2018224471A1 (en) | 2017-06-05 | 2018-06-05 | Selecting actions using multi-modal inputs |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310780609.4A Division CN116957055A (zh) | 2017-06-05 | 2018-06-05 | 使用多模态输入选择动作 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110692066A CN110692066A (zh) | 2020-01-14 |
CN110692066B true CN110692066B (zh) | 2023-06-02 |
Family
ID=62530233
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880026852.4A Active CN110692066B (zh) | 2017-06-05 | 2018-06-05 | 使用多模态输入选择动作 |
CN202310780609.4A Pending CN116957055A (zh) | 2017-06-05 | 2018-06-05 | 使用多模态输入选择动作 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310780609.4A Pending CN116957055A (zh) | 2017-06-05 | 2018-06-05 | 使用多模态输入选择动作 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11354509B2 (zh) |
EP (2) | EP4273757A3 (zh) |
CN (2) | CN110692066B (zh) |
DK (1) | DK3602409T3 (zh) |
WO (1) | WO2018224471A1 (zh) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
KR20150104615A (ko) | 2013-02-07 | 2015-09-15 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
CN117521725A (zh) * | 2016-11-04 | 2024-02-06 | 渊慧科技有限公司 | 加强学习*** |
US11615285B2 (en) | 2017-01-06 | 2023-03-28 | Ecole Polytechnique Federale De Lausanne (Epfl) | Generating and identifying functional subnetworks within structural networks |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
EP4273757A3 (en) | 2017-06-05 | 2024-02-14 | DeepMind Technologies Limited | Selecting actions using multi-modal inputs |
US10963273B2 (en) | 2018-04-20 | 2021-03-30 | Facebook, Inc. | Generating personalized content summaries for users |
US11676220B2 (en) * | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11663478B2 (en) | 2018-06-11 | 2023-05-30 | Inait Sa | Characterizing activity in a recurrent artificial neural network |
US11972343B2 (en) * | 2018-06-11 | 2024-04-30 | Inait Sa | Encoding and decoding information |
US11893471B2 (en) | 2018-06-11 | 2024-02-06 | Inait Sa | Encoding and decoding information and artificial neural networks |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11250838B2 (en) * | 2018-11-16 | 2022-02-15 | Deepmind Technologies Limited | Cross-modal sequence distillation |
KR20210116640A (ko) * | 2019-02-25 | 2021-09-27 | 구글 엘엘씨 | 피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법 |
EP3871088A1 (en) * | 2019-02-26 | 2021-09-01 | Google LLC | Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11569978B2 (en) | 2019-03-18 | 2023-01-31 | Inait Sa | Encrypting and decrypting information |
US11652603B2 (en) | 2019-03-18 | 2023-05-16 | Inait Sa | Homomorphic encryption |
EP3921785A4 (en) | 2019-03-20 | 2022-04-20 | Sony Group Corporation | REINFORCEMENT LEARNING THROUGH A CRITICAL DUAL ACTOR ALGORITHM |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
JP7339776B2 (ja) * | 2019-05-28 | 2023-09-06 | 川崎重工業株式会社 | 制御システム、機械装置システム及び制御方法 |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US20210019642A1 (en) * | 2019-07-17 | 2021-01-21 | Wingman AI Agents Limited | System for voice communication with ai agents in an environment |
US11900244B1 (en) * | 2019-09-30 | 2024-02-13 | Amazon Technologies, Inc. | Attention-based deep reinforcement learning for autonomous agents |
US20220392206A1 (en) * | 2019-11-15 | 2022-12-08 | Deepmind Technologies Limited | Reinforcement learning for active sequence processing |
US11580401B2 (en) | 2019-12-11 | 2023-02-14 | Inait Sa | Distance metrics and clustering in recurrent neural networks |
US11816553B2 (en) | 2019-12-11 | 2023-11-14 | Inait Sa | Output from a recurrent neural network |
US11651210B2 (en) | 2019-12-11 | 2023-05-16 | Inait Sa | Interpreting and improving the processing results of recurrent neural networks |
US11797827B2 (en) | 2019-12-11 | 2023-10-24 | Inait Sa | Input into a neural network |
US11397786B2 (en) * | 2019-12-12 | 2022-07-26 | Yahoo Assets Llc | Method and system of personalized blending for content recommendation |
US11445068B1 (en) * | 2020-02-21 | 2022-09-13 | Express Scripts Strategic Development, Inc. | Virtual caller system |
SG11202102364YA (en) * | 2020-04-02 | 2021-04-29 | Alipay Hangzhou Inf Tech Co Ltd | Determining action selection policies of an execution device |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
JP2023536126A (ja) * | 2020-07-28 | 2023-08-23 | ディープマインド テクノロジーズ リミテッド | 観測埋込みを制御する補助タスクを使用する、アクション選択ニューラルネットワークのトレーニング |
US11181988B1 (en) * | 2020-08-31 | 2021-11-23 | Apple Inc. | Incorporating user feedback into text prediction models via joint reward planning |
US11550991B2 (en) * | 2021-03-29 | 2023-01-10 | Capital One Services, Llc | Methods and systems for generating alternative content using adversarial networks implemented in an application programming interface layer |
CN113052248A (zh) * | 2021-03-31 | 2021-06-29 | 北京字节跳动网络技术有限公司 | 超参数确定方法、装置、深度强化学习框架、介质及设备 |
CN114781652B (zh) * | 2022-06-21 | 2022-10-14 | 济南大学 | 一种基于多模态强化学习的人机协同框架 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103430232A (zh) * | 2011-01-21 | 2013-12-04 | 谷歌公司 | 利用设备停靠情境的语音识别 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680557A (en) * | 1994-02-16 | 1997-10-21 | The United States Of America As Represented By The Secretary Of The Army | Natural computing system |
US5963966A (en) * | 1995-11-08 | 1999-10-05 | Cybernet Systems Corporation | Automated capture of technical documents for electronic review and distribution |
US9071885B2 (en) * | 2010-08-18 | 2015-06-30 | Demand Media, Inc. | Systems, methods, and machine-readable storage media for presenting animations overlying multimedia files |
EP2748765B1 (en) * | 2011-08-25 | 2022-12-14 | Cornell University | Retinal encoder for machine vision |
US20130145241A1 (en) * | 2011-12-04 | 2013-06-06 | Ahmed Salama | Automated augmentation of text, web and physical environments using multimedia content |
US9965705B2 (en) * | 2015-11-03 | 2018-05-08 | Baidu Usa Llc | Systems and methods for attention-based configurable convolutional neural networks (ABC-CNN) for visual question answering |
US20180284735A1 (en) * | 2016-05-09 | 2018-10-04 | StrongForce IoT Portfolio 2016, LLC | Methods and systems for industrial internet of things data collection in a network sensitive upstream oil and gas environment |
US20170337682A1 (en) * | 2016-05-18 | 2017-11-23 | Siemens Healthcare Gmbh | Method and System for Image Registration Using an Intelligent Artificial Agent |
KR20180001889A (ko) * | 2016-06-28 | 2018-01-05 | 삼성전자주식회사 | 언어 처리 방법 및 장치 |
US11810038B2 (en) * | 2016-07-06 | 2023-11-07 | International Business Machines Corporation | Risk optimization through reinforcement learning |
US10546066B2 (en) * | 2016-08-31 | 2020-01-28 | Microsoft Technology Licensing, Llc | End-to-end learning of dialogue agents for information access |
JP6797610B2 (ja) * | 2016-08-31 | 2020-12-09 | キヤノン株式会社 | 装置、方法、及びプログラム |
US10963782B2 (en) * | 2016-11-04 | 2021-03-30 | Salesforce.Com, Inc. | Dynamic coattention network for question answering |
US20180129742A1 (en) * | 2016-11-10 | 2018-05-10 | Qualcomm Incorporated | Natural language object tracking |
US9754221B1 (en) * | 2017-03-09 | 2017-09-05 | Alphaics Corporation | Processor for implementing reinforcement learning operations |
US10372824B2 (en) * | 2017-05-15 | 2019-08-06 | International Business Machines Corporation | Disambiguating concepts in natural language |
DK201770431A1 (en) * | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
EP4273757A3 (en) * | 2017-06-05 | 2024-02-14 | DeepMind Technologies Limited | Selecting actions using multi-modal inputs |
US10645073B1 (en) * | 2017-06-12 | 2020-05-05 | Ca, Inc. | Systems and methods for authenticating applications installed on computing devices |
EP3895157A4 (en) * | 2018-12-13 | 2022-07-27 | Microsoft Technology Licensing, LLC | NEURONAL TEXT-TO-Speech SYNTHESIS WITH MULTI-LEVEL TEXTUAL INFORMATION |
US11694042B2 (en) * | 2020-06-16 | 2023-07-04 | Baidu Usa Llc | Cross-lingual unsupervised classification with multi-view transfer learning |
-
2018
- 2018-06-05 EP EP23198528.4A patent/EP4273757A3/en active Pending
- 2018-06-05 CN CN201880026852.4A patent/CN110692066B/zh active Active
- 2018-06-05 DK DK18729406.1T patent/DK3602409T3/da active
- 2018-06-05 EP EP18729406.1A patent/EP3602409B1/en active Active
- 2018-06-05 CN CN202310780609.4A patent/CN116957055A/zh active Pending
- 2018-06-05 US US16/497,602 patent/US11354509B2/en active Active
- 2018-06-05 WO PCT/EP2018/064703 patent/WO2018224471A1/en unknown
-
2022
- 2022-05-16 US US17/744,921 patent/US12008324B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103430232A (zh) * | 2011-01-21 | 2013-12-04 | 谷歌公司 | 利用设备停靠情境的语音识别 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Non-Patent Citations (2)
Title |
---|
"Beating Atari with Natural Language Guided Reinforcement Learning";Russell Kaplan等;《arXiv》;20170418;第1-13页 * |
"REINFORCEMENT LEARNING WITH UNSUPERVISED AUXILIARY TASKS";Max Jaderberg等;《arXiv》;20161116;第1-14页 * |
Also Published As
Publication number | Publication date |
---|---|
EP4273757A3 (en) | 2024-02-14 |
DK3602409T3 (da) | 2024-01-29 |
WO2018224471A1 (en) | 2018-12-13 |
US20220318516A1 (en) | 2022-10-06 |
EP3602409B1 (en) | 2023-11-01 |
CN116957055A (zh) | 2023-10-27 |
US11354509B2 (en) | 2022-06-07 |
CN110692066A (zh) | 2020-01-14 |
US20210110115A1 (en) | 2021-04-15 |
EP4273757A2 (en) | 2023-11-08 |
EP3602409A1 (en) | 2020-02-05 |
US12008324B2 (en) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110692066B (zh) | 使用多模态输入选择动作 | |
JP6935550B2 (ja) | 強化学習を使用した環境ナビゲーション | |
CN110326004B (zh) | 使用路径一致性学习训练策略神经网络 | |
US20210271968A1 (en) | Generative neural network systems for generating instruction sequences to control an agent performing a task | |
CN110088775B (zh) | 使用加强学习的环境预测 | |
CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
US20210103815A1 (en) | Domain adaptation for robotic control using self-supervised learning | |
US10860895B2 (en) | Imagination-based agent neural networks | |
US20230083486A1 (en) | Learning environment representations for agent control using predictions of bootstrapped latents | |
WO2020152233A1 (en) | Action selection using interaction history graphs | |
CN113330458A (zh) | 使用潜在计划控制代理 | |
EP3698284A1 (en) | Training an unsupervised memory-based prediction system to learn compressed representations of an environment | |
WO2023104880A1 (en) | Controlling interactive agents using multi-modal inputs | |
US20240046070A1 (en) | Controlling agents using auxiliary prediction neural networks that generate state value estimates | |
WO2024126633A1 (en) | Training modular agent networks using layout data | |
CN112334914A (zh) | 使用生成式前导神经网络的模仿学习 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |