1.一种基于知识蒸馏的多层神经网络语言模型训练方法,其特征在于,包括以下步骤:(1)构建BERT语言模型和多层BILSTM模型作为教师模型和学生模型,其中所构建的BERT语言模型中有六层transformer,多层BILSTM模型中有三层BILSTM网络;
(2)将文本语料集进行预处理后,对BERT语言模型进行训练得到训练好的教师模型;
(3)将预处理后的文本语料集输入到多层BILSTM模型,对学生模型进行训练,在学生模型训练时学习教师模型分别在嵌入层、隐藏层以及输出层的信息,通过线性变换将不同空间表示进行计算,结合教师模型与学生模型的嵌入层向量输出的MSE均方误差、学生模型每一层隐藏层输出与教师模型与之对应的每层transformer中的输出的MSE均方误差、以及教师模型与学生模型softmax层输出的概率分布的交叉熵作为知识蒸馏的目标损失函数;最后得到训练好的学生模型。
2.根据权利要求1所述的基于知识蒸馏的多层神经网络语言模型训练方法,其特征在于,所述知识蒸馏的目标损失函数为:
其中,se与te分别代表学生模型与教师模型的嵌入表示,sh与t2h‑1分别代表学生模型第h层的隐藏层与教师模型第2h‑1层的隐藏层的输出,sp与tp分别代表学生模型与教师模型预测的logits输出,λe、λhid和λpre分别代表着不同层的重要程度,Lemb、Lhid和Lpre分别代表着不同层的损失计算函数。
3.根据权利要求2所述的基于知识蒸馏的多层神经网络语言模型训练方法,其特征在于,教师模型与学生模型在嵌入层的损失计算公式为:Lemb(se,te)=MSE(seWe,te)其中,MSE表示均方误差,We表示线性变换矩阵。
4.根据权利要求2所述的基于知识蒸馏的多层神经网络语言模型训练方法,其特征在于,教师模型与学生模型在隐藏层的损失计算公式为:Lhid(sh,t2h‑1)=MSE(shWh,t2h‑1)其中,MSE表示均方误差,Wh表示线性变换矩阵。
5.根据权利要求2所述的基于知识蒸馏的多层神经网络语言模型训练方法,其特征在于,教师模型与学生模型在输出层的损失计算公式为:Lpre(sp,tp)=‑softmax(tp)·log_softmax(sp/Tem)其中,log_softmax表示对数似然,Tem表示温度值。
6.一种基于知识蒸馏的文本分类方法,其特征在于,所述文本分类方法利用根据权利要求1‑5任一项所述的基于知识蒸馏的多层神经网络语言模型训练方法得到的训练好的学生模型,将文本数据转换为向量表示输入至一种神经网络模型进行文本分类,或输入至多种神经网络模型进行特征融合后进行文本分类。
7.一种计算装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1‑5任一项所述的基于知识蒸馏的多层神经网络语言模型训练方法或实现权利要求6所述的基于知识蒸馏的文本分类方法。