CN112119409B - 具有关系存储器的神经网络 - Google Patents
具有关系存储器的神经网络 Download PDFInfo
- Publication number
- CN112119409B CN112119409B CN201980032400.1A CN201980032400A CN112119409B CN 112119409 B CN112119409 B CN 112119409B CN 201980032400 A CN201980032400 A CN 201980032400A CN 112119409 B CN112119409 B CN 112119409B
- Authority
- CN
- China
- Prior art keywords
- memory
- neural network
- matrix
- update
- input
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 238
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 114
- 239000013598 vector Substances 0.000 claims abstract description 79
- 238000003860 storage Methods 0.000 claims abstract description 45
- 230000007246 mechanism Effects 0.000 claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims description 81
- 238000012545 processing Methods 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 21
- 230000000875 corresponding effect Effects 0.000 description 28
- 230000003935 attention Effects 0.000 description 21
- 239000003795 chemical substances by application Substances 0.000 description 20
- 230000009471 action Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 238000004590 computer program Methods 0.000 description 12
- 230000002787 reinforcement Effects 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000010606 normalization 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
- 239000002699 waste material Substances 0.000 description 2
- 241000282813 Aepyceros melampus 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
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000010332 selective attention Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000002560 therapeutic procedure Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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/04—Architecture, e.g. interconnection topology
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
描述了一种系统,该系统包括一个或多个计算机和一个或多个存储设备,该存储设备存储指令,当该指令由一个或多个计算机执行时,该指令使一个或多个计算机实现:存储器和基于存储器的神经网络。存储器被配置为在存储器中的多个存储器位置中的每一个处存储相应的存储矢量。基于存储器的神经网络被配置为在多个时间步长中的每个时间步长处:接收输入;确定对存储器的更新,其中,确定更新包括对存储器中的存储矢量和接收到的输入施加注意机制;使用确定的存储器更新来更新存储器;并使用更新的存储器为当前时间步长生成输出。
Description
相关申请的交叉引用
本申请要求于2018年5月18日提交的美国临时申请序列号62/673,818的优先权。该在先申请的公开内容被视为本申请的一部分,并且通过引用并入本申请的公开内容。
技术领域
本说明书涉及包含关系存储器核心的神经网络体系结构。
背景技术
神经网络是机器学习模型,它使用一层或多层非线性单元来预测针对接收到的输入的输出。一些神经网络除输出层外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层的输入,即下一个隐藏层或输出层。网络的每一层根据相应的一组参数的当前值从接收的输入生成输出。
一些神经网络是递归神经网络。递归神经网络是一种神经网络,它接收输入序列并从输入序列生成输出序列。特别是,递归神经网络在处理输入序列中的先前输入后,会根据输入序列中的当前输入生成输出,从而使用网络的部分或全部内部状态。
发明内容
本说明书描述了一种实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统。该系统包括基于存储器的神经网络,该神经网络包括关系存储器核心。
通常,本说明书中描述的主题的一个创新方面可以体现在一种系统中,该系统包括一个或多个计算机以及一个或多个存储设备,这些存储设备存储指令,当这些指令由一个或多个计算机执行时,使该一个或多个计算机实现存储器和基于存储器的神经网络。存储器被配置为在存储器中的多个存储器位置中的每一个处存储相应的存储矢量。基于存储器的神经网络被配置为在多个时间步长中的每个时间步长处:接收输入;确定对存储器的更新,其中,确定更新包括对存储器中的存储矢量和接收到的输入施加注意机制;使用确定的存储器更新来更新存储器;并使用更新的存储器为当前时间步长生成输出。
因此,该系统的实现方式明确地允许存储器,即存储的存储矢量,与输入相互交互,以提供一种关系存储器核心以供使用,例如,在大范围的任务中进行关系推理。更具体地,在实施方式中,注意机制在单个时间步长(即,例如,不是遍历根据所有先前输入(例如观察值)计算出的所有先前表示形式)被施加在多个存储器位置上。
前述和其他实施例均能可选地包括单独或组合的以下特征中的一个或多个。
在多个时间步长中的每个时间步长处接收到的输入可以是以下中的一个:(i)针对当前时间步长的基于存储器的神经网络的网络输入,或者(ii)从针对当前时间步长的基于存储器的神经网络的网络输入中导出的中间输入。
基于存储器的神经网络可以维护多个参数集。基于存储器的神经网络可以包括多个自注意层,每个自注意层对应于相应的参数集、存储器的相应的子存储器、以及通过将输入附加到存储器而创建的附加存储器的相应的子存储器。在每个时间步长,每个自注意层都可以被配置为通过使用相应的参数集对相应子存储器和相应子附加存储器中的存储矢量施加注意机制,来确定对相应子存储器的建议更新。基于存储器的神经网络可以进一步被配置为在每个时间步长处,将由多个自注意层生成的建议更新进行组合,以生成针对存储器的更新。组合该建议更新可以包括逐列级联该建议更新以生成存储器的更新。自注意层可以并行操作。
多个参数集的每个可以包括相应的查询权重矩阵、相应的关键(key)权重矩阵和相应的值权重矩阵。在每个时间步长,每个自注意层可以配置为通过以下方式确定对相应子存储器的建议更新:将相应子存储器中存储矢量的查询线性投影施加于相应查询权重矩阵,以生成相应查询矩阵;将相应子附加存储器中的存储矢量的关键线性投影施加于关键权重矩阵以生成相应的关键矩阵;将附加存储器中的存储矢量的值线性投影施加于值权重矩阵以生成相应的值矩阵;将相应的查询矩阵与相应的关键矩阵的转置相乘以确定第一临时矩阵;将第一临时矩阵的每个元素除以缩放因子,以确定第二临时矩阵;在第二临时矩阵的每个元素上施加softmax运算符,以生成softmax权重矩阵;以及将softmax权重矩阵与相应的值矩阵相乘,以确定相应子存储器的建议更新。缩放因子可以是相应关键矩阵中的关键矢量的维数的平方根。
基于存储器的神经网络可以进一步包括前馈神经网络和一个或多个存储器选通层。在每个时间步长,使用更新的存储器生成针对当前时间步长的输出可以包括:使用前馈神经网络处理更新的存储器以生成中间输出;以及使用一个或多个存储器选通层对中间输出进行选通,以产生当前时间步长的输出。前馈神经网络可以是多层感知器(MLP)。
在某些情况下,输入是输入矢量,并且在这些情况下,将输入附加到存储器可以包括执行存储器和输入矢量的逐行级联。在某些情况下,输入是输入矩阵。
本说明书中描述的主题的另一个创新方面可以体现在一个或多个计算机存储介质中,该存储介质存储指令,当这些指令由一个或多个计算机执行时,使该一个或多个计算机实现上述基于存储器的神经网络。
本说明书中描述的主题的另一个创新方面可以体现在配置包括上述基于存储器的神经网络以执行的操作的方法中。
可以在特定实施例中实现本说明书中描述的主题,以便实现以下优点中的一个或多个。通过将新的存储器模块(即关系存储器核心(RMC))合并到基于存储器的神经网络中,本说明书中描述的基于存储器的神经网络可以具有对在不同点及时看到的信息执行复杂的关系推理的能力。
特别地,虽然传统的基于存储器的神经网络可以通过平衡长时间的记忆信息的能力来对时间数据进行建模,但由于缺乏对它们所记住的信息执行复杂的关系推理的能力,所以它们可能会在涉及了解实体连接方式的任务中(即,需要进行关系推理的任务(以下称为“关系推理任务”))挣扎。
例如,旨在根据给定的观察到的单词序列预测单词的语言建模任务是传统神经网络将努力应对的关系推理任务之一,因为该任务需要了解在先前的时间步长观察到的单词是如何相互关联或相关的。本文所述的基于存储器的神经网络可以执行此类语言建模任务,因此对诸如预测键盘和搜索阶段完成之类的实际应用是有用的,或者可以用作较大系统中的组件(例如,机器翻译、语音识别、以及信息检索系统)。
作为另一个示例,所描述的基于存储器的神经网络可以在增强学习任务上获得高性能,例如控制与环境交互的代理,该代理接收表征环境(观测)的输入数据,并响应于每个观测而生成一个输出,该输出定义了代理将执行的动作以完成指定任务。指定的任务可以是,例如,导航环境以收集预先指定的项目,同时避免移动障碍物。此类任务需要相关的推理能力,因为神经网络必须根据以前的观察结果预测存储器中移动障碍的动态,并相应地计划代理的导航,还必须根据已记住的有关已拾起哪些项目的信息来进行计划。
需要在时序数据中的时间信息之间进行关系推理的任务的其他示例包括多语言机器翻译、自动导航(例如,在自动驾驶汽车中)、健康监测和治疗建议以及库存预测。
为了解决现有的基于存储器的神经网络的不足,在本说明书中描述的基于存储器的神经网络使用RMC模块,该模块利用多头点积注意来使存储器彼此交互。与先前的存储器架构相比,所描述的基于存储器的神经网络在单个时间步长上在存储器之间施加注意力,而不是遍历从所有先前的输入(例如,观察)计算出的所有先前的表示。因此,所描述的基于存储器的神经网络可以更好地理解存储器如何相关,尤其是新输入与先前输入如何相关/关联。因此,所描述的基于存储器的神经网络比常规神经网络可以更好地解决关系推理任务。结果,实现所描述的基于存储器的神经网络的系统可以具有增加的能力来处理关系推理任务,从而在执行这种任务时提高了准确性。此外,由于所描述的基于存储器的神经网络被配置为在单个时间步长上对存储器的多个存储矢量和输入施加自我注意机制,因此在每个时间步长隐式地解析关于涉及关系推理任务的实体的信息。因此,该系统具有更高的数据效率(与采用常规神经网络存储器体系结构的系统相比),因为它们可能需要较少的数据和较少的学习步骤来学习关系推理任务。该系统还可以更好地概括例如遍历多个不同但相关的任务。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了示例神经网络系统的架构,该示例神经网络系统包括基于存储器的神经网络,该基于存储器的神经网络包括关系存储器核心。
图2是用于通过使用相应的参数集对相应子存储器和相应子附加存储器中的存储矢量施加注意机制来确定对存储器的相应子存储器的建议更新的示例过程的流程图。
图3A和3B示出了用于每个自注意层以确定对存储器M的相应子存储器的建议更新的示例过程。
图4是用于处理输入以针对当前时间步长生成输出的示例过程的流程图。
在各个附图中,相同的附图标号和标记表示相同的元件。
具体实施方式
图1示出了示例神经网络系统100的架构,该示例神经网络系统100包括基于存储器的神经网络102,该基于神经的网络102包括关系存储器核心(RMC)105。神经网络系统100是被实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统的示例,可以在其中实现以下所述的系统、组件和技术。
通常,神经网络系统100是机器学习系统,其被配置为接收输入序列并从输入生成输出序列以执行关系推理任务。关系推理任务需要理解在先前时间步长接收到的输入中与在当前时间步长接收到的新输入之间的关系,并利用这种理解来实现更高的目标。作为简化示例,神经网络系统100可以接收作为随机采样矢量序列的输入。系统在每个时间步长的输出可以是以下问题的回答:“距矢量m的欧几里得距离中,第n个最远的矢量是多少?”,其中,每个序列对矢量值n和m进行随机采样。
作为另一示例,神经网络系统100可以是神经机器翻译系统。在该示例中,输入序列是原始语言(例如,句子或短语)中的单词序列,并且输出序列可以是输入序列到目标语言的翻译,即,表示原始语言中单词序列的目标语言中的单词序列。关系推理对于机器翻译非常重要,尤其是在需要翻译整个句子或文本时。在这些情况下,为了产生准确的翻译,系统100需要理解整个句子而不是单个单词的含义,因此需要理解输入序列中的单词如何彼此连接/相关。
作为另一示例,神经网络系统100可以是自然语言处理或生成系统。例如,如果输入序列是原始语言中的单词序列,例如句子或短语,则输出序列可以是原始语言中输入序列的概要,即,具有比输入序列少的单词的序列,但保留输入序列的基本含义。作为另一示例,如果输入序列是形成问题的单词序列,则输出序列可以是形成问题的答案的单词序列。在这些示例中,由于系统100需要理解输入序列中的每个单词的含义并且将单词彼此进行比较以确定关键词和输入序列的本质含义,因此需要关系推理。在另一示例中,输入包括单词序列,并且输出包括用于生成与单词相对应的语音的时间序列数据。
作为另一个例子,神经网络系统100可以是计算机辅助医疗诊断系统的一部分。例如,输入序列可以是来自患者的电子病历的数据序列,而输出序列可以是预测治疗的序列。为了产生预测的治疗,系统100需要分析输入序列中的多个数据,以找到这些数据之间的相关性。基于该相关性,系统100可以确定例如疾病的症状和/或现有疾病的进展,以便预测对患者的适当治疗。在另一示例中,输入可以包括来自感测患者的状况或一个或多个参数的医疗传感器的传感器数据序列,并且输出可以包括表示针对患者的状况或注意程度或警报的时间序列数据。
作为又一示例,神经网络系统100可以是增强学习系统或作为其一部分,该增强学习系统用于控制与环境交互的代理,该代理接收表征环境(观测)并响应于每个观测的输入数据作为输入,并生成一个输出,该输出定义了代理完成指定任务要执行的动作。指定的任务可以是,例如,导航环境以收集预先指定的项目,同时避免移动障碍物。此类任务需要相关的推理能力,因为神经网络必须基于先前的观察来预测存储器中移动障碍物的动态,并相应地计划代理的导航,并还基于关于已拾取哪些物品的推荐信息来进行计划。将在后面给出这种强化学习系统的一些其他示例。
作为另一示例,神经网络系统100可以是图像处理或生成系统的一部分。例如,输入序列可以是图像,即来自图像的颜色值序列,而输出可以是描述图像的文本序列。作为另一个示例,输入序列可以是描述上下文的文本序列,而输出序列可以是描述上下文的图像。这些示例还需要在输入序列中的分量(例如,来自图像的颜色值)之间进行关系推理,以便产生准确的输出(例如,描述图像的文本)。在另一个示例中,神经网络系统100可用于实现诸如DRAW(arXiv:1502.04623)之类的用于图像生成的递归神经网络,其中可将存储器用于读取和写入操作,而不是所描述的选择性注意机制。在这种情况下,输入和输出序列可以在训练期间定义图像,然后输出序列可以定义生成的图像,该生成的图像可选地取决于条件变量。
为了执行关系推理任务,神经网络系统100包括存储器108,该存储器108被配置为在存储器108的多个存储器位置中的每个存储器位置处存储相应的存储矢量。存储矢量可以包括有关先前时间步长的输入和输出的信息,以及可选地,有关在先前输入的处理期间获得的输入的中间表示的信息。存储器108可以被表示为具有逐行存储矢量mi的存储器矩阵M。如果当前时间步长是多个时间步长中的第一时间步长,则可以随机地初始化存储器矩阵M,或者可以将所有逐行存储矢量都设置为零来初始化存储器矩阵M。存储器108可以被实现为一个或多个物理位置中的一个或多个物理存储设备,或者被实现为一个或多个逻辑存储设备。
为了允许存储矢量之间的交互,基于存储器的神经网络102包括RMC 105,该RMC105被配置为将注意机制施加于存储矢量和在多个时间步长的每个时间步长处接收的输入。注意机制通常将查询和一组关键值对映射到输出,其中查询、关键和值都是矢量。将输出计算为值的加权总和,其中分配给每个值的权重是通过查询与相应关键的兼容性函数来计算的。
在每个时间步长,RMC 105被配置为接收输入110和存储器108。输入110可以是当前时间步长的基于存储器的神经网络102的网络输入,或从当前时间步长的基于存储器的神经网络的网络输入中导出的中间输入。例如,基于存储器的神经网络102可以将针对时间步长的网络输入直接提供给RMC 105,或者可以首先通过一个或多个神经网络层处理网络输入,并在该时间步长将该处理的输出作为输入提供给RMC 105。
RMC 105通过在存储器108和接收的输入110中的存储矢量上施加多头点积注意(也称为自注意)来确定对存储器108的更新。通过施加多头点积注意,存储器矩阵M中的每个存储矢量mi可以注意所有其他存储矢量,并根据注意的信息更新其内容。此外,由于RMC105同时接收存储器108和输入110,因此本文描述的神经网络系统100可以更好地理解当前时间步长的当前输入与存储在存储器108中的先前时间步长的输入/输出之间的关系。
为了施加多头点积注意,RMC 105包括多个自注意层104(即,多个头)。例如,RMC105包括h个自注意层,其中h≥2。RMC为h个自注意层维护h个参数集。h个自注意层中的每个对应于h个参数集中的相应参数集、存储器矩阵M的相应子存储器以及通过将输入110(表示为x)附加到存储器中创建的附加的存储器矩阵[M;x]的相应子存储器。例如,输入110是输入矢量x,并且[M;x]是存储器矩阵M和输入x(即输入110)的逐行级联。存储器矩阵M的子存储器是存储器M中的存储矢量的子集,并且在M的子存储器之间通常不存在重叠。类似地,附加的存储器矩阵[M;x]的子存储器是存储器M中的存储矢量的子集,具有被附加到子集的输入x。对应于h个自注意层中的自注意层的h个参数集的每个参数集包括相应的查询权重矩阵Wq,相应的关键权重矩阵Wk和相应的值权重矩阵Wv。
在每个时间步长,每个自注意层被配置为通过使用相应的参数集在相应子存储器和相应子附加存储器中的存储矢量上施加注意机制A(),来确定对相应子存储器的建议更新。自注意层可以并行运行。
例如,假设M是N×F维存储器矩阵,并且RMC 105包括两个自注意层(即两个头),则在每个时间步长,第一自注意层计算第一建议更新第二自注意层计算第二建议更新/> 和/>是N x F/2维存储器矩阵,θ和φ表示线性投影的唯一参数以生成针对存储器矩阵M的相应子存储器中的每个存储矢量(即行mi)的查询(Q=MWq)、关键(K=MWk)和值(V=MWv)。
下面参考图2更详细地描述通过使用相应的参数集在相应子存储器和相应子附加存储器中的存储矢量上施加注意机制A()来确定对相应子存储器的建议更新的过程。
在自注意层生成建议的更新之后,RMC 105被配置为在每个时间步长,组合由h个自注意层生成的建议的更新以生成用于存储器108的更新。在上述示例中,RMC 105组合和/>以生成第一更新存储器/>其中[:]表示逐列的级联。第一更新存储器是一个新的存储器,其中基于它们的注意权重矩阵中的权重将信息混合到存储矢量中。使用残差连接118基于第一更新存储器/>和存储器M计算残差。
RMC 105还包括前馈神经网络106和一个或多个存储器选通层,例如,选通层116。前馈神经网络106被配置为接收基于第一更新存储器和存储器M计算的残差作为输入,并处理该残差以生成第二更新存储器M’。例如,前馈神经网络106包括多层感知器(MLP),并且将该MLP逐行施加于/>以生成M’。将第二残差连接120施加在第二更新存储器M’以及前馈神经网络106的输入(即,基于/>和M计算的残差)上以产生第二残差。第二残差和存储器M作为输入被馈送到选通层116,然后被选通层116选通并作为输出112输出到下一存储器114。在某些情况下,可以向到基于存储器的神经网络102提供输出112作为当前时间步长的网络102的网络输入。在一些其他情况下,基于存储器的神经网络102可以通过一个或多个神经网络层处理输出112,以生成当前时间步长的网络输出。
下一存储器114可以作为输入馈送到下一步长的RMC 105或基于存储器的神经网络102的另一网络组件。
特别地,选通层116被配置为处理第二残差和存储器M,以针对存储器M的每个存储矢量生成相应的选通参数集,选通参数集包括忘记门f,输入门i和输出门o,通过使用线性投影,每个门具有相应的权重和偏置。对于每个存储矢量,相应的输入门i确定存储矢量合并了多少来自当前输入的信息,相应的忘记门f确定该存储矢量从最后一个时间步长忘记了多少它的先前的值,而输出门o确定在当前时间步长中,存储矢量在多大程度上影响了RMC 105的输出。选通层116使用选通参数及其权重和偏置的集合来生成输出112和/或下一存储器114中的更新的存储矢量。选通层116可以包括长短期存储器(LSTM)神经网络层,LSTM神经网络层根据LSTM层的当前内部状态处理第二残差和存储器M,以更新当前内部状态并在每个时间步长生成输出112。选通层116可以可选地在LSTM层的输出上施加层归一化以在每个时间步长生成输出112。层归一化在2016年的arXiv:1607.06450的J.Ba,J.Kiros和G.Hinton中进行了详细描述。
在一些实施方式中,输出112是用于神经网络系统100被配置为执行的关系推理任务的输出。在一些其他实施方式中,输出112是中间输出,其表征输入110和在存储器108中编码的信息之间的相关性或关系,并且被馈送到基于存储器的神经网络102的另一网络组件以进行进一步处理。
因为由RMC 105执行的所有操作都是可区分的,所以可以使用适合于基于存储器的神经网络102正在执行的任务(例如,适当的监督学习或强化学习训练技术)的常规神经网络训练技术来训练基于存储器的神经网络102。在训练期间,可以反向传播梯度以调整RMC 105的相应组件(例如,自注意层、前馈神经网络层和选通层)的参数值。
图2是用于每个自注意层的示例过程200的流程图,该过程通过使用相应的参数集在相应子存储器和相应子附加存储器中的存储矢量上施加注意机制来确定对存储器的相应子存储器的建议更新。在每个时间步长中,每个自注意层执行过程200。
虽然以下公式表明注意机制施加于存储器矩阵M和[M;x],为简单起见,应该理解为,每个自注意层仅对它们相应的子存储器和子附加存储器中的存储矢量施加注意,以便生成相应的建议更新然后,由自注意层生成的建议更新由关系存储器核心逐列级联,以生成第一更新存储/>
每个自注意层将相应子存储器中的存储矢量mi的查询线性投影施加到相应查询权重矩阵Wq上以生成相应查询矩阵:MWq(步骤202)。
每个自注意层将相应子附加存储器中的存储矢量的关键线性投影施加于关键权重矩阵Wk上,以生成相应关键矩阵:[M;x]Wk(步骤204)。
每个自注意层将相应子附加存储器中的存储矢量的值线性投影施加到值权重矩阵上,以生成相应的值矩阵:(步骤206)。
每个自注意层将相应的查询矩阵和相应的关键矩阵的转置相乘以确定第一临时矩阵:(步骤208)。
每个自注意层将第一临时矩阵的每个元素除以缩放因子以确定第二临时矩阵(步骤210)。缩放因子是相应关键矩阵中关键矢量的维数dk的平方根。
使用以下公式计算第二临时矩阵:
每个自注意层在第二临时矩阵的每个元素上施加softmax运算符,以生成softmax权重矩阵:
(步骤212)。
每个自注意层将softmax权重矩阵和相应的值矩阵相乘,以确定相应子存储器的建议更新(步骤214):
然后,自注意层生成的建议更新由关系存储器核心(例如,图1的RMC105)逐列级联,以生成第一更新存储器/>
图3A和3B示出了用于每个自注意层以确定对存储器M的相应子存储器的建议更新的示例过程。
如图3A所示,线性投影用于为每个存储器M的子存储器中的存储矢量构造查询(Q=MWq)、关键(K=[M;x]Wk)和值(V=[M;x]Wv)(302)。接下来,如图3B所示,查询Q用于对关键K执行缩放点积注意(304)。返回的标量QKT通过softmax函数生成一组权重,然后将其用于从V返回值的加权平均值,如下所示:
其中dk是用作缩放因子的关键矢量的维数。等效地:
图4是用于使用关系存储核心来处理输入以针对当前时间步长生成输出的示例过程的流程图。为了方便起见,将过程400描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书被适当编程的神经网络系统,例如图1的神经网络系统100,可以执行该过程400。
系统接收输入(步骤402)。输入可以是针对当前时间步长的系统的基于存储器的神经网络(包括关系存储器核心)的网络输入,也可以是从针对当前时间步长的基于存储器的神经网络的网络输入导出的中间输入。该系统包括存储器M,该存储器M被配置为在存储器中的多个存储器位置中的每一个位置处存储相应的存储矢量。
系统使用关系存储器核心确定对存储器M的更新(步骤404)。特别地,该系统使用关系存储器核心,对存储器M中的存储矢量和接收输入施加注意机制,以确定对存储器M的更新。该注意机制是多头点积注意(或自注意),在上面参考图1和图2对其进行详细描述。
系统使用确定的对存储器的更新来更新存储器,以产生更新的存储器(步骤406)。
系统使用更新的存储器为当前时间步长生成输出(步骤408)。
特别地,系统在第一更新存储器和存储器M上施加残差连接以产生第一残差。该系统使用前馈神经网络处理第一残差以生成第二更新存储器M’(步骤408)。例如,前馈神经网络106包括多层感知器(MLP),并且将MLP逐行施加于第一残差以生成第二更新存储器M’。
该系统在第二更新存储器M’和前馈神经网络的输入(即,基于和M计算出的残差)上施加第二残差连接以产生第二残差。
系统使用选通神经网络层对第二残差和存储器M施加选通操作,以产生选通输出和/或下一存储器。在一些实现中,选通层的选通输出是针对时间步长的系统的输出。在一些其他实施方式中,系统还通过一个或多个神经网络层处理选通输出,以生成针对当前时间步长的输出。可以在下一个时间步长将下一个存储器作为输入馈送给关系存储器核心或者系统的另一网络组件。
如先前所述,神经网络系统可以被结合到控制环境中的代理的强化学习系统中。这样的强化学习系统可以是任何类型。例如,它可以是基于策略的系统(例如,AdvantageActor Critic(A3C),Mnih等人,2016年),可以直接参数化策略和可选地参数化值函数或Q学习系统,其中输出近似于动作值函数以及可选地近似于用于确定动作的状态值,并且它可以是分布式强化学习系统,例如IMPALA(Importance-Weighted Actor-Learner,重要加权的动作器-学习器),Espholt等人,arXiv:1802.01561。
环境可以是现实环境,并且代理可以是机械/机电代理,例如与环境相互作用以完成任务(例如在环境中定位对象或将对象移动到环境中的指定位置或导航到环境中的指定目标)的机器人或其他静止或运动的机器;或代理可以是在环境中航行的自主或半自主的陆地或空中或海上的交通工具。输入数据(观察)然后可以包括例如以下中的一个或多个:来自相机或LIDAR的静止图像或运动图像;以及对象和/或代理的一个或多个部分的位置、线速度或角速度、力、扭矩或加速度以及整体或相对姿态。观测值可以定义为1、2或3维,并且可以是绝对的和/或相对的,以自我为中心或其他的。定义动作的输出可以是:用于控制机器人的控制输入,例如,用于机器人关节的扭矩或更高级别的控制命令;或用于控制自主或半自主的陆地或空中或海上的交通工具的控制输入,例如施加到车辆控制面或其他控制元件的扭矩或更高级别的控制命令;或例如控制转向、加速或制动的动作。在另一示例中,环境可以是与现实环境相对应的模拟环境,并且代理是模拟代理,用于例如在现实世界中使用之前训练强化学习系统以控制代理。
就电子代理而言,观察可包括来自监测工厂或服务设施一部分(例如电流,电压,功率,温度)的一个或多个传感器和其他传感器的数据、和/或代表设备的电子和/或机械项目的功能的电子信号。在某些应用中,代理可以控制包括设备项目在内的实际环境中的动作,例如在设施中,例如:数据中心,服务器场或电网干线电源或水分配系统,或者在制造工厂或服务设施中。然后,观察可与工厂或设施的运行有关。例如,作为前述描述的补充或替代,它们可以包括对设备的电力或水的使用的观察,或者对发电或分配控制的观察,或者对资源使用或废物产生的观察。代理可以例如通过减少资源使用来控制环境中的动作以提高效率,和/或例如通过减少浪费来减少环境中操作的环境影响。例如,代理可以控制设施中的电力或其他功率消耗或水的使用和/或设施和/或设施中的物品的温度。动作可以包括控制或将操作条件强加于工厂/设施的设备项目上的动作,和/或导致工厂/设施的操作设置发生变化的动作,例如,调整或打开/关闭工厂/设施的组件。在其他应用中,该代理管理例如,在移动设备上和/或在数据中心中的跨计算资源的任务分配。在这些实现中,动作可以包括将任务分配给特定的计算资源。
本说明书在系统和计算机程序组件中使用术语“被配置”。对于要配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中导致系统执行这些操作或动作。对于将被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括指令,当该指令由数据处理装置执行时,该指令使该装置执行该操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形嵌入的计算机软件或固件中、在计算机硬件中实施,包括本说明书中所公开的结构及其等同结构,或者一种或多种的组合。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形的非暂时性存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。所述计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备或它们中的一个或多个的组合。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置以通过数据处理装置来执行。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统,操作系统或他们的一种或多种的组合的代码。
计算机程序,也可以称为或描述为程序、软件、软件应用程序、应用程序、模块、软件模块、脚本或代码,可以用任何形式的编程语言编写,包括编译或解释语言,声明性或程序性语言;它可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元进行部署。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本,专用于所讨论程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件。可以将计算机程序部署为在一个计算机上执行,或者部署为在位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
可以通过一个或多个可编程计算机执行本说明书中描述的处理和逻辑流程,所述一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流程还可以通过专用逻辑电路(例如,FPGA或ASIC)或者通过专用逻辑电路与一个或多个编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁,磁光盘或光盘)接收数据或将数据发送到一个或多个大容量存储设备或接收和发送数据两者。但是,计算机不必具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动器),仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的、例如CRT(阴极射线管)或LCD(液晶显示器)监视器的显示设备以及键盘和用户可以通过其向计算机提供输入的指示设备(例如鼠标或轨迹球)的计算机上实现。其他种类的设备也可以用于提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户进行交互。例如,通过响应从网络浏览器收到的请求,将网页发送到用户设备上的网络浏览器。而且,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息收发应用程序的智能手机)并反过来从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产(即推理)的通用和计算密集型部分。
机器学习模型可以使用机器学习框架来实现和部署,例如TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例可以在包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如具有图形用户界面的客户端计算机、Web浏览器或用户可通过其与本说明书中描述的主题的实现进行交互的应用程序),或包括一个或多个此类后端、中间件或前端组件的任意组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器例如为了向与作为客户端的设备交互的用户显示数据并从中接收用户输入的目的,向用户设备发送例如HTML页面的数据。可以在服务器上从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多特定的实施细节,但是这些细节不应解释为对任何发明的范围或所要求保护的范围的限制,而是对可能特定于特定发明的特定实施例的特征的描述。在单独的实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管以上可能将特征描述为以某些组合形式起作用,甚至最初是这样要求保护的,但是在某些情况下,可以从组合中切除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,尽管以特定顺序在附图中示出了操作并在权利要求中对其进行了叙述,但这不应理解为要求以所示的特定顺序或以顺序执行这种操作,或者所有图示的操作应以执行,以获得理想的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品或系统中或者被打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。
Claims (13)
1.一种神经网络系统,包括一个或多个计算机和一个或多个存储设备,该存储设备存储指令,当这些指令由一个或多个计算机执行时,使该一个或多个计算机实现:
存储器,其被配置为在存储器中的多个存储器位置中的每一个处存储相应的存储矢量;
基于存储器的神经网络,其中基于存储器的神经网络被配置为:
在多个时间步长中的每个步长上:
接收输入;
确定对存储器的更新,其中,确定更新包括对存储器中的存储矢量和通过将接收到的输入附加到存储器而生成的附加存储器中的存储矢量施加注意机制,其中对存储器中的存储矢量和附加存储器中的存储矢量施加注意机制包括:
从存储器中的存储矢量的子集生成查询矩阵,
从附加存储器中的存储矢量的子集生成关键矩阵,
从附加存储器中的存储矢量的子集生成值矩阵,
从查询矩阵和关键矩阵生成权重矩阵,以及
基于权重矩阵和值矩阵确定对存储器的第一更新;
使用确定的存储器更新来更新存储器;和
使用更新后的存储器生成针对当前时间步长的输出。
2.根据权利要求1所述的神经网络系统,其中,在所述多个时间步长中的每个时间步长处接收到的输入是以下中的一个:针对当前时间步长的基于存储器的神经网络的网络输入,或者,从针对当前时间步长的基于存储器的神经网络的网络输入中导出的中间输入。
3.根据权利要求1所述的神经网络系统,其中,所述基于存储器的神经网络包括多个自注意层,每个自注意层对应于存储器的存储矢量的相应的子集、以及附加存储器的存储矢量的相应的子集;
其中,在每个时间步长,对存储器中的存储矢量和附加存储器中的存储矢量施加注意机制包括:
通过使用多个自注意层之一及其相应的参数集来确定对存储器的第一更新,以及
通过使用多个自注意层中的其他自注意层来确定对存储器的建议更新,其中每个其他自注意层都被配置为通过对存储器中的存储矢量的相应子集和子附加存储器中的存储矢量的相应子集施加注意机制,来确定对存储器的相应建议更新;和
其中,基于存储器的神经网络还被配置为在每个时间步长处,将第一更新与建议更新进行组合,以生成针对存储器的更新。
4.根据权利要求3所述的神经网络系统,其中,所述自注意层并行地操作。
5.根据权利要求3所述的神经网络系统,其中,将第一更新与所述建议更新进行组合包括:逐列级联第一更新与所述建议更新以生成针对所述存储器的更新。
6.根据权利要求3所述的神经网络系统,其中,在每个时间步长,对存储器中的存储矢量和附加存储器中的存储矢量施加注意机制包括:
由所述多个自注意层中的一个自注意层从存储器中的存储矢量的子集通过以下方式生成查询矩阵:
将存储器中的存储矢量的子集的查询线性投影施加于查询权重矩阵,以生成查询矩阵;
由所述多个自注意层中的一个自注意层从附加存储器中的存储矢量的子集通过以下方式生成关键矩阵:
将附加存储器中的存储矢量的子集的关键线性投影施加于关键权重矩阵以生成关键矩阵;
由所述多个自注意层中的一个自注意层从附加存储器中的存储矢量的子集通过以下方式生成值矩阵:
将附加存储器中的存储矢量的子集的值线性投影施加于值权重矩阵以生成值矩阵;
根据从存储器中的存储矢量的子集生成的查询矩阵和从附加存储器中的存储矢量的子集生成的关键矩阵,通过以下方式生成权重矩阵:将查询矩阵与关键矩阵的转置相乘以确定第一临时矩阵;
将第一临时矩阵的每个元素除以缩放因子,以确定第二临时矩阵;
在第二临时矩阵的每个元素上施加softmax运算符,以生成权重矩阵;以及
基于从附加存储器中的存储矢量的子集生成的权重矩阵和值矩阵,通过以下方式确定对存储器的第一更新:
将权重矩阵与相应的值矩阵相乘,以确定对存储器的第一更新。
7.根据权利要求6所述的神经网络系统,其中,所述缩放因子是关键矩阵中的关键矢量的维数的平方根。
8.根据权利要求3所述的神经网络系统,其中,所述基于存储器的神经网络还包括前馈神经网络和一个或多个存储器选通层;以及
其中,在每个时间步长,使用更新后的存储器生成针对当前时间步长的输出包括:
使用前馈神经网络处理更新的存储器以生成中间输出;和
使用一个或多个存储器选通层对中间输出进行选通,以生成针对当前时间步长的输出。
9.根据权利要求8所述的神经网络系统,其中,所述前馈神经网络是多层感知器(MLP)。
10.根据权利要求3所述的神经网络系统,其中,所述输入是输入矢量,并且其中,将所述输入附加到所述存储器包括执行所述存储器和所述输入矢量的逐行级联。
11.根据权利要求1所述的神经网络系统,其中,所述输入是输入矩阵。
12.一种或多种存储指令的计算机存储介质,当该指令由一个或多个计算机执行时,使该一个或多个计算机实现权利要求1-11中任一项的神经网络系统。
13.一种用于神经网络的方法,包括配置权利要求1-11中任一项所述的神经网络系统以执行的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862673818P | 2018-05-18 | 2018-05-18 | |
US62/673,818 | 2018-05-18 | ||
PCT/EP2019/062911 WO2019219963A1 (en) | 2018-05-18 | 2019-05-20 | Neural networks with relational memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112119409A CN112119409A (zh) | 2020-12-22 |
CN112119409B true CN112119409B (zh) | 2024-04-05 |
Family
ID=66676484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980032400.1A Active CN112119409B (zh) | 2018-05-18 | 2019-05-20 | 具有关系存储器的神经网络 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10853725B2 (zh) |
EP (1) | EP3776369A1 (zh) |
CN (1) | CN112119409B (zh) |
WO (1) | WO2019219963A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10853725B2 (en) | 2018-05-18 | 2020-12-01 | Deepmind Technologies Limited | Neural networks with relational memory |
US10876850B2 (en) * | 2018-10-26 | 2020-12-29 | International Business Machines Corporation | Trajectory modeling for contextual recommendation |
KR20200100302A (ko) * | 2019-02-18 | 2020-08-26 | 삼성전자주식회사 | 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들 |
CN114846523A (zh) * | 2019-11-15 | 2022-08-02 | 伟摩有限责任公司 | 使用记忆注意力的多对象跟踪 |
CN110942189A (zh) * | 2019-11-22 | 2020-03-31 | 华侨大学 | 一种基于记忆神经网络和注意机制的光伏功率预测系统 |
DE102019218188A1 (de) * | 2019-11-25 | 2021-05-27 | Robert Bosch Gmbh | Verfahren zum Bearbeiten von Pflanzen auf einem Feld |
KR20210071471A (ko) * | 2019-12-06 | 2021-06-16 | 삼성전자주식회사 | 뉴럴 네트워크의 행렬 곱셈 연산을 수행하는 장치 및 방법 |
US20210248450A1 (en) * | 2020-02-07 | 2021-08-12 | Google Llc | Sorting attention neural networks |
CN113360747B (zh) * | 2020-03-04 | 2024-01-12 | 阿里巴巴集团控股有限公司 | 基于神经网络模型的数据处理方法及装置 |
CN111427932B (zh) * | 2020-04-02 | 2022-10-04 | 南方科技大学 | 出行预测方法、装置、设备和存储介质 |
US20230269387A1 (en) * | 2020-06-19 | 2023-08-24 | Nokia Technologies Oy | Apparatus, method and computer program product for optimizing parameters of a compressed representation of a neural network |
CN111766782B (zh) * | 2020-06-28 | 2021-07-13 | 浙江大学 | 基于深度强化学习中Actor-Critic框架的策略选择方法 |
US20220108478A1 (en) | 2020-10-02 | 2022-04-07 | Google Llc | Processing images using self-attention based neural networks |
CN112307740B (zh) * | 2020-12-30 | 2021-03-26 | 中国人民解放军国防科技大学 | 一种基于混合注意力网络的事件检测方法及装置 |
CN113011555B (zh) * | 2021-02-09 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113223634B (zh) * | 2021-03-22 | 2022-09-16 | 浙江大学 | 基于二维自注意力增强gru模型高炉铁水硅含量预测方法 |
CN112967112B (zh) * | 2021-03-24 | 2022-04-29 | 武汉大学 | 一种自注意力机制和图神经网络的电商推荐方法 |
US20230051225A1 (en) * | 2021-08-10 | 2023-02-16 | Visa International Service Association | System, Method, and Computer Program Product for Segmenting Accounts |
CN115064276B (zh) * | 2022-06-23 | 2024-09-27 | 重庆三峡医药高等专科学校 | 一种使用自注意力机制的疾病预测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104685516A (zh) * | 2012-08-17 | 2015-06-03 | 高通技术公司 | 用于在尖峰神经元网络中实现基于事件的更新的装置和方法 |
EP3101598A2 (en) * | 2015-06-05 | 2016-12-07 | Google, Inc. | Augmented neural networks |
WO2017006104A1 (en) * | 2015-07-07 | 2017-01-12 | Touchtype Ltd. | Improved artificial neural network for language modelling and prediction |
CN106471525A (zh) * | 2014-12-24 | 2017-03-01 | 谷歌公司 | 增强神经网络以生成附加输出 |
DE202016008302U1 (de) * | 2016-03-01 | 2017-07-14 | Google Inc. | Komprimierte rekurrente neuronale Netzmodelle |
CN107391646A (zh) * | 2017-07-13 | 2017-11-24 | 清华大学 | 一种视频图像的语义信息提取方法及装置 |
CN107622303A (zh) * | 2016-07-13 | 2018-01-23 | 三星电子株式会社 | 用于神经网络的方法和执行该方法的设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7669014B2 (en) * | 2007-07-23 | 2010-02-23 | Nokia Corporation | Transpose memory and method thereof |
US11113598B2 (en) * | 2015-06-01 | 2021-09-07 | Salesforce.Com, Inc. | Dynamic memory network |
EP3371747B1 (en) | 2015-12-10 | 2023-07-19 | Deepmind Technologies Limited | Augmenting neural networks with external memory |
US11263514B2 (en) * | 2016-01-13 | 2022-03-01 | Google Llc | Processing and generating sets using recurrent neural networks |
CN109155002B (zh) | 2016-02-05 | 2021-11-09 | 渊慧科技有限公司 | 增强神经网络系统、方法和计算机程序 |
US10929674B2 (en) * | 2016-08-29 | 2021-02-23 | Nec Corporation | Dual stage attention based recurrent neural network for time series prediction |
US20180357240A1 (en) * | 2017-06-08 | 2018-12-13 | Facebook, Inc. | Key-Value Memory Networks |
US20190318249A1 (en) * | 2018-04-13 | 2019-10-17 | International Business Machines Corporation | Interpretable general reasoning system using key value memory networks |
US10853725B2 (en) | 2018-05-18 | 2020-12-01 | Deepmind Technologies Limited | Neural networks with relational memory |
-
2019
- 2019-05-17 US US16/415,954 patent/US10853725B2/en active Active
- 2019-05-20 EP EP19727313.9A patent/EP3776369A1/en active Pending
- 2019-05-20 WO PCT/EP2019/062911 patent/WO2019219963A1/en unknown
- 2019-05-20 CN CN201980032400.1A patent/CN112119409B/zh active Active
-
2020
- 2020-11-30 US US17/107,621 patent/US11836596B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104685516A (zh) * | 2012-08-17 | 2015-06-03 | 高通技术公司 | 用于在尖峰神经元网络中实现基于事件的更新的装置和方法 |
CN106471525A (zh) * | 2014-12-24 | 2017-03-01 | 谷歌公司 | 增强神经网络以生成附加输出 |
EP3101598A2 (en) * | 2015-06-05 | 2016-12-07 | Google, Inc. | Augmented neural networks |
WO2017006104A1 (en) * | 2015-07-07 | 2017-01-12 | Touchtype Ltd. | Improved artificial neural network for language modelling and prediction |
DE202016008302U1 (de) * | 2016-03-01 | 2017-07-14 | Google Inc. | Komprimierte rekurrente neuronale Netzmodelle |
CN107622303A (zh) * | 2016-07-13 | 2018-01-23 | 三星电子株式会社 | 用于神经网络的方法和执行该方法的设备 |
CN107391646A (zh) * | 2017-07-13 | 2017-11-24 | 清华大学 | 一种视频图像的语义信息提取方法及装置 |
Non-Patent Citations (3)
Title |
---|
Attention Is All You Need;Ashish Vaswani 等;《https:/arxiv.org/pdf/1706.03762v1.pdf》;第1-15页 * |
ORDER MATTERS: SEQUENCE TO SEQUENCE FOR SETS;Oriol Vinyals 等;《ICLR 2016》;第1-11页 * |
基于小世界体系的BAM网络的研究;郎盼盼;《中国优秀硕士学位论文全文数据库 (信息科技辑)》(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112119409A (zh) | 2020-12-22 |
US20190354858A1 (en) | 2019-11-21 |
US11836596B2 (en) | 2023-12-05 |
US20210081795A1 (en) | 2021-03-18 |
WO2019219963A1 (en) | 2019-11-21 |
US10853725B2 (en) | 2020-12-01 |
EP3776369A1 (en) | 2021-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112119409B (zh) | 具有关系存储器的神经网络 | |
US10860927B2 (en) | Stacked convolutional long short-term memory for model-free reinforcement learning | |
US20220366246A1 (en) | Controlling agents using causally correct environment models | |
CN115812180A (zh) | 使用奖励预测模型的机器人控制的离线学习 | |
EP4085385B1 (en) | Generating implicit plans for accomplishing goals in an environment using attention operations over planning embeddings | |
CN116848532A (zh) | 具有短期记忆单元的注意力神经网络 | |
US20220076099A1 (en) | Controlling agents using latent plans | |
WO2023222887A1 (en) | Intra-agent speech to facilitate task learning | |
US20220253698A1 (en) | Neural network-based memory system with variable recirculation of queries using memory content | |
CN112334914B (zh) | 使用生成式前导神经网络的模仿学习 | |
US20230178076A1 (en) | Controlling interactive agents using multi-modal inputs | |
US20230061411A1 (en) | Autoregressively generating sequences of data elements defining actions to be performed by an agent | |
US20220237488A1 (en) | Hierarchical policies for multitask transfer | |
US20240281654A1 (en) | Autoregressively generating sequences of data elements defining actions to be performed by an agent | |
WO2023050048A1 (en) | Method and apparatus for simulating environment for performing task | |
WO2024126633A1 (en) | Training modular agent networks using layout data | |
WO2024129898A1 (en) | Real-world robot control using transformer neural networks | |
CN115879565A (zh) | 一种数据处理方法及相关设备 | |
CN117859135A (zh) | 自回归地生成定义要由代理执行的动作的数据元素序列 | |
CN117787291A (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 |