CN116578699A - 基于Transformer的序列分类预测方法和系统 - Google Patents
基于Transformer的序列分类预测方法和系统 Download PDFInfo
- Publication number
- CN116578699A CN116578699A CN202310379608.9A CN202310379608A CN116578699A CN 116578699 A CN116578699 A CN 116578699A CN 202310379608 A CN202310379608 A CN 202310379608A CN 116578699 A CN116578699 A CN 116578699A
- Authority
- CN
- China
- Prior art keywords
- transducer
- sequence
- data set
- classification prediction
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000003062 neural network model Methods 0.000 claims abstract description 99
- 239000011159 matrix material Substances 0.000 claims abstract description 84
- 238000012549 training Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 49
- 238000010606 normalization Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 9
- 238000011423 initialization method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 21
- 230000008901 benefit Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种基于Transformer的序列分类预测方法和系统,该方法包括构建整数id词表,将所有初始序列拆分为待训练数据集;建立用于序列分类预测的Transformer神经网络模型并进行特定的初始化,为该模型添加递归位置编码矩阵,将待训练数据集输入初始化后的模型进行分类预测训练,当交叉熵损失最小时,完成训练;最后将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果;本发明通过Summer初始化和Cumsum计算在序列分类任务中,能够在捕捉序列的线性结构信息的同时降低特征捕捉的计算时间,从而提高了模型的收敛能力和预测准确度。
Description
技术领域
本发明涉及Transformer模型预测优化技术领域,更具体地,涉及一种基于Transformer的序列分类预测方法和系统。
背景技术
Transformer神经网络模型是一种完全基于自注意力机制的模型,尽管自注意力机制解决了传统模型无法考虑全局信息的缺点,但transformer的研究表明自注意力机制本身缺乏时序建模能力,引入位置编码可以有效解决Transformer缺乏时序建模能力的问题。
对于序列分类任务而言,时序信息是极其重要的。对于缺乏时序建模能力的自注意力机制而言,序列的信息难以得到有效刻画。为了改善该问题,transformer通过绝对位置编码向自注意力机制加入时序信息,近些年的研究表明绝对位置编码的时序建模能力较弱。因此,现有研究一般通过递归位置建模与相对位置建模两种不同的方法改善绝对位置时序建模能力较弱的缺点。递归位置编码利用RNN天然的时序结构进行位置建模,具有时序能力强和能捕捉序列线性结构信息优点,但由于缺乏并行手段和计算方式复杂而使得模型的速度较慢,也存在梯度消失等缺陷。相对位置编码从词汇相对距离的角度建模时序信息,在拥有强大时序建模能力的同时支持模型并行运算,但相对位置编码抛弃了递归结构从而丧失了捕捉序列线性结构信息的能力。如何有效保留递归位置编码的优点并缓解RNN的梯度消失问题,提升其运算速度是关键问题。
Transformer的位置编码主要分为绝对位置编码、相对位置编码和递归式位置编码;绝对位置编码最开始为初始transformer使用的Sinusoidal位置编码,后续的研究表明训练时的位置编码在大数据训练时有更好的效果。但绝对位置编码的缺陷是时序建模能力不强,且可能对导致模型过拟合,因此目前的transformer模型主要使用的是相对位置编码,能够基于序列间的相对距离表达时序信息。尽管相对位置编码有着很强的时序建模能力及并行计算能力,但其结构上忽略了序列的线性结构信息。
传统的相对位置编码为提升速度放弃了递归结构从而失去了递归结构对序列的天然捕捉能力,传统的递归位置编码虽然拥有该能力但是存在计算复杂度高、并行化程度低等问题,导致了训练和推理速度都因该瓶颈无法提升。因此,在用于序列分类的Transformer模型中,能够结合相对位置编码和递归位置编码各自优点,高效捕捉序列线性结构信息且容易收敛的位置编码方法尚未出现。
目前的现有技术公开了一种基于自注意力的单词和标签联合的短文本分类预测方法,包括:构造短文本序列的向量表示的矩阵,得出经由文本自注意力转换后的文本表示矩阵;构造标签序列的向量表示矩阵,得出短文本与标签交互注意力转换后的交互文本表示矩阵;得到文本语义表示向量z;最后z经过全连接层预测分类结果与短文本实际标签y进行比较计算出预测误差,通过不断迭代得到最优参数;现有技术中的方法考虑单词和标签之间的相互影响,通过引入自注意力机制,利用数据集本身的类别标签信息,将标签和短文本的单词向量映射到同一空间,从而实现更好的交互功能,充分提取上下文信息,增加可解释性,提高分类结果的准确度及分类任务的泛化能力;但现有技术中的方法在提升模型的序列分类准确度的同时,无法维持低计算复杂,因此无法兼顾计算速度和分类质量。
发明内容
本发明为克服上述现有技术无法在提升模型的序列分类准确度的同时,维持低计算复杂的缺陷,提供一种基于Transformer的序列分类预测方法和系统,能够降低模型的计算时间复杂度,提高效率,同时增强模型对于序列线性结构的捕捉能力。
为解决上述技术问题,本发明的技术方案如下:
一种基于Transformer的序列分类预测方法,包括以下步骤:
S1:获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;
S2:建立用于序列分类预测的Transformer神经网络模型;
S3:初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;
S4:将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;
S5:获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果。
优选地,所述步骤S1中的具体方法为:
获取初始文本序列数据集及其对应的类别,第i个序列Si及其对应的第i个类别Ti记为数据对(Si,Ti);
所述初始文本序列数据集包括中文序列数据集、英文序列数据集和其他序列数据集;
将初始文本序列数据集中的所有序列拆分为单词级别的字符串并进行去重,对所有字符串按先后顺序排序并设置每个字符串的整数id,每个字符串和其整数id一一对应,构建词表;
将每个拆分后的序列Si中的字符串通过词表查询对应的整数id进行替换,获得整数id序列,并将每个整数id序列使用0号整数id填充至预设的相同长度;
将所有填充后的整数id序列及其对应的类别Ti共同保存为待训练数据集。
优选地,所述步骤S2中的Transformer神经网络模型包括依次连接的Cumsum层、注意力层、第一层归一化层、前馈层、第二层归一化层、全局最大池化层、全连接层和Softmax层;
所述Cumsum层的输入端还与第一层归一化层的输入端构成残差连接,前馈层的输入端还与第二层归一化层的输入端构成残差连接;
所述Cumsum层用于进行Cumsum计算。
优选地,所述步骤S3中,初始化Transformer神经网络模型,并利用Cumsum计算为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型,具体方法为:
初始化Cumsum层中预设的第一、第二和第三权重矩阵Wq、Wk和Wv,并计算获取第一、第二和第三注意力矩阵Q、K和V;
将第一、第二和第三注意力矩阵Q、K和V进行分头操作,利用Summer初始化的方法生成与第一和第二注意力矩阵Q和K维度相同的第一和第二位置编码矩阵Mq和Mk;
根据第一和第二位置编码矩阵Mq和Mk以及第一和第二注意力矩阵Q和K,通过哈达玛积和Cumsum计算,分别获得初始化后的第一和第二注意力矩阵Q’和K’;
将初始化后的第一和第二注意力矩阵Q’和K’,以及第三注意力矩阵V作为初始化后的Transformer神经网络模型的注意力矩阵,完成模型的初始化。
优选地,所述Summer初始化的方法具体为:
设置标准差为0.005、均值为0的截断式正态分布的初始化器并在0附近生成正值和负值,将所有生成的负值通过绝对值方式化正;
在-1维度上通过Cumsum计算得到第一和第二位置编码矩阵Mq和Mk。
优选地,根据第一和第二位置编码矩阵Mq和Mk以及第一和第二注意力矩阵Q和K,通过哈达玛积和Cumsum计算,分别获得初始化后的第一和第二注意力矩阵Q’和K’,具体方法为:
根据以下公式获得初始化后的第一和第二注意力矩阵Q’和K’:
其中,⊙表示哈达玛积运算,Cumsum计算具体为求预设矩阵在时间步维度上的前缀和。
优选地,所述注意力层中的注意力机制具体表示为以下公式:
其中,time_stepk为第二注意力矩阵K的时间步维度。
优选地,所述前馈层中设置有relu激活函数,前馈层的计算过程依次包括高维投影矩阵乘法计算、激活函数计算和低维投影矩阵乘法计算。
优选地,所述步骤S4中预设的损失函数具体为交叉熵损失函数。
本发明还提供一种基于Transformer的序列分类预测系统,应用上述的基于Transformer的序列分类预测方法,包括:
序列获取和拆分单元:获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;
模型构建单元:用于建立用于序列分类预测的Transformer神经网络模型;
初始化单元:用于初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;
训练优化单元:用于将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;
序列分类预测单元:用于获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果。
与现有技术相比,本发明技术方案的有益效果是:
本发明提供一种基于Transformer的序列分类预测方法和系统,该方法通过获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;建立用于序列分类预测的Transformer神经网络模型;初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;最后获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果;
本发明通过Cumsum计算在保留递归信息的基础上,将高复杂度的矩阵运算简化为低复杂度的点乘运算,相较于其他位置编码拥有更快的运算速度,使得在序列分类任务中,能够在捕捉序列的线性结构信息的同时降低特征捕捉的计算时间;另外,本发明依托相对位置编码速度快的优势,加入了可训练可并行生成的线性结构信息,能够降低模型的计算时间复杂度,提高效率,同时增强模型对于序列线性结构的捕捉能力,从而提高了模型的收敛能力和预测准确度。
附图说明
图1为实施例1所提供的一种基于Transformer的序列分类预测方法流程图。
图2为实施例2所提供的-1维度的Cumsum计算示意图。
图3为实施例2所提供的时间步维度Cumsum计算示意图。
图4为实施例2所提供的全局最大池化层计算示意图。
图5为实施例3所提供的一种基于Transformer的序列分类预测系统结构图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,本实施例提供一种基于Transformer的序列分类预测方法,包括以下步骤:
S1:获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;
S2:建立用于序列分类预测的Transformer神经网络模型;
S3:初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;
S4:将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;
S5:获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果。
在具体实施过程中,首先获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;建立用于序列分类预测的Transformer神经网络模型;初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;最后获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果;
本方法通过Cumsum计算在保留递归信息的基础上,将高复杂度的矩阵运算简化为低复杂度的点乘运算,相较于其他位置编码拥有更快的运算速度,使得在序列分类任务中,能够在捕捉序列的线性结构信息的同时降低特征捕捉的计算时间;另外,本方法依托相对位置编码速度快的优势,加入了可训练可并行生成的线性结构信息,能够降低模型的计算时间复杂度,提高效率,同时增强模型对于序列线性结构的捕捉能力,从而提高了模型的收敛能力和预测准确度。
实施例2
本实施例提供一种基于Transformer的序列分类预测方法,包括以下步骤:
S1:获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;
S2:建立用于序列分类预测的Transformer神经网络模型;
S3:初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;
S4:将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用交叉熵损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;
S5:获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果;
所述步骤S1中的具体方法为:
获取初始文本序列数据集及其对应的类别,第i个序列Si及其对应的第i个类别Ti记为数据对(Si,Ti);
所述初始文本序列数据集包括中文序列数据集、英文序列数据集和其他序列数据集;
将初始文本序列数据集中的所有序列拆分为单词级别的字符串并进行去重,对所有字符串按先后顺序排序并设置每个字符串的整数id,每个字符串和其整数id一一对应,构建词表;
将每个拆分后的序列Si中的字符串通过词表查询对应的整数id进行替换,获得整数id序列,并将每个整数id序列使用0号整数id填充至预设的相同长度;
将所有填充后的整数id序列及其对应的类别Ti共同保存为待训练数据集;
所述步骤S2中的Transformer神经网络模型包括依次连接的Cumsum层、注意力层、第一层归一化层、前馈层、第二层归一化层、全局最大池化层、全连接层和Softmax层;
所述Cumsum层的输入端还与第一层归一化层的输入端构成残差连接,前馈层的输入端还与第二层归一化层的输入端构成残差连接;
所述Cumsum层用于进行Cumsum计算;
所述步骤S3中,初始化Transformer神经网络模型,并利用Cumsum计算为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型,具体方法为:
初始化Cumsum层中预设的第一、第二和第三权重矩阵Wq、Wk和Wv,并计算获取第一、第二和第三注意力矩阵Q、K和V;
将第一、第二和第三注意力矩阵Q、K和V进行分头操作,利用Summer初始化的方法生成与第一和第二注意力矩阵Q和K维度相同的第一和第二位置编码矩阵Mq和Mk;
根据第一和第二位置编码矩阵Mq和Mk以及第一和第二注意力矩阵Q和K,通过哈达玛积和Cumsum计算,分别获得初始化后的第一和第二注意力矩阵Q’和K’;
将初始化后的第一和第二注意力矩阵Q’和K’,以及第三注意力矩阵V作为初始化后的Transformer神经网络模型的注意力矩阵,完成模型的初始化;
所述Summer初始化的方法具体为:
设置标准差为0.005、均值为0的截断式正态分布的初始化器并在0附近生成正值和负值,将所有生成的负值通过绝对值方式化正;
在-1维度上通过Cumsum计算得到第一和第二位置编码矩阵Mq和Mk;
根据第一和第二位置编码矩阵Mq和Mk以及第一和第二注意力矩阵Q和K,通过哈达玛积和Cumsum计算,分别获得初始化后的第一和第二注意力矩阵Q’和K’,具体方法为:
根据以下公式获得初始化后的第一和第二注意力矩阵Q’和K’:
其中,⊙表示哈达玛积运算,Cumsum计算具体为求预设矩阵在时间步维度上的前缀和;
所述注意力层中的注意力机制具体表示为以下公式:
其中,time_stepk为第二注意力矩阵K的时间步维度;
所述前馈层中设置有relu激活函数,前馈层的计算过程依次包括高维投影矩阵乘法计算、激活函数计算和低维投影矩阵乘法计算。
在具体实施过程中,首先获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分,获得初始字符串数据集,具体为:
获取初始文本序列数据集及其对应的类别,第i个序列Si及其对应的第i个类别Ti记为数据对(Si,Ti),Si=[w1,w2,...,wi,...,wn],Ti=[t1,t2,...,ti,...,tm],n为序列数量,m为类别数量;
所述初始文本序列数据集包括中文序列数据集、英文序列数据集和其他序列数据集;
将初始文本序列数据集中的所有序列拆分为单词级别的字符串并进行去重,对所有字符串按先后顺序排序并设置每个字符串的整数id,每个字符串和其整数id一一对应,构建词表;
将每个拆分后的序列Si中的字符串通过词表查询对应的整数id进行替换,获得整数id序列,并将每个整数id序列使用0号整数id填充至预设的相同长度;
将所有填充后的整数id序列及其对应的类别Ti共同保存为待训练数据集;
建立用于序列分类预测的Transformer神经网络模型;
之后初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型,具体为:
初始化Cumsum层中预设的第一、第二和第三权重矩阵Wq、Wk和Wv,并计算获取第一、第二和第三注意力矩阵Q、K和V;
将第一、第二和第三注意力矩阵Q、K和V进行分头操作,利用Summer初始化的方法生成与第一和第二注意力矩阵Q和K维度相同的第一和第二位置编码矩阵Mq和Mk;
所述Summer初始化的方法具体为:
设置标准差为0.005、均值为0的截断式正态分布的初始化器,权重的分布为w~N(0,0.005)∩(0,0.01),在0附近生成正值和负值,将所有生成的负值通过绝对值方式化正;
在-1维度上通过Cumsum计算得到第一和第二位置编码矩阵Mq和Mk,如图2所示,-1维度为词嵌入维度,即横向累加;
根据第一和第二位置编码矩阵Mq和Mk以及第一和第二注意力矩阵Q和K,通过哈达玛积和Cumsum计算,分别获得初始化后的第一和第二注意力矩阵Q’和K’,具体为:
根据以下公式获得初始化后的第一和第二注意力矩阵Q’和K’:
其中,⊙表示哈达玛积运算,Cumsum计算具体为求预设矩阵在时间步维度上的前缀和,如图3所示;
将初始化后的第一和第二注意力矩阵Q’和K’,以及第三注意力矩阵V作为初始化后的Transformer神经网络模型的注意力矩阵,完成模型的初始化;
将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用交叉熵损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;
注意力层中的注意力机制具体表示为以下公式:
其中,time_stepk为第二注意力矩阵K的时间步维度,时间步维度为纵向累加;
所述前馈层中设置有relu激活函数,前馈层的计算过程依次包括高维投影矩阵乘法计算、激活函数计算和低维投影矩阵乘法计算;
最后获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果;
下面结合具体的序列对本方法进行说明:
在本实施例中,以[‘文心一言完全是百度自研的大语言模型’]作为初始的中文文本序列数据集,首先将所有字进行去重并生成id字典,之后将该序列以字级进行分词操作可得[‘文’,‘心’,‘一’,‘言’,‘完’,‘全’,‘是’,‘百’,‘度’,‘自’,‘研’,‘的’,‘大’,‘语’,‘言’,‘模’,‘型’],将所有文本分词后利用id字典查询每个字对应的整数id,上述序列使用整数id替换得到的结果为[172,285,98,567,345,973,1028,474,1002,3215,777,3029,2056,2011,567,1110,1129],接着将所有整数id用“0”进行填充到相同长度,此处设定长度为256,便得到[172,285,98,567,345,973,1028,474,1002,3215,777,3029,2056,2011,567,1110,1129,0,0,0,0,0,…,0],因原序列长度为17,256-17=239,此处拥有239个0号id;
之后将字符串和整数id对应的512维度词向量取出,其中词向量是从零可训练的初始化参数,维度从(1,256)转为(1,256,512),设该样本为x;
将该样本与初始化维度均为(512,256)的Wq、Wk、Wv进行矩阵乘法操作,得到矩阵Q1、K1、V1,进而分头操作得到维度为(1,8,256,64)的矩阵Q、K、V,由(256,256)维度reshape为(8,256,64);
接着通过Cumsum层,将Summer初始化生成的维度也为(8,256,64)的位置编码矩阵Mq、Mk和矩阵Q、K进行哈达玛积操作,哈达玛积的维度为(1,8,256,64),再进行Cumsum计算,并除以对应位置编码矩阵的Cumsum计算结果进行约束,公式如下:
之后通过注意力层的乘性多头注意力机制计算序列与序列之间的关注度,注意力机制表示为以下公式:
其中,time_stepk为第二注意力矩阵K的时间步维度,在本实施例中,time_stepk=256;
之后通过reshape进行维度恢复,从(1,8,256,64)恢复(1,256,512),通过残差相加和第一层归一化层,完成层归一化操作,公式为:x=x+Attention;
之后前馈层将层归一化后的输出进行高维投影,通过relu激活函数之后进而再往低维投影,公式如下:
FFN(x)=relu(xW1+b1)W2+b2
其中,W1和b1为第一全连接层的参数矩阵和偏置项;W2和b2为第二全连接层的参数矩阵和偏置项;relu函数为relu(x)=max(0,x),W1维度为(512,2048),W2维度为(2048,512),输出维度为(1,256,512);
将上述输出和输入的值通过残差相加和第二层归一化层再次进行层归一化操作,输出最终结果;
重复上述步骤进行训练,并根据以下公式计算交叉熵损失:
其中,yi=1时表示序列属于第i个类别,为分类器预测序列属于第i个类别的概率;
当损失函数值最小时,获得训练后的Transformer神经网络模型;
待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,将第二层归一化层输出的矩阵输入到全局最大池化层,如图4所示,得到维度为(1,512)的向量,进而放入全连接层,该全连接层的神经元个数同类别数量c,再通过Softmax层进行分类预测,记为在本实施例中,c=15,最终获得序列分类预测结果,公式为:/>
将本实施例中拆分后的字符串输入训练后的Transformer神经网络模型中,获得的分类预测结果为:[0.00272879,0.00307608,0.00262474,0.002499,0.00269692,0.00233592,0.00232535,0.00233154,0.9615145,0.00264494,0.00211363,0.00197962,0.00172725,0.00647863,0.00292311];
由此可得概率最大的为第9类,约为0.96,在本实施例代表“科技”类别,则最终的分类预测结果为“科技”;
为了证明本方法的有效性,本实施例选择了bert的可训练的位置编码,t5、deberta、rope的相对位置编码和r-transformer的递归位置编码方式在中英文文本序列yelp(2类),toutiao(15类),online(2类)数据集进行对比实验,以证明本方法在性能上的有效和速度上的优势,对比实验结果如表1所示:
表1对比实验结果
由表1可知,本方法采用Transformer来对文本序列进行随机的初始化编码,使用优化后的初始化方式summer初始化位置编码矩阵、在相对位置编码上添加递归位置信息,使得模型拥有强大的序列线性结构捕捉能力,以解决递归位置编码不可并行、速度慢的瓶颈和相对位置编码丢弃递归结构而导致的序列线性结构捕捉能力弱的问题,来提升模型的收敛速度和分类能力,由于关注到了序列线性结构的信息,从toutiao的15分类数据集中可见拥有相对更大的提升,因此模型在中文且更复杂的多分类任务中有相对更好的表现;
本方法通过Cumsum计算在保留递归信息的基础上,将高复杂度的矩阵运算简化为低复杂度的点乘运算,相较于其他位置编码拥有更快的运算速度,使得在序列分类任务中,能够在捕捉序列的线性结构信息的同时降低特征捕捉的计算时间;另外,本方法依托相对位置编码速度快的优势,加入了可训练可并行生成的线性结构信息,能够降低模型的计算时间复杂度,提高效率,同时增强模型对于序列线性结构的捕捉能力,从而提高了模型的收敛能力和预测准确度。
实施例3
如图5所示,本实施例提供一种基于Transformer的序列分类预测系统,应用实施例1或2中的基于Transformer的序列分类预测方法,包括:
序列获取和拆分单元301:用于获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;
模型构建单元302:用于建立用于序列分类预测的Transformer神经网络模型;
初始化单元303:用于初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;
训练优化单元304:用于将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;
序列分类预测单元305:用于获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果。
在具体实施过程中,首先序列获取和拆分单元301获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;模型构建单元302建立用于序列分类预测的Transformer神经网络模型;初始化单元303初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;训练优化单元304将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;最后序列分类预测单元305获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果;
本系统通过Cumsum计算在保留递归信息的基础上,将高复杂度的矩阵运算简化为低复杂度的点乘运算,相较于其他位置编码拥有更快的运算速度,使得在序列分类任务中,能够在捕捉序列的线性结构信息的同时降低特征捕捉的计算时间;另外,本系统依托相对位置编码速度快的优势,加入了可训练可并行生成的线性结构信息,能够降低模型的计算时间复杂度,提高效率,同时增强模型对于序列线性结构的捕捉能力,从而提高了模型的收敛能力和预测准确度。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于Transformer的序列分类预测方法,其特征在于,包括以下步骤:
S1:获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;
S2:建立用于序列分类预测的Transformer神经网络模型;
S3:初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;
S4:将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;
S5:获取待分类的文本序列数据集,将待分类的文本序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,获得序列分类预测结果。
2.根据权利要求1所述的一种基于Transformer的序列分类预测方法,其特征在于,所述步骤S1中的具体方法为:
获取初始文本序列数据集及其对应的类别,第i个序列Si及其对应的第i个类别Ti记为数据对(Si,Ti);
所述初始文本序列数据集包括中文序列数据集、英文序列数据集和其他序列数据集;
将初始文本序列数据集中的所有序列拆分为单词级别的字符串并进行去重,对所有字符串按先后顺序排序并设置每个字符串的整数id,每个字符串和其整数id一一对应,构建词表;
将每个拆分后的序列Si中的字符串通过词表查询对应的整数id进行替换,获得整数id序列,并将每个整数id序列使用0号整数id填充至预设的相同长度;
将所有填充后的整数id序列及其对应的类别Ti共同保存为待训练数据集。
3.根据权利要求1所述的一种基于Transformer的序列分类预测方法,其特征在于,所述步骤S2中的Transformer神经网络模型包括依次连接的Cumsum层、注意力层、第一层归一化层、前馈层、第二层归一化层、全局最大池化层、全连接层和Softmax层;
所述Cumsum层的输入端还与第一层归一化层的输入端构成残差连接,前馈层的输入端还与第二层归一化层的输入端构成残差连接;
所述Cumsum层用于进行Cumsum计算。
4.根据权利要求1或3所述的一种基于Transformer的序列分类预测方法,其特征在于,所述步骤S3中,初始化Transformer神经网络模型,并利用Cumsum计算为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型,具体方法为:
初始化Cumsum层中预设的第一、第二和第三权重矩阵Wq、Wk和Wv,并计算获取第一、第二和第三注意力矩阵Q、K和V;
将第一、第二和第三注意力矩阵Q、K和V进行分头操作,利用Summer初始化的方法生成与第一和第二注意力矩阵Q和K维度相同的第一和第二位置编码矩阵Mq和Mk;
根据第一和第二位置编码矩阵Mq和Mk以及第一和第二注意力矩阵Q和K,通过哈达玛积和Cumsum计算,分别获得初始化后的第一和第二注意力矩阵Q’和K’;
将初始化后的第一和第二注意力矩阵Q’和K’,以及第三注意力矩阵V作为初始化后的Transformer神经网络模型的注意力矩阵,完成模型的初始化。
5.根据权利要求4所述的一种基于Transformer的序列分类预测方法,其特征在于,所述Summer初始化的方法具体为:
设置标准差为0.005、均值为0的截断式正态分布的初始化器并在0附近生成正值和负值,将所有生成的负值通过绝对值方式化正;
在-1维度上通过Cumsum计算得到第一和第二位置编码矩阵Mq和Mk。
6.根据权利要求5所述的一种基于Transformer的序列分类预测方法,其特征在于,根据第一和第二位置编码矩阵Mq和Mk以及第一和第二注意力矩阵Q和K,通过哈达玛积和Cumsum计算,分别获得初始化后的第一和第二注意力矩阵Q’和K’,具体方法为:
根据以下公式获得初始化后的第一和第二注意力矩阵Q’和K’:
其中,⊙表示哈达玛积运算,Cumsum计算具体为求预设矩阵在时间步维度上的前缀和。
7.根据权利要求6所述的一种基于Transformer的序列分类预测方法,其特征在于,所述注意力层中的注意力机制具体表示为以下公式:
其中,time_stepk为第二注意力矩阵K的时间步维度。
8.根据权利要求7所述的一种基于Transformer的序列分类预测方法,其特征在于,所述前馈层中设置有relu激活函数,前馈层的计算过程依次包括高维投影矩阵乘法计算、激活函数计算和低维投影矩阵乘法计算。
9.根据权利要求1所述的一种基于Transformer的序列分类预测方法,其特征在于,所述步骤S4中预设的损失函数具体为交叉熵损失函数。
10.一种基于Transformer的序列分类预测系统,应用权利要求1~9任意一条中的基于Transformer的序列分类预测方法,其特征在于,包括:
序列获取和拆分单元:用于获取初始文本序列数据集及其对应的类别,将初始文本序列数据集中的所有序列进行拆分并对相同的字符串进行去重,将每个字符串与不同的整数id一一对应并构建成词表,根据词表利用整数id替换所有拆分后序列中的字符串并获取待训练数据集;
模型构建单元:用于建立用于序列分类预测的Transformer神经网络模型;
初始化单元:用于初始化Transformer神经网络模型,为Transformer神经网络模型添加位置编码矩阵,获得初始化后的Transformer神经网络模型;
训练优化单元:用于将待训练数据集输入初始化后的Transformer神经网络模型进行分类预测训练,并利用预设的损失函数计算分类预测的损失值,当分类预测的损失值最小时,完成训练,获得训练后的Transformer神经网络模型;
序列分类预测单元:用于获取待分类的文本序列数据集,将待分类的文本
序列数据集进行拆分后输入训练后的Transformer神经网络模型进行分类预测,
获得序列分类预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310379608.9A CN116578699A (zh) | 2023-04-10 | 2023-04-10 | 基于Transformer的序列分类预测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310379608.9A CN116578699A (zh) | 2023-04-10 | 2023-04-10 | 基于Transformer的序列分类预测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116578699A true CN116578699A (zh) | 2023-08-11 |
Family
ID=87538529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310379608.9A Pending CN116578699A (zh) | 2023-04-10 | 2023-04-10 | 基于Transformer的序列分类预测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578699A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117010459A (zh) * | 2023-10-07 | 2023-11-07 | 浙江大学 | 基于模块化和序列化自动生成神经网络的方法 |
CN117407793A (zh) * | 2023-11-03 | 2024-01-16 | 上海无问芯穹智能科技有限公司 | 一种并行化策略优化方法、系统、设备及介质 |
-
2023
- 2023-04-10 CN CN202310379608.9A patent/CN116578699A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117010459A (zh) * | 2023-10-07 | 2023-11-07 | 浙江大学 | 基于模块化和序列化自动生成神经网络的方法 |
CN117010459B (zh) * | 2023-10-07 | 2024-02-09 | 浙江大学 | 基于模块化和序列化自动生成神经网络的方法 |
CN117407793A (zh) * | 2023-11-03 | 2024-01-16 | 上海无问芯穹智能科技有限公司 | 一种并行化策略优化方法、系统、设备及介质 |
CN117407793B (zh) * | 2023-11-03 | 2024-05-28 | 上海无问芯穹智能科技有限公司 | 一种用于大语言模型的并行化策略优化方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110490946B (zh) | 基于跨模态相似度和生成对抗网络的文本生成图像方法 | |
Pu et al. | Dilated convolutional network with iterative optimization for continuous sign language recognition. | |
CN114169330B (zh) | 融合时序卷积与Transformer编码器的中文命名实体识别方法 | |
CN116578699A (zh) | 基于Transformer的序列分类预测方法和系统 | |
CN110633683B (zh) | 结合DenseNet和resBi-LSTM的中文句子级唇语识别方法 | |
CN111694924A (zh) | 一种事件抽取方法和系统 | |
CN109273054B (zh) | 基于关系图谱的蛋白质亚细胞区间预测方法 | |
CN113077388B (zh) | 一种数据增广的深度半监督超限学习图像分类方法及系统 | |
CN112926303A (zh) | 一种基于BERT-BiGRU的恶意URL检测方法 | |
CN111984791B (zh) | 一种基于注意力机制的长文分类方法 | |
CN112732864B (zh) | 一种基于稠密伪查询向量表示的文档检索方法 | |
Han et al. | Self-supervised speaker verification using dynamic loss-gate and label correction | |
CN109308316B (zh) | 一种基于主题聚类的自适应对话生成系统 | |
WO2023035904A1 (zh) | 视频时序动作提名生成方法及系统 | |
CN110858480B (zh) | 一种基于n元文法神经网络语言模型的语音识别方法 | |
CN111858984A (zh) | 一种基于注意力机制哈希检索的图像匹配方法 | |
Shi et al. | Structured Word Embedding for Low Memory Neural Network Language Model. | |
CN110298046B (zh) | 一种翻译模型训练方法、文本翻译方法及相关装置 | |
CN114138971A (zh) | 一种基于遗传算法的极大多标签分类方法 | |
CN111582287B (zh) | 一种基于充足视觉信息与文本信息的图像描述方法 | |
CN115470799B (zh) | 一种用于网络边缘设备的文本传输和语义理解一体化方法 | |
CN115862015A (zh) | 文字识别系统的训练方法及装置、文字识别方法及装置 | |
CN114529908A (zh) | 一种离线手写化学反应式图像识别技术 | |
Wirayasa et al. | Comparison of Convolutional Neural Networks Model Using Different Optimizers for Image Classification | |
CN110879833B (zh) | 一种基于轻量级循环单元lru的文本预测方法 |
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 |