CN115510208A - 用于序列生成的动态实体表示 - Google Patents
用于序列生成的动态实体表示 Download PDFInfo
- Publication number
- CN115510208A CN115510208A CN202211221856.2A CN202211221856A CN115510208A CN 115510208 A CN115510208 A CN 115510208A CN 202211221856 A CN202211221856 A CN 202211221856A CN 115510208 A CN115510208 A CN 115510208A
- Authority
- CN
- China
- Prior art keywords
- entity
- output
- representation
- layer
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- 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
- 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
-
- 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/088—Non-supervised learning, e.g. competitive 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
- G06N3/048—Activation functions
Abstract
本公开涉及用于序列生成的动态实体表示。用于使用实体存储器数据来生成输出序列的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。特别地,神经网络用于生成以输入序列并且以实体存储器数据为条件的输出序列。
Description
技术领域
本说明书涉及使用神经网络来处理输入以生成输出序列。
背景技术
神经网络是采用一层或多层非线性单元来针对接收到的输入预测输出的机器学习模型。一些神经网络除了包括输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层(即另一隐藏层或输出层)的输入。网络的每个层依照一组相应参数的当前值从接收到的输入生成输出。
发明内容
本说明书描述一种作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统,该系统生成以输入序列和识别一个或多个提示实体的数据为条件的输出序列。
能够在特定实施例中实现本说明书中描述的主题以便实现以下优点中的一个或多个。
本说明书中描述的系统使用以包括一个或多个输入标志(token)的输入序列并且以实体存储器数据为条件的神经网络来自回归地生成输出序列,该输出序列包括该输出序列中的一个或多个输出位置中的每个处的相应输出标志。系统接收识别一个或多个提示实体的数据,并且维护实体存储器数据以包括一个或多个提示实体中的每个的相应表示。系统使用识别提示实体的数据中的一个或多个相应标志来初始化每个提示实体的实体存储器数据。
如本说明书中所描述的那样维护每个存储器实体的存储器数据能够使得神经网络能够将实体更准确地并入到输出序列中。也就是说,维护每个提示实体的实体存储器数据能够使得神经网络能够在遍及输出序列中并入更一致的实体集,并且其中实体集中的每个实体在遍及输出序列中与更一致的属性集相关联。相比之下,没有实体存储器数据的更常规系统生成具有不太一致的实体集的输出序列,其中实体往往在长输出序列之上落在输出序列外(例如,在自回归输出生成期间,足够长度的输出序列将开始丢弃输出序列的开头)。附加地,更常规系统往往对于实体集中的每个实体生成具有不太一致的属性集的输出序列。
本说明书中描述的系统能够通过处理识别提示的数据来初始化存储器数据中的每个提示实体的实体存储器数据。使用识别提示实体的数据能够使得用户能够指定重要实体的定制集,其中每个重要实体具有定制关联的属性,以用于在生成输出序列时使用。相比之下,其他输出序列生成技术能够在不用为输出序列的生成具体地指定重要实体的情况下处理仅输入序列。
因此,通过使用所描述的技术,组成预训练神经网络的“第一神经网络块”不需要能够将每个可能的实体有效地场境化并且并入在大量可能的实体中。因此,通过用“第二神经网络块”扩增第一块,所描述的方法允许神经网络的训练与能够如通过常规技术所尝试的那样使用仅“第一神经网络块”来实现高性能的从头开始训练模型相比,消耗更少的计算资源。此外,整体神经网络能够通过有效地并入“第二神经网络块”、减小所需参数的数目并且减少神经网络既在推理时又在训练期间的存储器占用来使用更少的“第一神经网络块”来实现可比较的或更好的性能。
在下面的附图和描述中阐述本说明书的主题的一个或多个实施例的细节。
主题的其他特征、方面和优点将从说明书、附图和权利要求书中变得显而易见。
附图说明
图1是示例神经网络系统的图。
图2是用于生成输出序列的示例过程的流程图。
图3是用于使用双神经网络层来处理层输入的示例过程的流程图。
图4是用于初始化场景存储器数据的示例过程的流程图。
图5示出系统的操作的示例。
在各个附图中相似的附图标记和名称指示相似的元素。
具体实施方式
图1是示例神经网络系统100的图。神经网络系统100是作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统的示例,其中能够实现下述系统、组件和技术。
神经网络系统100是生成以输入序列102和识别一个或多个提示实体104的数据为条件的输出序列150的系统。
在一些情况下,系统100获得识别一个或多个提示实体104中的每个的数据和包括一个或多个输入标志的输入序列102。
在一些情况下,输入序列102是从系统的用户接收的。例如,用户能够提供输入序列102,并且用户能够识别或者系统能够确定输入序列102中的哪些标志是指实体。
在一些其他情况下,输入序列102是由系统生成的占位符输入序列,例如,包括仅预定“开始”标志的序列。在此示例中,用户能够提供仅识别用户认为相关的实体的数据。
作为另一示例,系统能够从另一系统接收识别提示实体104的数据。例如,另一系统能够提供与系统100需要在其中生成输出序列150的当前场境相关的实体。
系统100维护包括一个或多个提示实体中的每个的相应实体数据的实体存储器数据120。也就是说,系统100在接收到识别提示实体的数据之后初始化实体存储器数据120。如将在下面更详细地描述的,每个实体的实体数据表征该实体以及该实体出现在所接收到的数据中的场境。
在下面参考图2和图5更详细地描述初始化实体存储器数据。
系统100使用神经网络110来处理输入序列102和实体存储器数据120以生成输出序列150,该输出序列150包括用于一个或多个输出位置中的每个的相应输出标志。
通常,系统100能够通过使用神经网络110来处理组合序列而自回归地生成输出序列150的每个输出标志,该组合序列包括至少输入序列以及输出序列中在输出标志之前的任何输出标志的级联。
神经网络110包括一个或多个双层130。
例如,神经网络能够包括层堆叠,该层堆叠包括(i)一个或多个双层130和(ii)输出层。
堆叠中的每个层能够接收层输入,该层输入包括针对组合序列中的每个标志的相应标志。对于堆叠中的第一层,输入是组合序列中的标志。对于堆叠中的第一层之后的每个层,输入是前一层的输出。
作为特定示例,层堆叠能够包括嵌入层,后面是多个双层,并且最终后面是输出层。作为另一特定示例,层堆叠能够包括嵌入层,后面是包括两个常规注意力层的层堆叠,并且最终后面是输出层。
当生成任何给定输出标志时,输出层能够处理来自神经网络110中的一个或多个双层中的最后双层130的输出位置的层输出以生成在输出序列中的输出位置的输出标志的词汇表上的相应分数分布,然后基于输出位置的相应分数分布来从输出位置的输出标志的词汇表中选择相应输出标志。例如,该层能够对标志进行采样或者能够贪婪地选择最高评分的标志。
每个双层130包括相应第一神经网络块136和相应第二神经网络块138。
第一神经网络块136是自注意力块,该自注意力块通过执行自注意力来更新用于双层130的层输入中的标志以生成层输入中的每个输入标志的相应隐藏表示。
第二神经网络块138是这样的块,其使用实体存储器数据120来更新用于双层130的层输入中的标志以生成层输入中的每个层输入标志的相应实体感知表示。
双层130然后组合隐藏表示和实体感知表示以生成双层130的层输出。
因此,双层130使用迄今为止作为输出序列150的部分生成的输出和实体存储器数据120二者来更新层的输入中的标志,从而产生神经网络110,该神经网络110能够大大地改进它处理由该神经网络生成的输出序列150中的实体提及的方式。
将在下面参考图2-5更详细地描述由双层130执行的操作。
神经网络110能够被配置成处理包括一个或多个输入标志(例如,来自输入标志的词汇表的输入标志)的任何适当的输入序列。输入标志的词汇表能够包括表示字符(例如,字母或象形字符)、单词片段、单词、特殊分隔符和标点符号标志等的输入标志。例如,输入标志能够表示来自人类语言(例如,英语、韩语等)的字符、单词片段和单词。在另一示例中,输入标志能够表示来自编译语言(例如,C、C++、Python等)的代码段。在又一示例中,输入标志能够表示以一致方式灌输有语义含义的其他符号。
神经网络110能够被配置成处理识别一个或多个提示实体中的每个的任何适当的数据。一个或多个提示实体可以是例如要生成的输出序列的重要实体,诸如叙事中的人物或报告中的讨论的话题。识别一个或多个提示实体中的每个的数据能够包括一个或多个标志,例如,识别提示实体的命名符(例如,名称)的一个或多个标志和/或来自描述与提示实体相关联的属性的输入标志的词汇表的一个或多个输入标志。
神经网络110能够被配置成生成包括一个或多个输出标志(例如,来自输出标志的词汇表的输出标志)的任何适当的输出序列150。输出标志的词汇表能够包括表示字符(例如,字母或象形字符)、单词片段、单词、特殊分隔符和标点符号标志等的输出标志。例如,输出标志能够表示来自人类语言(例如,英语、韩语等)的字符、单词片段和单词。在另一示例中,输出标志能够表示来自编译语言(例如,C、C++、Python等)的代码段。在又一示例中,输出标志能够表示以一致方式灌输有语义含义的其他符号。
在一个示例中,输入序列102能够包括来自用户的输入提示,并且一个或多个提示实体能够包括对用户重要的话题。神经网络110能够处理来自用户的一个或多个输入序列以生成相应输出序列,该相应输出序列表征对用户的输入序列的回复。例如,神经网络110可以是聊天机器人的一部分,并且用户可能正在与聊天机器人交互以接收问题的答案,例如,用于公司的客户服务聊天机器人、或用于以动态方式解决针对公司或服务最频繁地问的问题的交互式FAQ机器人。
在另一示例中,系统100可以是自动医疗诊断系统的一部分并且提示实体可以是由用户提供的表征用户的健康状态的实体,例如,当前系统、现存状况、药物等。输出序列能够作为与用户的涉及用户的健康状态的对话的部分被生成。
在另一示例中,输入序列102能够包括文本序列,并且一个或多个提示实体能够包括要从文本序列中概括的话题。输出序列150能够包括文本序列的一般摘要以及一个或多个提示实体中的每个的相应子摘要。
在另一示例中,输入序列102能够表征歌曲中的序曲,并且输出序列可以是歌曲的继续部分。提示实体可以是要在输出序列中演奏的乐器(例如,乐器的通用或“平均”版本,或具有像由某些材料构造、具有某些形状、表征特定著名乐器(诸如Stradivarius)或其任何组合这样的某些期望品质的每个乐器)。提示实体能够共同地表征一组乐器,诸如在管弦乐队中演奏的乐器。在又一示例中,提示实体能够表示特定风格或品质的音乐,诸如要在输出序列中模仿的硬摇滚、死亡金属声乐或歌剧演唱。在又一示例中,提示实体能够表示要在输出序列中模仿的个别艺术家或乐队的风格。
在另一示例中,输入序列102能够包括表示叙事的开头的文本序列,并且提示实体能够包括叙事中的重要人物、地点、想法、事物或其组合。输出序列150可以是叙事的继续部分。
在另一示例中,输入序列102能够包括计算机代码行,并且提示实体能够包括期望代码段、算法、方法学、或要在代码中使用的语义实体(例如,for循环、while循环等)。输出序列150能够表示计算机代码行的继续部分、提示实体的特定用例、或使用每个提示实体重写的计算机代码行的相应替代示例。系统100然后能够提供所生成的计算机代码以供由一个或多个计算机运行以执行某个计算任务。
作为另一示例,提示实体能够识别环境中的实体,输入序列102能够指定要由环境中的智能体(例如机器人或其他机械智能体)执行的任务,并且输出序列可以是给智能体以使智能体执行任务的指令,例如,自然语言指令或其他指令。
在一些实现方式中,每个双层130中的相应第一神经网络块132可以来自具有修改后的架构以生成或者处理较长序列的自注意力模型,例如,transformer-XL(T-XL)机器学习模型。在自回归地生成输出序列中的N个输出标志之后,T-XL模型(或其他模型)能够在T-XL存储器中存储N个输出标志的表示。T-XL模型能够在T-XL存储器中存储N个标志的多个段的相应表示。每次在生成附加N个输出标志之后,T-XL能够在T-XL存储器中存储附加N个输出标志的表示,其中该表示由T-XL模型生成。T-XL模型能够通过处理至少已经在T-XL存储器中的相应表示以及既在输出标志之前又尚未作为相应表示的部分存储在T-XL存储器中的任何输出标志的组合序列来自回归地生成输出序列中的每个输出标志。
因此,如本说明书中所使用的那样处理组合序列能够包括处理组合序列中的所有个别标志或者处理组合序列中的一些或所有标志的压缩表示。
在使用神经网络110来生成输出序列150之前,系统100或另一训练系统训练神经网络110以便使神经网络110准确地生成输出序列。
特别地,训练系统能够在包括多个训练示例的训练数据上训练神经网络110。每个训练示例包括(i)训练输入序列和(ii)应该由系统100通过处理训练输入序列而生成的训练输出序列。
训练系统能够以各种方式中的任一种执行此训练。作为一个示例,能够预训练每个双层中的第一网络块,然后能够用所包括的第一网络块和第二网络块来训练神经网络以改进神经网络处理实体提及的方式。
图2是用于生成输出序列的示例过程200的流程图。为了方便,过程200将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,依照本说明书适当地编程的神经网络系统(例如图1中描绘的神经网络系统100)能够执行过程200。
系统接收识别一个或多个提示实体的数据(步骤202)并且接收包括一个或多个输入标志的输入序列(步骤204)。
系统维护实体存储器数据(步骤206)。
特别地,实体存储器数据包括一个或多个提示实体中的每个的相应实体数据并且相应实体数据包括提示实体的相应实体表示。
在一些实现方式中,每个实体的相应实体数据包括实体的静态键向量。
在一些其他实现方式中,每个实体的相应实体数据包括静态键向量和动态值向量二者,其能够随着生成进行而由系统更新。
在一些实现方式中,实体存储器数据进一步包括一个或多个非实体中的每个的相应非实体数据,该相应非实体数据表示实体无关信息。像实体的数据一样,非实体数据能够包括静态键或静态键和动态值二者。
系统使用具有一个或多个双层的神经网络来处理输入序列和实体存储器数据以生成输出序列,该输出序列包括输出序列中的一个或多个输出位置中的每个处的相应输出标志(步骤208)。特别地,如上所述,系统通过对于每个标志处理组合序列一个接一个地自回归地生成输出序列中的输出标志。
作为生成在输出序列中的任何给定输出位置处的标志的部分,系统为一个或多个双层中的每个生成相应层输入并且使用双层来处理层输入以生成双层的层输出。
如上所述,层输入通常包括针对组合序列中的每个标志的相应标志并且能够由在层堆叠中在双层之前的层生成。
每个双层具有至少(i)相应第一神经网络块和(ii)相应第二神经网络块,并且使用两个网络块来在生成给定标志时生成双层的相应层输出。
换句话说,神经网络通常包括层堆叠(包括一个或多个双层),并且为了生成在输出序列中的任何给定位置处的标志,处理组合序列,该组合序列包括输入序列以及已经在给定位置之前的位置处生成的任何输出标志。在一些情况下,系统如上所述处理组合序列中的一些标志的压缩表示。在一些其他情况下,神经网络110能够具有固定的“场境窗口”并且作为处理组合输出序列的部分,系统能够丢弃在场境窗口外部的标志。
在一些实现方式中,系统还包括组合序列中的实体提示。实体提示包括可选地由特殊分隔符标志分隔的识别实体存储器数据中的实体中的每个的相应标志。包括实体提示能够允许双层注意力实体标志并且改进生成的一致性。
在下面参考图3更详细地描述使用双层来处理用于给定双层的层输入。
图3是用于使用双层来处理层输入的示例过程300的流程图。为了方便,过程300将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,依照本说明书适当地编程的神经网络系统(例如图1中描绘的神经网络系统100)能够执行过程300。
双层接收用于输出位置的层输入(步骤302),该层输入基于至少输入序列并且包括一个或多个层输入标志。例如,当神经网络被配置成处理组合序列时,层输入包括当前组合序列中的每个标志的相应层输入标志。
双层使用相应第一神经网络块来处理层输入以生成层输入中的每个层输入标志的相应隐藏表示(步骤304)。
如上所述,相应第一神经网络块通常是对层输入中的标志应用自注意力以生成隐藏表示的自注意力层块。
第一块能够使用各种自注意力变体中的任一个来执行此处理。
在一些实现方式中,第一块是来自具有修改后的架构以生成或者处理较长序列的自注意力模型(例如,transformer-XL(T-XL)机器学习模型)的注意力块。在自回归地生成输出序列中的N个输出标志之后,T-XL模型(或其他模型)能够在T-XL存储器中存储N个输出标志的表示。T-XL模型能够在T-XL存储器中存储N个标志的多个段的相应表示。每次在生成附加N个输出标志之后,T-XL能够在T-XL存储器中存储附加N个输出标志的表示,其中该表示由T-XL模型生成。T-XL模型能够通过处理至少已经在T-XL存储器中的相应表示以及既在输出标志之前又尚未作为相应表示的部分存储在T-XL存储器中的任何输出标志的组合序列来自回归地生成输出序列中的每个输出标志。
因此,在一些实现方式中,第一块注意力在T-XL存储器上的层输入和仍然尚未被存储在T-XL存储器中的层输入。
第一块还能够包括除自注意力层以外(即在自注意力层之前或之后执行处理)的其他组件。此类组件的示例包括前馈层、规范化层、残差连接层等。
双层使用相应第二神经网络块来处理层输入和实体存储器数据以生成层输入中的每个层输入标志的相应实体感知表示(步骤306)。
通常,对于层输入中的每个层输入标志,第二神经网络块使用实体存储器数据来更新层输入标志以生成层输入标志的实体感知表示。
作为特定示例,相应第二神经网络块能够包括将交叉注意力应用到实体存储器数据中的交叉注意力神经网络层。特别地,交叉注意力层能够对于每个层输入标志,生成从层输入标志导出的查询并且对具有从至少实体存储器数据中的相应实体表示导出的键和值的实体存储器数据执行交叉注意力以更新层输入。例如,当实体存储器数据包括仅静态键时,键和值都能够等于静态键或者从静态键导出。当实体存储器数据包括静态键和动态值时,键能够等于静态键或者从静态键导出,然而值能够等于动态值或者从动态值导出。
第二块还能够包括除交叉注意力层以外(即在交叉注意力层之前或之后执行处理)的其他组件。此类组件的示例包括前馈层、规范化层、残差连接层等。
双层处理隐藏表示和实体感知表示以生成输出位置的层输出(步骤308),所述层输出具有一个或多个层输出标志——即包括针对层输入中的每个标志的相应层输出标志。
一般而言,双层组合隐藏表示和实体感知表示以生成层输出。
对于任何给定标志,双层能够以任何适当的方式组合标志的表示。
作为特定示例,双层能够使用具有多个门控参数的门控神经网络块来组合隐藏表示和实体感知表示以生成层输出中的层输出标志。
例如,门控神经网络块能够对于每个隐藏表示,依照多个门控参数来处理隐藏表示和所对应的实体感知表示以生成相应门控向量,然后依照该相应门控向量来组合隐藏表示和所对应的实体感知表示以生成层输出中的相应层输出标志。
为了生成门控向量,门控神经网络块能够级联隐藏表示和实体感知表示以生成组合表示并且依照门控参数来处理组合表示以生成相应门控向量,例如,通过经由一个或多个全连接层处理组合表示。
为了依照相应门控向量来组合隐藏表示和所对应的实体感知表示,门控神经网络块能够处理相应门控向量以生成隐藏权重向量并且执行隐藏权重向量和隐藏表示的逐元素乘法以生成中间隐藏表示。类似地,该块能够处理相应门控向量以生成实体权重向量并且执行实体权重向量和实体感知表示的逐元素乘法以生成中间实体感知表示。该块然后能够对中间隐藏表示和中间实体感知表示求和以生成相应层输出标志。
如上所述,在一些实现方式中,实体存储器数据在被初始化之后是静态的,然而在一些其他实现方式中,系统能够在初始化之后更新实体存储器数据中的动态值。在下面参考图4描述更新动态值。
图4是用于初始化实体存储器数据的示例过程400的流程图。为了方便,过程400将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,依照本说明书适当地编程的神经网络系统(例如图1中描绘的神经网络系统100)能够执行过程400。
如上所述,对于每个实体,实体存储器数据能够包括(i)静态键或(ii)静态键和动态值。
为了初始化此数据,对于每个实体,系统处理识别该实体的数据。在一些实现方式中,系统能够接收描述每个实体的单独的文本段。在一些其他实现方式中,系统能够接收描述所有实体的单个文本段。例如,可以在由系统从用户接收到的初始输入序列中提及每个实体。
特别地,对于每个实体,系统能够使用神经网络来处理识别提示实体的相应数据中的每个标志以生成每个标志的相应嵌入(步骤402)。在处理期间,系统使用仅双层内的第一块而不使用第二块。也就是说,在此处理期间,对于每个双层,系统接收包括一个或多个层输入标志的层输入,其中每个层输入标志对应于识别提示实体的标志中的相应标志,并且在不使用双层的相应第二神经网络块的情况下使用双层内的相应第一神经网络块来处理层输入标志以为每个层输入标志生成相应层输出标志。
系统然后使用提示实体的标志的相应嵌入(即在识别实体的数据内对应于提示实体的标志的嵌入)来初始化提示实体的相应实体表示(步骤404)。
作为特定示例,系统能够确定提示实体的标志的相应嵌入的平均值并且使用提示实体的标志的相应嵌入的平均值来初始化提示实体的相应实体表示。
当实体存储器数据包括仅静态键时,系统能够将静态键初始化为等于平均值。当实体存储器数据包括静态键和动态值二者时,系统能够将静态键和动态值二者初始化为等于平均值。
当实体存储器数据包括动态值时,系统能够在生成输出序列的同时在某些点更新动态值。
特别地,系统能够在每个第N标志被添加到由神经网络处理的组合序列之后更新动态值。通常,N是大于一的固定整数并且可以是系统的超参数。也就是说,对于系统在生成输出序列的同时与用户交互的任务,系统能够在可以为用户生成的标志和系统生成的标志的组合的N个标志被添加到组合序列之后执行更新。对于在接收到提示实体和输入序列之后系统在不与用户交互的情况下生成长输出序列的任务,系统能够在N个标志已由系统生成之后执行更新。
为了更新动态值,系统为一个或多个提示实体中的每个确定最后N个组合序列标志的相应表示(步骤406)。
例如,系统能够使用神经网络中的一个或多个双层中的最后双层的相应第一神经网络块来确定最后N个组合序列标志的隐藏表示并且使用神经网络中的一个或多个双层中的最后双层的相应第二神经网络块来为提示实体的最后N个组合序列标志确定相应出席权重。也就是说,系统能够在处理组合序列中的最后标志时将第一和第二块的输出用于最后N个组合序列标志。系统然后通过处理隐藏表示和出席权重来确定提示实体的最后N个组合序列标志的相应表示。
系统然后使用提示实体的表示来更新每个提示实体的实体存储器数据中的动态值(步骤408)。
特别地,系统能够通过使用更新神经网络块来处理至少提示实体的相应表示而更新给定实体的动态值。
例如,系统能够使用更新神经网络块来为相应表示确定表示权重,然后通过处理动态值、表示权重和相应表示来更新存储器实体的存储器数据中的动态值。例如,系统能够将经更新后的动态值确定为动态值和表示的加权和,其中表示通过表示权重来加权并且动态值通过一减去表示权重来加权。
图5示出系统的操作的示例500。
在示例500中,实体存储器数据包括以下三个实体的相应静态键和相应动态值:“萨拉金”、“社区”和“动物”。
系统能够在由神经网络作为实体提示处理的组合序列中表示这三个实体。
如能够在图5中看到的,神经网络利用Transformer-XL来在多个大块中生成长输出序列。系统已经生成了输出序列的现在在“T-XL”存储器中表示的前39个大块并且当前在生成第40大块。
为了在第40大块中生成下一个输出,系统内的双层对组合序列进行操作,该组合序列包括从大块中已经被生成的输出(“Sarah King saved the animal(萨拉金救了动物)”)导出的标志和实体提示。由于Transformer-XL的结构,每个双层内的第一块还对被存储在T-XL存储器中的较早大块的表示进行操作。
特别地,如图5所示,神经网络内的双层包括第一块和第二块,该第一块跨组合序列(以及可选地,Transformer-XL存储器中的数据)执行自注意力,该第二块对于组合序列中的每个标志对实体存储器数据执行交叉注意力。
然后使用门控机制来组合这两个块的输出以为组合序列中的每个标志生成单个层输出标志。
当满足用于更新动态值的准则时,系统能够使用更新神经网络(“FFN”)来更新动态值。
如上所述,能够以各种方式中的任一种训练神经网络。如图5所示,能够通过“实体监督”来训练第二神经网络块。
特别地,在一些实现方式中,用于一个或多个双层的相应第一神经网络块可能已作为不包括相应第二神经网络块的不同神经网络的部分被预训练。例如,第一神经网络块可能已作为执行语言建模任务的不同神经网络的部分被预训练。例如,可能已通过非监督式学习在未标记文本数据的大语料库上训练了不同神经网络。
在预训练相应第一神经网络块之后,系统能够在包括目标网络输入和针对每个网络输入的相应目标网络输出的训练数据上训练神经网络。
特别地,系统能够训练神经网络以优化目标函数,该目标函数对于多个训练网络输入中的每个并且对于针对训练网络输入的目标网络输出中的每个输出位置,测量以下各项之间的相应误差:(i)在所述位置的输出标志的词汇表上的相应目标分数分布,即,识别目标网络输出中的对应标志的目标分布,以及(ii)由神经网络通过处理训练网络输入为输出位置生成的分数分布。
如图5所示,目标函数还能够包括正则化损失,该正则化损失对于一个或多个双层中的每个,测量以下各项之间的误差:(i)相应第二神经网络块的中间输出(交叉注意力分数)以及(ii)相应第二神经网络块的目标中间输出(黄金提及)。
在一些实现方式中,系统在此训练期间使第一块保持固定为预训练值。在一些其他实现方式中,系统在训练第二块的同时微调第一块。
如本说明书中所使用的“嵌入”是数字值(例如浮点或其他类型的数字值)的向量,该向量具有预定维数,例如,具有预定数目的值。
如以上提及的自注意力块是包括注意力机制的神经网络层,该注意力机制对自注意力块输入(或从层输入导出的输入)进行操作以生成自注意力块输出。自注意力机制可以是因果屏蔽的,使得输入序列中的任何给定位置不关注输入序列中的给定位置之后的任何位置(例如使用来自它们的数据)。存在许多不同可能的注意力机制。包括注意力机制的自注意力层的一些示例在以下各项中有所描述:Vaswani等人的“Attention is all youneed(你所需要的是关注)”,31st Conference on Neural Information ProcessingSystems(NIPS 2017),Long Beach,CA,USA;Colin Raffel,Noam Shazeer,Adam Roberts,Katherine Lee,Sharan Narang,Michael Matena,Yanqi Zhou,Wei Li和Peter J Liu的Exploring the limits of transfer learning with a unified text-to-texttransformer(使用统一的文本到文本转换器探索迁移学习的局限).arXivpreprintarXiv:1910.10683,2019;Daniel Adiwardana,Minh-Thang Luong,David R.So,Jamie Hall,Noah Fiedel,Romal Thoppilan,Zi Yang,Apoorv Kulshreshtha,GauravNemade,Yifeng Lu和Quoc V.Le的Towards a human-like open-domain chatbot(走向人性化的开放域聊天机器人).CoRR,abs/2001.09977,2020;以及Tom B Brown,BenjaminMann,Nick Ryder,Melanie Subbiah,Jared Kaplan,Prafulla Dhariwal,ArvindNeelakantan,Pranav Shyam,Girish Sastry,Amanda Askell等人的Language models arefew-shot learners(语言模型是小样本的学习者).arXiv preprint arXiv:2005.14165,2020。
通常,注意力机制将查询和一组键-值对映射到输出,其中查询、键和值都是向量。输出被计算为值的加权和,其中指配给每个值的权重通过查询与对应键的兼容性函数(例如点积或缩放点积)来计算。
通常,自注意力机制被配置成使同一序列中的不同位置相关以将序列的变换版本确定为输出。例如,注意力层输入可以包括输入序列的每个元素的向量。这些向量向自注意力机制提供输入并且由自注意力机制用于为注意力层输出确定同一序列的新表示,其类似地包括输入序列的每个元素的向量。自注意力机制的输出可以被用作注意力层输出,或者它可以通过前馈层、跳过连接或规范化操作中的一个或多个来处理以提供注意力层输出。
在一些实现方式中,注意力机制被配置成对作为注意力层的输入数据X的注意力层输入应用例如由矩阵WQ定义的查询变换、例如由矩阵WK定义的键变换和例如由矩阵WV定义的值变换中的每一者,以导出包括用于输入序列中的每个向量的相应查询的查询矩阵Q=XWQ、包括用于输入序列中的每个向量的相应键的键矩阵K=XWK、以及包括用于输入序列中的每个向量的相应值的值矩阵V=XWV,这些用于确定输出的出席序列。例如,注意力机制可以是通过对每个键向量应用每个查询向量以为每个值向量确定相应权重、然后使用相应权重来组合值向量以为输入序列中的每个元素确定自注意力层输出而应用的点积注意力机制。自注意力层输出可以通过缩放因子例如通过查询和键的维度的平方根来缩放,以实现缩放点积注意力。因此,例如,可以将注意力机制的输出确定为其中d是键(和值)向量的维度。在另一实现方式中,注意力机制包括使用具有隐藏层的前馈网络来计算兼容性函数的“加性注意力”机制。注意力机制的输出可以由一个或多个全连接前馈神经网络层进一步处理。
注意力机制可以实现多头注意力,也就是说,它可以并行地应用多个不同的注意力机制。这些的输出然后可以与必要时应用来减少至原始维数的学习到的线性变换组合,例如级联。
本说明书关于系统和计算机程序组件使用术语“被配置”。为了一个或多个计算机的系统被配置成执行特定操作或动作意味着该系统已在其上安装了软件、固件、硬件或它们的组合,该软件、固件、硬件或它们的组合在操作中使该系统执行这些操作或动作。为了一个或多个计算机程序被配置成执行特定操作或动作意味着该一个或多个程序包括指令,这些指令当由数据处理装置运行时,使该装置执行这些操作或动作。
本说明书中描述的主题和功能操作的实施例能够用数字电子电路系统、用有形地体现的计算机软件或固件、用计算机硬件(包括本说明书中公开的结构及其结构等同物)或者用它们中的一个或多个的组合加以实现。能够将本说明书中描述的主题的实施例实现为一个或多个计算机程序,例如,在有形非暂时性存储介质上编码以用于由数据处理装置运行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备,或它们中的一个或多个的组合。替换地或另外,程序指令能够被编码在人工生成的传播信号例如机器生成的电信号、光信号或电磁信号上,所述信号被生成来对信息进行编码以用于传输到合适的接收装置以供由数据处理装置运行。
术语“数据处理装置”是指数据处理硬件并且包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置还可以是或者进一步包括专用逻辑电路系统,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外还能够可选地包括为计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序,其还可以被称为或者描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码,能够用任何形式的编程语言加以编写,所述编程语言包括编译或解释语言或声明或过程语言;并且它能够被以任何形式(包括作为独立程序或者作为模块、组件、子例程、或适合于在计算环境中使用的其他单元)部署。程序可以但不必对应于文件系统中的文件。能够在保持其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中、或者在多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中存储程序。能够将计算机程序部署成在一个计算机上或者在位于一个站点处或跨多个站点分布并且通过数据通信网络互连的多个计算机上运行。
在本说明书中,术语“数据库”广泛地用于是指数据的任何合集:数据不需要被以任何特定方式构造,或者根本不需要构造,并且它能够被存储在一个或多个位置中的存储设备上。因此,例如,索引数据库能够包括数据的多个合集,每个合集可以被不同地组织和访问。
类似地,在本说明书中术语“引擎”广义地用于是指被编程来执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,多个引擎能够被安装在同一个或多个计算机上并运行。
本说明书中描述的过程和逻辑流程可以是通过一个或多个可编程计算机运行一个或多个计算机程序以通过对输入数据操作并且生成输出来执行功能而执行的。过程和逻辑流程还能够由专用逻辑电路系统例如FPGA或ASIC执行,或者由专用逻辑电路系统和一个或多个编程计算机的组合执行。
适合于运行计算机程序的计算机能够基于通用微处理器或专用微处理器或二者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的必要元件是用于执行或者运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路系统补充,或者被并入在专用逻辑电路系统中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者在操作上耦合以从该大容量存储设备接收数据或者将数据转移到该大容量存储设备,或者兼而有之。然而,计算机不需要具有此类设备。此外,计算机能够被嵌入在另一设备中,所述另一设备例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,能够在计算机上实现本说明书中描述的主题的实施例,该计算机具有用于向用户显示信息的显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器,以及用户能够用来向该计算机提供输入的键盘和指点设备,例如,鼠标或轨迹球。其他种类的设备也能够用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声、语音或触觉输入。另外,计算机能够通过向由用户使用的设备发送文档并且从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求向用户的设备上的web浏览器发送web页面。另外,计算机能够通过向个人设备例如正在运行消息传递应用的智能电话发送文本信息或其他形式的信息并且作为回报从用户接收响应信息来与用户交互。
用于实现机器学习模型的数据处理装置还能够包括例如用于处理机器学习训练或生产例如推理工作负载的常见且计算密集部分的专用硬件加速器单元。
机器学习模型能够使用机器学习框架例如TensorFlow框架来实现和部署。
能够在计算系统中实现本说明书中描述的主题的实施例,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户能够用来与本说明书中描述的主题的实现方式交互的图形用户接口、web浏览器或app的客户端计算机),或者包括一个或多个此类后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,因特网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而发生。在一些实现方式中,服务器向用户设备发送数据,例如HTML页面,例如,为了向与作为客户端的设备交互的用户显示数据并且从与作为客户端的设备交互的用户接收用户输入。能够在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多特定实现方式细节,但是这些不应该被理解为对任何发明的范围或对可以要求保护的东西的范围构成限制,而是相反被理解为可能特定于特定发明的特定实施例的特征的描述。还能够在单个实施例中相结合地实现在本说明书中在单独的实施例的场境中描述的某些特征。相反地,还能够在多个实施例中单独地或按照任何合适的子组合实现在单个实施例的场境中描述的各种特征。此外,尽管特征可能在上面被描述为按照某些组合行动并且甚至最初被如此要求保护,但是来自要求保护的组合的一个或多个特征可能在一些情况下被从组合中除去,并且所要求的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中描绘并且在权利要求中以特定次序叙述了操作,但是这不应该被理解为要求以所示特定次序或以顺序次序执行此类操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,各种系统模块和组件在上述实施例中的分离不应该被理解为在所有实施例中要求这种分离,并且应该理解,所描述的程序组件和系统能够通常被一起集成在单个软件产品中或者包装到多个软件产品中。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中叙述的动作能够被以不同次序执行并且仍然实现所希望的结果。作为一个示例,附图中描绘的过程不一定要求所示特定次序或顺序次序以实现所希望的结果。在一些情况下,多任务处理和并行处理可以是有利的。
Claims (26)
1.一种方法,包括:
接收识别一个或多个提示实体的数据;
接收包括一个或多个输入标志的输入序列;
维护包括所述一个或多个提示实体中的每个的相应实体数据的实体存储器数据,其中,每个提示实体的所述相应实体数据包括所述提示实体的相应实体表示;以及
使用具有一个或多个双层的神经网络来处理所述输入序列和所述实体存储器数据,其中,每个双层包括至少(i)相应第一神经网络块和(ii)相应第二神经网络块,以生成输出序列,所述输出序列包括针对所述输出序列中的一个或多个输出位置中的每个的相应输出标志,对于每个输出位置,包括:
对于所述一个或多个双层中的每个:
接收所述输出位置的层输入,所述层输入基于至少所述输入序列并且包括一个或多个层输入标志;
使用所述相应第一神经网络块来处理所述层输入以生成所述层输入中的每个层输入标志的相应隐藏表示;
使用所述相应第二神经网络块来处理所述层输入和所述实体存储器数据以生成所述层输入中的每个层输入标志的相应实体感知表示;以及
处理所述隐藏表示和所述实体感知表示以生成所述输出位置的具有一个或多个层输出标志的层输出。
2.根据权利要求1所述的方法,其中,所述神经网络通过对于每个输出位置处理组合序列自回归地生成所述输出序列的每个输出标志,所述组合序列包括至少所述输入序列和所述输出序列中在所述输出位置之前的任何输出标志的级联,并且其中,用于每个输出位置的所述层输入是从所述组合序列导出的。
3.根据权利要求2所述的方法,其中,所述一个或多个提示实体中的每个由一个或多个标志识别,并且所述组合序列进一步包括对于每个提示实体,识别所述提示实体的所述一个或多个标志。
4.根据权利要求1所述的方法,其中,对于每个双层,使用所述相应第二神经网络块来处理所述层输入和所述实体存储器数据以生成所述层输入中的每个层输入标志的所述相应实体感知表示包括:
对于每个层输入标志,使用所述相应第二神经网络块来处理所述层输入标志和所述实体存储器数据以生成所述层输入标志的所述相应实体感知表示。
5.根据权利要求4所述的方法,其中,对于每个双层,所述相应第二神经网络块包括交叉注意力神经网络层,所述交叉注意力神经网络层按从所述层输入标志导出的查询以及从至少所述实体存储器数据中的所述相应实体表示导出的键和值而应用交叉注意力。
6.根据权利要求3所述的方法,其中,对于每个双层,处理所述隐藏表示和所述实体感知表示以生成所述层输出包括:
使用具有多个门控参数的门控神经网络块来组合所述隐藏表示和所述实体感知表示以生成所述层输出中的所述层输出标志。
7.根据权利要求6所述的方法,其中,使用具有多个门控参数的所述门控神经网络块来组合所述隐藏表示和所述实体感知表示以生成所述层输出包括:
对于每个隐藏表示:
依照所述多个门控参数来处理所述隐藏表示和所对应的实体感知表示以生成相应门控向量;以及
依照所述相应门控向量来组合所述隐藏表示和所对应的实体感知表示以生成所述层输出中的相应层输出标志。
8.根据权利要求7所述的方法,其中,依照所述多个门控参数来处理所述隐藏表示和所对应的实体感知表示以生成所述相应门控向量包括:
级联所述隐藏表示和所述实体感知表示以生成组合表示;以及
依照所述门控参数来处理所述组合表示以生成所述相应门控向量。
9.根据权利要求7所述的方法,其中,依照所述相应门控向量来组合所述隐藏表示和所对应的实体感知表示以生成所述相应层输出标志包括:
处理所述相应门控向量以生成隐藏权重向量;
执行所述隐藏权重向量和所述隐藏表示的逐元素乘法以生成中间隐藏表示;
处理所述相应门控向量以生成实体权重向量;
执行所述实体权重向量和所述实体感知表示的逐元素乘法以生成中间实体感知表示;以及
对所述中间隐藏表示和所述中间实体感知表示求和以生成所述相应层输出标志。
10.根据权利要求1所述的方法,进一步包括,在使用所述神经网络来处理所述输入序列和所述实体存储器数据以生成所述输出序列之前:
通过处理识别所述提示实体的所述数据来初始化所述实体存储器数据中的每个提示实体的所述相应实体表示。
11.根据权利要求10所述的方法,其中,通过处理识别所述提示实体的所述数据来初始化所述实体存储器数据中的每个提示实体的所述相应实体表示包括:
使用所述神经网络来处理识别所述提示实体的所述相应数据中的每个标志以生成所述标志的相应嵌入,其中,使用所述神经网络来处理所述标志包括,对于每个双层:
接收包括一个或多个层输入标志的层输入,其中,每个层输入标志对应于识别所述提示实体的所述标志中的相应一个;并且
在不使用所述双层的所述相应第二神经网络块的情况下使用所述相应第一神经网络块来处理所述层输入标志以为每个层输入标志生成所述相应层输出标志;以及
使用所述提示实体的所述标志的所述相应嵌入来初始化所述提示实体的所述相应实体表示。
12.根据权利要求11所述的方法,其中,使用所述相应提示实体的所述标志的所述相应嵌入来初始化所述提示实体的所述相应实体表示包括:
确定所述提示实体的所述标志的所述相应嵌入的平均值;以及
使用所述提示实体的所述标志的所述相应嵌入的所述平均值来初始化所述提示实体的所述相应实体表示。
13.根据权利要求12所述的方法,其中,所述一个或多个提示实体中的每个的所述相应实体表示是相应静态键和相应动态值的组合,并且其中,使用所述提示实体的所述标志的所述相应嵌入的所述平均值来初始化每个提示实体的所述相应实体表示包括:
将所述提示实体的所述相应静态键初始化为所述提示实体的所述标志的所述相应嵌入的所述平均值;以及
将所述提示实体的所述相应动态值初始化为所述提示实体的所述标志的所述相应嵌入的所述平均值。
14.根据权利要求12所述的方法,其中,所述一个或多个提示实体中的每个的所述相应实体表示是相应静态键,并且其中,初始化每个提示实体的所述相应实体表示包括:
将所述提示实体的所述相应静态键初始化为所述提示实体的所述标志的所述相应嵌入的所述平均值。
15.根据权利要求13所述的方法,其中,维护包括所述一个或多个提示实体中的每个的相应实体数据的实体存储器数据,其中,每个提示实体的所述相应实体数据包括所述提示实体的相应实体表示,包括:
在每第N个标志被添加到所述组合序列之后,对于所述一个或多个提示实体中的每个更新所述实体存储器数据中的所述相应动态值,其中,N是大于一的固定整数。
16.根据权利要求15所述的方法,其中,对于所述一个或多个提示实体中的每个更新所述实体存储器数据中的所述相应动态值包括:
为所述一个或多个提示实体中的每个确定最后N个组合序列标志的相应表示;以及
对于每个提示实体,通过使用更新神经网络块来处理至少所述提示实体的所述相应表示而更新所述实体存储器数据中的所述动态值。
17.根据权利要求16所述的方法,其中,为所述一个或多个提示实体中的每个确定所述最后N个组合序列标志的所述相应表示包括:
使用所述神经网络中的所述一个或多个双层中的最后双层的所述相应第一神经网络块来确定所述最后N个组合序列标志的所述隐藏表示;
使用所述神经网络中的所述一个或多个双层中的所述最后双层的所述相应第二神经网络块来为所述提示实体确定用于所述最后N个组合序列标志的相应出席权重;以及
通过处理所述隐藏表示和所述出席权重来为所述提示实体确定所述最后N个组合序列标志的所述相应表示。
18.根据权利要求16所述的方法,其中,对于每个提示实体通过使用更新神经网络块来处理至少所述相应表示而更新所述存储器数据中的所述动态值包括:
使用所述更新神经网络块来确定用于所述相应表示的表示权重;以及
通过处理所述动态值、所述表示权重和所述相应表示来更新所述存储器实体的所述存储器数据中的所述动态值。
19.根据权利要求1所述的方法,其中,所述实体存储器数据进一步包括一个或多个非实体中的每个的相应非实体数据,所述相应非实体数据表示实体无关信息。
20.根据权利要求1-19中的任一项所述的方法,其中,使用具有一个或多个双层的神经网络来处理所述输入序列和所述实体存储器数据进一步包括,对于所述输出位置中的每个:
处理来自所述神经网络中的所述一个或多个双层的最后双层的所述输出位置的所述层输出以生成在所述输出序列中的所述输出位置的输出标志的词汇表上的相应分数分布;以及
基于所述输出位置的所述相应分数分布来从所述输出位置的输出标志的所述词汇表中选择相应输出标志。
21.根据权利要求20所述的方法,其中,用于所述一个或多个双层的所述相应第一神经网络块已作为不包括所述相应第二神经网络块的不同神经网络的部分被预训练。
22.根据权利要求21所述的方法,进一步包括,在预训练所述相应第一神经网络块之后,训练所述神经网络以优化目标函数,所述目标函数对于多个训练网络输入中的每个并且对于针对所述训练网络输入的目标网络输出中的每个输出位置,测量以下各项之间的相应误差:(i)在所述位置的输出标志的所述词汇表上的相应目标分数分布,以及(ii)由所述神经网络通过处理所述训练网络输入为所述输出位置生成的所述分数分布。
23.根据权利要求22所述的方法,其中,所述目标函数在以下各项之间进一步测量所述一个或多个双层中的每个的正则化损失:(i)所述相应第二神经网络块的中间输出和(ii)所述相应第二神经网络块的目标中间输出。
24.当从属于权利要求5时根据权利要求23所述的方法,其中,所述中间输出是由所述交叉注意力层生成的交叉注意力权重并且所述目标中间输出是交叉注意力权重的目标集。
25.一种系统,包括:
一个或多个计算机;以及
一个或多个存储设备,所述一个或多个存储设备通信地耦合到所述一个或多个计算机,其中,所述一个或多个存储设备存储指令,所述指令当由所述一个或多个计算机运行时,使所述一个或多个计算机执行根据权利要求1-24中的任一项所述的相应方法的操作。
26.一种或多种非暂时性计算机存储介质,存储指令,所述指令当由一个或多个计算机运行时,使所述一个或多个计算机执行根据权利要求1-24中的任一项所述的相应方法的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GR20210100677 | 2021-10-05 | ||
GR20210100677 | 2021-10-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115510208A true CN115510208A (zh) | 2022-12-23 |
Family
ID=84508411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211221856.2A Pending CN115510208A (zh) | 2021-10-05 | 2022-10-08 | 用于序列生成的动态实体表示 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230108579A1 (zh) |
CN (1) | CN115510208A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116403728B (zh) * | 2023-06-09 | 2023-08-29 | 吉林大学第一医院 | 医疗就诊数据的数据处理装置和相关设备 |
-
2022
- 2022-10-05 US US17/960,775 patent/US20230108579A1/en active Pending
- 2022-10-08 CN CN202211221856.2A patent/CN115510208A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230108579A1 (en) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934791B2 (en) | On-device projection neural networks for natural language understanding | |
US11288295B2 (en) | Utilizing word embeddings for term matching in question answering systems | |
US10268671B2 (en) | Generating parse trees of text segments using neural networks | |
EP3371807B1 (en) | Generating target phoneme sequences from input speech sequences using partial conditioning | |
US9818409B2 (en) | Context-dependent modeling of phonemes | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
US11720761B2 (en) | Systems and methods for intelligent routing of source content for translation services | |
US20220075944A1 (en) | Learning to extract entities from conversations with neural networks | |
JP7309798B2 (ja) | 対話意図の認識方法及び装置、電子機器並びに記憶媒体 | |
US11481646B2 (en) | Selecting answer spans from electronic documents using neural networks | |
EP3563302A1 (en) | Processing sequential data using recurrent neural networks | |
CN117121015A (zh) | 利用冻结语言模型的多模态少发式学习 | |
CN114467096A (zh) | 增强基于注意力的神经网络以选择性地关注过去的输入 | |
CN110399472A (zh) | 面试提问提示方法、装置、计算机设备及存储介质 | |
US20220383119A1 (en) | Granular neural network architecture search over low-level primitives | |
CN115510208A (zh) | 用于序列生成的动态实体表示 | |
CN112132075B (zh) | 图文内容处理方法及介质 | |
WO2021062105A1 (en) | Training neural networks to generate structured embeddings | |
WO2023192674A1 (en) | Attention neural networks with parallel attention and feed-forward layers | |
WO2023059831A1 (en) | Using memory to augment self-attention in neural networks | |
JP7044245B2 (ja) | 対話システム補強装置及びコンピュータプログラム | |
US20230177334A1 (en) | Large scale retrieval for sequence generation | |
US20240119261A1 (en) | Discrete token processing using diffusion models | |
US20230177309A1 (en) | Training conditional computation neural networks using reinforcement learning | |
US20240078379A1 (en) | Attention neural networks with n-grammer layers |
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 |