CN111368996A - 可传递自然语言表示的重新训练投影网络 - Google Patents
可传递自然语言表示的重新训练投影网络 Download PDFInfo
- Publication number
- CN111368996A CN111368996A CN202010093708.1A CN202010093708A CN111368996A CN 111368996 A CN111368996 A CN 111368996A CN 202010093708 A CN202010093708 A CN 202010093708A CN 111368996 A CN111368996 A CN 111368996A
- Authority
- CN
- China
- Prior art keywords
- projection
- input
- layer
- network
- training
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 claims abstract description 117
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000006870 function Effects 0.000 claims description 148
- 238000013528 artificial neural network Methods 0.000 claims description 128
- 239000013598 vector Substances 0.000 claims description 70
- 239000011159 matrix material Substances 0.000 claims description 37
- 238000010801 machine learning Methods 0.000 claims description 24
- 230000000875 corresponding effect Effects 0.000 claims description 19
- 238000003058 natural language processing Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 9
- 230000000306 recurrent effect Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 4
- 230000002596 correlated effect Effects 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 238000001994 activation Methods 0.000 claims 2
- 230000001902 propagating effect Effects 0.000 claims 1
- 238000007670 refining Methods 0.000 claims 1
- 230000001537 neural effect Effects 0.000 abstract description 14
- 239000010410 layer Substances 0.000 description 315
- 230000008569 process Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 7
- 230000036541 health Effects 0.000 description 6
- 238000000844 transformation Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000008451 emotion Effects 0.000 description 4
- 230000008909 emotion recognition Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 239000004753 textile Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000002567 autonomic effect Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 241000283070 Equus zebra Species 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 2
- 235000009499 Vanilla fragrans Nutrition 0.000 description 2
- 244000263375 Vanilla tahitensis Species 0.000 description 2
- 235000012036 Vanilla tahitensis Nutrition 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 235000019699 ravioli Nutrition 0.000 description 2
- 208000011580 syndromic disease Diseases 0.000 description 2
- 241001122315 Polites Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- 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
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- 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
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- 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
- 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
-
- 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/047—Probabilistic or stochastic 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- 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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
提供用于预投影网络以用作可传递自然语言表示生成器的系统和方法。特别地,本文描述的示例预训练方案使得能够学习随机局部敏感哈希(LSH)投影上的可传递深度神经投影表示,从而无需存储任何嵌入矩阵,因为可以在推断时动态地计算投影。
Description
对相关申请的交叉引用
本申请要求2019年2月14日提交的美国临时专利申请No.62/805,498的优先权和权益。美国临时专利申请No.62/805,498的全部内容通过引用合并于此。
技术领域
本公开通常涉及机器学习。更具体地,本公开涉及预训练投影网络以用作可传递自然语言表示生成器的系统和方法。
背景技术
神经语言表示是许多最新自然语言处理模型的核心。一种广泛使用的方法是预训练、存储和查找词或字符嵌入矩阵。一些流行的词嵌入是word2vec、GloVe和ELMO。诸如此类的取决于预先计算的词嵌入的方法可以帮助初始化神经模型,导致更快的收敛,并提高了许多应用的性能,诸如问题解答、总结、情感分析和其他类似任务。
尽管有用,但是这种预先计算的语言表示会占用大量存储器。例如,必须为每一个不同的词或其他语言单元存储一个条目(例如,d维嵌入向量)。这样,存储嵌入矩阵所需的存储器量与词汇表大小成正比。因此,对于平均大小的词汇表,需要大量存储器。修剪词汇表可能会导致存储器需求减少,但是也会阻碍语言表示泛化为未知词的能力。除了存储器需求之外,还需要查找操作以从嵌入矩阵中获得对特定语言输入(例如,词)的嵌入。
通常,深度学习模型的巨大成功以及移动IoT设备的爆炸性增长,以及对用户隐私的日益重视,导致需要部署用于推断的“设备上”的深度学习模型。
然而,与预先计算和存储的语言表示形式相关的存储器需求使它们难以在设备上进行部署。因此,需要适合在设备上或在其他资源受限的设置中使用的用于生成语言表示的改进的技术。
发明内容
本公开的实施例的各方面和优点将在以下描述中部分地阐述,或者可以从描述中获悉,或者可以通过实施例的实施而获知。
本公开的一个示例方面针对一种计算系统,该计算系统包括一个或多个处理器和一个或多个共同存储预训练的投影网络的非暂时性计算机可读介质。预训练的投影网络被配置为接收包括一个或多个文本单元的语言输入,并从该语言输入动态生成中间表示。预训练的投影网络包括一个或多个投影层的序列,其中,每一个投影层被配置为接收层输入并将多个投影层函数应用于层输入以生成投影层输出。预训练的投影网络包括一个或多个中间层的序列,该中间层被配置为接收由一个或多个投影层的序列中的最后一个投影层生成的投影层输出并生成一个或多个中间层输出,其中,中间表示包括由一个或多个中间层的序列中的最后一个中间层生成的中间层输出。计算机可读介质共同存储指令,所述指令在由一个或多个处理器执行时使计算系统执行操作。操作包括获得语言输入;将语言输入输入预训练的投影网络;以及接收中间表示作为预训练的投影网络的输出。
本公开的另一示例方面针对一种计算机实现的方法,用于预训练包括一个或多个投影层和一个或多个中间层的投影网络,每一个投影层被配置为应用一个或多个投影函数以将层输入投影到不同的维度空间,投影网络被配置为接收输入并为所述输入生成中间表示。该方法包括由一个或多个计算设备访问包括多个示例输入的训练数据集合。该方法包括由一个或多个计算设备将多个示例输入中的每一个输入到投影网络中。该方法包括由一个或多个计算设备接收用于多个示例输入中的每一个的相应中间表示,作为投影网络的输出。该方法包括由一个或多个计算设备将每一个相应中间表示输入到解码器模型中,该解码器模型被配置为基于中间表示来重构输入。该方法包括由一个或多个计算设备接收对多个示例输入中的每一个的相应重构输入,作为解码器模型的输出。该方法包括至少部分地基于每一个相应重构输入与对应示例输入的比较,由一个或多个计算设备学习投影网络的一个或多个中间层的一个或多个参数值。
本公开的另一示例方面针对一种计算机实现的方法,用于预训练包括一个或多个投影层和一个或多个中间层的投影网络,每一个投影层被配置为应用一个或多个投影函数以将层输入投影到不同的维度空间,投影网络被配置为接收输入并为所述输入生成中间表示。该方法包括由一个或多个计算设备访问包括多个输入词的训练数据集合,其中,相应基本事实情境词集合与多个输入词中的每一个相关联。该方法包括由一个或多个计算设备将多个输入词中的每一个输入到投影网络中。该方法包括由一个或多个计算设备接收对多个输入词中的每一个的相应中间表示,作为投影网络的输出。该方法包括由一个或多个计算设备至少部分地基于多个输入词中的每一个的相应中间表示来确定多个输入词中的每一个的预测情境词集合。该方法包括由一个或多个计算设备至少部分地基于对每一个输入词,相应预测情境词集合和相应基本事实情境词集合的比较,来学习投影网络的一个或多个中间层的一个或多个参数值。
本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。结合在本说明书中并构成本说明书的一部分的附图示出了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
在说明书中参照附图阐述了针对本领域普通技术人员的实施例的详细讨论,在附图中:
图1示出根据本公开的示例实施例的示例投影神经网络系统。
图2描绘了根据本公开的示例实施例的用于处理投影层输入以确定投影层输出的示例数据流的框图。
图3描绘了根据本公开的示例实施例的示例自治神经网络。
图4描绘了根据本公开的示例实施例的示例投影序列网络。
图5A和图B描绘了根据本公开的示例实施例的用于训练投影神经网络的示例数据流的框图。
图6A-图C描绘了根据本公开的示例实施例的示例计算系统和设备的框图。
图7描绘了根据本公开的示例实施例的示例神经投影skip-gram模型。
图8描绘了根据本公开的示例实施例的示例神经投影自动编码器架构。
图9描绘了根据本公开的示例实施例的学习具有预训练神经投影的分类器模型。
在多个附图上重复的附图标记旨在识别各种实现方式中的相同特征。
具体实现方式
概述
通常,本公开针对预训练投影网络以用作可传递自然语言表示生成器的系统和方法。特别地,本文描述的示例预训练方案使得能够通过随机局部敏感哈希(LSH)投影学习可传递深度神经投影表示,从而无需存储任何嵌入矩阵,因为可以在推断时动态地计算投影。
更具体地,本公开的方面针对用于基于语言输入来预训练投影网络以产生中间表示的技术。一旦进行了预训练,就可以传输或“插入”由投影网络生成的中间表示,以用于执行任何数量的不同自然语言处理(NLP)任务。
根据本公开的一方面,投影网络可以包括一个或多个投影层以及一个或多个中间层。每一个投影层可以应用一个或多个投影层函数,以将层输入投影到紧凑低维空间中。例如,可以使用LSH技术对投影层函数进行建模,并可以从输入中动态计算出投影层函数。
一个或多个中间层可以在一个或多个投影层之后,并且可以处理由最后一个投影层生成的投影层输出以产生中间表示。例如,中间表示可以是最后一个中间层的输出。在一些实现方式中,中间层可以是人工神经网络层,诸如多层感知器层。例如,中间层(例如,除了最后一个中间层之外的所有中间层)的部分或全部可以是全连接的具有非线性激活函数的前馈层。
因此,投影网络可以包括投影层(或多个),投影层使用投影函数来投影输入,并且可以进一步包括中间层(或多个),中间层包括允许投影网络可被训练的可学习参数(例如,权重、偏差等),并学习产生强大的中间表示,中间表示可以被轻松插入NLP任务和现有深度学习模型中。
在一个示例预训练方案中,可以将投影网络作为可以在无监督文本上训练的自动编码器模型的一部分来进行预训练。特别地,在一些实现方式中,投影网络可以用于将语言输入(例如,输入句子)生成(例如,编码)为中间表示(例如,句子表示)。解码器模型(例如,循环(recurrent)神经网络,诸如长短期记忆网络)可以尝试基于中间表示(例如,基于逐个令牌)重建语言输入。
投影网络和解码器模型可以被联合训练(例如,作为端到端自动编码器),以使重构语言输入与原始语言输入匹配的概率最大化(例如,基于逐个令牌)。以这种方式,投影网络可以学习(以无监督的方式)以产生中间表示(例如,句子表示),该中间表示对关于语言输入的足够信息进行编码以使得能够重构语言输入。
在另一个示例预训练方案中,可以以神经投影skip-gram模型的形式对投影网络进行预训练。特别地,基于skip-gram的架构可以与投影层(例如,执行LSH投影)耦合,以学习有效且可动态计算的表示。
更具体地,在一些实现方式中,训练数据集可以包括训练语料库中的多个输入词和分别围绕多个输入词的多个基本事实情境词的集合。在预训练期间,投影网络可以接收输入词中的一个,并可以生成输入词的中间表示。skip-gram函数可以用于基于输入词的中间表示来生成围绕输入词预测的预测情境词的集合。
可以基于目标函数来学习投影网络的参数(例如,投影网络的中间层的参数),该目标函数将每一个输入词的预测情境词集合与输入词的基本事实情境词集合进行比较。作为一个示例,可以通过优化负采样目标函数来学习投影网络的参数,除了输入词的基本事实情境词集合之外,该函数还将输入词的预测情境词集合和与其他不同输入词相关联的一个或多个基本事实情境词集合进行比较。
另外,在一些实现方式中,用于学习投影网络的参数的目标函数可以进一步包括正则化项,其提供惩罚,该惩罚的幅度与投影网络对训练批(batch)中的每对词产生的相应中间表示之间的余弦相似度之和成正相关。以这种方式,由投影模型产生的中间表示被鼓励按照余弦相似性被更大间隔开,从而导致改进的泛化。
另外,在一些实现方式中,可以将各种扰动(perturbation)应用于训练数据(例如,输入词),以使得学习网络能够更好地泛化到词汇词和拼写错误之外。例如,与LSTM等现有模型相比,以这种方式应用干扰还可以帮助生成更能抵抗自然语言中的对抗攻击的系统。
在预训练之后,投影网络可以用作可传递表示生成器。例如,可以将预训练的投影网络容易地插入各种不同NLP任务和现有深度学习模型中。因此,在一些示例中,可以训练一个或多个机器学习预测模型,以基于由预训练投影网络对给定语言输入产生的中间表示来产生预测(例如,分类)。可选地或附加地,由预训练投影网络产生的中间表示可以直接用于执行各种任务,诸如聚类和/或相似性搜索。
本公开的系统和方法提供了许多技术效果和益处。作为一个示例,与如word2vec的取决于大型嵌入矩阵的预计算和存储的方法相反,预训练投影网络不需要存储查找表。而是,语言表示是即时计算的,并且需要低存储器占用。因此,本公开的各方面使得能够以显著减少的存储器需求来生成和使用语言表示,这使得本文描述的技术明显更适合在设备上或在其他资源受限的环境中使用。
作为另一示例技术效果和益处,本文描述的预训练方案使得能够训练投影网络以无监督方式产生语言表示。因此,不需要大量的时间和资源专门用于手动标记。而是,可以使用无监督技术对投影网络进行预训练,然后将其与使用少量标记的训练数据进行训练的一个或多个专用预测模型(例如,分类头)提炼和/或配对。
此外,由投影网络提供的语言表示可以容易地在许多不同NLP任务之间传递或应用到许多不同NLP任务。因此,单个投影网络可以用于生成语言表示,然后可以由不同下游模型/处理使用该语言表示来执行不同的NLP任务。以这种方式,仅需要训练单个投影网络,而不是多个不同模型。类似地,只需要运行一个投影网络即可产生推断,而不是多个不同模型。由于需要执行较少数量的训练迭代和/或模型运行,因此节省了计算资源,从而节省了存储空间、处理能力、能量消耗等。
另外,投影网络本身的结构提供了技术效果和收益。例如,与使用存储语言嵌入表的模型相比,投影模型将模型占用的存储器从O(|V|)减少到其中|V|是指词汇表大小,是指投影操作次数。与词嵌入相比,基于投影的表示形式的两个主要优点是:它们是固定的并且具有较小的存储器大小;他们可以应付词汇量不足的词。
因此,如本说明书中所描述的投影网络可以使系统更快地执行任务,并且具有与更大更复杂的传统神经网络(即,如本说明书中所述,不包含投影层的神经网络)相似的性能水平(例如,预测精度),而消耗较少的计算资源(例如,存储器和计算能力)。例如,在某些情况下,尽管投影网络的参数比大型神经网络少几个数量级,但是投影网络可以使系统能够执行具有与大型神经网络相当的性能水平的任务(例如,文本分类)。与传统的神经网络相比,投影网络可以更快地执行任务并消耗更少的计算资源,因为它们包括投影层。与如LSTM的现有模型相比,本文所述的投影网络可以更好地抵抗自然语言的对抗攻击。
此外,尽管本公开特别参考语言输入和中间语言表示来讨论投影网络,但是本文描述的预训练技术和所得投影网络不限于自然语言处理任务。而是,可以对投影网络进行预训练,并用于生成许多不同形式的数据的中间表示,包括图像数据(例如,视频)、音频数据(例如,语音数据)和/或其他形式的数据。
在美国临时专利申请No.62/805,498中描述了本公开的各方面的示例实现。美国临时专利申请No.62/805,498通过引用整体并入本文。美国临时专利申请No.62/805,498号提供了如何实现本公开的各方面的示例。本公开不限于美国临时专利申请No.62/805,498中包含的特定示例。
现在参考附图,将更详细地讨论本公开的示例实施例。
示例应用
可以使用预训练的投影网络执行的一个示例任务是文本分类。在文本分类任务中,包括投影网络的系统被给予文本和/或从文本派生的中间特征,并考虑所有术语和/或特征以形成单个分类(例如,二进制或多类分类)。因此,在一个示例中,输入是文本,而输出是类标签。
分类任务在自然语言处理中的示例应用包括:对话行为分类;幽默和讽刺检测;情绪分析;问题分类;新闻标题分类;情绪识别;健康通知;意图分类(对话);和自动作文评分。
示例文本分类任务和应用的一些示例如下:
对话行为分类
幽默和讽刺检测
输入:I love being ignored
输出:SARCASM(讽刺)
情绪分析
输入:The ravioli just keeps getting better every time I visit.
输出:POSITIVE(积极)
问题分类
输入:How did serfdom develop in and then leave Russia?
输出:DESC:MANNER(礼貌)
输入:How much would it cost to purchase a 2footsquare party tent,withsides,?
输出:NUM:MONEY(钱)
新闻标题分类
输入:TeleCorp confirms it is buying ad platform AppCorp,reportedlyfor between$1.6B$2B
输出:BUSINESS(生意)
情绪识别
输入:Wow I never saw that coming!
输出:SURPRISE(惊喜)
意图分类(对话系统)
输入:Play levels on YouTube
输出:INTENT_PLAY_SONG_ON_DEVICE_NAME
可以由包括预训练投影网络的系统执行的另一示例任务是序列标记。在序列标记任务中,包括投影网络的系统被给予文本和/或从文本派生的中间特征,并识别段(例如,词/短语的序列),并将那些段分类为多个类别。因此,在一个示例中,输入是文本,而输出是标记的序列。
自然语言处理中序列标记任务的示例应用包括:命名实体识别;关键字提取;名词短语提取;分块;关系提取;语义解析;对话系统中的时隙提取;产品(购物)和属性提取;和基于方面的情感分析。附加示例应用包括在语言之间翻译文本;本文补全(例如,句子补全和/或自动回复);或其他生成任务。一些示例任务和应用如下。
命名实体识别:
输入:The University of Southern California is located in Los Angeles.
输出:The[University of Southern California]_Organization is locatedin[Los Angeles]_Location
关键字提取(对于广告和内容理解很有用):
输入:We offer a wide variety of items including healthy dry cat foodfor$5.
输出:We offer a wide variety of items including[healthy dry catfood]_KeyPhrase for$5.
名词短语提取:
输入:Huge hurricanes struck the coast of Japan.
输出:[Huge hurricanes]Noun_Phrase struck[the coast]Noun_Phrase of[Japan]Noun_Phrase
分块:
输入:Huge hurricanes struck the coast of Japan.
输出:[Huge hurricanes]_Noun_Phrase[struck]_Verb_Phrase[[the coast]_Noun_Phrase[of]_Prep[Japan]_Noun_Phrase]]_Prep_Noun_Phrase
关系提取:
输入:CorporationA was acquired by CorporationB to create synergies.
输出:[[CorporationA]_e1 was acquired by[CorporationB]_e2]_purchase(e2,e1)to create synergies.
语义解析:
输入:Remind me to set the timer to 5.
输出:[Remind]_Evoking[me]_Creator to[set]_Intentionally_Create[thetimer]_Created_Entity to 5.
对话系统中的时隙提取:
输入:Reserve a flight from San Francisco to LAX for two people after3pm.
输出:[Reserve a flight]_Book_Flight_Intent from[San Francisco]_FromDestination:Location/Airport to[LAX]_ToDestination:Location/Airport for[two people]_Number_of_People after[3pm]_Date_and_Time.
产品(购物)和属性提取:
输入:This expensive shirt ripped all the way to my shoulder,thefabric is too soft.
输出:This[expensive]_price[shirt]_product ripped all the way to myshoulder,the[fabric]_textile was too soft and runs[small]_size.
基于方面的情感分析:
任务是识别给定文本中表达意见的每一个实体E和属性A对。
输入:The flank steak was great,but the service was horrible.
输出:The[flank steak]_Sentiment:Positive was great,but the[service]_Sentiment:Negative and[ambience]_Sentiment:Negative were horrible.
翻译:
输入:I like to dance the tango.
输出:Me gusta bailar el tango.
本文补全/生成:
输入:A zebra has black and white
输出:stripes
示例投影网络和投影层
图1示出示例投影神经网络系统100。投影神经网络系统100是被实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中实现了下面描述的系统、组件和技术。
投影神经网络系统100包括投影神经网络102。投影神经网络102可以是前馈神经网络、循环神经网络或任何其他适当类型的神经网络。
投影神经网络102被配置为接收投影神经网络输入104并从投影网络输入104生成投影网络输出106。投影神经网络输入104可以是任何种类的数字数据输入,并且投影网络输出106可以是基于输入的任何种类的分数、分类或回归输出。
本文描述的系统100是广泛适用的,并且不限于一种特定实现方式。然而,出于说明目的,下面描述了少数示例实现方式。
例如,如果到投影神经网络102的输入是图像或已经从图像中提取的特征,则由投影神经网络102对给定图像生成的输出可以是对象类别集合中的每一个的分数,每一个分数表示图像包含属于该类别的对象的图像的估计可能性。
作为另一示例,如果到投影神经网络102的输入是一种语言的文本序列,则投影神经网络102生成的输出可以是另一种语言的文本片段集合中的每一个的分数,每一个分数表示另一种语言的文本片段是将输入文本正确翻译成另一种语言的估计可能性。
作为另一个示例,如果到投影神经网络102的输入是表示说出话语的序列,则由投影神经网络102生成的输出可以是文本片段集合中的每一个的分数,每一个分数表示文本片段是话语的正确转录的估计可能性。
作为另一示例,如果到投影神经网络102的输入是生理测量的序列,则由投影神经网络102生成的输出可以是对用户状况的可能诊断集合中的每一个的分数,分数表示诊断准确的估计可能性。
作为另一示例,如果到投影神经网络102的输入是来自接收的通信的文本序列,则投影神经网络102生成的输出可以是对接收的通信的可能响应集合中的每一个的分数,分数表示响应与用户意图匹配的估计可能性。
投影神经网络102包括一个或多个投影层(例如,投影层108)的序列。尽管仅示出了单个投影层108,但是投影神经网络102可以包括任意数量的投影层(例如,一个接一个地堆叠)。
如将参照图2进一步描述的,投影层108被配置为接收投影层输入110,并根据投影层参数的当前值来处理投影层输入110以生成投影层输出112。通常,投影层输入110可以是投影网络输入104(即,如果投影层108是投影网络102中的第一层)或投影网络102的另一层的输出(例如,传统层或另一投影层)。投影层输入110和投影层输出112可以以任何适当的数字格式表示,例如,向量或矩阵。
图2是示例数据流200的框图,投影层(例如,投影层108)可以通过该示例数据流200来处理投影层输入110以确定投影层输出112。
如先前所述,投影层输入可以是投影网络输入或投影网络的另一层的输出,并且可以以任何适当的数字格式(例如,作为向量或矩阵)表示。
投影层将投影层输入110提供给一个或多个投影层函数(例如,202、204、206)中的每一个。每一个投影层函数处理投影层输入110以生成相应投影函数输出(例如,208、210、212)。
特别地,每一个投影函数可以通过将投影层输入映射到不同空间来生成对应投影函数输出。通常,投影函数输出的尺寸比投影层输入110的尺寸小得多(例如,几个数量级)。在一个示例中,每一个投影函数输出(例如,208、210、212)是位(bit)向量。
在一些实现方式中,每一个投影函数可以由矩阵定义。定义投影函数的矩阵的行(或列)可以被称为与投影函数相关联的投影向量。在某些情况下,投影函数可以通过确定投影层输入和与投影函数相关联的每一个投影向量之间的点积(即内积)来处理投影层输入。例如,对于投影函数可以将投影层输入x(被表示为向量)的投影函数输出确定为:
在一些实现方式中,投影函数可以通过确定投影层输入与每一个投影向量之间的点积是正值还是负值来处理投影层输入。当投影层输入和投影向量之间的点积是正值时,可以将第一值分配给投影函数输出中的对应位置。相反,当投影层输入和投影向量之间的点积是负值时,可以将第二值分配给投影函数输出中的对应位置。例如,可以将投影层输入x(表示为向量)的投影函数输出确定为:
其中,sgn(·)是符号函数,响应于接收到正输入而输出值1,并响应于接收到负输入而输出值0。在该示例中,投影函数输出是投影层输入的二进制表示(即,具有由0和1组成的向量)。通过将投影函数输出表示为二进制表示,与传统网络(即层输出被表示为实数表示而不是二进制表示)相比,可以显著减少投影网络的存储器占用量(即,存储和使用投影网络所需的存储器量)。
在一些实现方式中,投影函数可以是局部敏感哈希函数。通常,局部敏感哈希函数将相似输入映射到相似输出。更具体地说,可以将局部敏感哈希函数定义为函数使得如果输入x1和x2之间的相似性是由输出值介于0和1之间的映射(例如,余弦相似性映射)定义,则的概率等于在某些情况下,由(2)定义的投影函数可以是局部敏感哈希函数的示例。
使用局部敏感哈希函数的一个好处是,它允许将相似输入或中间网络层投影到度量空间中附近的隐藏单位向量中。这允许输入的转换和学习高效而紧凑的网络表示,该表示仅取决于数据的固有维数(即观察到的特征),而不是实例数或实际数据向量的维数(即总体特征或词汇表大小)。例如,这可以通过投影函数的二进制哈希函数来实现。
可以选择投影函数,使得:(i)由投影函数处理投影层输入以生成投影函数输出在计算上是有效的(例如,需要很少的算术运算),(ii)可以有效地存储定义投影函数的数据(例如,在逻辑数据存储区或物理数据存储设备中),或两者兼而有之。
例如,一个或多个投影函数可以由稀疏矩阵(即,只有几个非零条目的矩阵)定义。如果投影函数由稀疏矩阵定义,则由投影函数处理投影层输入以生成投影函数输出在计算上是有效的。具体地,由于计算投影函数输出所涉及的许多算术运算的结果的值为零(由于定义投影函数的矩阵的稀疏性),因此实际上不需要执行这些算术运算。
此外,如果通过稀疏矩阵定义投影函数,则可以有效地存储定义投影函数的数据。例如,稀疏矩阵可以被存储为元组的列表,其中每一个元组包括稀疏矩阵中的位置的索引和该索引处的稀疏矩阵的对应值。由于稀疏矩阵只有几个非零条目,因此这种表示所占的存储器比例如密集矩阵的表示要少,该密集矩阵的表示必须包括密集矩阵中每一个位置的索引和该索引处的密集矩阵的对应值。
作为另一示例,系统可以基于种子参数集合的值来确定定义一个或多个投影函数的矩阵的分量的值。种子参数被表示为数值,并且种子参数的数量通常比定义投影函数的矩阵的维数小得多。系统可以例如基于使用种子参数初始化的随机(或伪随机)数生成器的输出来确定定义投影函数的矩阵的分量的值。在该示例中,当将随机(或伪随机)数生成器被配置为生成正态分布的随机数(即,从正态分布得出的随机数)时,定义投影函数的矩阵的成分值近似为正态分布。
通过使用种子参数来确定定义投影函数的矩阵的分量的值,与传统层相比,系统可以减少投影层的计算要求。例如,与一些需要存储传统层参数值的整个密集矩阵的传统层相比,系统可以相比于传统层减少投影层所需的存储器存储量,因为仅必须存储种子参数的值。作为另一个示例,系统可以相比于传统层减少生成层输出中的等待时间,因为系统可以动态地计算定义投影函数的矩阵的分量的值。相反,对于一些传统层,系统从存储器读取传统层参数值,这可能比动态计算这些值(例如,在示例投影层中)要慢得多。
在一些实现方式中,定义投影层函数的参数的值(例如,种子参数或投影向量的分量的值)可以是预定的,也就是说,可以在训练投影网络之前被固定,并且训练期间不调整。
投影层可以级联投影函数输出,并将投影层参数214(例如,参数矩阵和偏差向量)应用到级联的投影函数输出。
因此,投影层可以通过将投影层参数应用于投影函数输出来生成投影层输出。例如,投影层参数可以包括参数矩阵和偏差向量,并且投影层可以生成投影层输出y,如:
y=W·x+b (3)
其中,W是参数矩阵(即,使得W·x代表矩阵向量乘法),b是偏差向量,x是投影函数输出的级联。
如前所述,投影函数输出的维数通常远低于投影层输入的维数。因此,应用于投影函数输出以生成投影层输出的投影层参数的数量通常比通过不包含投影函数的传统神经网络层(例如,全连接层)应用于层输入的参数的数量低得多。例如,由投影层中的参数矩阵W和偏差向量b定义的投影层参数的维度可以远小于传统神经网络层的相应层参数的维度。
再次参照图1,根据本公开的一方面,在一些实现方式中,投影神经网络102可以包括连接到一个或多个投影层(例如,投影层108)序列的一个或多个附加隐藏层(例如,隐藏层114)的堆叠。尽管示出了单个隐藏层114,但是网络102中可以包括任何数量的附加隐藏层。一个或多个隐藏层可以包括不同类型的层,包括全连接层(例如,具有非线性激活)、循环层、卷积层、附加投影层、投影序列层(在下面进一步详细描述),附加层的其他形式和/或其各种组合。
一个或多个附加隐藏层的序列可以被配置为接收由一个或多个投影层的序列中的最高投影层生成的层输出,并生成一个或多个附加隐藏层输出。也就是说,每一个隐藏层(例如,隐藏层114)可以接收隐藏层输入(例如,隐藏层输入116),并且处理层输入以提供隐藏层输出(例如,隐藏层输出118)。
在一个或多个隐藏层(例如,隐藏层114)的序列之后,投影神经网络102可以包括输出层120。输出层120可以被配置为接收由一个或多个附加隐藏层的序列中的最高附加隐藏层生成的附加隐藏层输出,并生成投影网络输出106。
如果投影网络102的层的输出被包括在投影网络输出106中,则该投影网络102的层可以用作输出层120。输出层可以是softmax层、投影层或任何其他适当的神经网络层。输出层120可以被配置为接收由投影层或传统层生成的输出作为输入。
与传统神经网络系统相比,可以在资源受限的环境(例如,智能手表或智能电话)中更容易地实现系统100。例如,通过包括投影层(例如,投影层108)代替传统神经网络层(例如,全连接层),定义系统100的参数的数据可以比定义传统神经网络系统的参数的数据占用更少的存储容量。
本说明书描述了在投影神经网络(例如,参照图1描述)的情境中由投影层(例如,参照图2描述)执行的操作。更一般地,其他系统(诸如基于图的系统)可以合并由投影层执行的操作。图是一种数据结构,可以用节点集合(其中每一个节点可以与数字特征向量相关联)、边集合(其中每一个边可以与数字边强度值相关联)以及在某些情况下的标签集合来表示。节点表示实体(例如,人、对象、位置或概念),边表示由节点表示的实体之间的关系(例如,社交网络中两个人之间的“朋友”关系),在某些情况下,标签可以代表节点的特征(例如,由节点代表的产品是否是“最畅销”产品)。
可以通过机器学习技术(例如,有监督或半监督机器学习技术)来训练基于图的系统,以进行预测。例如,基于图的系统可以生成对与图中的先前未标记的节点相关联的标签的值的预测。在该示例中,基于图的系统可以基于相邻节点(即,通过边连接到给定节点的节点)的标签和将给定节点连接到相邻节点的边的边强度来生成与给定节点相关联的标签的值的预测。
基于图的系统可以通过例如生成作为训练器图的紧凑表示的投影图来合并由投影层执行的操作。投影图的每一个节点可以对应于训练器图的不同节点,并且可以通过执行投影层操作来确定与投影图的节点相关联的特征向量。更具体地,与投影图的特定节点相关联的特征向量可以通过应用多个投影函数,然后对与训练图中的对应节点相关联的特征向量进行变换(例如,由参数矩阵和偏差向量定义)来确定。以这种方式,与投影图的节点相关联的特征向量可以具有比与训练器图的节点相关联的特征向量小得多的维度。因此,类似于投影神经网络,投影图可能适合于部署到无法部署训练图的资源受限的环境(例如,移动设备)。
如上所述,本文描述的系统100是广泛适用的,并且不限于一种特定的实现方式。然而,特定实现方式的其他示例(除了上述实现方式之外)可以如下所述。
例如,如果到投影神经网络102的输入是互联网资源(例如网页)、文档或文档的一部分或从互联网资源、文档或文档的一部分提取的特征,则由投影神经网络102对给定互联网资源、文档或文档的一部分生成的输出可以是主题集合中的每一个主题的分数,每一个分数代表互联网资源、文档或文档的一部分与该主题有关的估计可能性。
作为另一示例,如果到投影神经网络102的输入是用于特定广告的印象情境的特征,则由投影神经网络102生成的输出可以是表示该特定广告将被点击的估计可能性的分数。
作为另一示例,如果到投影神经网络102的输入是对用户的个性化推荐的特征,例如,表征推荐的情境的特征,例如,表征用户所采取的先前动作的特征,则由投影神经网络102生成的输出可以是对内容项目集合中的每一个的分数,其中每一个分数表示用户将对被推荐的内容项目做出有利响应的估计可能性。
示例自治神经网络
示例模型
图1所示的网络结构的示例实现包括本文所述的自治网络。特别地,自治神经网络(SGNN)可以包括多层的局部敏感投影模型。网络的自治属性源于其学习模型(例如,分类器)的能力,而无需初始化、加载或存储任何特征或词汇量权重矩阵。从这个意义上讲,SGNN表示一种真正的无嵌入方法,这与性能取决于对大语料库进行预训练的嵌入的自然语言处理中目前大多数广泛使用的深度学习技术形成鲜明对比。
相反,SGNN使用投影函数将每一个输入动态变换为低维表示。此外,这些(一个或多个)投影层可以与附加层和非线性激活堆叠在一起,以实现深度非线性的投影组合,从而允许网络学习从输入xi到输出yi的复杂映射。SGNN网络的一个示例在数学上表示为:
hp=σ(Wp·ip+bp) (5)
ht=σ(Wt·ht-1+bt) (6)
yi=softmax(Wo·hk+bo) (7)
其中,ip是指应用于输入xi的投影操作的输出,hp应用于投影输出,ht应用于深度为k的网络中间层,其后是顶部的最终softmax激活层。Wp,Wt,Wo和bp,bt,bo分别表示可训练权重和偏差。
在一些实现方式中,投影变换可以使用预先计算的参数化函数,即,它们在学习过程中未被训练,并且它们的输出可以被级联以形成用于后续操作的隐藏单元。
在一些实现方式中,每一个输入文本xi可以被转换为中间特征向量(例如,经由诸如skip-gram的原始文本特征),随后是投影。
作为示例,中间特征向量可以包括从输入文本生成的或与输入文本相关联的以下中间特征中的一个或多个:skip-grams、n-grams、词性标签、依赖关系、知识图信息、和/或情境信息。
在图5A中提供了根据上述方案的示例训练结构。图5B示出了替代训练结构。
在训练期间,网络学习选择和应用对特定任务更具预测性的特定投影操作(通过激活)。投影矩阵类型的选择以及投影空间的表示直接影响计算成本和模型大小。如上所述,在一些实现方式中,可以利用有效的随机投影方法,并且可以将二进制表示(0,1}d用于就参数的数量和大小而言,这将大大降低存储器占用量。
计算投影:在某些实现方式中,可以将有效的随机投影方法用于投影步骤。例如,如上所述,可以使用局部敏感哈希(LSH)对SGNN中的基础投影操作进行建模。LSH使网络能够将相似输入或中间网络层投影到度量空间中附近的隐藏单位向量中。在一些实现方式中,重复的二进制哈希可以用于并且投影向量可以被应用来将输入变换为由表示的二进制哈希表示,其中这导致了d位向量表示,一位对应于每一个投影行
相同投影矩阵P用于训练和推断。此外,在一些实现方式中,由于可以使用具有固定行种子的特征索引上的哈希函数来动态计算随机投影向量而不用调用随机数生成器,因此不需要显式存储随机投影向量这还允许执行在观察到的特征大小而不是整体特征或词汇表大小(对于高维数据而言可能过大)上呈线性的投影操作,从而节省了存储器和计算成本。
因此,SGNN可以有效地建模文本应用常见的高维稀疏输入和大词汇表大小,而不必依赖特征修剪或其他预处理试探法来限制标准神经网络中的输入大小以进行可行训练。二进制表示形式很重要,因为这会导致投影网络参数的紧凑表示形式,进而大大减小了模型大小。
SGNN参数:在某些实现方式中,可以使用T个不同的投影函数每一个投影函数都会产生d位向量,被级联以形成等式(4)中的投影向量ip。T和d可以根据为指定的投影网络参数配置而变化,并且可以调整为在预测质量和模型大小之间进行权衡。请注意,选择使用大小为T·d的单个投影矩阵还是使用d列的T个单独矩阵,取决于所采用的投影类型(密集或稀疏)。
图3描绘了根据本公开的示例实施例的示例SGNN 250。SGNN 250接收输入,在一些实现方式中,该输入本质上可以是顺序的(例如,序列中的词)。SGNN 250首先可以包括特征提取器252。在某些情况下,特征提取器252可以被视为网络250的一部分,而在其他情况下,特征提取器252可以被视为网络250的预处理步骤。特征提取器252可以从输入中提取中间特征向量。特征提取器252可以将中间特征向量提供给投影层254。
因此,在一些实现方式中,到投影层254的输入可以包括单个输入向量,该单个输入向量已经基于整个输入x1,...,xn以及从该输入导出或与该输入相关联的附加特征而生成。可以将这种多种类型的信息级联以形成单个输入向量。SGNN 250可以处理单个输入向量以产生将输入作为整体分类的分类输出。
投影层254可以将接收的向量投影到更低维度的空间中,例如,如参照图2所描述的。在投影层254之后,示例SGNN包括一个附加隐藏层,这里示出为全连接层256。全连接层256之后是softmax输出层258。softmax层258的输出是对K类输入的预测(例如,文本分类)。
示例训练和推断
在一些实现方式中,可以使用反向传播对SGNN网络进行端到端训练。训练可以高效地进行,例如在高性能CPU或GPU上进行分布式计算的随机梯度下降。
复杂度:由投影层管理的SGNN推断的总体复杂度为O(n·T·d),其中n是观察到的特征大小(而不是整体词汇表大小),它在输入大小上是线性的,d是为每一个投影向量指定的LSH位的数量,T是中使用的投影函数的数量。投影推断步骤所需的模型大小(根据参数的数量)和存储器存储为O(T·d·C),其中C是多层投影网络中hp中隐藏单元的数量。
示例应用
SGNN可以执行的一个示例任务是文本分类。在文本分类任务中,神经网络被给予文本和/或从文本派生的中间特征,并考虑所有术语和/或特征以进行单个分类(例如,二进制或多分类)。因此,在一个示例中,输入是文本,而输出是类标签。
分类任务在自然语言处理中的示例应用包括:对话行为分类;幽默和讽刺检测;情绪分析;问题分类;新闻标题分类;情绪识别;健康通知;意图分类(对话);和自动作文评分。
示例文本分类任务和应用的一些示例如下:
对话行为分类
幽默和讽刺检测
输入:I love being ignored
输出:SARCASM
情绪分析
输入:The ravioli just keeps getting better every time I visit.
输出:POSITIVE
问题分类
输入:How did serfdom develop in and then leave Russia?
输出:DESC:MANNER
输入:How much would it cost to purchase a 2footsquare party tent,withsides,?
输出:NUM:MONEY
新闻标题分类
输入:TeleCorp confirms it is buying ad platform AppCorp,reportedlyfor between$1.6B$2B
输出:BUSINESS
情绪识别
输入:Wow I never saw that coming!
输出:SURPRISE
意图分类(对话系统)
输入:Play levels on YouTube
输出:INTENT_PLAY_SONG_ON_DEVICE_NAME
示例投影序列网络(ProSeqoNets)
本公开提供的另一示例投影神经网络架构是投影序列网络(ProSeqoNets)。ProSeqoNets可以包括一层或多层投影层,然后是例如一层或多层投影序列层。当在一系列时间步长上将序列输入输入到网络中时,每一个投影序列层可以将信息向前和/或向后传递给该层的后续和/或先前的迭代。例如,每一个投影序列层可以包括将信息向前传递给后续迭代和/或从先前迭代接收信息的第一节点集合,以及接收从后续迭代传递回的信息和/或向后传递信息到先前迭代的第二节点集合。
图4描绘了根据本公开的示例实施例的示例投影序列网络270。特别地,图4描绘了相对于来自顺序输入源的n个输入以n倍的步长实现的投影序列网络270的n次迭代。
因此,在一些实现方式中,到投影序列网络270的输入本质上可以是顺序的,并且投影序列网络270可以迭代地操作(例如,在多个时间步长中的每一个)以处理序列输入。作为一个示例,如图4所示,对于序列输入x1,...,xn,可以在多个迭代中的每一个处输入输入的一个输入部分xi。例如,在时间步骤2,可以输入输入部分xi。在每次迭代中,来自过去时间步长的信息(例如,原始文本和/或中间特征数据)可以与新提供的部分一起提供或者也可以不与新提供的部分一起提供。
投影序列网络270可以包括特征提取器272。特征提取器272可以从输入中提取中间特征向量。特征提取器272可以将中间特征向量提供给投影层274。在某些情况下,特征提取器272可以被视为网络270的一部分,而在其他情况下,特征提取器272可以被视为网络270的预处理步骤。
因此,在一些实现方式中,除了基本输入之外,还可以将附加特征作为初始或中间输入提供给投影层274。在一些实现方式中,这些附加特征可以包括在一个或多个附加特征向量中。因此,在一些实现方式中,到投影层274的输入可以包括可根据不同维度来表达的多个特征向量。这些特征向量可以包括也可以不包括描述特征类型的类型信息。
到投影层274的输入包括多个特征向量的实现方式中,可以以多种不同方式来处理将这些向量输入到网络中。作为一个示例,可以将多个特征向量级联并展平以形成单个输入向量。在其他实现方式中,在每一个时间步长,每一个特征向量都可以分别输入到投影层274中,并由投影层274分别投影。在单独投影之后,投影层274的输出可以在投影空间(例如,位空间)中级联。在一些实现方式中,一些投影函数和/或位空间位置可以被保留并且用于编码分别与特征向量相关联的类型信息,使得网络270(例如,最低投影序列层276)可以在投影空间中学习,以便根据其与输入相关的特征类型或其他特征类型选择或忽略各种信息。
因此,投影层274可以将接收的向量投影到较低维度空间中,例如,如参照图2所描述的。在投影层274之后,示例投影序列网络270包括两个投影序列层,这里示出为投影序列层276和278。尽管示出了两个投影序列层,但是网络可以包括任意数量的投影序列层。在投影序列层278之后是最终层280。最终层280的输出(例如,在时间步长上)是输出序列(和分数)。
当在一系列时间步长上将序列输入输入到网络中时,每一个投影序列层(例如,276、278)可以将信息向前和/或向后传递到该层的后续和/或先前迭代。例如,每一个投影序列层可以包括将信息传递给后续迭代和/或从先前迭代接收信息的第一节点集合,以及接收从后续迭代传递回的信息和/或向后传递信息到先前迭代的第二节点集合。为了说明,投影序列层276包括第一节点集合282,其在时间步长2在层276的后续迭代中将来自时间步长1的内部状态信息传递给自身。投影序列层276包括第二节点集合284,第二节点集合284从时间步长2接收来自相同节点的内部状态信息,但是不在时间步2的层276的后续迭代中。虽然未显示节点282、284的集合,但是可以在时间步长2在层276的迭代中看到,可以通过相同节点集合在两个时间方向上传递和接收信息。
在一些实现方式中,包括在第一节点集合282和/或第二节点集合284中的一个或多个(例如,全部)节点可以是或包括已经被修改以包括在投影序列层中的循环单元。示例循环单元包括LSTM单元和门控循环单元(GRU)。特别地,在修改的循环单元中,可以使用投影状态来修改单元的内部状态或从属关系,而不是基本输入特征。
ProSeqoNets可以执行的一个示例任务是序列标记。在序列标记任务中,为神经网络提供文本和/或从文本派生的中间特征,并识别段(例如,词/短语的序列)并将这些段分类为多个类别。因此,在一个示例中,输入是文本,而输出是标记的序列。
自然语言处理中序列标记任务的示例应用包括:命名实体识别;关键字提取;名词短语提取;分块;关系提取;语义解析;对话系统中的时隙提取;产品(购物)和属性提取;和基于方面的情感分析。ProSeqoNets的其他示例应用包括在语言之间翻译文本;本文补全(例如,句子补全和/或自动回复);或其他生成任务。一些示例任务和应用如下。
命名实体识别:
输入:The University of Southern California is located in Los Angeles.
输出:The[University of Southern California]_Organization is locatedin[Los Angeles]_Location
关键字提取(对于广告和内容理解很有用):
输入:We offer a wide variety of items including healthy dry cat foodfor$5.
输出:We offer a wide variety of items including[healthy dry catfood]_KeyPhrase for$5.
名词短语提取:
输入:Huge hurricanes struck the coast of Japan.
输出:[Huge hurricanes]Noun_Phrase struck[the coast]Noun_Phrase of[Japan]Noun_Phrase
分块:
输入:Huge hurricanes struck the coast of Japan.
输出:[Huge hurricanes]_Noun_Phrase[struck]_Verb_Phrase[[the coast]_Noun_Phrase[of]_Prep[Japan]_Noun_Phrase]]_Prep_Noun_Phrase
关系提取:
输入:CorporationA was acquired by CorporationB to create synergies.
输出:[[CorporationA]_e1 was acquired by[CorporationB]_e2]_purchase(e2,e1)to create synergies.
语义解析:
输入:Remind me to set the timer to 5.
输出:[Remind]_Evoking[me]_Creator to[set]_Intentionally_Create[thetimer]_Created_Entity to 5.
对话系统中的时隙提取:
输入:Reserve a flight from San Francisco to LAX for two people after3pm.
输出:[Reserve a flight]_Book_Flight_Intent from[San Francisco]_FromDestination:Location/Airport to[LAX]_ToDestination:Location/Airport for[two people]_Number_of_People after[3pm]_Date_and_Time.
产品(购物)和属性提取:
输入:This expensive shirt ripped all the way to my shoulder,thefabric is too soft.
输出:This[expensive]_price[shirt]_product ripped all the way to myshoulder,the[fabric]_textile was too soft and runs[small]_size.
基于方面的情感分析:
任务是识别给定文本中表达意见的每一个实体E和属性A对。
输入:The flank steak was great,but the service was horrible.
输出:The[flank steak]_Sentiment:Positive was great,but the[service]_Sentiment:Negative and[ambience]_Sentiment:Negative were horrible.
翻译:
输入:I like to dance the tango.
输出:Me gusta bailar el tango.
本文补全/生成:
输入:A zebra has black and white
输出:stripes
示例训练方案
图5A是示例数据流的框图,通过该示例数据流,投影神经网络系统(例如,投影神经网络系统100)可以训练投影神经网络(例如,投影神经网络102)。作为训练的一部分,系统将来自训练数据集合304的训练输入302提供给投影网络102。投影网络102根据投影网络参数的当前值处理训练输入302,以生成投影网络输出106。系统通过计算取决于投影网络输出106和目标输出310的损失函数的梯度(例如,通过反向传播程序)来更新投影网络参数的当前值。作为示例,系统可以通过取决于投影网络输出106和目标输出310之间的误差的损失函数(称为投影预测损失函数)的梯度来更新投影网络参数的当前值。通过投影预测损失函数的梯度更新投影网络参数的当前值会导致投影网络102生成与目标输出310更相似的输出(即,响应于对训练输入302的处理)。因此,在一些实现方式中,与目标输出相比,可以仅基于其相对于训练数据304的自身性能来训练投影神经网络302。
图5B是备选示例数据流的框图,通过该示例数据流,投影神经网络系统(例如,投影神经网络系统100)可以训练投影神经网络(例如,投影神经网络102)。
作为训练的一部分,系统将来自训练数据集合304的训练输入302提供给投影网络102。投影网络102根据投影网络参数的当前值处理训练输入302,以生成投影网络输出106。系统向训练器网络306提供相同的训练输入302。训练器网络306根据训练器网络参数的当前值处理训练输入302,以生成训练器网络输出308。训练器网络306可以是前馈神经网络、循环神经网络或任何其他适当类型的神经网络,被配置为在给定相同训练输入的情况下生成与投影网络102相同类型的输出。通常,训练器网络306比投影网络102具有更多的参数(在某些情况下,几个数量级)。
系统通过计算几种不同损失函数的组合的梯度(例如,通过反向传播程序)来联合更新投影网络参数和训练器网络参数的当前值。损失函数可以取决于投影网络输出106,训练器网络输出308或两者。
例如,系统可以通过取决于与训练数据304中的训练输入302相关联的训练器网络输出308和目标输出310之间的误差的损失函数(称为训练器预测损失函数)的梯度来更新训练器网络参数的当前值。目标输出310是应该由训练器神经网络306和投影网络102响应于处理训练输入302而生成的输出。通过训练器预测损失函数的梯度更新训练器网络参数的当前值可以使训练器网络306生成与目标输出310更相似的输出(即,响应于对训练输入302的处理)。
作为另一示例,系统可以通过取决于投影网络输出106和目标输出310之间的误差的损失函数(称为投影预测损失函数)的梯度来更新投影网络参数的当前值。通过投影预测损失函数的梯度更新投影网络参数的当前值可以使投影网络102生成与目标输出310更相似的输出(即,响应于处理训练输入302)。
作为另一个示例,系统还可以通过取决于训练器网络输出308和投影网络输出106之间的误差的损失函数(称为投影模拟损失函数)的梯度来更新投影网络参数(以及可选地,训练器网络参数)的当前值。通过投影模拟损失函数的梯度更新投影网络参数的当前值可以使投影网络102生成与训练器网络输出308更相似的输出。通过基于投影模拟损失函数更新投影网络参数的值,系统可以(在某些情况下)使投影网络102生成精度与训练器网络306相似的预测,尽管投影网络102具有比训练器网络306少得多的参数(例如,在某些情况下,几个数量级)。
通常,训练器预测损失函数投影预测损失函数和投影模拟损失函数可以是任何适当的损失函数。例如,如果训练器网络306和投影网络102执行分类任务,则损失函数可以是交叉熵损失函数。作为另一示例,如果训练器网络306和投影网络102执行回归任务,则损失函数可以是平方误差损失函数。系统可以通过所描述的每一个损失函数的梯度的加权组合来调整投影网络102和训练器网络306的参数。
如前所述,基于图的系统生成投影图作为训练器图的紧凑表示,可以联合训练投影图,训练器图以及用于从训练器图中确定投影图的投影层操作的参数。在特定示例中,可以训练投影层操作的参数(例如,通过反向传播程序),以使基于图的系统基于投影图生成的预测变得与基于图的系统基于训练器图生成的预测更加相似。预测之间的相似性可以通过诸如交叉熵损失函数的损失函数来测量。由基于图的系统基于投影图和训练器图生成的预测可以是分别用于投影图和训练器图中的标记或未标记节点的预测标签。
示例神经投影模型
本公开的各方面针对与基于局部敏感哈希(LSH)的投影相结合的基于skip-gram的架构,以学习有效的动态可计算表示。所提出的模型不需要存储查找表,因为可以即时计算表示形式,并且需要低存储器占用。可以以无监督方式对表示进行训练,并且可以容易地将其传递到其他NLP任务。
因此,示例方面针对新颖模型(NP-SG),以学习紧凑神经表示形式,将诸如skipgram模型的表示学习方法的优势与可以实时计算的有效LSH投影相结合。
示例skip-gram模型
对于大小为T的训练语料库中的每一个词wt,情境词集合 分别在wt的左侧和右侧包括Wt个词。Wt是从集合1-N中随机采样的窗口大小,其中N是最大窗口大小。给定词对{wc,wt},wc在情境窗口wt内的概率由以下公式给出:
其中,v、v′是输入和情境嵌入查找表。
示例神经投影Skip-Gram(NP-SG)
在神经投影方法中,输入嵌入查找表v(w)可以替换为二进制投影P(w)上的深n层MLP,例如下面的公式所示。
可以使用局部敏感投影操作(在此进一步详细描述)计算二进制投影P(w),该操作可以即时(即无需进行任何嵌入查找)执行以产生固定低存储器占用二进制向量。示例NP-SG模型可以使用字符级特征上的LSH投影结合通过skip-gram架构学习的情境信息,为词创建可训练深度投影表示形式。
NP-SG模型的示例训练
在一些实现方式中,可以将与为基本skip-gram模型提供的类似方法用于训练神经投影skip-gram模型(NP-SG)。例如,可以定义训练目标以在给定当前词的情况下最大化预测情境词的概率。形式上,该模型尝试通过最大化目标J(θ)(称为负采样(NEG))来学习词嵌入,由以下等式给出。
其中,k是根据噪声分布从训练语料库中随机采样的词数,Pn(w)∝U(w)3/4,其中,U(w)是训练语料库的unigram分布。
模型改进:训练NP-SG模型虽然有效,但是可能不会导致高度区分性表示。例如,在某些情况下,词表示vP(w)可以投影在狭窄的子空间中,其中,数据集中所有词的余弦相似度太接近1:0。这会使收敛变慢,并导致泛化不良。因此,如下所述,要小心避免具有该特性的投影。
示例区分性NP-SG模型
为了鼓励按照余弦相似性将词表示更间隔开,可以引入附加显式正则化L2损失函数。假设每一个微型批处理中的词是随机采样的,则可以添加微型批处理中所有词之间的余弦相似度的L2损失,如下式所示。
其中,CS(w_i,w_j)是指w_i与w_j之间的余弦相似度,mb是指微型批处理大小,w_mb表示微型批处理中的词。
示例改进的NP-SG训练
由于NP-SG模型没有固定的词汇表大小,因此与要求对词汇进行修剪以确保可行性的标准skip-gram模型相比,该模型的应用可以灵活,并且在训练期间可以利用更多的信息,。
为了改进对NP-SG模型的训练,可以在对输入字符应用字符级微扰之后,使用输入词来扩充数据集。微扰是这样的一种方式,它们通常是文档中出现的拼写错误。可以执行的微扰操作的示例类型如下:
insert(word,n):从字符词汇表中随机选择n个字符,然后将其随机插入输入词中。对插入操作忽略词中第一个和最后一个字符的位置。示例变换:sample>samnple。
swap(word,n):随机交换词中两个字符的位置n次。与插入操作一样,对于交换操作,忽略词中的第一个和最后一个字符。示例变换:sample>sapmle。
duplicate(word,n):将词中的一个字符随机复制n次。示例变换:sample>saample.
drop(sentence,n):从句子中随机删除n个词。示例变换:This is a samplesentence>This is a sentence.
duplicate(sentence,n):与上面的duplicate(word,n)类似,我们将句子中的词随机复制n次。示例变换:This is a sample sentence>This is a sample samplesentence.
swap(sentence,n):与swap(word,n)类似,随机将句子中两个词的位置交换n次。示例变换:This is a sample sentence>This sample a is sentence.
上面列出的示例微扰操作并不详尽。
示例训练设置
一种示例训练设置如下:对wikipedia data XML dump,enwik91训练skipgram模型。使用Matt Mahoneys预处理perl script2从XML dump中提取规范化的英文文本。将词汇表固定为最常见的前100k个词。对训练语料库中的词子采样,并根据其在语料库中出现的频率以一定概率将其丢弃。以一定概率扰乱输入词。
一种示例实现如下。以下值为实现细节,可以对其进行修改以实现不同的目标:将随机投影的数量固定为80,投影尺寸固定为14。使用用丢弃(概率为0:65)和权重衰减(正则参数为0:0005)调整的2层MLP(大小:[2048;100])将二进制随机投影转换为连续词表示。对于vanilla skipgram模型,将嵌入大小固定为100。对于两个模型,对NEG损失使用25个负样本。使用Adam优化器以默认学习率为0:001来学习参数,剪切范数大于5:0的梯度。使用Xavier初始化来初始化MLP的权重,并输出嵌入均匀地在范围[-1.0;1.0]内随机。使用1024的批大小。对于外部产品损失,使用lambda=0.01。
示例可训练投影自动编码器
本公开的另一个示例方面针对一种新颖自动编码器投影模型,可以在无监督文本上被训练。
示例模型架构
本节介绍LSH投影表示的可训练和可插入版本。与在严格监督设置中训练带有静态投影的神经模型的某些其他示例实现不同,此模型的主要优点是可以对大型语料库以无监督方式对其进行预训练,以获得更好的文本表示。
提出了一种投影自动编码器架构,如图8所示,该架构(1)从无监督文本中学习更好的文本表示,并且(2)可以插入并用于初始化其他有监督NLP任务中模型的输入表示。
编码器:一种示例架构使用深度投影编码器,在LSH投影顶部通过深度MLP建模。除最后一层之外,所有层均具有ReLU非线性激活。最后一层是没有任何非线性的全连接层。编码器的最后一层E(P(w))充当句子表示形式,可以将其作为其他模型中的输入表示形式插入,如图9所示。
解码器:接下来,在某些实现方式中,可以将深度投影编码器与解码器,LSTM模型组合,可以预测以编码器最后一层为条件的句子中存在的令牌。
解码器LSTM在时间步长=n时的条件概率由下式给出
其中,s_n和g分别表示解码器在时间n的隐藏状态和非线性函数。
示例训练设置
一种示例训练设置如下:通过学习从enwik9数据集中重建句子来训练投影自动编码器。将词汇表限制为最多30000个频繁出现的词,最大句子长度为20。
将随机LSH投影的数量固定为80,并将投影尺寸固定为14。对于编码器,考虑尺寸为[256;256]的两层深MLP。在最终编码器层的顶部添加批处理归一化层,然后将其馈送到解码器。解码器可以是具有隐藏大小256的单层LSTM。
使用默认学习速率为0.001的Adam优化器,剪裁范数大于5.0的梯度。
投影自动编码器的示例分类
训练后,我们从神经投影自动编码器模型中固定并提取预训练投影编码器,如图8所示。对于监督语言分类任务,我们将预训练的投影编码器插入现有分类器模型中,然后仅对特定任务的标记数据训练网络的分类器层。相反,vanilla投影模型(例如,SGNN)直接将静态LSH投影输出插入分类器中。图9对此进行了说明。对于分类,神经网络的最后一层可以应用Softmax来生成输出类别的概率分布。可以训练分类器模型,以使训练数据中正确类别的负对数似然最小化。
示例设备和系统
图6A描绘了根据本公开的示例实施例的示例计算系统600的框图。系统600包括通过网络680通信地耦合的用户计算设备602、服务器计算系统630和训练计算系统650。
用户计算设备602可以是任何类型的计算设备,诸如个人计算设备(例如,笔记本电脑或台式机),移动计算设备(例如,智能手机或平板电脑),游戏控制台或控制器,可穿戴计算设备,嵌入式计算设备或任何其他类型的计算设备。
用户计算设备602包括一个或多个处理器612和存储器614。一个或多个处理器612可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个或多个可操作地连接的处理器。存储器614可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器614可以存储由处理器612执行的数据616和指令618,以使用户计算设备602执行操作。
在一些实现方式中,用户计算设备602可以存储或包括一个或多个投影神经网络620。例如,投影神经网络620可以是或可以包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、循环神经网络(例如,长短期记忆循环神经网络)、卷积神经网络或其他形式的神经网络。
在一些实现方式中,一个或多个投影神经网络620可以通过网络680从服务器计算系统630接收,存储在用户计算设备存储器614中,然后由一个或多个处理器612使用或实现。在一些实现方式中,用户计算设备602可以实现单个投影神经网络620的多个并行实例。
附加地或可选地,一个或多个投影神经网络640可以被包括在服务器计算系统630中或由其存储和实现,该服务器计算系统630根据客户端-服务器关系与用户计算设备602进行通信。例如,投影神经网络640可以由服务器计算系统640实现为网络服务的一部分。因此,一个或多个投影神经网络620可以在用户计算设备602处存储和实现,和/或一个或多个投影神经网络640可以在服务器计算系统630处存储和实现。
用户计算设备602还可以包括接收用户输入的一个或多个用户输入组件622。例如,用户输入组件622可以是对用户输入对象(例如,手指或手写笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可通过其提供用户输入的其他方式。
服务器计算系统630包括一个或多个处理器632和存储器634。一个或多个处理器632可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个或多个可操作地耦合的处理器。存储器634可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器634可以存储由处理器632执行的数据636和指令638,以使服务器计算系统630执行操作。
在一些实现方式中,服务器计算系统630包括一个或多个服务器计算设备或由其实现。在服务器计算系统630包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构,并行计算架构或其某种组合来操作。
如上所述,服务器计算系统630可以存储或以其他方式包括一个或多个机器学习投影神经网络640。例如,投影神经网络640可以是或可以包括各种机器学习模型。机器学习示例模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。
用户计算设备602和/或服务器计算系统630可以通过与通过网络680通信耦合的训练计算系统650的交互来训练投影神经网络620和/或640。训练计算系统650可以与服务器计算系统630分离或可以是服务器计算系统630的一部分。
训练计算系统650包括一个或多个处理器652和存储器654。一个或多个处理器652可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个或多个可操作地耦合的处理器。存储器654可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器654可以存储由处理器652执行以使训练计算系统650执行操作的数据656和指令658。在一些实现方式中,训练计算系统650包括一个或多个服务器计算设备或由其实现。
训练计算系统650可以包括模型训练器660,使用各种训练或学习技术(例如,错误的向后传播)来训练存储在用户计算设备602和/或服务器计算系统630处的机器学习投影神经网络620和/或640。在一些实现方式中,执行错误的向后传播可以包括通过时间执行截短的反向传播。模型训练器660可以执行多种归纳技术(例如,权重衰减、丢弃等),以提高被训练模型的泛化能力。
特别地,模型训练器660可以基于训练数据集合662训练投影神经网络620和/或640。训练数据662可以包括例如已经用目标输出标记或者具有与之相关的目标输出的文本输入。在一些实现方式中,目标输出可以是文本分类和/或段分类。
在一些实现方式中,如果用户已经提供了同意,则训练示例可以由用户计算设备602提供。因此,在这样的实现方式中,对从用户计算设备602接收的用户特定数据,可以由训练计算系统650训练提供给用户计算设备602的投影神经网络620。在某些情况下,该处理可以称为个性化模型。
模型训练器660包括用于提供期望函数的计算机逻辑。可以在控制通用处理器的硬件、固件和/或软件中实现模型训练器660。例如,在一些实现方式中,模型训练器660包括存储在存储设备上,加载到存储器中并且由一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器660包括一个或多个计算机可执行指令集合,其存储在有形计算机可读存储介质中,诸如RAM硬盘或光或磁介质。
网络680可以是任何类型的通信网络,诸如局域网(例如,内部网),广域网(例如,互联网)或其某种组合,并且可以包括任何数量的有线或无线链路。通常,可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP),编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来进行网络680上的通信。
图6A示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现方式中,用户计算设备602可以包括模型训练器660和训练数据集662。在这样的实现方式中,投影神经网络620可以在用户计算设备602处被本地训练和使用。在这些实现方式中,用户计算设备602可以实现模型训练器660以基于用户特定数据个性化投影神经网络620。
图6B描绘了根据本公开的示例实施例的示例计算设备60的框图。计算设备60可以是用户计算设备或服务器计算设备。
计算设备60包括多个应用(例如,应用1至N)。每一个应用都包含自己的机器学习库和机器学习的模型。例如,每一个应用可以包括机器学习模型。示例应用包括文本消息收发应用,电子邮件应用,听写应用,虚拟键盘应用,浏览器应用等。
如图6B所示,每一个应用可以与计算设备的多个其他组件通信,例如,一个或多个传感器、情境管理器、设备状态组件和/或附加组件。在一些实现方式中,每一个应用可以使用API(例如,公共API)与每一个设备组件通信。在某些实现方式中,每一个应用使用的API特定于该应用。
图6C描绘了根据本公开的示例实施例的示例计算设备690的框图。计算设备690可以是用户计算设备或服务器计算设备。
计算设备690包括多个应用(例如,应用1至N)。每一个应用都与中央智能层通信。示例应用包括文本消息收发应用,电子邮件应用,听写应用,虚拟键盘应用,浏览器应用等。在一些实现方式中,每一个应用可以使用API(例如,所有应用的通用API)与中央智能层(和存储在其中的模型)进行通信。
中央智能层包括许多机器学习的模型。例如,如图6C所示,可以为每一个应用提供相应机器学习模型(例如,模型),并由中央智能层进行管理。在其他实现方式中,两个或更多应用可以共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,single model)。在一些实现方式中,中央智能层被包括在计算设备690的操作系统内或由其实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是用于计算设备690的集中数据存储库。如图6C所示,中央设备数据层可以与计算设备的许多其他组件通信,例如,一个或多个更多传感器、情境管理器、设备状态组件和/或附加组件。在一些实现方式中,中央设备数据层可以使用API(例如,私有API)与每一个设备组件通信。
示例投影网络和系统
本说明书描述了一种投影神经网络,被实现为在一个或多个位置的一个或多个计算机上的计算机程序。
根据一方面,提供了一种系统,该系统包括一个或多个计算机和一个或多个存储设备,该存储设备存储指令,当该指令由一个或多个计算机执行时,使该一个或多个计算机实现投影神经网络。投影神经网络被配置为接收投影网络输入并从投影网络输入生成投影网络输出。投影神经网络包括一个或多个投影层的序列,其中每一个投影层具有多个投影层参数。每一个投影层被配置为接收层输入并将多个投影层函数应用于该层输入。每一个投影图层函数生成相应投影函数输出,将图层输入投影到不同空间。每一个投影层通过将投影层的投影层参数应用于投影函数输出来生成层输出。
在一些实现方式中,投影神经网络还包括输出层,被配置为接收由序列中的最高投影层生成的层输出并生成投影网络输出。
在一些实现方式中,输出层是softmax输出层。
在一些实现方式中,投影神经网络仅包括投影层和输出层的序列。
在一些实现方式中,序列中最高投影层的层输出是投影网络输出。
在一些实现方式中,投影神经网络仅包括投影层的序列。
在一些实现方式中,序列中最低投影层的层输入是投影神经网络的网络输入。
在一些实现方式中,除最低投影层之外的任何投影层的层输入是由序列中紧接在投影层下方的投影层生成的层输出。
在一些实现方式中,对于每一个投影层,每一个投影函数与相应投影向量集合相关联。将每一个投影函数应用于层输入,包括对每一个投影向量:(i)确定层输入和投影向量之间的点积;(ii)当点积为负时,将第一值分配给投影函数输出中的对应位置,以及(iii)当点积为正时,将第二个值分配给投影函数输出中的对应位置。
在一些实现方式中,对于每一个投影层,每一个投影函数被编码为稀疏矩阵,并用于从层输入生成二进制表示。
在一些实现方式中,投影层参数包括参数矩阵和偏差向量。通过将用于投影层的投影层参数应用于投影函数输出来生成层输出,包括将参数矩阵应用于投影函数输出,然后将偏差向量添加到结果。
根据另一方面,提供了一种训练投影神经网络的方法。该方法包括接收训练输入和训练输入的目标输出。根据投影层参数的当前值,使用投影神经网络处理训练输入,以生成训练输入的投影网络输出。使用具有多个训练器神经网络参数的训练器神经网络来处理训练输入。训练器神经网络被配置为根据训练器神经网络参数的当前值来处理训练输入,以生成特定于特定机器学习任务的训练器网络输出。对损失函数的训练器神经网络参数确定梯度,取决于目标输出和训练器网络输出之间的误差。对损失函数的投影层参数确定梯度,取决于训练器网络输出和投影网络输出之间的误差。使用这些梯度确定对训练器网络参数和投影层参数的当前值的更新。
在一些实现方式中,由训练器神经网络生成的输出是软目标输出。
在一些实现方式中,该方法还包括对损失函数的训练器网络参数确定梯度,损失函数取决于训练器网络输出和投影网络输出之间的误差。对训练器网络参数的当前值的更新还基于对损失函数的训练器网络参数的梯度,取决于训练器网络输出和投影网络输出之间的误差。
在一些实现方式中,该方法还包括对损失函数的投影层参数确定梯度,损失函数取决于目标输出与投影网络输出之间的误差。投影层参数的当前值的更新还基于对损失函数的投影层参数的梯度,取决于目标输出和投影网络输出之间的误差。
根据另一方面,提供了一种系统,该系统包括一个或多个计算机和一个或多个存储设备,该存储设备存储指令,当该指令由一个或多个计算机执行时,使该一个或多个计算机执行前述方法的操作。
根据另一方面,提供了一种或多种计算机存储介质,其存储指令,当这些指令由一个或多个计算机执行时,使该一个或多个计算机执行前述方法的操作。
根据另一方面,提供了一种或多种计算机存储介质,其存储指令,当这些指令由一个或多个计算机执行时,使该一个或多个计算机实现前述的投影神经网络。
可以实现本说明书中描述的主题的特定实施例,以实现以下优点中的一个或多个。
如本说明书中所述的投影网络可以更快地执行任务,并且其性能水平(例如预测精度)与更大更复杂的传统神经网络(即不包含投影层的神经网络,如本说明书中所述)相似,同时消耗较少的计算资源(例如,存储和计算能力)。例如,在某些情况下,尽管投影网络的参数比大型神经网络少几个数量级,但是投影网络可以执行具有与大型神经网络相当的性能水平的任务(例如,图像分类)。与传统神经网络相比,投影网络可以更快地执行任务并消耗更少的计算资源,因为它们包括投影层。
投影层通过处理由投影层函数输入的投影层输入来减小投影层输入的维数。投影层函数生成的投影函数输出的维数可能比投影层输入的维数小几个数量级。投影层通过将投影层参数(例如,权重矩阵和偏差向量)应用于低维投影函数输出来生成投影层输出。相反,传统神经网络层(例如,传统全连接层)可以直接处理(高维)传统层输入,而无需首先减小传统层输入的维数。由于投影层通过投影函数降低了层输入的维数,因此与某些传统神经网络层相比,投影层可能需要的层参数要少得多,并且在生成层输出中执行的算术运算要少得多。
因此,投影层可以通过执行较少的算术运算并因此消耗较少的计算能力来减少计算资源消耗(例如,相对于传统神经网络层而言)。此外,投影层可以减少计算资源消耗,因为它们可以使用较少的存储器(例如,以字节为单位测量)存储(例如,在逻辑数据存储区或物理数据存储设备中)。
因此,投影网络可能适合部署在资源受限的系统中,诸如无法部署某些传统神经网络的移动设备环境(例如,智能手机和智能手表)(例如,因为它们的计算资源需求超过了可用计算资源)。此外,将投影网络部署到资源受限的系统使这些系统可以通过本地而非远程执行任务来提高数据隐私性。本地执行任务是指使用位于系统内的计算资源执行任务,而远程执行任务是指通过通信网络(例如,互联网)将表征任务的数据传输到远程环境(例如,云环境),并通过通信网络接收完成任务的结果。本地执行任务可以提高数据隐私性,因为它不需要通过通信网络传输数据。
通过联合训练投影网络和训练器网络,可以训练投影网络以达到与更大型神经网络相当的性能水平(例如,预测精度)。训练器网络是被配置为执行与投影网络相同的任务的网络,但是通常比投影网络大得多(即,具有更多参数)。投影网络参数的值可以在训练期间使用损失函数的梯度来迭代地更新,该损失函数的梯度取决于训练器网络输出和投影网络输出之间的误差。以这种方式,尽管投影网络的参数比训练器网络少得多,但是投影网络可以学习模仿训练器网络的预测,从而生成几乎与训练器网络的预测一样精确的预测。
附加公开
本文讨论的技术参考服务器、数据库、软件应用和其他基于计算机的系统,以及对此类系统采取的行动和从此类系统发送的信息,发送到此类系统的系统。基于计算机的系统的固有灵活性允许在组件之间进行多种可能的配置、组合以及任务和功能的划分。例如,本文讨论的处理可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,也可以分布在多个系统上。分布式组件可以顺序或并行运行。
尽管已经对本主题的各种特定示例实施例详细描述了本主题,但是每一个示例都是通过说明的方式提供的,而不是对本公开的限制。本领域技术人员在理解前述内容后,可以容易地对这些实施例进行变更、变型和等同形式。因此,本领域的公开内容并不排除对本主题包括对本领域的普通技术人员而言显而易见的这种修改、变化和/或添加。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,本公开旨在覆盖这样的变更、变化和等同形式。
Claims (34)
1.一种计算系统,包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,共同存储:
预训练的投影网络,被配置为接收包括一个或多个文本单元的语言输入,并从语言输入动态生成中间表示,投影网络包括:
一个或多个投影层的序列,其中,每一个投影层被配置为接收层输入并将多个投影层函数应用于层输入以生成投影层输出;以及
一个或多个中间层的序列,被配置为接收由一个或多个投影层的序列中的最后一个投影层生成的投影层输出并生成一个或多个中间层输出,其中,中间表示包括由一个或多个中间层的序列中的最后一个中间层生成的中间层输出;
指令,在由一个或多个处理器执行时使计算系统执行操作,操作包括:
获取语言输入;
将语言输入输入预训练的投影网络;以及
接收中间表示作为预训练的投影网络的输出。
2.根据权利要求1所述的计算系统,其中:
一个或多个非暂时性计算机可读介质还共同存储机器学习预测模型,被配置为接收中间表示并从中间表示生成预测;以及
所述操作还包括:
将中间表示输入到机器学习预测模型中;以及
接收预测作为机器学习预测模型的输出。
3.根据前述权利要求中的任意一项所述的计算系统,其中,预先训练的投影网络先前被训练为自动编码器模型的一部分,所述自动编码器模型包括:
预训练的投影网络被配置为接收语言输入并生成中间表示;以及
解码器模型,被配置为接收中间表示并基于中间表示生成重构语言输入。
4.根据权利要求3所述的计算系统,其中,解码器模型包括循环神经网络。
5.根据权利要求3或4所述的计算系统,其中:
语言输入包括描述句子的数据;
中间表示包括句子表示;以及
解码器模型被配置为生成重构的句子。
6.根据权利要求3-5中的任意一项所述的计算系统,其中,训练自动编码器模型,以基于逐个令牌最大化每一个相应重构输入与对应示例输入匹配的概率。
7.根据权利要求1或2所述的计算系统,其中,预训练的投影网络先前被训练为投影skip-gram模型,该skip-gram模型被配置为接收输入词并预测围绕输入词的多个情境词。
8.根据权利要求7所述的计算系统,其中,使用负采样目标函数来训练投影skip-gram模型。
9.根据权利要求7或8所述的计算系统,其中,使用目标函数来训练投影skip-gram模型,所述目标函数包括正则化项,所述正则化项提供惩罚,所述惩罚的幅度与投影网络对训练批中的每对词产生的相应中间表示之间的余弦相似度之和成正相关。
10.根据权利要求7-9中的任意一项所述的计算系统,其中,对包括多个训练示例的训练数据集合训练投影skip-gram模型,并且其中,在投影skip-gram模型的训练期间,将一个或多个微扰函数应用于多个训练示例中的一个或多个。
11.根据前述权利要求中的任意一项所述的计算系统,其中:
除最后一个中间层之外的每一个中间层包括一个或多个非线性激活;以及
最后一个中间层包括全连接层而没有非线性激活。
12.根据权利要求2-11中的任意一项所述的计算系统,其中:
先前使用无监督学习技术来训练投影网络;和
使用监督学习技术来训练至少机器学习预测模型。
13.根据权利要求2-12中的任意一项所述的计算系统,其中:
先前使用包括第一多个训练示例的第一训练数据集合来训练投影网络;以及
使用包括第二多个训练示例的第二不同训练数据集合来训练至少机器学习预测模型。
14.根据权利要求13所述的计算系统,其中,通过执行训练操作,使用第二不同训练数据集合来训练机器学习预测模型包括:
将第二多个训练示例中的每一个输入到投影网络中;
接收第二多个训练示例中的每一个的相应中间表示,作为投影网络的输出;
将每一个相应中间表示输入到机器学习预测模型中;
接收第二多个训练示例中的每一个的相应预测,作为机器学习预测模型的输出;以及
至少通过机器学习预测模型反向传播目标函数,所述目标函数将与第二多个训练示例中的每一个的相应预测与和这种训练示例相关联的相应基本事实进行比较。
15.根据权利要求14所述的计算系统,其中,在通过机器学习预测模型反向传播目标函数之后,通过一个或多个中间层的序列进一步反向传播目标函数,使用第二不同训练数据集合来进一步完善投影网络。
16.根据前述权利要求中的任意一项所述的计算系统,其中,语言输入:
由单个词组成;或者
包括多个词的串。
17.根据前述权利要求中的任意一项所述的计算系统,其中,投影网络还包括特征提取层,被配置为接收语言输入并生成包括从语言输入中提取的特征的特征向量,其中,一个或多个投影层中的第一投影层的层输入包括特征向量,并且其中,从语言输入中提取的特征包括以下一个或多个:skip-gram、n-gram、词性标签、依赖关系、知识图信息、或情境信息。
18.根据前述权利要求中的任意一项所述的计算系统,其中,对于每一个投影层,多个投影层函数被预先计算并保持静态。
19.根据前述权利要求中的任意一项所述的计算系统,其中,对于每一个投影层,使用局部敏感哈希来对多个投影层函数进行建模。
20.根据前述权利要求中的任意一项所述的计算系统,所述操作还包括:使用一个或多个种子在推断时动态计算多个投影层函数。
21.根据前述权利要求中的任意一项所述的计算系统,其中,投影神经网络执行自然语言处理,而无需初始化、加载或存储任何特征或词汇权重矩阵。
22.根据前述权利要求中的任意一项所述的计算系统,其中,对于每一个投影层,每一个投影函数与相应投影向量集合相关联,并且其中,将每一个投影函数应用于层输入包括:
对于每一个投影向量:
确定层输入和投影向量之间的点积;
当点积为负时,将第一值分配给投影函数输出中的对应位置;以及
当点积为正时,将第二值分配给投影函数输出中的对应位置。
23.根据前述权利要求中的任意一项所述的计算系统,其中,对于每一个投影层,每一个投影函数被编码为稀疏矩阵,并被用于从层输入生成二进制表示。
24.根据前述权利要求中的任意一项所述的计算系统,其中,中间表示包括数字特征向量。
25.一种计算机实现的方法,用于预训练包括一个或多个投影层和一个或多个中间层的投影网络,每一个投影层被配置为应用一个或多个投影函数以将层输入投影到不同的维度空间,投影网络被配置为接收输入并为所述输入生成中间表示,所述方法包括:
由一个或多个计算设备访问包括多个示例输入的训练数据集合;
由一个或多个计算设备将多个示例输入中的每一个输入到投影网络中;
由一个或多个计算设备接收用于多个示例输入中的每一个的相应中间表示,作为投影网络的输出;
由一个或多个计算设备将每一个相应中间表示输入到解码器模型中,所述解码器模型被配置为基于中间表示来重构输入;
由一个或多个计算设备接收对多个示例输入中的每一个的相应重构输入,作为解码器模型的输出;以及
至少部分地基于每一个相应重构输入与对应示例输入的比较,由一个或多个计算设备学习投影网络的一个或多个中间层的一个或多个参数值。
26.根据权利要求25所述的计算机实现的方法,其中,解码器模型包括循环神经网络。
27.根据权利要求25或26所述的计算机实现的方法,其中:
每一个示例输入包括描述相应句子的数据;
每一个示例输入的相应中间表示包括相应句子的相应句子表示;以及
多个示例输入中的每一个的相应重构输入包括相应句子的相应重构句子。
28.根据权利要求25-27中的任意一项所述的计算机实现的方法,其中,至少部分地基于每一个相应重构输入与对应示例输入的比较,由一个或多个计算设备学习投影网络的一个或多个中间层的一个或多个参数值包括:由一个或多个计算设备联合训练投影网络和解码器,以基于逐个令牌最大化每一个相应重构输入与对应示例输入匹配的概率。
29.根据权利要求25-28中的任意一项所述的计算机实现的方法,还包括,在学习一个或多个参数值之后:
由一个或多个计算设备提供投影网络,以用作可传递自然语言表示生成器。
30.一种计算机实现的方法,用于预训练包括一个或多个投影层和一个或多个中间层的投影网络,每一个投影层被配置为应用一个或多个投影函数以将层输入投影到不同的维度空间,投影网络被配置为接收输入并为所述输入生成中间表示,所述方法包括:
由一个或多个计算设备访问包括多个输入词的训练数据集合,其中,相应基本事实情境词集合与多个输入词中的每一个相关联;
由一个或多个计算设备将多个输入词中的每一个输入到投影网络中;
由一个或多个计算设备接收对多个输入词中的每一个的相应中间表示,作为投影网络的输出;
由一个或多个计算设备至少部分地基于多个输入词中的每一个的相应中间表示来确定多个输入词中的每一个的预测情境词集合;以及
由一个或多个计算设备至少部分地基于对每一个输入词的、相应预测情境词集合和相应基本事实情境词集合的比较,来学习投影网络的一个或多个中间层的一个或多个参数值。
31.根据权利要求30所述的计算机实现的方法,其中,由一个或多个计算设备学习一个或多个参数值包括:由一个或多个计算设备优化负采样目标函数。
32.根据权利要求30或31所述的计算机实现的方法,其中,由一个或多个计算设备学习一个或多个参数值包括:由一个或多个计算设备优化目标函数,所述目标函数包括正则化项,所述正则化项提供惩罚,所述惩罚的幅度与投影网络对训练数据集合中的每对词产生的相应中间表示之间的余弦相似度之和成正相关。
33.根据权利要求30-32中的任意一项所述的计算机实现的方法,还包括,在将输入词输入到投影网络之前:
在学习一个或多个参数值期间,由一个或多个计算设备将一个或多个微扰函数应用到多个输入词中的一个或多个。
34.根据权利要求30-33中的任意一项所述的计算机实现的方法,还包括,在学习一个或多个参数值之后:
由一个或多个计算设备提供投影网络,以用作可传递自然语言表示生成器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962805498P | 2019-02-14 | 2019-02-14 | |
US62/805,498 | 2019-02-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111368996A true CN111368996A (zh) | 2020-07-03 |
CN111368996B CN111368996B (zh) | 2024-03-12 |
Family
ID=71208001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010093708.1A Active CN111368996B (zh) | 2019-02-14 | 2020-02-14 | 可传递自然语言表示的重新训练投影网络 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11526680B2 (zh) |
CN (1) | CN111368996B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464784A (zh) * | 2020-11-25 | 2021-03-09 | 西安烽火软件科技有限公司 | 一种基于混合并行的分布式训练方法 |
CN113011555A (zh) * | 2021-02-09 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN114298277A (zh) * | 2021-12-28 | 2022-04-08 | 四川大学 | 一种基于层稀疏化的分布式深度学习训练方法及系统 |
CN114444485A (zh) * | 2022-01-24 | 2022-05-06 | 四川大学 | 一种云环境网络设备实体识别方法 |
CN115114439A (zh) * | 2022-08-30 | 2022-09-27 | 北京百度网讯科技有限公司 | 多任务模型推理、多任务信息处理的方法和装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10885277B2 (en) | 2018-08-02 | 2021-01-05 | Google Llc | On-device neural networks for natural language understanding |
CN111368565B (zh) * | 2018-09-05 | 2022-03-18 | 腾讯科技(深圳)有限公司 | 文本翻译方法、装置、存储介质和计算机设备 |
US11615311B2 (en) * | 2018-12-10 | 2023-03-28 | Baidu Usa Llc | Representation learning for input classification via topic sparse autoencoder and entity embedding |
CN111368996B (zh) * | 2019-02-14 | 2024-03-12 | 谷歌有限责任公司 | 可传递自然语言表示的重新训练投影网络 |
US11694088B2 (en) * | 2019-03-13 | 2023-07-04 | Cortica Ltd. | Method for object detection using knowledge distillation |
US11704573B2 (en) * | 2019-03-25 | 2023-07-18 | Here Global B.V. | Method, apparatus, and computer program product for identifying and compensating content contributors |
US11783130B2 (en) * | 2019-05-06 | 2023-10-10 | John Snow Labs Inc. | Using unsupervised machine learning for automatic entity resolution of natural language records |
US11176333B2 (en) * | 2019-05-07 | 2021-11-16 | International Business Machines Corporation | Generation of sentence representation |
US11132513B2 (en) | 2019-05-07 | 2021-09-28 | International Business Machines Corporation | Attention-based natural language processing |
JP7418780B2 (ja) * | 2019-07-18 | 2024-01-22 | 国立研究開発法人情報通信研究機構 | 推論器、推論方法および推論プログラム |
US20210142210A1 (en) * | 2019-11-11 | 2021-05-13 | Alibaba Group Holding Limited | Multi-task segmented learning models |
US11544456B2 (en) * | 2020-03-05 | 2023-01-03 | Adobe Inc. | Interpretable label-attentive encoder-decoder parser |
US11687723B2 (en) * | 2020-03-23 | 2023-06-27 | International Business Machines Corporation | Natural language processing with missing tokens in a corpus |
US11250853B2 (en) * | 2020-04-30 | 2022-02-15 | Robert Bosch Gmbh | Sarcasm-sensitive spoken dialog system |
IT202000029876A1 (it) * | 2020-12-04 | 2022-06-04 | Airesearch S R L | Metodi di elaborazione automatica del linguaggio naturale mediante intelligenza artificiale |
IT202000029894A1 (it) * | 2020-12-04 | 2022-06-04 | Airesearch S R L | Metodi di elaborazione automatica del linguaggio naturale mediante intelligenza artificiale |
CN112598130B (zh) * | 2020-12-09 | 2024-04-09 | 华东交通大学 | 基于自编码器和奇异值阈值的土壤湿度数据重构方法和计算机可读存储介质 |
US12087279B2 (en) | 2021-03-26 | 2024-09-10 | Google Llc | Regularizing word segmentation |
CN113762322B (zh) * | 2021-04-22 | 2024-06-25 | 腾讯科技(北京)有限公司 | 基于多模态表示的视频分类方法、装置和设备及存储介质 |
US11853706B2 (en) * | 2021-05-17 | 2023-12-26 | Salesforce.Com, Inc. | Generative language model for few-shot aspect-based sentiment analysis |
US20220383126A1 (en) * | 2021-05-19 | 2022-12-01 | Microsoft Technology Licensing, Llc | Low-Rank Adaptation of Neural Network Models |
KR20230013793A (ko) * | 2021-07-20 | 2023-01-27 | 현대모비스 주식회사 | 어텐션 메카니즘 및 의미분석 기반 문서 분류장치 및 방법 |
US12050858B2 (en) * | 2021-09-21 | 2024-07-30 | Bank Of America Corporation | Personal data discovery |
WO2024077002A2 (en) * | 2022-10-03 | 2024-04-11 | Drexel University | Natural intelligence for natural language processing |
WO2024162970A1 (en) * | 2023-02-03 | 2024-08-08 | Google Llc | Deterministic inference for machine learning models with variable behavior |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276771A (en) * | 1991-12-27 | 1994-01-04 | R & D Associates | Rapidly converging projective neural network |
US20140236577A1 (en) * | 2013-02-15 | 2014-08-21 | Nec Laboratories America, Inc. | Semantic Representations of Rare Words in a Neural Probabilistic Language Model |
US20180121799A1 (en) * | 2016-11-03 | 2018-05-03 | Salesforce.Com, Inc. | Training a Joint Many-Task Neural Network Model using Successive Regularization |
US20180150744A1 (en) * | 2016-11-29 | 2018-05-31 | Microsoft Technology Licensing, Llc | Neural network data entry system |
CN108733653A (zh) * | 2018-05-18 | 2018-11-02 | 华中科技大学 | 一种基于融合词性和语义信息的Skip-gram模型的情感分析方法 |
US20180336472A1 (en) * | 2017-05-20 | 2018-11-22 | Google Llc | Projection neural networks |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292787B2 (en) | 2012-08-29 | 2016-03-22 | Microsoft Technology Licensing, Llc | Computer-implemented deep tensor neural network |
US20140156575A1 (en) | 2012-11-30 | 2014-06-05 | Nuance Communications, Inc. | Method and Apparatus of Processing Data Using Deep Belief Networks Employing Low-Rank Matrix Factorization |
US9519859B2 (en) | 2013-09-06 | 2016-12-13 | Microsoft Technology Licensing, Llc | Deep structured semantic model produced using click-through data |
RU2666631C2 (ru) | 2014-09-12 | 2018-09-11 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Обучение dnn-студента посредством распределения вывода |
CN104538028B (zh) | 2014-12-25 | 2017-10-17 | 清华大学 | 一种基于深度长短期记忆循环神经网络的连续语音识别方法 |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US9524716B2 (en) | 2015-04-17 | 2016-12-20 | Nuance Communications, Inc. | Systems and methods for providing unnormalized language models |
US20180356771A1 (en) | 2015-09-17 | 2018-12-13 | Nanyang Technologyical University | Computer system incorporating an adaptive model and methods for training the adaptive model |
KR102492318B1 (ko) | 2015-09-18 | 2023-01-26 | 삼성전자주식회사 | 모델 학습 방법 및 장치, 및 데이터 인식 방법 |
US20170132528A1 (en) | 2015-11-06 | 2017-05-11 | Microsoft Technology Licensing, Llc | Joint model training |
US11100073B2 (en) | 2015-11-12 | 2021-08-24 | Verizon Media Inc. | Method and system for data assignment in a distributed system |
US9842106B2 (en) | 2015-12-04 | 2017-12-12 | Mitsubishi Electric Research Laboratories, Inc | Method and system for role dependent context sensitive spoken and textual language understanding with neural networks |
GB2555431A (en) * | 2016-10-27 | 2018-05-02 | Nokia Technologies Oy | A method for analysing media content |
US9990687B1 (en) | 2017-01-19 | 2018-06-05 | Deep Learning Analytics, LLC | Systems and methods for fast and repeatable embedding of high-dimensional data objects using deep learning with power efficient GPU and FPGA-based processing platforms |
US20180260381A1 (en) * | 2017-03-09 | 2018-09-13 | Xerox Corporation | Prepositional phrase attachment over word embedding products |
WO2018218034A1 (en) * | 2017-05-25 | 2018-11-29 | J. W. Pepper & Son, Inc. | Sheet music search and discovery system |
GB201714917D0 (en) * | 2017-09-15 | 2017-11-01 | Spherical Defence Labs Ltd | Detecting anomalous application messages in telecommunication networks |
US10990901B2 (en) * | 2017-11-13 | 2021-04-27 | Accenture Global Solutions Limited | Training, validating, and monitoring artificial intelligence and machine learning models |
WO2019128660A1 (zh) * | 2017-12-29 | 2019-07-04 | 清华大学 | 训练神经网络的方法和设备、图像处理方法和设备以及存储介质 |
US11106868B2 (en) * | 2018-03-06 | 2021-08-31 | Samsung Electronics Co., Ltd. | System and method for language model personalization |
US10885082B2 (en) * | 2018-03-22 | 2021-01-05 | International Business Machines Corporation | Implicit relation induction via purposeful overfitting of a word embedding model on a subset of a document corpus |
US10811000B2 (en) * | 2018-04-13 | 2020-10-20 | Mitsubishi Electric Research Laboratories, Inc. | Methods and systems for recognizing simultaneous speech by multiple speakers |
EP3579125A1 (en) * | 2018-06-05 | 2019-12-11 | Sap Se | System, computer-implemented method and computer program product for information retrieval |
US11205121B2 (en) * | 2018-06-20 | 2021-12-21 | Disney Enterprises, Inc. | Efficient encoding and decoding sequences using variational autoencoders |
US10885277B2 (en) * | 2018-08-02 | 2021-01-05 | Google Llc | On-device neural networks for natural language understanding |
US10812449B1 (en) * | 2018-09-19 | 2020-10-20 | Verisign | Method for generating a domain name using a learned information-rich latent space |
US11150875B2 (en) * | 2018-09-27 | 2021-10-19 | Microsoft Technology Licensing, Llc | Automated content editor |
US11017778B1 (en) * | 2018-12-04 | 2021-05-25 | Sorenson Ip Holdings, Llc | Switching between speech recognition systems |
CN111368996B (zh) * | 2019-02-14 | 2024-03-12 | 谷歌有限责任公司 | 可传递自然语言表示的重新训练投影网络 |
-
2020
- 2020-02-14 CN CN202010093708.1A patent/CN111368996B/zh active Active
- 2020-02-14 US US16/790,917 patent/US11526680B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276771A (en) * | 1991-12-27 | 1994-01-04 | R & D Associates | Rapidly converging projective neural network |
US20140236577A1 (en) * | 2013-02-15 | 2014-08-21 | Nec Laboratories America, Inc. | Semantic Representations of Rare Words in a Neural Probabilistic Language Model |
US20180121799A1 (en) * | 2016-11-03 | 2018-05-03 | Salesforce.Com, Inc. | Training a Joint Many-Task Neural Network Model using Successive Regularization |
US20180150744A1 (en) * | 2016-11-29 | 2018-05-31 | Microsoft Technology Licensing, Llc | Neural network data entry system |
US20180336472A1 (en) * | 2017-05-20 | 2018-11-22 | Google Llc | Projection neural networks |
CN108733653A (zh) * | 2018-05-18 | 2018-11-02 | 华中科技大学 | 一种基于融合词性和语义信息的Skip-gram模型的情感分析方法 |
Non-Patent Citations (1)
Title |
---|
张剑 等: "基于词向量特征的循环神经网络语言模型", 模式识别与人工智能, no. 04, pages 299 - 305 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464784A (zh) * | 2020-11-25 | 2021-03-09 | 西安烽火软件科技有限公司 | 一种基于混合并行的分布式训练方法 |
CN113011555A (zh) * | 2021-02-09 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113011555B (zh) * | 2021-02-09 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN114298277A (zh) * | 2021-12-28 | 2022-04-08 | 四川大学 | 一种基于层稀疏化的分布式深度学习训练方法及系统 |
CN114298277B (zh) * | 2021-12-28 | 2023-09-12 | 四川大学 | 一种基于层稀疏化的分布式深度学习训练方法及系统 |
CN114444485A (zh) * | 2022-01-24 | 2022-05-06 | 四川大学 | 一种云环境网络设备实体识别方法 |
CN115114439A (zh) * | 2022-08-30 | 2022-09-27 | 北京百度网讯科技有限公司 | 多任务模型推理、多任务信息处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11526680B2 (en) | 2022-12-13 |
US20200265196A1 (en) | 2020-08-20 |
CN111368996B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368996B (zh) | 可传递自然语言表示的重新训练投影网络 | |
US11934791B2 (en) | On-device projection neural networks for natural language understanding | |
US11861477B2 (en) | Utilizing machine learning models to identify insights in a document | |
US12039280B2 (en) | Multi-turn dialogue response generation with persona modeling | |
US10824949B2 (en) | Method and system for extracting information from graphs | |
CN112084327B (zh) | 在保留语义的同时对稀疏标注的文本文档的分类 | |
US11755909B2 (en) | Method of and system for training machine learning algorithm to generate text summary | |
CN111930942B (zh) | 文本分类方法、语言模型训练方法、装置及设备 | |
Beysolow | Applied natural language processing with python | |
CN112101042B (zh) | 文本情绪识别方法、装置、终端设备和存储介质 | |
WO2023134083A1 (zh) | 基于文本的情感分类方法和装置、计算机设备、存储介质 | |
CN113553510B (zh) | 一种文本信息推荐方法、装置及可读介质 | |
US11900070B2 (en) | Producing explainable rules via deep learning | |
Shakhovska et al. | An Approach for a Next‐Word Prediction for Ukrainian Language | |
US20230401382A1 (en) | Dynamic Language Models for Continuously Evolving Content | |
Chen et al. | Deep neural networks for multi-class sentiment classification | |
CN116049387A (zh) | 一种基于图卷积的短文本分类方法、装置、介质 | |
Chaudhuri | Visual and text sentiment analysis through hierarchical deep learning networks | |
CN110781666A (zh) | 基于生成式对抗网络的自然语言处理文本建模 | |
WO2021234610A1 (en) | Method of and system for training machine learning algorithm to generate text summary | |
Fergus et al. | Natural language processing | |
US11989515B2 (en) | Adjusting explainable rules using an exploration framework | |
Beysolow II et al. | Topic modeling and word embeddings | |
KR20190101551A (ko) | 퍼지 범주 표현을 이용한 확률 레이블 부착 알고리즘을 사용한 분류 방법 | |
US20240320251A1 (en) | Systems and methods for generating query responses |
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 |