CN117321602A - 字符级注意力神经网络 - Google Patents

字符级注意力神经网络 Download PDF

Info

Publication number
CN117321602A
CN117321602A CN202280035467.2A CN202280035467A CN117321602A CN 117321602 A CN117321602 A CN 117321602A CN 202280035467 A CN202280035467 A CN 202280035467A CN 117321602 A CN117321602 A CN 117321602A
Authority
CN
China
Prior art keywords
subword
neural network
character
block
output
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
Application number
CN202280035467.2A
Other languages
English (en)
Inventor
Y·塔伊
D·巴里
D·A·小梅茨勒
H·W·郑
J·P·古普塔
S·N·鲁德
S·鲍姆加特纳
V·Q·陈
Z·秦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN117321602A publication Critical patent/CN117321602A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

用于对在多个字符位置中的每一个处具有相应字符的字符的输入序列执行机器学习任务以生成网络输出的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。系统中的一个包括被配置为执行机器学习任务的神经网络,该神经网络包括基于梯度的子词分词器和输出神经网络。基于梯度的子词分词器被配置为将学习的(即,灵活的)子词分词策略应用于字符的输入序列,以生成潜在子词表示序列。输出神经网络被配置为处理潜在子词表示以生成任务的网络输出。

Description

字符级注意力神经网络
相关申请的交叉引用
本申请要求于2021年5月28日提交的美国申请号63/194,855的申请日的优先权权益。在先申请的公开内容被认为是本申请的公开内容的一部分并且通过引用并入本申请的公开内容中。
背景技术
本说明书涉及使用神经网络来对文本输入执行机器学习任务。
神经网络是采用一层或多层非线性单元来预测接收到的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应权重集合的当前值从接收到的输入生成输出。
发明内容
本说明书描述了一种在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统,该系统实现、训练或实现、训练神经网络以对网络输入执行机器学习任务以生成网络输出,该网络输入包括在多个字符位置中的每一个处具有相应字符的字符输入序列。如本文所使用的,“字符”是指字母、数字、符号、表意符等的一般概念,而“词”是指一组一个或多个字符。换句话说,虽然本说明书和下面的描述描述了对文本字符进行操作的系统,但是更一般地,所描述的技术可以用于学习和生成捕获序列内的元素的上下文的输入元素或输入词元(token)的任何序列的潜在输入表示。
本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。
与被配置为在模型输入(例如,文本输入)的预处理期间执行依赖于单独且固定的分词(tokenization)算法的序列处理任务的许多现有机器学习模型不同,本说明书描述了用于训练神经网络系统以学习定制的子词(sub-word)分词策略的技术,作为系统在给定任务上的端到端训练的一部分。因此,神经网络系统相对于其他现有系统具有更小的存储器占用空间,因为不需要存储将输入字符映射到子词的固定模型,并且因此使其对于在存储器资源有限的硬件设备(例如,移动片上系统(SOC)设备)上部署是实用的。一旦被训练,所描述的神经网络系统就可以在一系列任务上胜过现有技术,同时例如相对于现有的预训练的字符级和/或基于子词的模型另外可一般化并且容易地适应新任务,因为系统不需要学习每个新词汇的新子词模型,从而需要更少的计算开销来适应新任务。
另外,由于其在预处理顺序输入方面的灵活性质,如本说明书中描述的神经网络系统可以以减少的运行时延迟(例如,在对输入执行推断所需的挂钟时间方面)执行给定任务。换句话说,所描述的神经网络系统是快速的,有时是现有系统的三倍或更快,同时在任务上保持较高的质量性能。
在附图和下面的描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,主题的其他特征、方面和优点将变得清晰。
附图说明
图1示出了包括包含基于梯度的子词分词器(tokenizer)的神经网络的示例神经网络系统。
图2是实现传统子词分词器的现有神经网络系统与实现基于梯度的子词分词器的神经网络系统之间的高级差异的图示。
图3是用于对字符的输入序列执行机器学习任务以生成网络输出的示例过程的流程图。
图4A-图4B是生成字符位置的潜在子词表示的示例图示。
各个附图中相同的附图标记和名称指示相同的元素。
具体实施方式
图1示出了示例神经网络系统100。神经网络系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中,可以实现下面描述的系统、组件和技术。
神经网络系统100接收输入序列102并且通过使用文本处理神经网络110处理输入序列102以生成输出112来执行机器学习任务。
通常,机器学习任务可以是各种任务中的任何一种。系统可以被配置为执行的机器学习任务的一些示例如下。
作为一个示例,任务可以是神经机器翻译任务。例如,如果神经网络的输入序列是文本序列,例如,一种语言的单词、短语、字符或单词片段的序列,则由神经网络生成的输出可以是文本序列到另一种语言的翻译,即,作为输入文本序列的翻译的另一种语言的文本序列。作为特定示例,任务可以是多语言机器翻译任务,其中,单个神经网络被配置为在多个不同的源语言-目标语言对之间进行翻译。在该示例中,可以利用指示神经网络应当将源语言文本翻译成的目标语言的标识符来增强源语言文本。
作为另一示例,任务可以是对某种自然语言的文本序列进行操作的自然语言处理或理解任务,例如蕴涵任务、释义任务、文本相似性任务、情感任务、句子完成任务、语法任务等。
作为另一示例,任务可以是文本到语音任务,其中,输入序列是自然语言的文本或自然语言的文本的特征,并且网络输出是定义以自然语言说出的文本的音频的频谱图或其他数据。
作为另一示例,任务可以是健康预测任务,其中,输入序列是从患者的电子健康记录数据导出的序列,并且输出是与患者的未来健康相关的预测,例如,应该为患者开处方的预测治疗、患者将发生不利健康事件的可能性或者患者的预测诊断。
作为另一示例,任务可以是文本生成任务,其中,输入序列是文本序列,并且输出是另一文本序列,例如,输入文本序列的完成、对输入序列中提出的问题的响应或者关于由第一文本序列指定的主题的文本序列。
作为另一示例,任务可以是生物测序任务,其中,输入序列是生物序列,例如脱氧核糖核酸(DNA)、核糖核酸(RNA)或蛋白质的氨基酸序列,并且输出是从分析生物序列获得的分析结果,或者从处理生物序列生成的任何其他结果。
文本处理神经网络110包括预处理子系统120和输出神经网络140。预处理子系统120对输入序列102进行预处理,以便生成输入序列102的中间表示,即潜在子词表示136的序列,其可以由输出神经网络140有效地处理。通过采用本说明书中描述的预处理技术,文本处理神经网络110可以更有效且准确地执行上述机器学习任务。
通常,输入序列102是表示文本的字符序列。输入序列102可以在输入顺序中的多个字符位置中的每一个处具有相应的字符。每个字符可以是字母、数字、符号(包括标点符号)、表意符等。输入序列102可能不容易适于由输出神经网络140处理,因为当系统100接收到原始文本格式的输入序列时处理它们通常会降低输出神经网络140在任务上的性能。
因此,神经网络系统100使用预处理子系统120对输入序列102进行预处理,以便生成可以由输出神经网络140有效处理的潜在子词表示136。由预处理子系统120应用的预处理过程包括分词的步骤,并且还可以可选地包括其他文本预处理或归一化步骤,包括例如小写字母、标点符号或停用词移除、词干提取、词形还原等。
分词是指将输入字符序列分割(segment)成称为词元的语义独立元素的过程。在神经网络系统100中并且与现有的文本处理神经网络系统不同,通过使用具有可学习参数的分词器(即包括在预处理子系统120中的基于梯度的子词分词器(GBST)130)来执行分词。基于梯度的子词分词器(GBST)130被配置为将学习的(即,灵活的)子词分词策略应用于输入字符序列。基于梯度的子词分词器(GBST)130包括至少一个可学习神经网络组件(块评分神经网络134),因此也可以被称为基于梯度的子词分词神经网络。
用于分词的现有技术(其通常包括严格的基于子词的分割算法和专家定制的分割算法)可能会在文本处理神经网络系统中引入瓶颈,这限制了它们执行上述任务的能力。基于子词的分割算法是严格的意味着从输入字符序列确定性地生成词元,即,对于相同的输入字符序列总是生成相同的词元集合。例如,严格的基于子词的分割算法可以仅基于频率将输入字符序列划分成子词词元,而不考虑词汇或语义相似性。结果,被配置为处理这些现有算法的输出的输出神经网络对于罕见或不常见的单词和扰动(自然的和对抗的)变得脆弱。当被配置为执行多语言任务时,低资源语言中的词可能被划分成许多子词词元,这影响这些语言上的网络性能并使跨语言传输恶化。此外,当使预训练的输出神经网络适应新任务时,单独的分词算法可能导致单词的预训练和下游分布之间的不匹配,这需要大量的工程工作和相关联的成本来克服。
子词通常是不完整的词,尽管也可以存在与词汇表中的完整单词相对应的子词。例如,单词“certainly”可以包括子词“certain”和“ly”。通过完整或完全的单词,意味着单词是由系统使用的自然语言中的有效单词。例如,单词“develops”可以被分割成“develop”和“s”(其中,develop是有效的英语单词)。尽管这里描述的示例涉及英语语言,但是子词分词对于许多语言很好地工作,并且相同的方法可以应用于基于其他语言的系统,包括例如中文、泰语和韩语。
在系统100处理输入序列102以生成输出112期间,基于梯度的子词分词器(GBST)130接收字符嵌入122的序列。字符嵌入122的序列可以在输入序列102中的多个字符位置中的每一个处具有相应的字符嵌入。字符嵌入122的序列可以是从输入序列102导出的嵌入,或者是由先前的GBST组件(例如,被配置为将输入序列102中包括的字符转换成嵌入(即,数字)表示的转换器)生成的嵌入。例如,每个字符嵌入122可以是相应的代码点,其是唯一地映射到特定字符的数值。可以根据固定方案或标准(例如,Unicode标准)从输入序列102确定性地生成每个字符嵌入122。每个字符嵌入122可以具有固定大小,例如,一个字节、两个字节或者三个或更多个字节。
对于字符嵌入122的序列中的每个特定字符位置,GBST 130被配置为生成多个候选子词块,并且对于每个候选子词块,生成相应的子词块嵌入132。每个候选子词块可以包括在从特定字符位置开始的一个或多个连续字符位置中的每一个处的相应字符嵌入。每个候选子词块可以具有与用于特定字符位置的每个其他候选子词块不同的大小,即,可以包括不同数量的字符嵌入。对于多个候选子词块中的每一个,可以通过将下采样变换(例如,跨步池化函数)应用于包括在候选子词块中的一个或多个字符嵌入来生成相应的候选子词块嵌入132。接下来,为了生成输入序列102中的每个特定字符位置的潜在子词表示136,GBST 130可以确定由相关性分数加权的多个子词块嵌入132的加权组合,其中,通过使用包括在GBST 130中的块评分神经网络134来确定多个子词块嵌入的相关性分数。
然后,神经网络系统100使用输出神经网络140来处理潜在子词表示序列136以生成用于机器学习任务的输出112。输出神经网络140可以具有允许神经网络将潜在子词表示的序列映射到用于机器学习任务的输出112的任何适当的架构。
在一些实施方式中,输出神经网络140可以是基于注意力的神经网络,例如,基于变换器的神经网络,其除了其他类型的层(例如,全连接层、嵌入层和激活层)之外还包括一个或多个注意力层。每个注意力层被配置为接收该层的输入序列,该输入序列包括在一个或多个位置中的每一个处的相应层输入,并且此后至少部分地通过将注意力机制应用于该层的输入序列来生成注意的输入序列。层的输入序列可以包括从输出神经网络140的输入导出的数据,例如,可以由输出神经网络140的一个或多个先前层通过处理潜在子词表示136来生成。该注意的输入序列包括在一个或多个位置中的每一个处的相应注意的层输入。
可以应用的不同注意力机制的细节,以及基于注意力的神经网络的其他组件,例如,将输入嵌入到网络的嵌入层、网络的层内的前馈层,以及生成网络输出的网络的输出层在Vaswani,A等人的Attention Is All You Need,arXiv:1706.03762和Devlin,J等人的BERT:Pre-training of Deep Bidirectional Transformers for LanguageUnderstanding,arXiv:1810.04805中有更详细的描述,其全部内容通过引用整体结合于此。
图2是实现传统子词分词器的现有神经网络系统与实现基于梯度的子词分词神经网络的神经网络系统之间的高级差异的图示。
如图2的左手侧所示出的,现有的神经网络系统使用传统的子词分词器将输入序列映射到子词词元序列,然后由输出神经网络处理该子词词元序列以生成用于机器学习任务的输出。为了生成子词词元序列,传统的子词分词器应用严格的分割算法。除了本质上是严格的(例如,仅基于子词频率执行分词)之外,传统的子词分词器也与现有神经网络系统在机器学习任务上的训练分开。换句话说,在训练期间仅更新输出神经网络的网络参数的值。
相反,如图2的右手侧所示出的,图1的神经网络系统100使用基于梯度的子词分词器(GBST),其包括块评分神经网络以将输入序列映射到软“子词”词元的序列,即,通过使用由块评分神经网络计算的分数在候选子词块上应用逐位置软选择而生成的潜在子词表示的序列。不同于与系统的训练分开的传统的子词分词器,GBST可以在机器学习任务上与输出神经网络一起被端到端地训练。换句话说,在训练期间,不仅更新输出神经网络的网络参数的值以优化相对于由输出神经网络生成的网络输出评估的损失,而且训练还通过反向传播并基于损失联合更新GBST的可训练参数的值,其包括块评分神经网络的网络参数的值。
图3是用于对字符的输入序列执行机器学习任务以生成网络输出的示例过程300的流程图。为了方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的神经网络系统(例如,图1的神经网络系统100)可以执行过程300。
如上所述,神经网络系统可以被配置为对输入字符序列执行各种机器学习任务中的任何一个,该输入字符序列在输入顺序中的多个字符位置中的每一个处具有相应字符。该神经网络系统包括预处理子系统和输出神经网络。预处理子系统包括基于梯度的子词分词器(GBST),其又包括块评分神经网络。
系统在基于梯度的子词分词器(GBST)处接收字符嵌入序列,该字符嵌入序列包括在输入序列中的多个字符位置中的每一个处的相应字符嵌入(步骤302)。例如,每个字符嵌入可以是相应的代码点,其是唯一地映射到特定字符的数值。
然后,系统对于多个字符位置中的每个特定字符位置,重复执行以下步骤304-步骤310中的每一个,通过使用基于梯度的子词分词器(GBST)来生成特定字符位置的潜在子词表示。
系统生成多个候选子词块(步骤304)。每个候选子词块包括在包括特定字符位置的一个或多个连续字符位置的对应集合中的每个字符位置处的相应字符嵌入。例如,对于任何特定字符位置,每个候选子词块可以包括在特定字符位置处的字符嵌入,并且可选地,包括在紧接在特定字符位置之后或之前的一个或多个连续字符位置处的相应字符嵌入。
在数学上,如果到GBST的字符嵌入的输入序列是形状的张量,其中,L是字符的数量并且d是字符嵌入维度,并且每个候选子词块是对于1≤i≤L-b的长度为b的字符Xi:i+b的连续跨度,则可以通过枚举大小b高达最大块大小M的所有可能的块来生成多个候选子词块。
图4A-图4B是生成字符位置的潜在子词表示的示例图示。如图4A所示,对于字符位置“C”,第一候选子词块402仅包括字符位置处的字符嵌入x1;第二候选子词块404包括字符位置处的字符嵌入x1以及下一字符位置“h”处的字符嵌入x2;第三候选子词块406包括字符嵌入x1,x2以及在另外的下一字符位置“a”处的字符嵌入x3;并且第四候选子词块408包括字符嵌入x1,x2和x3以及在另外的下一字符位置“r”处的字符嵌入x4。在图4A的示例中,基于梯度的子词分词器(GBST)为每个字符位置生成总共四个块(即,M=4),但是在一些其他示例中,可以生成更多或更少的块。
另外,GBST可以为不同字符位置生成相同的候选子词块。例如,对于字符位置“h”,虽然其第一候选子词块410仅包括在字符位置(其不同于字符位置“C”)处的字符嵌入x2,但是其第二、第三、第四候选子词块与针对字符位置“C”生成的那些相同,即,每个候选子词块分别包括字符嵌入x1-x2,x1-x3和x1-x4
系统为多个候选子词块中的每一个生成相应的子词块嵌入(步骤306)。基于梯度的子词分词器可以将非参数化跨步池化函数应用于多个候选子词块中的每一个,以生成块的子词块嵌入。GBST可以将具有不同步幅配置(即,具有不同数量的字符位置移位)的跨步池化函数应用于多个候选子词块中的每一个。也就是说,可以将不同的步幅应用于多个候选子词块中的每一个。
在数学上,对于特定字符位置i,为了将具有包括一个或多个字符嵌入的序列的大小为b的每个候选子词块投影到特定字符位置处i的块的相应子词块嵌入/>GBST可以应用具有步幅s的非参数化跨步池化函数:
Xb=[F(Xi:i+b);F(X(i+s):(i+s)+b);...],
其中,Xb可以针对b∈1,...,M,计算,M是最大块大小。例如,M=4。GBST可以设置步幅s=b,并且因此
在一些实施方式中,GBST可以在生成多个候选子词块之前将字符嵌入序列移位一个或多个字符位置,例如,直到偏移s。GBST可以使用偏移来对所有可能的候选子词块的滑动窗口进行建模。
在一些实施方式中,GBST可以在生成多个候选子词块之前将一维卷积函数应用于字符嵌入序列。类似于移位机制,一维卷积函数在候选子词块上有效地“平滑”,但不增加计算开销。
在一些实施方式中,GBST可以使用位置嵌入来保持字符嵌入与每个候选子词块的顺序,从而使得更容易区分具有不同字符顺序的相同大小的块。具体地,对于多个候选子词块中的每一个:GBST可以在生成候选子词块的子词块嵌入之前确定包括在候选子词块中的每个字符位置的位置嵌入;然后将非参数化跨步池化函数的输出与位置嵌入组合,以生成候选子词块的子词块嵌入。
系统确定多个子词块嵌入中的每一个的相应相关性分数(步骤308)。基于梯度的子词分词器可以使用块评分神经网络来处理多个子词块嵌入中的每一个,块评分神经网络被配置为根据网络参数的学习值将一个或多个变换的序列应用于子词块嵌入,以输出子词块嵌入的初始相关性分数。在一些实施方式中,块评分神经网络包括一个或多个全连接层,每个全连接层可选地跟随有激活层。在数学上,给定子词块嵌入初始相关性分数pb,i可以通过使用被配置为应用参数化线性变换/>的块评分神经网络来确定。
pb,i=FR(Xb,i)
然后,基于梯度的子词分词器可以使用softmax函数来处理初始相关性分数,以生成多个子词块嵌入中的每一个的每个子词块嵌入的最终相关性分数。在数学上,针对具有字符位置i处的大小为b的块的子词块嵌入的最终相关性分数可以被计算为:
Pb,i=softmax([p1,i,p2,i,···,pM,i])。
可选地,基于梯度的子词分词器可以另外通过计算多个字符位置处的子词块嵌入的相应相关性分数上的点积来将逐位置校准应用于相应相关性分数。GBST可以通过计算来确定校准分数/>
系统生成特定字符位置的潜在子词表示(步骤310)。对于特定字符位置i,基于梯度的子词分词器可以通过确定由其最终相关性分数加权的多个子词块嵌入的加权组合来生成潜在子词表示:
例如,如图4B所示出的,字符位置“o”的潜在子词表示412可以被确定为四个候选子词块412、414、416和418的相应子词块嵌入的加权组合,每个候选子词块包括字符嵌入x6,由已经针对四个候选子词嵌入确定的相应相关性分数P6,P5:6,P4:6和P5:8加权。
在一些实施方式中,基于梯度的子词分词器被配置为将下采样函数(例如,非参数化均值池化函数)应用于多个字符位置处的潜在子词表示,以生成字符位置的下采样的潜在子词表示。然后,系统可以提供下采样的潜在子词表示作为输出神经网络的输入。在其他实施方式中,系统可以仅提供潜在子词表示作为输出神经网络的输入。
系统在输出神经网络处接收对输出神经网络输入的输入(步骤312)。输出神经网络的输入可以是潜在子词表示的序列,或者可以替代地是从潜在子词表示的序列(例如,下采样的潜在子词表示的序列)导出的输入。
系统根据输出神经网络的训练参数值使用输出神经网络处理输出神经网络输入,以生成用于机器学习任务的网络输出(步骤314)。输出神经网络可以具有允许神经网络将潜在子词表示的序列映射到机器学习任务的输出的任何适当的架构。
通常,过程300可以作为预测网络输入的网络输出的一部分来执行,该网络输入包括输入字符序列,对于该输入字符序列,期望的输出(即,应该由系统针对网络输入生成的网络输出)是未知的。
过程300还可以作为处理从训练数据集合导出的网络输入(即,从已知应该由神经网络系统生成的输出的输入集合导出的网络输入)的一部分来执行,以便训练文本处理神经网络的可训练组件以确定这些组件中的参数的训练值,使得系统可以被部署用于有效地执行机器学习任务。具体地,文本处理神经网络的可训练组件包括输出神经网络,以及包括在基于梯度的子词分词器中的块评分神经网络。
系统可以对从训练数据集合中选择的网络输入重复地执行过程300,作为用于训练文本处理神经网络的常规机器学习训练技术的一部分,例如,使用常规优化器(例如,随机梯度下降、Adafactor或Adam优化器)的具有反向传播训练技术的梯度下降,以优化通过评估特定于机器学习任务的目标函数计算的损失。在训练期间,系统可以结合任何数量的技术来提高训练过程的速度、有效性或两者。例如,系统可以首先在未标记训练数据上并通过优化自监督或无监督学习目标函数来预训练基于梯度的子词分词器、输出神经网络或两者,然后在标记训练数据上的特定下游任务上并通过优化监督学习目标函数来微调网络。例如,系统可以使用Raffel,C等人的Exploring the limits of transfer learning witha unified text-to-text transformer,arXiv preprint arXiv:1910.10683(2019)中描述的预训练技术,以与另一神经网络(其不需要与输出神经网络相同)一起训练基于梯度的子词分词器,以预测训练网络输入中缺失或以其他方式损坏的词元。
本说明书使用与系统和计算机程序组件相关的术语“配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使得装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)或它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或者它们中的一个或多个的组合。可替代地或另外地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以编码信息,用于传输到合适的接收器装置,以供数据处理装置执行。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。装置还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(其也可以被称为或描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,或者声明或过程语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以但不必与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的文件。计算机程序可以被部署为在一个计算机上或在位于一个站点或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛地用于指代任何数据集合:数据不需要以任何特定方式结构化,或者根本不需要结构化,并且它可以存储在一个或多个位置中的存储设备上。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广泛地用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在同一台或多台计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程计算机的组合执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),或者可操作地耦合以从其接收数据或向其传输数据或两者。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如通,用串行总线(USB)闪存驱动器,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)的计算机上实现。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求将网页发送到用户设备上的网络浏览器。此外,计算机可以通过向个人设备(例如,运行消息传送应用的智能电话)发送文本消息或其他形式的消息并且作为回报从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推理、工作负载。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面、web浏览器或app的客户端计算机,用户可以通过该图形用户界面、web浏览器或app与本说明书中描述的主题的实施方式交互),或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与充当客户端的设备交互的用户显示数据和从其接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在本说明书中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中描绘了操作并且在权利要求中以特定顺序叙述了操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。
已经描述了主题的特定实施例。其它实施例在所附权利要求书的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或相继顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (16)

1.一种用于对字符的输入序列执行机器学习任务以生成网络输出的系统,所述字符的输入序列在多个字符位置中的每一个处具有相应字符,所述系统包括一个或多个计算机和一个或多个存储指令的存储设备,当由一个或多个计算机执行时,所述指令使得一个或多个计算机执行一个或多个操作以实现:
神经网络,被配置为执行机器学习任务,所述神经网络包括基于梯度的子词分词器和输出神经网络,所述基于梯度的子词分词器被配置为:
接收字符嵌入序列,所述字符嵌入序列包括在多个字符位置中的每一个处的相应字符嵌入;以及
对于多个字符位置中的每个特定字符位置:
生成多个候选子词块,每个候选子词块包括在包括特定字符位置的一个或多个连续字符位置的对应集合中的每个字符位置处的相应字符嵌入;
为多个候选子词块中的每一个生成相应子词块嵌入;
确定多个子词块嵌入中的每一个的相应相关性分数,包括使用块评分神经网络来处理多个子词块嵌入中的每一个;以及
生成特定字符位置的潜在子词表示,包括确定由相关性分数加权的多个子词块嵌入的加权组合,以及
所述输出神经网络被配置为:
接收从多个字符位置处的潜在子词表示导出的输出神经网络输入;以及
处理输出神经网络输入以生成用于机器学习任务的网络输出。
2.根据权利要求1所述的系统,其中,所述基于梯度的子词分词器还被配置为将下采样函数应用于多个字符位置处的潜在子词表示,以生成输出神经网络输入。
3.根据权利要求2所述的系统,其中,所述下采样函数包括非参数化平均池化函数。
4.根据权利要求1-3中任一项所述的系统,其中,所述输出神经网络包括一个或多个注意力神经网络层,每个注意力神经网络层被配置为:
将注意力机制应用于从输出神经网络输入导出的注意力层输入,以生成针对注意力神经网络层的注意力层输出。
5.根据权利要求1-4中的任一项所述的系统,其中,对于所述多个字符位置中的每个特定字符位置:每个候选子词块包括在从特定字符位置开始的一个或多个连续字符位置中的每一个处的相应字符嵌入。
6.根据权利要求1-5中的任一项所述的系统,其中,所述基于梯度的子词分词器被配置为基于将非参数化跨步池化函数应用于多个候选子词块中的每一个来为多个候选子词块中的每一个生成相应子词块嵌入,其中,所述跨步池化函数以不同的跨步配置应用于多个候选子词块中的每一个。
7.根据权利要求1-6中任一项所述的系统,其中,所述基于梯度的子词分词器还被配置为在生成多个候选子词块之前将字符嵌入序列移位一个或多个字符位置。
8.根据权利要求1-6中任一项所述的系统,其中,所述基于梯度的子词分词器还被配置为在生成多个候选子词块之前将一维卷积函数应用于字符嵌入序列。
9.根据权利要求1-8中任一项所述的系统,当也从属于权利要求6时,其中,所述基于梯度的子词分词器还被配置为,针对所述多个候选子词块中的每一个:
在生成候选子词块的子词块嵌入之前,确定包括在候选子词块中的每个字符位置的位置嵌入;以及
将非参数化跨步池化函数的输出与位置嵌入组合,以生成针对候选子词块的子词块嵌入。
10.根据权利要求1-9中任一项所述的系统,其中,所述基于梯度的子词分词器被配置为基于将参数化线性变换函数应用于多个子词块嵌入中的每一个来确定多个子词块嵌入中的每一个的相应相关性分数。
11.根据权利要求1-10中任一项所述的系统,其中,所述基于梯度的子词分词器还被配置为通过计算多个字符位置处的子词块嵌入的相应相关性分数之间的点积来将逐位置校准应用于相应相关性分数。
12.一个或多个存储指令的计算机存储介质,当由一个或多个计算机执行时,所述指令使得所述一个或多个计算机实现根据权利要求1-11中任一项所述的神经网络。
13.一种方法,包括根据权利要求1-11中任一项所述的神经网络被配置为执行的操作。
14.根据权利要求13所述的方法,还包括通过基于优化监督学习目标函数联合训练所述基于梯度的子词分词器和所述输出神经网络来训练所述神经网络。
15.根据权利要求14所述的方法,其中,所述基于梯度的子词分词器已经基于优化不同的目标函数与不同的输出神经网络联合地被预训练。
16.根据权利要求15所述的方法,其中,所述不同的目标函数包括自监督学习目标函数。
CN202280035467.2A 2021-05-28 2022-05-27 字符级注意力神经网络 Pending CN117321602A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163194855P 2021-05-28 2021-05-28
US63/194,855 2021-05-28
PCT/US2022/031469 WO2022251720A1 (en) 2021-05-28 2022-05-27 Character-level attention neural networks

Publications (1)

Publication Number Publication Date
CN117321602A true CN117321602A (zh) 2023-12-29

Family

ID=84230224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280035467.2A Pending CN117321602A (zh) 2021-05-28 2022-05-27 字符级注意力神经网络

Country Status (4)

Country Link
US (1) US20240289552A1 (zh)
EP (1) EP4323909A1 (zh)
CN (1) CN117321602A (zh)
WO (1) WO2022251720A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117827685A (zh) * 2024-03-05 2024-04-05 国网浙江省电力有限公司丽水供电公司 一种模糊测试输入生成方法、装置、终端及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138392B2 (en) * 2018-07-26 2021-10-05 Google Llc Machine translation using neural network models
RU2721190C1 (ru) * 2018-12-25 2020-05-18 Общество с ограниченной ответственностью "Аби Продакшн" Обучение нейронных сетей с использованием функций потерь, отражающих зависимости между соседними токенами
US11468246B2 (en) * 2019-07-22 2022-10-11 Capital One Services, Llc Multi-turn dialogue response generation with template generation
GB201916307D0 (en) * 2019-11-08 2019-12-25 Polyal Ltd A dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system
US10997369B1 (en) * 2020-09-15 2021-05-04 Cognism Limited Systems and methods to generate sequential communication action templates by modelling communication chains and optimizing for a quantified objective

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117827685A (zh) * 2024-03-05 2024-04-05 国网浙江省电力有限公司丽水供电公司 一种模糊测试输入生成方法、装置、终端及介质
CN117827685B (zh) * 2024-03-05 2024-04-30 国网浙江省电力有限公司丽水供电公司 一种模糊测试输入生成方法、装置、终端及介质

Also Published As

Publication number Publication date
WO2022251720A1 (en) 2022-12-01
US20240289552A1 (en) 2024-08-29
EP4323909A1 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
US11574122B2 (en) Method and system for joint named entity recognition and relation extraction using convolutional neural network
WO2022007823A1 (zh) 一种文本数据处理方法及装置
Kim et al. Two-stage multi-intent detection for spoken language understanding
KR102540774B1 (ko) 서브워드 임베딩 및 스킵서트 기반 문장 임베딩 방법 및 장치
CN109313719B (zh) 使用神经网络生成文本段的依存性解析
CN111727442A (zh) 使用质量分数来训练序列生成神经网络
CN111145914B (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN110678882A (zh) 使用机器学习从电子文档选择回答跨距
US20230205994A1 (en) Performing machine learning tasks using instruction-tuned neural networks
EP2329489A1 (en) Stochastic phoneme and accent generation using accent class
CN112805715A (zh) 识别实体属性关系
CN116561592B (zh) 文本情感识别模型的训练方法和文本情感识别方法及装置
CN117121016A (zh) 在低级基元上的粒度神经网络架构搜索
CN110750642A (zh) 一种基于cnn的中文关系分类方法及系统
CN113095063B (zh) 一种基于遮蔽语言模型的两阶段情感迁移方法和系统
Tesfagergish et al. Part-of-speech tagging via deep neural networks for northern-Ethiopic languages
CN111832699A (zh) 用于神经网络的计算高效富于表达的输出层
CN116982054A (zh) 使用前瞻树搜索的序列到序列神经网络系统
CN117321602A (zh) 字符级注意力神经网络
Ajees et al. A named entity recognition system for Malayalam using neural networks
Sharma et al. Language identification for hindi language transliterated text in roman script using generative adversarial networks
CN113988085A (zh) 文本语义相似度匹配方法、装置、电子设备及存储介质
CN113673247A (zh) 基于深度学习的实体识别方法、装置、介质及电子设备
Slim et al. Algerian Dialect translation applied on COVID-19 social media comments
Yadav et al. Image Processing-Based Transliteration from Hindi to English

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