CN115292439A - 一种数据处理方法及相关设备 - Google Patents
一种数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN115292439A CN115292439A CN202110415349.1A CN202110415349A CN115292439A CN 115292439 A CN115292439 A CN 115292439A CN 202110415349 A CN202110415349 A CN 202110415349A CN 115292439 A CN115292439 A CN 115292439A
- Authority
- CN
- China
- Prior art keywords
- data
- predicted
- data unit
- target
- vectors
- 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
- 238000003672 processing method Methods 0.000 title abstract description 38
- 239000013598 vector Substances 0.000 claims abstract description 741
- 238000012545 processing Methods 0.000 claims abstract description 195
- 238000000034 method Methods 0.000 claims abstract description 130
- 230000015654 memory Effects 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims description 57
- 239000004973 liquid crystal related substance Substances 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 abstract description 24
- 230000002829 reductive effect Effects 0.000 abstract description 4
- 239000011159 matrix material Substances 0.000 description 56
- 238000012549 training Methods 0.000 description 49
- 238000010586 diagram Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 28
- 238000007781 pre-processing Methods 0.000 description 24
- 238000003058 natural language processing Methods 0.000 description 19
- 230000007246 mechanism Effects 0.000 description 16
- 238000013473 artificial intelligence Methods 0.000 description 13
- 230000009466 transformation Effects 0.000 description 13
- 238000013500 data storage Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 10
- 230000001537 neural effect Effects 0.000 description 10
- 238000013519 translation Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 241000282326 Felis catus Species 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 230000008451 emotion Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 208000013409 limited attention Diseases 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000001052 transient 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/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/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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
-
- 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/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种数据处理方法,包括:获取用于表示已知数据单元以及已知数据单元位置的第一嵌入向量、以及用于表示待预测数据单元位置的第二嵌入向量,并通过目标编码器,对第一嵌入向量进行处理,以得到输出向量,通过目标预测网络,对输出向量以及第二嵌入向量进行处理,以得到待预测数据单元。本申请不需要再单独设置额外的M个位置信息来作为目标编码器的输入,且目标编码器的中间输出的隐变量的数量也和输入的嵌入向量的数量保持一致,减少了目标编码器的计算量和内存消耗。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种数据处理方法及相关设备。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
语言模型(Language Model)是指能够根据一部分给定的语义片段,预测句子中的未知词的模型。例如:给定的自然语言序列片段“华为__很不错。”,语言模型可以根据该片段生成未知的词语,如该例子中语言模型可基于给定片段生成“手机”一词,进而得到句子为“华为手机很不错。”。
在现有的自然语言生成模型(参照图6b)中,将自编码模型和自回归语言模型进行了融合,相比自编码模型和自回归语言模型,该模型将隐状态数量扩大了一倍,其中白色部分对应自编码模型,灰色部分对应自回归语言模型,自编码模型相关的隐变量用于表示位置信息,自回归模型用于提供自编码语言模型预测的上下文信息,该模型的计算量和内存消耗是自编码和自回归模型的两倍。因此,需要提供一种计算量和内存消耗较少的语言模型。
发明内容
第一方面,本申请提供了一种数据处理方法,其特征在于,所述方法包括:
获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
其中,目标数据为存在数据缺失的数据,其中,目标数据包括未缺失的数据(本申请实施例中称之为已知数据单元)以及缺失的数据(本申请实施例中称之为待预测数据单元,例如第一待预测数据单元以及第二待预测数据单元)。其中,已知数据单元为未缺失的数据中的数据单元,例如所述目标数据可以为文本数据,则目标数据中的已知数据单元可以为文本数据中已知的单词或者是已知的字,待预测数据单元可以为所述文本数据中的待预测词或者是待预测字。例如所述目标数据可以为语音数据,则目标数据中的已知数据单元可以为语音数据中的已知音频序列,待预测数据单元可以为所述语音数据中的待预测音频序列。例如所述目标数据可以为图像数据,则目标数据中的已知数据单元可以为语音数据中的已知像素点,待预测数据单元可以为所述语音数据中的待预测像素点。应理解,已知数据单元和待预测数据单元的数据粒度和目标数据的类型有关,已知数据单元和待预测数据单元的数据粒度可以是目标数据中最小的数据单元或者是由最小的数据单元组成的多个数据单元,这里并不限定已知数据单元和待预测数据单元的粒度。
通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
其中,所谓每个第一输出向量为基于M个第一嵌入向量得到的,可以理解为每个第一输出向量可以将M个第一嵌入向量作为参考,也就是在生成每个第一输出向量时,各个第一嵌入向量都是可见的,或者,每个第一输出向量与M个第一嵌入向量存在依赖关系;
在一种实现中,所述目标编码器可以为转换transformer层,则每个第一输出向量为基于M个第一嵌入向量得到可以理解为M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联。
通过目标预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到所述第一待预测数据单元;
本申请实施例,针对于M个已知数据单元对应的M个第一嵌入向量,目标编码器可以将M个第一嵌入向量作为输入,其中第一嵌入向量包括了各个已知数据单元的位置信息和已知数据单元的数据信息,而不需要再单独设置额外的M个位置信息来作为目标编码器的输入,此外,目标编码器的中间输出的隐变量的数量也和输入的嵌入向量的数量保持一致,减少了目标编码器的计算量和内存消耗。
在一种可能的实现中,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
在一种可能的实现中,所述目标编码器为第一转换transformer层,所述目标预测网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
也就是说,每个子transformer层的输入包括与M个已知数据单元对应的M个特征向量,每个子transformer层的输出包括与M个已知数据单元对应的M个输出向量。进而使得目标编码器的中间输出的隐变量的数量也和输入的嵌入向量的数量保持一致,减少了目标编码器的计算量和内存消耗。
在一种可能的实现中,所述目标编码器包括注意力头,所述通过目标编码器,对所述M个第一嵌入向量进行处理,包括:
获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;
根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
在一种可能的实现中,所述方法还包括:
通过嵌入层对所述目标数据中的M个已知数据单元进行嵌入处理,以得到M个第三嵌入向量;其中嵌入层可以称为输入嵌入(input embedding)层。当前输入可以为M个已知数据单元。嵌入层在获取当前输入后,可以对该当前输入中各个已知数据单元进行嵌入处理,可得到各个已知数据单元对应的嵌入向量(也就是第三嵌入向量);
获取所述M个已知数据单元中的每个已知数据单元的位置向量,所述位置向量用于指示所述第一位置;在一些实施例中,还可以获取所述M个已知数据单元中的每个已知数据单元的位置向量,所述位置向量用于指示所述第一位置;其中,第一位置用于表示已知数据单元在目标数据中的位置,具体的,所述第一位置可以用于指示所述目标数据中已知数据单元与除自身之外的其他已知数据单元以及所述第一待预测数据单元之间的相对位置关系;
将所述M个第三嵌入向量中的每个第三嵌入向量与对应的位置向量进行融合,以得到所述M个第一嵌入向量;应理解,融合的方式可以是对第三嵌入向量和位置向量进行加法运算,或者是通过其他运算使得第一嵌入向量可以携带目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置的信息,这里并不限定具体的融合方式。
在一种可能的实现中,所述目标数据还包括第二待预测数据单元,且所述第二待预测数据单元与所述第一待预测数据单元的被预测先后顺序为随机确定的。
在一种可能的实现中,若所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则所述方法还包括:
获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述第二待预测数据单元在所述目标数据中的第三位置;
通过所述目标编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量;
通过所述目标预测网络,对所述M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第二待预测数据单元。
本申请实施例中采用随机顺序的方式来进行预测,充分利用了待预测数据单元的顺序信息,将顺序信息显式的融入输出向量中。
在一种可能的实现中,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
在一种可能的实现中,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
第二方面,本申请提供了一种数据处理方法,所述方法包括:
获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个数据单元以及所述一个数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于指示目标处理任务;所述M为正整数;
通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个数据单元对应的M个输出向量,其中,每个所述数据单元对应的输出向量为根据所述M个第一嵌入向量生成的;
通过任务网络,对所述M个输出向量以及所述第二嵌入向量进行所述目标处理任务对应的处理,以得到任务处理结果。
在一种可能的实现中,所述第一位置用于指示所述数据单元与其他数据单元之间的相对位置关系。
在一种可能的实现中,所述目标编码器为第一转换transformer层,所述任务网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个输出向量。
在一种可能的实现中,所述目标编码器包括注意力头,所述通过目标编码器,对所述M个第一嵌入向量进行处理,包括:
获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;
根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
在一种可能的实现中,所述目标数据为文本数据,所述数据单元为所述文本数据中的词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的像素点。
在一种可能的实现中,所述目标处理任务包括短文本分类、长文本分类、自然语言推断、文本相似度匹配或文本情感分类。
第三方面,本申请提供了一种数据处理方法,所述方法包括:
获取第一编码器、第一预测网络、M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
通过所述第一预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到第三预测数据单元;
基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
在一种可能的实现中,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
在一种可能的实现中,所述第一编码器为第一转换transformer层,所述第一预测网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
在一种可能的实现中,所述目标数据还包括第二待预测数据单元,且所述第二待预测数据单元与所述第一待预测数据单元的被预测先后顺序为随机确定的。
在一种可能的实现中,若所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则所述方法还包括:
获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述目标数据中的第二待预测数据单元在所述目标数据中的第三位置;
通过所述第一编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量;
通过所述第一预测网络,对所述M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第四待预测数据单元;
所述基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络,包括:
基于所述第三预测数据单元与所述第一待预测数据单元之间的差异、以及所述第四预测数据单元与所述第二待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
在一种可能的实现中,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
在一种可能的实现中,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
第四方面,本申请提供了一种数据处理装置,包括:
获取模块,用于获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
编码模块,用于通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
预测模块,用于通过目标预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到所述第一待预测数据单元。
在一种可能的实现中,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
在一种可能的实现中,所述目标编码器为第一转换transformer层,所述目标预测网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
在一种可能的实现中,所述目标编码器包括注意力头,所述编码模块,用于获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;
根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
在一种可能的实现中,所述装置还包括:
嵌入模块,用于通过嵌入层对所述目标数据中的M个已知数据单元进行嵌入处理,以得到M个第三嵌入向量;
获取所述M个已知数据单元中的每个已知数据单元的位置向量,所述位置向量用于指示所述第一位置;
将所述M个第三嵌入向量中的每个第三嵌入向量与对应的位置向量进行融合,以得到所述M个第一嵌入向量。
在一种可能的实现中,所述目标数据还包括第二待预测数据单元,且所述第二待预测数据单元与所述第一待预测数据单元的被预测先后顺序为随机确定的。
在一种可能的实现中,若所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则所述方法还包括:
获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述第二待预测数据单元在所述目标数据中的第三位置;
通过所述目标编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量;
通过所述目标预测网络,对所述M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第二待预测数据单元。
在一种可能的实现中,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
在一种可能的实现中,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
第五方面,本申请提供了一种数据处理装置,包括:
获取模块,用于获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个数据单元以及所述一个数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于指示目标处理任务;所述M为正整数;
编码模块,用于通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个数据单元对应的M个输出向量,其中,每个所述数据单元对应的输出向量为根据所述M个第一嵌入向量生成的;
任务处理模块,用于通过任务网络,对所述M个输出向量以及所述第二嵌入向量进行所述目标处理任务对应的处理,以得到任务处理结果。
在一种可能的实现中,所述第一位置用于指示所述数据单元与其他数据单元之间的相对位置关系。
在一种可能的实现中,所述目标编码器为第一转换transformer层,所述任务网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个输出向量。
在一种可能的实现中,所述目标编码器包括注意力头,所述编码模块,用于获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;
根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
在一种可能的实现中,所述目标数据为文本数据,所述数据单元为所述文本数据中的词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的像素点。
在一种可能的实现中,所述目标处理任务包括短文本分类、长文本分类、自然语言推断、文本相似度匹配或文本情感分类。
第六方面,本申请提供了一种数据处理装置,包括:
获取模块,用于获取第一编码器、第一预测网络、M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
编码模块,用于通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
预测模块,用于通过所述第一预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到第三预测数据单元;
模型训练模块,用于基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
在一种可能的实现中,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
在一种可能的实现中,所述第一编码器为第一转换transformer层,所述第一预测网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
在一种可能的实现中,所述目标数据还包括第二待预测数据单元,且所述第二待预测数据单元与所述第一待预测数据单元的被预测先后顺序为随机确定的。
在一种可能的实现中,若所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则所述方法还包括:
获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述目标数据中的第二待预测数据单元在所述目标数据中的第三位置;
通过所述第一编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量;
通过所述第一预测网络,对所述M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第四待预测数据单元;
所述基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络,包括:
基于所述第三预测数据单元与所述第一待预测数据单元之间的差异、以及所述第四预测数据单元与所述第二待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
在一种可能的实现中,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
在一种可能的实现中,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
第七方面,本申请实施例提供了一种执行设备,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第一方面及其任一可选的方法、第二方面及其任一可选的方法。
第八方面,本申请实施例提供了一种训练设备,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第三方面及其任一可选的方法。
第九方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面及其任一可选的方法、第二方面及其任一可选的方法、第三方面及其任一可选的方法。
第十方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面及其任一可选的方法、第二方面及其任一可选的方法、第三方面及其任一可选的方法。
第十一方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持执行设备或训练设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据;或,信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
本申请实施例提供了一种数据处理方法,所述方法包括:获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;通过目标预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到所述第一待预测数据单元。通过上述方式,针对于M个已知数据单元对应的M个第一嵌入向量,目标编码器可以将M个第一嵌入向量作为输入,其中第一嵌入向量包括了位置信息和已知数据单元的数据信息,而不需要再单独设置额外的M个位置信息来作为目标编码器的输入,此外,目标编码器的中间输出的隐变量的数量也和输入的嵌入向量的数量保持一致,减少了目标编码器的计算量和内存消耗。
附图说明
图1为人工智能主体框架的一种结构示意图;
图2为一种自然语言处理系统;
图3a为另一种自然语言处理系统;
图3b为一种系统的结构示意图;
图4为本申请实施例提供的自然语言处理的相关设备的示意图;
图5为一种transformer层的架构示意;
图6a为本申请实施例提供的一种数据处理方法的实施例示意;
图6b为一种数据处理方法的实施例示意;
图6c为本申请实施例提供的一种数据处理方法的实施例示意;
图7为本申请实施例中的一种神经网络模型的结构示意;
图8为一种transformer层的结构示意;
图9为一个注意力头head的操作示意图;
图10至图19为本申请实施例提供的一种数据处理方法的实施例示意图;
图20为本申请实施例提供的数据处理装置的一种结构示意图;
图21为本申请实施例提供的数据处理装置的一种结构示意图;
图22为本申请实施例提供的数据处理装置的一种结构示意图;
图23为本申请实施例提供的执行设备的一种结构示意图;
图24为本申请实施例提供的训练设备一种结构示意图;
图25为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、智慧城市等。
本申请可以应用于人工智能领域的自然语言处理领域、图像处理领域以及音视频处理领域中,下面以自然语言处理为例将对多个落地到产品的多个应用场景进行介绍。
为了更好地理解本申请实施例的方案,下面先结合图1至图3a对本申请实施例可能的应用场景进行简单的介绍。
图2示出了一种自然语言处理系统,该自然语言处理系统包括用户设备以及数据处理设备。其中,用户设备包括手机、个人电脑或者信息处理中心等智能终端。用户设备为自然语言数据处理的发起端,作为语言问答或者查询等请求的发起方,通常用户通过用户设备发起请求。
上述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。数据处理设备通过交互接口接收来自智能终端的查询语句/语音/文本等,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习,搜索,推理,决策等方式的语言数据处理,并将处理结果反馈至用户设备。数据处理设备中的存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以在数据处理设备上,也可以在其它网络服务器上。
在图2所示的自然语言处理系统中,用户设备可以接收用户的指令,例如用户设备可以接收用户输入的一段文本,然后向数据处理设备发起请求,使得数据处理设备针对用户设备得到的该一段文本执行自然语言处理应用(例如自然语言生成、文本分类、文本推理、命名实体识别、翻译等),从而得到针对该一段文本的对应的自然语言处理应用的处理结果(例如预测词结果、分类结果、推理结果、命名实体识别结果、翻译结果等)。
以自然语言生成为例,自然语言生成(natural language generation)也可以称之为文本预测任务或者自然语言合成任务,是指在给定一段文字的前提下,生成其中的缺失文本或者后续文本的任务。自然语言生成在搜索引擎,输入法等场景均有广泛应用,可以在用户输入部分文字的前提下预测用户接下来的输入,可以大大提高用户的使用该产品的效率,此外还可以对存在文字缺失的文本进行恢复。示例性的,本申请实施例中,用户设备可以接收用户输入的一段文本数据(例如本申请实施例中描述的目标数据),其中文本数据中包括已知词和待预测词,待预测词不可见,仅仅知晓待预测词在文本数据中的位置,然后用户设备可以向数据处理设备发起请求(请求中携带文本数据),使得数据处理设备对该文本数据中的待预测词进行预测,从而得到待预测词,并将待预测词反馈至用户设备。
示例性的,用户设备可以接收用户输入的一段文本数据,然后向数据处理设备发起请求,使得数据处理设备对该一段文本数据进行实体分类,从而得到针对该一段文本数据的实体分类结果,并将实体分类结果反馈至用户设备;
示例性的,用户设备可以接收用户输入的一段文本数据(文本数据为中文文本),然后向数据处理设备发起请求,使得数据处理设备将该一段文本数据翻译成英文,从而得到针对该一段文本数据的英文译文,并将英文译文反馈至用户设备。
在图2中,数据处理设备可以通过本申请实施例的数据处理方法来处理上述文本数据。
图3a示出了另一种自然语言处理系统,在图3a中,用户设备直接作为数据处理设备,该用户设备能够直接接收来自用户的输入并直接由用户设备本身的硬件进行处理,具体过程与图2相似,可参考上面的描述,在此不再赘述。
图4是本申请实施例提供的自然语言处理的相关设备300的示意图。
上述图2和图3a中的用户设备具体可以是图4中的本地设备301或者本地设备302,图2中的数据处理设备具体可以是图4中的执行设备310,其中,数据存储系统350可以存储执行设备310的待处理数据,数据存储系统350可以集成在执行设备310上,也可以设置在云上或其它网络服务器上。
图2和图3a中的处理器可以通过神经网络模型或者其它模型进行数据训练/机器学习/深度学习,并利用数据最终训练或者学习得到的模型(例如本申请实施例中的目标编码器、目标预测网络、任务网络等等)针对文本数据(例如本申请实施例中描述的目标数据)执行自然语言处理应用(例如自然语言生成、文本分类、序列标注、阅读理解、文本生成、文本推理、翻译等),从而得到相应的处理结果(例如本申请实施例中的第一待预测数据单元、第二待预测数据单元以及任务处理结果等等)。
应理解,本申请实施例还可以应用在图像处理领域以及音视频处理领域中,则上述数据处理设备通过本申请实施例的数据处理方法来处理目标数据。
应理解,上述数据处理设备在后续实施例中也可以称之为数据处理装置、执行设备、服务器、终端设备等。
下面结合图3b对本申请实施例提供的系统架构进行详细的介绍。图3b为本申请一实施例提供的系统架构示意图。如图3b所示,系统架构500包括执行设备510、训练设备520、数据库530、客户设备540、数据存储系统550以及数据采集系统560。
执行设备510包括计算模块511、I/O接口512、预处理模块513和预处理模块514。计算模块511中可以包括目标模型/规则501,预处理模块513和预处理模块514是可选的。
数据采集设备560用于采集训练数据。其中,在自然语言合成的任务中,训练数据可以为存在文本缺失的文本数据以及该存在文本缺失的文本数据对应的完整文本数据;在音频合成的任务中,训练数据可以为存在音频序列缺失的语音数据以及该存在音频序列缺失的语音数据对应的完整语音数据;在图像合成(或者称之为图像重建)的任务中,训练数据可以为存在像素缺失的图像数据或视频数据以及该存在像素缺失的图像数据或视频数据对应的完整图像数据或视频数据。在采集到训练数据之后,数据采集设备560将这些训练数据存入数据库530,训练设备520基于数据库530中维护的训练数据训练得到目标模型/规则501。
以目标模型/规则501用于实现自然语言合成任务为例,上述目标模型/规则501(例如本申请实施例中的目标编码器、目标预测网络)能够用于实现自然语言合成任务,即,将存在文本缺失的文本数据输入该目标模型/规则501,即可得到缺失的文本(例如本申请实施例中的第一待预测数据单元以及第二待预测数据单元)。
以目标模型/规则501用于实现目标处理任务(例如短文本分类、长文本分类、自然语言推断、文本相似度匹配、文本情感分类等)为例,上述目标模型/规则501(例如本申请实施例中的目标编码器、任务网络)能够用于实现目标处理任务,即,将目标数据输入该目标模型/规则501,即可得到任务处理结果。
需要说明的是,在实际应用中,数据库530中维护的训练数据不一定都来自于数据采集设备560的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备520也不一定完全基于数据库530维护的训练数据进行目标模型/规则501的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备520训练得到的目标模型/规则501可以应用于不同的系统或设备中,如应用于图3b所示的执行设备510,所述执行设备510可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备,车载终端等,还可以是服务器或者云端等。在图3b中,执行设备510配置输入/输出(input/output,I/O)接口512,用于与外部设备进行数据交互,用户可以通过客户设备540向I/O接口512输入数据(例如本申请实施例中的目标数据)。
预处理模块513和预处理模块514用于根据I/O接口512接收到的输入数据进行预处理(例如获取已知数据单元以及待预测数据单元在目标数据中的位置、或者生成注意力信息等预处理过程)。应理解,可以没有预处理模块513和预处理模块514或者只有的一个预处理模块。当不存在预处理模块513和预处理模块514时,可以直接采用计算模块511对输入数据进行处理。
在执行设备510对输入数据进行预处理,或者在执行设备510的计算模块511执行计算等相关的处理过程中,执行设备510可以调用数据存储系统550中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统550中。
最后,I/O接口512将处理结果,如处理后得到的缺失文本、缺失音频序列、缺失像素(例如本申请实施例中的第一待预测数据单元、第二待预测数据单元、任务处理结果)呈现给客户设备540,从而提供给用户。
在图3b所示情况下,用户可以手动给定输入数据,该“手动给定输入数据”可以通过I/O接口512提供的界面进行操作。另一种情况下,客户设备540可以自动地向I/O接口512发送输入数据,如果要求客户设备540自动发送输入数据需要获得用户的授权,则用户可以在客户设备540中设置相应权限。用户可以在客户设备540查看执行设备510输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备540也可以作为数据采集端,采集如图所示输入I/O接口512的输入数据及输出I/O接口512的输出结果作为新的样本数据,并存入数据库530。当然,也可以不经过客户设备540进行采集,而是由I/O接口512直接将如图所示输入I/O接口512的输入数据及输出I/O接口512的输出结果,作为新的样本数据存入数据库530。
值得注意的是,图3b仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3b中,数据存储系统550相对执行设备510是外部存储器,在其它情况下,也可以将数据存储系统550置于执行设备510中。
应理解上述执行设备510也可以部署于客户设备540中。
从模型推理的角度,本申请实施例中,上述数据存储系统550中可以存储有用于实现本申请实施例中的数据处理方法相关的代码,计算模块511可以从数据存储系统550中获取到上述用于实现本申请实施例中的数据处理方法相关的代码,以执行本申请实施例中的数据处理方法。
本申请实施例中,计算模块511可以包括硬件电路(如专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)、通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器等等)、或这些硬件电路的组合,例如,计算模块511可以为具有执行指令功能的硬件系统,如CPU、DSP等,或者为不具有执行指令功能的硬件系统,如ASIC、FPGA等,或者为上述不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合。
具体的,计算模块511可以为具有执行指令功能的硬件系统,本申请实施例提供的数据处理方法可以为存储在数据存储系统550中的软件代码,计算模块511可以从数据存储系统550中获取到软件代码,并执行获取到的软件代码来实现本申请实施例提供的数据处理方法。
应理解,计算模块511可以为不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合,本申请实施例提供的数据处理方法的部分步骤还可以通过计算模块511中不具有执行指令功能的硬件系统或者预处理模块513、预处理模块514来实现,这里并不限定。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs(即输入数据)和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)transformer层
参照图5,图5为一种transformer层的架构示意,如图5所示,神经网络包括嵌入层和至少一个transformer层,至少一个transformer层可以为N个transformer层(N大于0的整数),其中,每个transformer层包括依次相邻的注意力层、加和与归一化(add&norm)层、前馈(feed forward)层和加和与归一化层。在嵌入层,对当前输入进行嵌入处理,得到多个嵌入向量;在所述注意力层,从所述第一transformer层的上一层获取P个输入向量,以P个输入向量中的任意的第一输入向量为中心,基于预设的注意力窗口范围内的各个输入向量与该第一输入向量之间的关联度,得到该第一输入向量对应的中间向量,如此确定出P个输入向量对应的P个中间向量;在所述池化层,将所述P个中间向量合并为Q个输出向量,其中transformer层中最后一个transformer层得到的多个输出向量用作所述当前输入的特征表示。
(3)注意力机制(attention mechanism)
注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制,能够利用有限的注意力资源从大量信息中快速筛选出高价值信息。注意力机制可以快速提取稀疏数据的重要特征,因而被广泛用于自然语言处理任务,特别是机器翻译。而自注意力机制(self-attention mechanism)是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。注意力机制的本质思想可以改写为如下公式:
其中,Lx=||Source||代表Source的长度,公式含义即将Source中的构成元素想象成是由一系列的数据对构成,此时给定目标Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。从概念上理解,把Attention可以理解为从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略大多不重要的信息。聚焦的过程体现在权重系数的计算上,权重越大越聚焦于其对应的Value值上,即权重代表了信息的重要性,而Value是其对应的信息。自注意力机制可以理解为内部Attention(intra attention),Attention机制发生在Target的元素Query和Source中的所有元素之间,自注意力机制指的是在Source内部元素之间或者Target内部元素之间发生的Attention机制,也可以理解为Target=Source这种特殊情况下的注意力计算机制,其具体计算过程是一样的,只是计算对象发生了变化而已。
(4)自然语言处理(natural language processing,NLP)
自然语言(natural language)即人类语言,自然语言处理(NLP)就是对人类语言的处理。自然语言处理是以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用NLP及其组件,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,如自动摘要(automatic summarization),机器翻译(machine translation,MT),命名实体识别(named entity recognition,NER),关系提取(relation extraction,RE),信息抽取(information extraction,IE),情感分析,语音识别(speech recognition),问答系统(question answering)以及主题分割等等。
(5)预训练语言模型(pre-trained language model)
预训练语言模型是一个自然语言序列编码器,为自然语言序列中的每个词进行编码成为一个向量表示,从而进行预测任务。它的训练包含两个阶段。在预训练(pre-training)阶段,该模型在大规模无监督文本上进行语言模型任务的训练,从而学习到一个词表示。在微调(finetuning)阶段,该模型利用预训练阶段学到的参数做初始化,在文本分类(text classification),序列标注(sequence labeling)等下游任务(downstreamtask)上进行较少步骤的训练,就可以成功把预训练得到的语义信息成功迁移到下游任务上来。
(6)自回归语言模型(autoregressive language model)
自回归语言模型是指能够根据给定的上下文(如“手机很”)预测下一个可能跟随的词(如“不错”)的模型,该模型通常是给定左侧上文预测右侧下文中的词,但也可以是给定左侧和右侧的上下文预测中间的某个词。
首先以模型推理的阶段为例对本申请实施例提供的数据处理方法进行说明。
参照图6a,图6a为本申请实施例提供的一种数据处理方法的实施例示意,本申请实施例提供的一种数据处理方法可以应用在上述描述的数据处理设备、执行设备中,具体的,数据处理方法可以应用在手机、平板、笔记本电脑、智能穿戴设备等终端设备上,或者应用在云侧的服务器上,如图6a示出的那样,本申请实施例提供的一种数据处理方法,包括:
601、获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数。
其中,目标数据为存在数据缺失的数据,其中,目标数据包括未缺失的数据(本申请实施例中称之为已知数据单元)以及缺失的数据(本申请实施例中称之为待预测数据单元,例如第一待预测数据单元以及第二待预测数据单元)。其中,已知数据单元为未缺失的数据中的数据单元,例如所述目标数据可以为文本数据,则目标数据中的已知数据单元可以为文本数据中已知的单词或者是已知的字,待预测数据单元可以为所述文本数据中的待预测词或者是待预测字。例如所述目标数据可以为语音数据,则目标数据中的已知数据单元可以为语音数据中的已知音频序列,待预测数据单元可以为所述语音数据中的待预测音频序列。例如所述目标数据可以为图像数据,则目标数据中的已知数据单元可以为语音数据中的已知像素点,待预测数据单元可以为所述语音数据中的待预测像素点。应理解,已知数据单元和待预测数据单元的数据粒度和目标数据的类型有关,已知数据单元和待预测数据单元的数据粒度可以是目标数据中最小的数据单元或者是由最小的数据单元组成的多个数据单元,这里并不限定已知数据单元和待预测数据单元的粒度。
具体的,本申请实施例中,目标数据中可以包括M个已知数据单元,以及至少一个待预测数据单元(包括第一待预测数据单元),其中待预测数据单元为目标数据中不可见的数据,需要通过M个已知数据单元来确定待预测数据单元。
以目标数据为文本数据为例,本申请实施例中,文本数据中可以包括M个已知词,以及至少一个待预测词(包括第一待预测词)。其中文本数据可以为中文文本,也可以为英文文本,还可以为其他语言文本,文本数据可以为句子、段落、篇章等。
例如,目标数据可以为“__sat on the mat”,其中“sat”、“on”、“the”和“mat”为已知数据单元,“_”和“_”在目标数据中不可见,为待预测数据单元;应理解,这里的符号“_”的含义是空,而不是指下划线。
本申请实施例中,可以获取M个第一嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置。
接下来首先描述如何生成M个第一嵌入向量:
在一种实现中,可以通过嵌入层对所述目标数据中的M个已知数据单元进行嵌入处理,以得到M个第三嵌入向量。
其中嵌入层可以称为输入嵌入(input embedding)层。当前输入可以为M个已知数据单元。嵌入层在获取当前输入后,可以对该当前输入中各个已知数据单元进行嵌入处理,可得到各个已知数据单元对应的嵌入向量(也就是第三嵌入向量)。
在一些实施例中,还可以获取所述M个已知数据单元中的每个已知数据单元的位置向量,所述位置向量用于指示所述第一位置;其中,第一位置用于表示已知数据单元在目标数据中的位置,具体的,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系。
在一种实现中,所述嵌入层可以包括输入嵌入层和位置编码(positionalencoding)层。在输入嵌入层,可以对当前输入中的各个已知数据单元进行词嵌入处理,从而得到各个已知数据单元的第三嵌入向量。在位置编码层,可以获取各个已知数据单元在该当前输入中的位置,进而对各个已知数据单元的位置生成位置向量。
在一些示例中,各个已知数据单元在目标数据中的第一位置可以为各个已知数据单元在目标数据中的绝对位置。以当前输入为“几号应还花呗”为例,其中的“几”的位置可以表示为第一位,“号”的位置可以表示为第二位,……。在一些示例中,各个已知数据单元在目标数据中的第一位置可以为各个已知数据单元在目标数据中的相对位置。仍以当前输入为“几号应还花呗”为例,其中的“几”的位置可以表示为“号”之前,“号”的位置可以表示为“几”之后、“应”之前,……。当得到当前输入中各个已知数据单元的第三嵌入向量和位置向量时,可以将各个已知数据单元的位置向量和对应的第三嵌入向量进行融合,得到各个已知数据单元的第一嵌入向量,即得到该当前输入对应的多个第一嵌入向量。应理解,融合的方式可以是对第三嵌入向量和位置向量进行加法运算,或者是通过其他运算使得第一嵌入向量可以携带目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置的信息,这里并不限定具体的融合方式。多个第一嵌入向量可以表示为具有预设维度的嵌入矩阵。可以设定该多个第一嵌入向量的个数为M,预设维度为H维,则该多个第一嵌入向量可以表示为M×H的嵌入矩阵。
本申请实施例中,可以获取第二嵌入向量,其中所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置,其中,第二位置可以用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
接下来描述如何生成第二嵌入向量:
在一种实现中,可以通过嵌入层对第一待预测数据单元在所述目标数据中的第二位置进行嵌入处理,以得到用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置的第二嵌入向量,该第二嵌入向量可以作为后续目标预测网络的输入。其中,所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系,关于第二位置的描述可以参照上述实施例中关于第一位置的描述,相似之处这里不再赘述。
进而,可以获取到针对于M个已知数据单元的M个第一嵌入向量,以及针对于第一待预测数据单元的第二嵌入向量。
602、通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的。
本申请实施例中,目标编码器可以对M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,也就是可以得到每个已知数据单元对应的一个第一输出向量。
在现有的自然语言生成模型(参照图6b)中,将自编码模型和自回归语言模型进行了融合,相比自编码模型和自回归语言模型,该模型将隐状态数量扩大了一倍,其中白色部分对应自编码模型,灰色部分对应自回归语言模型,自编码模型相关的隐变量用于表示位置信息,自回归模型用于提供自编码语言模型预测的上下文信息,该模型的计算量和内存消耗是自编码和自回归模型的两倍。
本申请实施例中,在目标编码器处理M个第一嵌入向量的过程中,隐状态数量和自编码和自回归语言模型中的隐状态数量一致,具体的,针对于M个已知数据单元对应的M个第一嵌入向量,目标编码器可以将M个第一嵌入向量作为输入,其中第一嵌入向量包括了位置信息和已知数据单元的数据信息,而不需要再单独设置额外的M个位置信息来作为目标编码器的输入,此外,目标编码器的中间输出的隐变量的数量也和输入的嵌入向量的数量保持一致,减少了目标编码器的计算量和内存消耗。
具体可以参照图6c,目标编码器的输入为M个第一嵌入向量,输出为M个第一输出向量。
本申请实施例中,每个第一输出向量为基于M个第一嵌入向量得到的。
所谓每个第一输出向量为基于M个第一嵌入向量得到的,可以理解为每个第一输出向量可以将M个第一嵌入向量作为参考,也就是在生成每个第一输出向量时,各个第一嵌入向量都是可见的,或者,每个第一输出向量与M个第一嵌入向量存在依赖关系。
在一种实现中,所述目标编码器可以为第一转换transformer层,则每个第一输出向量为基于M个第一嵌入向量得到可以理解为M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联。
其中,参照图7,所述第一transformer层可以包括串行的多个子transformer层,所述N个子transformer层包括相邻的第一子transformer层和第二子transformer层,也就是说第一子transformer层和第二子transformer层可以为第一transformer层中任意相邻的两个子transformer层。
可以通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
也就是说,每个子transformer层的输入包括与M个已知数据单元对应的M个特征向量,每个子transformer层的输出包括与M个已知数据单元对应的M个输出向量。进而使得目标编码器的中间输出的隐变量的数量也和输入的嵌入向量的数量保持一致,减少了目标编码器的计算量和内存消耗。
也就是说,每个子transformer层的输入包括与M个已知数据单元对应的M个特征向量,每个子transformer层的输出包括与M个已知数据单元对应的M个输出向量。进而使得目标编码器的中间输出的隐变量的数量也和输入的嵌入向量的数量保持一致,减少了目标编码器的计算量和内存消耗。
transformer层的核心特点在于其采用的独特的注意力机制。在处理自然语言,例如一个句子时,transformer模型利用该注意力机制,为句子中各个词的嵌入向量赋予不同的注意力系数,从而更全面地考虑句子中上下文对各个词的影响。具体的transformer层可以包括依次相邻的多头注意力层、加和与归一化(add&norm)层、前馈(feed forward)层、加和与归一化层。其中,注意力层与嵌入层相连,从嵌入层获取M个嵌入向量作为输入向量,基于M个嵌入向量中各个嵌入向量之间的关联度,对各个嵌入向量进行综合,得到M个输出向量,输出给后续的transformer层。transformer层获取前一层的输出作为输入向量,执行与前一级transformer层类似的操作。
参照图8,图8为一种transformer层的结构示意,本申请实施例中的各个子transformer层都可以参照图8中示出的结构,如图8中示出的那样,transformer层包括依次相邻的多头注意力层、加和与归一化(add&norm)层、前馈(feed forward)层、加和与归一化层。
其中,多头注意力层从其上一层获取M个输入向量Xl,又可以表示为矩阵X,采用自注意力机制,基于向量间的关联度对各个向量进行变换,得到M个输出向量,又可以表示为矩阵Y。可以理解,当该多头注意力层是与嵌入层直接相连的层,例如图7中与嵌入层直连的transformer层,其获取的输入向量即为嵌入层输出的嵌入向量;当该多头注意力层是后续的transformer层包括的多头注意力层,例如图7中与上一级transformer层直连的transformer层包括的多头注意力层,其获取的输入向量即为前一级transformer层的输出向量。在多头注意力层,基于多头注意力(multi-head attention,MHA)的MHA层包括多个注意力头head(如图8中示出的Head 1、Head 2、…、Head N)。
图9为一个注意力头head的操作示意图,该示意图示出注意力头head如何将输入矩阵X变换为输出矩阵Y。如图9所示,分别采用第一变换矩阵Q,第二变换矩阵K和第三变换矩阵V对M个输入向量<X1,X2,…,XN>中各个输入向量Xi进行变换,得到各个输入向量对应的第一中间向量(q向量),第二中间向量(k向量)和第三中间向量(v向量)。操作上,可以分别用第一变换矩阵Q,第二变换矩阵K和第三变换矩阵V,对N个输入向量构成的输入矩阵X进行线性变换,分别得到输入矩阵的Q矩阵,K矩阵和V矩阵,再分别对矩阵进行拆分,即可得到各个输入向量对应的q向量,k向量和v向量。对于M个输入向量中任意的第i输入向量Xi,基于该第i输入向量对应的第一中间向量(q向量,qi)与各个输入向量Xj对应的各个第二中间向量(k向量,kj)的点乘操作,确定该第i输入向量Xi与各个输入向量Xj的各个关联度。尽管也可以直接将qi与kj的点乘结果确定为关联度,但是更经典地,先将点乘结果除以一常数,然后进行softmax运算,将运算结果作为输入向量Xi与Xj的关联度,即:
于是,可以以该第i输入向量Xi与各个输入向量Xj的各个关联度αi,j作为权重因子,对各个输入向量Xj对应的第三中间向量(v向量,vj)进行加权组合,得到该第i输入向量Xi对应的第i组合向量Ci:
于是,可以得到M个输入向量对应的M个组合向量的向量序列<C1,C2,…,CN>,或矩阵C。基于该组合向量序列,可以得到M个输出向量。具体地,在一个实施例中,可以直接将N个组合向量的向量序列作为M个输出向量,即Yi=Ci。此时,输出矩阵Y即为组合向量矩阵C,又可以写成:
以上为一个注意力头head的处理过程描述,在MHA架构中,MHA层维护m套变换矩阵,每套变换矩阵包括前述第一变换矩阵Q、第二变换矩阵K和第三变换矩阵V,从而可以并行地进行上述操作,得到m个组合向量序列(即m个矩阵C),每个向量序列包括基于一套变换矩阵得到的N个组合向量。在这样的情况下,MHA层将得到的m个组合向量序列进行拼接,得到拼接矩阵;再通过第四变换矩阵W对该拼接矩阵进行变换,得到最终的输出矩阵Y。将该输出矩阵Y拆分即对应于M个输出向量<Y1,Y2,…,YN>。通过以上的操作过程,MHA层基于N个输入向量之间的关联度进行变换操作,得到M个输出向量。
如图8中示出的那样,transformer层可以包括前馈层,其中前馈层包括输入层、中间层intermediate layer以及输出层。如前所述,神经网络模型可以包含多个transformer层。在一个实施例中,上述多个transformer层可以采用残差网络的方式堆叠连接。
本申请实施例中,所述目标编码器包括注意力头,且由于在目标数据中,各个已知数据单元之间是相互可见的,因此在处理M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联,具体的,可以获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联,进而可以根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理,进而使得每个输出向量与M个第一嵌入向量存在依赖关系。
603、通过目标预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到所述第一待预测数据单元。
本申请实施例中,在得到M个输出向量后,可以将M个输出向量输入到目标预测网络,并通过目标预测网络,对M个第一输出向量以及所述第二嵌入向量进行处理,以得到所述第一待预测数据单元。其中,所述目标预测网络可以为transformer层。
目标预测网络可以将M个所述第一输出向量以及所述第二嵌入向量作为输入,得到第一待预测数据单元的向量表示,应理解,第一待预测数据单元的向量表示可以再经过一个分类器(例如可采用支持向量机,softmax分类器,K-近邻算法等)来恢复出第一待预测数据单元。
以文本数据为例,在目标预测网络的数据处理过程中,第一待预测词可见自己对应的位置向量(第二嵌入向量)以及各个已知词(第一嵌入向量),进而可以目标预测网络可以将M个所述第一输出向量以及所述第二嵌入向量作为输入,得到第一待预测词的词向量表示。
示例性的,已知目标数据中位置3到位置6的词为“sat on the mat”,目标是预测句子中的前面两个词,目标预测网络可以首先基于“sat on the mat”对应的4个输入向量以及预测位置1来确定第一待预测词的词为“that”。相似的,目标预测网络接下来基于“that_sat on the mat”来预测位置2的词。
本申请实施例中,所述目标数据还包括第二待预测数据单元;在所述通过目标编码器,对所述M个第一嵌入向量进行处理之前,可以随机确定所述第一待预测数据单元与所述第二待预测数据单元的被预测先后顺序,若所述预测先后顺序用于指示所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则在所述得到所述第一待预测数据单元之后,可以获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述目标数据中的第二待预测数据单元在所述目标数据中的第三位置,通过所述目标编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量,通过所述目标预测网络,对M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第二待预测数据单元。
其中,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
接下来以文本数据为例,结合一个具体的示例对本申请实施例中的数据处理方法进行描述:
参照图10,预处理模块可以对输入的词向量序列进行处理,并将处理结果输入到自回归词向量编码模块以及查询模块,自回归词向量编码模块以及查询模块的输出结果可以输入到预测模块,预测模块可以输出预测标签。
其中,自回归词向量编码模块可以为上述实施例中的目标编码器,查询模块用于生成第二嵌入向量以及第五嵌入向量,预测模块可以为上述实施例中的目标预测网络,预测标签可以为上述实施例中的待预测数据单元。
参照图11,预处理模块可以对输入的词向量序列进行序列重排、分块以及信息抽取的操作。序列重排即对输入的词向量的顺序进行重构,重构方法包括但不限于:保持原来顺序不变,随机顺序以及倒序,序列分块将重排后的句子分成两块,在后续建模中,第一块的每个词的信息对所有的词都可见,第二块的每个词的信息只对其重排后其后面位置的词可见。信息抽取模块在序列重排的基础上,抽取三部分信息,分别为重排的词向量序列,注意力矩阵(Attention Matrix)(该矩阵定义了在自回归词向量编码模块对每个词的向量表示的建模过程中,句子中哪些词的信息是可见的,该矩阵根据分块得到,注意力矩阵可以为上述实施例中的注意力信息)以及待预测标签的辅助信息(也就是上述实施例中的第二嵌入向量或者第五嵌入向量),辅助信息定义了待预测词在原句中的位置信息。前面两部分信息会输出到自回归词向量编码模块,第三部分会输出到查询模块。应理解,预处理模块的操作由人工定义,不包含任何可学习部分。
自回归词向量编码模块可以学习每个词所对应的上下文信息,最终为句子中的每一个词学习得到一个包含其上下文信息的词向量序列(也就是上述实施例中的输出向量)。
自回归词向量编码模块可以如图12左图所示,该模块包括若干层自回归词向量编码器(其中每一层可以为上述实施例中的子transformer层),每一层接收前一层输出的词向量,并且经过计算词向量间的依赖,将每个词向量的上下文信息融入输出的词向量。图12右图展示了自回归词向量编码器的第i层的计算过程,图中每个方框表示一个词向量,下面一行表示该层输入的词向量,上面一行表示该层输出的词向量,每个箭头ai表示在每个输出词向量对于输入词向量的依赖,该依赖是否存在可以由注意力矩阵决定。
参照图13,在得到包含其上下文信息的词向量序列以及查询信息之后,可以将包含其上下文信息的词向量序列以及查询信息输入到预测模块,由预测模块基于包含其上下文信息的词向量序列以及查询信息进行预测,得到预测标签。
图14展示了一个关于随机预测顺序的实施例。原句为“the cat sat on themat”,预处理模块将原句进行随机重排,重排后的序列为“the on mat sat the cat”,并且将重排后的句子分块,第一块为“the on mat sat”,该块内的任意一个词都可以被句子中其他所有词看到,第二块为“the cat”,第二块内的任意一个词只能对其后面的词可见(在重排的序列中),第二块的词在本例中将被预测,且由于原句被随机重排,则第二块的词的被预测顺序是随机的。该模块根据句子分块得到注意力矩阵,该矩阵的第i行第j列的元素若为1(白色),表示在后续建模过程中,重排序列中第j个词对第i个词是可见的,反之是不可见的。该模块输出重排的词向量序列(M个第一嵌入向量)以及注意力矩阵(即上述实施例中的注意力信息)输出给自回归词向量编码模块(即上述实施例中的目标编码器),将待预测标签的辅助信息(即上述实施例中的第二嵌入向量指示的第二位置以及第五嵌入向量指示的第三位置,在图14的示例中辅助信息为位置1和位置2,表示该模型将预测原序列中位置1和位置2的词,分别为the和cat)输出到查询模块,查询模块可以生成第二嵌入向量以及第五嵌入向量。
本申请实施例中采用随机顺序的方式来进行预测,充分利用了待预测数据单元的顺序信息,将顺序信息显式的融入输出向量中。
应理解,以上以文本数据为例描述了待预测词的预测方法,本申请实施例的数据处理方法还可以应用到计算机视觉或者语音领域。具体的,上述目标文本可以替换为一个图片或者语音的序列,该序列相应的经过预处理模块的乱序,分块等操作,获得重排的图片或者语音单元的向量序列以及待预测位置的位置信息,并进入自回归编码模块和查询模块,最终预测模块得到相应的待预测位置的图片或者语音单元。
本申请实施例还可以呈现为云侧的一种服务或者软件的形式,参照图14,该服务或者软件可以具有基于目标数据中的已知数据单元来得到待预测数据单元的功能,具体的,该服务包括且不局限于用于进行文本数据(句子、段落、篇章等)中任意位置内容的预测恢复、语音数据中模糊语音或者缺失音频序列的恢复、图片/视频数据中模糊/破损像素的恢复等。
本申请实施例提供了一种数据处理方法,所述方法包括:获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;通过目标预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到所述第一待预测数据单元。通过上述方式,针对于M个已知数据单元对应的M个第一嵌入向量,目标编码器可以将M个第一嵌入向量作为输入,其中第一嵌入向量包括了位置信息和已知数据单元的数据信息,而不需要再单独设置额外的M个位置信息来作为目标编码器的输入,此外,目标编码器的中间输出的隐变量的数量也和输入的嵌入向量的数量保持一致,减少了目标编码器的计算量和内存消耗。
以上描述了模型的推理过程,接下来从模型训练的角度,对本申请实施例提供的数据处理方法进行描述,参照图15和图16,图15和图16为本申请实施例提供的一种数据处理方法的流程示意,如图15所示,本申请实施例提供的数据处理方法包括:
1501、获取第一编码器、第一预测网络、M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
本申请实施例中,第一编码器和第一预测网络为待训练的神经网络模型。
在一种可能的实现中,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
在一种可能的实现中,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
在一种可能的实现中,所述第一编码器为第一转换transformer层,所述第一预测网络为第二transformer层。
更多关于步骤1501的描述可以参照步骤601的描述,这里不再赘述。
1502、通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;可以通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
更多关于步骤1502的描述可以参照步骤602的描述,相似之处这里不再赘述。
1503、通过所述第一预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到第三预测数据单元;
其中,第三预测数据单元为第一预测网络进行预测的结果。
更多关于步骤1503的描述可以参照步骤603的描述,相似之处这里不再赘述。
1504、基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
其中,第三预测数据单元为第一预测网络进行预测的结果,因此需要基于第三预测数据单元和第一待预测数据单元之间的差异来构建损失,并基于构建的损失来更新第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。应理解,还可以基于上述损失去更新嵌入层等其他网络结构,这里并不限定。
在一种可能的实现中,所述目标数据还包括第二待预测数据单元;可以在所述通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到每个已知数据单元对应的第一输出向量之前,随机确定所述第一待预测数据单元与所述第二待预测数据单元的被预测先后顺序;若所述预测先后顺序用于指示所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则在所述得到第三预测数据单元之后,获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述目标数据中的第二待预测数据单元在所述目标数据中的第三位置;通过所述第一编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到每个已知数据单元以及所述第一待预测数据单元对应的第二输出向量;通过所述第一预测网络,对M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第四待预测数据单元;进而可以基于所述第三预测数据单元与所述第一待预测数据单元之间的差异、以及所述第四预测数据单元与所述第二待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
在一种可能的实现中,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
以目标数据为文本数据为例,训练阶段的参数调优可以采用深度学习中标准的反向传播算法(back propagation)进行。该阶段的损失函数可以为:
L(θ1)=logP(y|x;θ1)=Σi∈S logp(yi|x;θ1);
其中θ1是模型的所有参数(包括transformer参数,位置向量参数以及分类器参数),x是整个输入的序列,包含若干元素,y表示所有需要预测的词(即每个带预测位置对应的原词)组成的序列,S表示y中所有词的位置的合集,yi表示第i个位置需要预测的词。
参照图17,本申请实施例还提供了一种数据处理方法,所述方法包括:
1701、获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个数据单元以及所述一个数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于指示目标处理任务;所述M为正整数;
和上述图6a对应的实施例不同的是,本实施例中的第二嵌入向量用于指示目标处理任务,其中,目标处理任务包括但不限于:短文本分类,长文本分类,自然语言推断,文本相似度匹配,情感分类等等。
在一种可能的实现中,所述第一位置用于指示所述数据单元与其他数据单元之间的相对位置关系。
在一种可能的实现中,所述目标数据为文本数据,所述数据单元为所述文本数据中的词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的像素点。
更多关于步骤1701的具体描述可以参照上述实施例中步骤601的描述,这里不再赘述。
1702、通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个数据单元对应的M个输出向量,其中,每个所述数据单元对应的输出向量为根据所述M个第一嵌入向量生成的。
本申请实施例中的目标编码器可以以图6a对应的实施例中的目标编码器作为预训练模型进行针对于目标处理任务的模型微调得到。
在一种可能的实现中,所述目标编码器为第一转换transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;可以通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个输出向量。
在一种可能的实现中,所述目标编码器包括注意力头,可以获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
更多关于步骤1702的具体描述可以参照上述实施例中步骤602的描述,这里不再赘述。
1703、通过任务网络,对所述M个输出向量以及所述第二嵌入向量进行所述目标处理任务对应的处理,以得到任务处理结果。
在一种可能的实现中,所述预测网络为第二transformer层。
接下来以目标处理任务为多任务文本分类任务和阅读理解为例,对本申请实施例提供的数据处理方法进行说明。
参照图18,图18为一个关于文本情感分类的实施例示例,在本例中,目标数据为“the cat sat on the mat”,根据句子分块得到注意力矩阵,该矩阵的第i行第j列的元素若为1(白色),表示在后续建模过程中,重排序列中第j个词对第i个词是可见的,反之是不可见的。该模块输出重排的词向量序列以及注意力矩阵(根据分块得到)输出给自回归词向量编码模块,将待预测标签的辅助信息(任务类型,例如:情感分类)输出到查询模块。
自回归模块可以采用transformer层作为自回归词向量编码器,该模块将重排的词向量序列中每个词向量与其对应的位置向量(每个位置对应一个位置向量,为模型的参数一部分)相加,并且在建模过程中采用预处理模块提供的注意力矩阵,该矩阵定义了在transformer建模词表示的过程中,每个词对其他词是否可见,图18中的实线表示可见,transformer最终为每一个词得到一个融入上下文信息的词向量表示,并且输出到预测模块。查询模块输出任务类型对应的任务向量并输出给预测模块。预测模块依旧采用transformer模型,该模型建模该句子的向量表示。最终建模的每个词向量经过一个分类器,用于预测对应的词。
在精调阶段的训练中,该模型预测句子对应的标签。精调阶段的参数调优可以采用深度学习中标准的反向传播算法(back propagation)进行。该阶段的损失函数可以为:
L(θ2)=logP(y|x;θ2)
其中θ2是模型的所有参数(包括的Transformer参数,位置向量参数,任务编码参数以及分类器参数),x是整个输入的序列,包含若干元素,y表示句子对应的标签。
图19为一个关于片段(span)抽取的阅读理解的实施例示例,在该阅读理解任务中,给定一个问句(question)“who sat on the mat?”以及一个篇章(paragraph)“the catsat on the mat”,该任务是找到篇章中答案的片段(span),即在篇章里面的起始(START)和结束(END)的位置(即“the”和“cat”)。在本例中,根据句子分块得到注意力矩阵,该矩阵的第i行第j列的元素若为1(白色),表示在后续建模过程中,重排序列中第j个词对第i个词是可见的,反之是不可见的。该模块输出重排的词向量序列以及注意力矩阵(根据分块得到)输出给自回归词向量编码模块,将待预测标签的辅助信息(为篇章中每个词的位置信息)输出到查询模块。
自回归模块可以采用transformer作为自回归词向量编码器,该模块将重排的词向量序列中每个词向量与其对应的位置向量(每个位置对应一个位置向量,为模型的参数一部分)相加,并且在建模过程中采用预处理模块提供的注意力矩阵,该矩阵定义了在Transformer建模词表示的过程中,每个词对其他词是否可见,图中的实线表示可见,Transformer最终为每一个词得到一个融入上下文信息的词向量表示,并且输出到预测模块。查询模块输出任务类型对应的任务向量并输出给预测模块。预测模块依旧采用Transformer模型,该模型建模该句子的向量表示。最终建模的每个词向量经过两个分类器(分别输出每个词是否为START和END的概率,如图19中表格所示),用于预测对应的START和END的位置。
在精调阶段的训练中,该模型预测篇章中每个词对应的START和END的概率。精调阶段的参数调优采用深度学习中标准的反向传播算法进行。该阶段的损失函数可以为:
L(θ3)=logP(ySTART|x;θ3)+logP(yEND|x;θ3);
其中θ3是模型的所有参数(包括的Transformer参数,位置向量参数,任务编码参数以及分类器参数),x是整个输入的序列,包含若干元素,P(ySTART|x;θ3)表示该模型将答案中START位置的词预测为START的概率,P(yEND|x;θ3)表示该模型将答案中END位置的词预测为END的概率。
在推理阶段,过精调的模型可用作该下游任务的预测,以文本分类任务和阅读理解为例,该模型的预测方式与精调阶段相同,经过四个模块以及分类器得到句子或者词的标签。在阅读理解任务中,模型会取START分类器预测概率最大的词作为span的起始位置的词,然后会取起始位置之后END概率最大的词作为span的结束位置的词。
在图1至图19所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图20,图20为本申请实施例提供的数据处理装置2000的一种结构示意图,数据处理装置2000可以是终端设备或服务器,数据处理装置2000包括:
获取模块2001,用于获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
关于获取模块2001的具体描述可以参照上述实施例中步骤601的描述,这里不再赘述。
编码模块2002,用于通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
关于编码模块2002的具体描述可以参照上述实施例中步骤602的描述,这里不再赘述。
预测模块2003,用于通过目标预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到所述第一待预测数据单元。
关于预测模块2003的具体描述可以参照上述实施例中步骤603的描述,这里不再赘述。
在一种可能的实现中,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
在一种可能的实现中,所述目标编码器为第一转换transformer层,所述目标预测网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
在一种可能的实现中,所述目标编码器包括注意力头,所述编码模块,用于获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;
根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
在一种可能的实现中,所述装置还包括:
嵌入模块,用于通过嵌入层对所述目标数据中的M个已知数据单元进行嵌入处理,以得到M个第三嵌入向量;
获取所述M个已知数据单元中的每个已知数据单元的位置向量,所述位置向量用于指示所述第一位置;
将所述M个第三嵌入向量中的每个第三嵌入向量与对应的位置向量进行融合,以得到所述M个第一嵌入向量。
在一种可能的实现中,所述目标数据还包括第二待预测数据单元,且所述第二待预测数据单元与所述第一待预测数据单元的被预测先后顺序为随机确定的。
在一种可能的实现中,若所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则所述方法还包括:
获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述第二待预测数据单元在所述目标数据中的第三位置;
通过所述目标编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量;
通过所述目标预测网络,对所述M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第二待预测数据单元。
在一种可能的实现中,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
在一种可能的实现中,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
参阅图21,图21为本申请实施例提供的数据处理装置2100的一种结构示意图,数据处理装置2100可以是终端设备或服务器,数据处理装置2100包括:
获取模块2101,用于获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个数据单元以及所述一个数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于指示目标处理任务;所述M为正整数;
关于获取模块2101的具体描述可以参照上述实施例中步骤1701的描述,这里不再赘述。
编码模块2102,用于通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个数据单元对应的M个输出向量,其中,每个所述数据单元对应的输出向量为根据所述M个第一嵌入向量生成的;
关于编码模块2102的具体描述可以参照上述实施例中步骤1702的描述,这里不再赘述。
任务处理模块2103,用于通过任务网络,对所述M个输出向量以及所述第二嵌入向量进行所述目标处理任务对应的处理,以得到任务处理结果。
关于任务处理模块2103的具体描述可以参照上述实施例中步骤1703的描述,这里不再赘述。
在一种可能的实现中,所述第一位置用于指示所述数据单元与其他数据单元之间的相对位置关系。
在一种可能的实现中,所述目标编码器为第一转换transformer层,所述任务网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个输出向量。
在一种可能的实现中,所述目标编码器包括注意力头,所述编码模块,用于获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;
根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
在一种可能的实现中,所述目标数据为文本数据,所述数据单元为所述文本数据中的词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的像素点。
在一种可能的实现中,所述目标处理任务包括短文本分类、长文本分类、自然语言推断、文本相似度匹配或文本情感分类。
参阅图22,图22为本申请实施例提供的数据处理装置2200的一种结构示意图,数据处理装置2200可以是终端设备或服务器,数据处理装置2200包括:
获取模块2201,用于获取第一编码器、第一预测网络、M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
关于获取模块2201的具体描述可以参照上述实施例中步骤1501的描述,这里不再赘述。
编码模块2202,用于通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
关于编码模块2202的具体描述可以参照上述实施例中步骤1502的描述,这里不再赘述。
预测模块2203,用于通过所述第一预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到第三预测数据单元;
关于预测模块2203的具体描述可以参照上述实施例中步骤1503的描述,这里不再赘述。
模型训练模块2204,用于基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
关于模型训练模块2204的具体描述可以参照上述实施例中步骤1504的描述,这里不再赘述。
在一种可能的实现中,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
在一种可能的实现中,所述第一编码器为第一转换transformer层,所述第一预测网络为第二transformer层。
在一种可能的实现中,所述第一transformer层包括串行的多个子transformer层;所述通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
在一种可能的实现中,所述目标数据还包括第二待预测数据单元,且所述第二待预测数据单元与所述第一待预测数据单元的被预测先后顺序为随机确定的。
在一种可能的实现中,若所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则所述方法还包括:
获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述目标数据中的第二待预测数据单元在所述目标数据中的第三位置;
通过所述第一编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量;
通过所述第一预测网络,对所述M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第四待预测数据单元;
所述基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络,包括:
基于所述第三预测数据单元与所述第一待预测数据单元之间的差异、以及所述第四预测数据单元与所述第二待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
在一种可能的实现中,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
在一种可能的实现中,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
接下来介绍本申请实施例提供的一种执行设备,请参阅图23,图23为本申请实施例提供的执行设备的一种结构示意图,执行设备2300具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备、监控数据处理设备或服务器等,此处不做限定。具体的,执行设备2300包括:接收器2301、发射器2302、处理器2303和存储器2304(其中执行设备2300中的处理器2303的数量可以一个或多个,图23中以一个处理器为例),其中,处理器2303可以包括应用处理器23031和通信处理器23032。在本申请的一些实施例中,接收器2301、发射器2302、处理器2303和存储器2304可通过总线或其它方式连接。
存储器2304可以包括只读存储器和随机存取存储器,并向处理器2303提供指令和数据。存储器2304的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器2304存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器2303控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器2303中,或者由处理器2303实现。处理器2303可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2303中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2303可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器2303可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2304,处理器2303读取存储器2304中的信息,结合其硬件完成上述方法的步骤。
接收器2301可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器2302可用于通过第一接口输出数字或字符信息;发射器2302还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器2302还可以包括显示屏等显示设备。
本申请实施例中,在一种情况下,处理器2303,用于执行图6a、图17对应实施例描述的数据处理方法。
本申请实施例还提供了一种训练设备,请参阅图24,图24是本申请实施例提供的训练设备一种结构示意图,具体的,训练设备2400由一个或多个服务器实现,训练设备2400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)2424(例如,一个或一个以上处理器)和存储器2432,一个或一个以上存储应用程序2442或数据2444的存储介质2430(例如一个或一个以上海量存储设备)。其中,存储器2432和存储介质2430可以是短暂存储或持久存储。存储在存储介质2430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器2424可以设置为与存储介质2430通信,在训练设备2400上执行存储介质2430中的一系列指令操作。
训练设备2400还可以包括一个或一个以上电源2426,一个或一个以上有线或无线网络接口2450,一个或一个以上输入输出接口2458;或,一个或一个以上操作系统2441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器2424,用于执行图15对应实施例中描述的数据处理方法。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例提供的执行设备、训练设备或终端设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的数据处理方法,或者,以使训练设备内的芯片执行上述实施例描述的数据处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图25,图25为本申请实施例提供的芯片的一种结构示意图,上述图6a、图15和图17对应的实施例中描述的数据处理方法可以在图25所示的芯片中实现。具体的,所述芯片可以表现为神经网络处理器NPU 2500,NPU 2500作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路2503,控制器2504控制运算电路2503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
上述图6a、图15和图17对应的实施例中描述的数据处理方法可以由图25所示的芯片中的主CPU和NPU共同配合完成。
在一些实现中,运算电路2503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路2503是二维脉动阵列。运算电路2503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路2503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器2502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器2501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)2508中。
统一存储器2506用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)2505,DMAC被搬运到权重存储器2502中。输入数据也通过DMAC被搬运到统一存储器2506中。
BIU为Bus Interface Unit即,总线接口单元2510,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)2509的交互。
总线接口单元2510(Bus Interface Unit,简称BIU),用于取指存储器2509从外部存储器获取指令,还用于存储单元访问控制器2505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器2506或将权重数据搬运到权重存储器2502中或将输入数据数据搬运到输入存储器2501中。
向量计算单元2507包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元2507能将经处理的输出的向量存储到统一存储器2506。例如,向量计算单元2507可以将线性函数;或,非线性函数应用到运算电路2503的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元2507生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路2503的激活输入,例如用于在神经网络中的后续层中的使用。
控制器2504连接的取指存储器(instruction fetch buffer)2509,用于存储控制器2504使用的指令;
统一存储器2506,输入存储器2501,权重存储器2502以及取指存储器2509均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (28)
1.一种数据处理方法,其特征在于,所述方法包括:
获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
通过目标预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到所述第一待预测数据单元。
2.根据权利要求1所述的方法,其特征在于,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
3.根据权利要求1或2所述的方法,其特征在于,所述目标编码器为第一转换transformer层,所述目标预测网络为第二transformer层。
4.根据权利要求3所述的方法,其特征在于,所述第一transformer层包括串行的多个子transformer层;所述通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
5.根据权利要求1至4任一所述的方法,其特征在于,所述目标编码器包括注意力头,所述通过目标编码器,对所述M个第一嵌入向量进行处理,包括:
获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;
根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
通过嵌入层对所述目标数据中的M个已知数据单元进行嵌入处理,以得到M个第三嵌入向量;
获取所述M个已知数据单元中的每个已知数据单元的位置向量,所述位置向量用于指示所述第一位置;
将所述M个第三嵌入向量中的每个第三嵌入向量与对应的位置向量进行融合,以得到所述M个第一嵌入向量。
7.根据权利要求1至6任一所述的方法,其特征在于,所述目标数据还包括第二待预测数据单元,且所述第二待预测数据单元与所述第一待预测数据单元的被预测先后顺序为随机确定的。
8.根据权利要求7所述的方法,其特征在于,若所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则所述方法还包括:
获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述第二待预测数据单元在所述目标数据中的第三位置;
通过所述目标编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量;
通过所述目标预测网络,对所述M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第二待预测数据单元。
9.根据权利要求7或8所述的方法,其特征在于,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
10.根据权利要求1至9任一所述的方法,其特征在于,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
11.一种数据处理方法,其特征在于,所述方法包括:
获取M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个数据单元以及所述一个数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于指示目标处理任务;所述M为正整数;
通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个数据单元对应的M个输出向量,其中,每个所述数据单元对应的输出向量为根据所述M个第一嵌入向量生成的;
通过任务网络,对所述M个输出向量以及所述第二嵌入向量进行所述目标处理任务对应的处理,以得到任务处理结果。
12.根据权利要求11所述的方法,其特征在于,所述第一位置用于指示所述数据单元与其他数据单元之间的相对位置关系。
13.根据权利要求11或12所述的方法,其特征在于,所述目标编码器为第一转换transformer层,所述任务网络为第二transformer层。
14.根据权利要求13所述的方法,其特征在于,所述第一transformer层包括串行的多个子transformer层;所述通过目标编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个输出向量。
15.根据权利要求11至14任一所述的方法,其特征在于,所述目标编码器包括注意力头,所述通过目标编码器,对所述M个第一嵌入向量进行处理,包括:
获取注意力信息,所述注意力信息用于指示所述注意力头在处理所述M个第一嵌入向量时,所述M个第一嵌入向量中任意两个第一嵌入向量之间存在注意力关联;
根据所述注意力信息,通过所述目标编码器,对所述M个第一嵌入向量进行处理。
16.根据权利要求11至15任一所述的方法,其特征在于,所述目标数据为文本数据,所述数据单元为所述文本数据中的词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的像素点。
17.根据权利要求11至16任一所述的方法,其特征在于,所述目标处理任务包括短文本分类、长文本分类、自然语言推断、文本相似度匹配或文本情感分类。
18.一种数据处理方法,其特征在于,所述方法包括:
获取第一编码器、第一预测网络、M个第一嵌入向量、以及第二嵌入向量;其中,每个第一嵌入向量用于表示目标数据中的一个已知数据单元以及所述一个已知数据单元在所述目标数据中的第一位置,所述第二嵌入向量用于表示所述目标数据中的第一待预测数据单元在所述目标数据中的第二位置;所述M为正整数;
通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,其中,每个所述已知数据单元对应的第一输出向量为根据所述M个第一嵌入向量生成的;
通过所述第一预测网络,对所述M个第一输出向量以及所述第二嵌入向量进行处理,以得到第三预测数据单元;
基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
19.根据权利要求18所述的方法,其特征在于,所述第一位置用于指示所述已知数据单元与其他已知数据单元以及所述已知数据单元与所述第一待预测数据单元之间的相对位置关系;所述第二位置用于指示所述第一待预测数据单元与所述目标数据中各个已知数据单元之间的相对位置关系。
20.根据权利要求18或19所述的方法,其特征在于,所述第一编码器为第一转换transformer层,所述第一预测网络为第二transformer层。
21.根据权利要求20所述的方法,其特征在于,所述第一transformer层包括串行的多个子transformer层;所述通过所述第一编码器,对所述M个第一嵌入向量进行处理,以得到M个已知数据单元对应的M个第一输出向量,包括:
通过每个所述子transformer层,对与所述子transformer层相邻的上一个子transformer层输出的数据进行处理,以得到M个中间向量,并将所述M个中间向量输出至与所述子transformer层相邻的下一个子transformer层;其中,若所述子transformer层为所述多个子transformer层中最靠近输入侧的transformer层,则所述子transformer层的输入数据为所述M个第一嵌入向量;若所述子transformer层为所述多个子transformer层中最靠近输出侧的transformer层,则所述子transformer层输出的数据为所述M个第一输出向量。
22.根据权利要求18至21任一所述的方法,其特征在于,所述目标数据还包括第二待预测数据单元,且所述第二待预测数据单元与所述第一待预测数据单元的被预测先后顺序为随机确定的。
23.根据权利要求22所述的方法,其特征在于,若所述第二待预测数据单元在所述第一待预测数据单元之后被预测,则所述方法还包括:
获取第四嵌入向量和第五嵌入向量,所述第四嵌入向量用于表示所述第一待预测数据单元以及所述第一待预测数据单元在所述目标数据中的第二位置,所述第五嵌入向量用于表示所述目标数据中的第二待预测数据单元在所述目标数据中的第三位置;
通过所述第一编码器,对所述M个第一嵌入向量以及所述第四嵌入向量进行处理,以得到M个已知数据单元以及所述第一待预测数据单元对应的M+1个第二输出向量;
通过所述第一预测网络,对所述M+1个第二输出向量以及所述第五嵌入向量进行处理,以得到所述第四待预测数据单元;
所述基于所述第三预测数据单元与所述第一待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络,包括:
基于所述第三预测数据单元与所述第一待预测数据单元之间的差异、以及所述第四预测数据单元与所述第二待预测数据单元之间的差异,更新所述第一编码器和所述第一预测网络,以得到目标编码器和目标预测网络。
24.根据权利要求22或23所述的方法,其特征在于,所述每个已知数据单元对应的第二输出向量为根据所述M个第一嵌入向量生成的;所述第一待预测数据单元对应的第二输出向量为根据所述M个第一嵌入向量以及所述第四嵌入向量生成的。
25.根据权利要求18至24任一所述的方法,其特征在于,所述目标数据为文本数据,所述已知数据单元为所述文本数据中的已知词,所述第一待预测数据单元为所述文本数据中的待预测词;或者,
所述目标数据为语音数据,所述已知数据单元为所述语音数据中的已知音频序列,所述第一待预测数据单元为所述语音数据中的待预测音频序列;或者,
所述目标数据为图像数据,所述已知数据单元为所述图像数据中的已知像素点,所述第一待预测数据单元为所述图像数据中的待预测像素点。
26.一种数据处理装置,其特征在于,所述装置包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为获取所述代码,并执行如权利要求1至25任一所述的方法。
27.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一个或多个指令,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机实施权利要求1至25任一所述的方法。
28.一种计算机程序产品,其特征在于,所述计算机程序产品包括代码,当所述代码被执行时,用于实现权利要求1至25任一项所述的方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110415349.1A CN115292439A (zh) | 2021-04-18 | 2021-04-18 | 一种数据处理方法及相关设备 |
EP22790962.9A EP4318322A1 (en) | 2021-04-18 | 2022-04-15 | Data processing method and related device |
PCT/CN2022/087028 WO2022222854A1 (zh) | 2021-04-18 | 2022-04-15 | 一种数据处理方法及相关设备 |
US18/380,581 US20240046067A1 (en) | 2021-04-18 | 2023-10-16 | Data processing method and related device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110415349.1A CN115292439A (zh) | 2021-04-18 | 2021-04-18 | 一种数据处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292439A true CN115292439A (zh) | 2022-11-04 |
Family
ID=83721959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110415349.1A Pending CN115292439A (zh) | 2021-04-18 | 2021-04-18 | 一种数据处理方法及相关设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240046067A1 (zh) |
EP (1) | EP4318322A1 (zh) |
CN (1) | CN115292439A (zh) |
WO (1) | WO2022222854A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116967640A (zh) * | 2023-09-22 | 2023-10-31 | 杭州众能光电科技有限公司 | 钙钛矿电池层跟随除尘控制装置及方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116975654B (zh) * | 2023-08-22 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 对象互动方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4232118B2 (ja) * | 2006-09-12 | 2009-03-04 | ソニー株式会社 | データ処理装置、データ処理方法、およびプログラム |
CN108446374B (zh) * | 2018-03-16 | 2019-09-20 | 北京三快在线科技有限公司 | 用户意图预测方法、装置、电子设备、存储介质 |
CN110489555B (zh) * | 2019-08-21 | 2022-03-08 | 创新工场(广州)人工智能研究有限公司 | 一种结合类词信息的语言模型预训练方法 |
CN111160050A (zh) * | 2019-12-20 | 2020-05-15 | 沈阳雅译网络技术有限公司 | 一种基于上下文记忆网络的篇章级神经机器翻译方法 |
CN112527938A (zh) * | 2020-12-17 | 2021-03-19 | 安徽迪科数金科技有限公司 | 基于自然语言理解的中文poi匹配方法 |
-
2021
- 2021-04-18 CN CN202110415349.1A patent/CN115292439A/zh active Pending
-
2022
- 2022-04-15 WO PCT/CN2022/087028 patent/WO2022222854A1/zh active Application Filing
- 2022-04-15 EP EP22790962.9A patent/EP4318322A1/en active Pending
-
2023
- 2023-10-16 US US18/380,581 patent/US20240046067A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116967640A (zh) * | 2023-09-22 | 2023-10-31 | 杭州众能光电科技有限公司 | 钙钛矿电池层跟随除尘控制装置及方法 |
CN116967640B (zh) * | 2023-09-22 | 2024-01-05 | 杭州众能光电科技有限公司 | 钙钛矿电池层跟随除尘控制装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022222854A1 (zh) | 2022-10-27 |
EP4318322A1 (en) | 2024-02-07 |
US20240046067A1 (en) | 2024-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368993B (zh) | 一种数据处理方法及相关设备 | |
WO2020228376A1 (zh) | 文本处理方法、模型训练方法和装置 | |
CN112288075B (zh) | 一种数据处理方法及相关设备 | |
WO2023160472A1 (zh) | 一种模型训练方法及相关设备 | |
WO2022253074A1 (zh) | 一种数据处理方法及相关设备 | |
WO2022001232A1 (zh) | 一种问答数据增强方法、装置、计算机设备及存储介质 | |
CN113344206A (zh) | 融合通道与关系特征学习的知识蒸馏方法、装置及设备 | |
WO2022222854A1 (zh) | 一种数据处理方法及相关设备 | |
US20240152770A1 (en) | Neural network search method and related device | |
CN115221846A (zh) | 一种数据处理方法及相关设备 | |
CN115512005A (zh) | 一种数据处理方法及其装置 | |
CN116432019A (zh) | 一种数据处理方法及相关设备 | |
CN116541492A (zh) | 一种数据处理方法及相关设备 | |
CN112115744B (zh) | 点云数据的处理方法及装置、计算机存储介质、电子设备 | |
CN112668347B (zh) | 文本翻译方法、装置、设备及计算机可读存储介质 | |
CN117216710A (zh) | 多模态自动标注方法、标注模型的训练方法及相关设备 | |
CN115759262A (zh) | 基于知识感知注意力网络的视觉常识推理方法及系统 | |
CN111445545B (zh) | 一种文本转贴图方法、装置、存储介质及电子设备 | |
CN113011320A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
WO2023207665A1 (zh) | 一种数据处理方法及相关设备 | |
CN117593595B (zh) | 基于人工智能的样本增广方法、装置及电子设备 | |
WO2023143262A1 (zh) | 一种数据处理方法及相关设备 | |
Voruganti | Visual question answering with external knowledge | |
CN117035019A (zh) | 一种数据处理方法及相关设备 | |
CN117216536A (zh) | 一种模型训练的方法、装置和设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |