一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于生成式预训练模型参数精调整的可控文本生成方法

2022-04-09 05:30:29 来源:中国专利 TAG:


1.本发明属于文本生成技术领域,涉及文本生成模型训练与可控文本生成方法,具体涉及基于生成式预训练模型参数精调整的可控文本生成方法。


背景技术:

2.可控文本生成是文本生成领域的前沿问题。目前应用于可控文本生成的模型和方法主要有基于循环神经网络的语言生成模型、基于变分自编码器的语言生成模型、基于生成式对抗网络的语言生成模型和基于大规模预训练的语言生成模型,但各有其局限性。循环神经网络存在对长序列建模较早编码部分依赖不足的问题;变分自编码器训练过程中存在明显的隐变量消失问题,模型会逐渐失去对生成文本的控制作用;生成式对抗网络方法受制于极不稳定的对抗训练过程;大规模预训练模型依赖新场景的丰富语料,导致模型的可控生成成本大。
3.综上,现有的文本生成模型和方法应用于可控文本生成时,不但依赖于大规模标注数据,而且在训练过程中容易出现灾难性遗忘,导致模型的可控生成能力差。为了提高文本生成的可控能力,生成更符合给定条件的文本,需要更具适应性的预训练模型及可控文本生成方法。


技术实现要素:

4.针对现有技术的不足,本发明提出了一种基于生成式预训练模型参数精调整的可控文本生成方法,首先在生成式预训练模型的词嵌入层自定义条件编码,再将控制文本作为提示进行参数精调整,更新控制文本参数,使整个原始输入序列的负对数似然函数值最小化,以减少计算量,从而提高模型训练速度;同时在模型生成操作层融入编码网络实现可控归一化,使特征方差在不同深度的解码模块中保持偏向控制文本的范围,以提高模型的可控生成能力,从而提高可控文本生成精度。
5.一种基于生成式预训练模型参数精调整的可控文本生成方法,包括以下步骤:
6.步骤一、数据预处理
7.将采集到的文本数据划分为引导文本和生成文本,对生成文本按照相关业务设定进行分类,所制作的类别标签作为控制文本,同时过滤掉不在控制范围内的样本。
8.将控制文本xc=c1c2…cn
、引导文本xa=a1a2…am
和生成文本xb=b1b2…bk
拼接得到生成式预训练模型的原始输入序列x,不同文本间用标记符号[sep]分隔。生成文本xb作为原始输出序列y。
[0009]
x=[cls]c1c2…cn
[sep]a1a2…am
[sep]b1b2…bk
[sep]
[0010]
y=b1b2…bk
[sep]
[0011]
式中,n表示控制文本xc的序列长度,m表示引导文本xa的序列长度,k表示生成文本xb的序列长度,[cls]表示文本序列开始的特殊标记,[sep]表示文本序列之间的分隔标记或者文本序列结束的特殊标记。
[0012]
步骤二、自定义条件编码
[0013]
将步骤一中的原始输入序列x输入生成式预训练模型的词嵌入层,得到的输入表示层的输出结果h0由词向量矩阵、位置编码矩阵和条件编码矩阵之和组成:
[0014]
h0=e1(x) e2(x) e3(x)
[0015]
式中,e1(x)、e2(x)、e3(x)分别为原始输入序列x的词向量矩阵、位置编码矩阵、条件编码矩阵,n表示最大序列长度,d表示输入表示维度。
[0016]
词向量矩阵e1(x)将原始输入序列x转换成实值向量表示;位置编码矩阵e2(x)用来编码每个词的绝对位置;条件编码矩阵e3(x)用来编码当前词是否属于控制文本。
[0017]
步骤三、控制文本参数精调整
[0018]
使用控制文本xc作为提示,对生成式预训练模型的词嵌入层和每一层的特征提取器transformer基本单元进行控制文本xc参数精调整;同时,为减少计算量,引导文本xa和生成文本xb在模型相对应的网络权重参数保持固定不变。
[0019]
控制文本参数精调整前向传播计算过程为:
[0020]hl
=transformer_block(h
l-1
),1≤l≤l
[0021]
式中,h
l
表示第l层特征提取器transformer基本单元输出的隐状态矩阵,l为模型的网络层数。transformer_block(
·
)表示特征提取器transformer基本单元,通过下式计算:
[0022][0023][0024][0025][0026]
式中,查询矩阵q
l-1
、键矩阵k
l-1
和值矩阵v
l-1
分别为h
l-1
映射到对应子空间中得到w
qhl-1
、w
khl-1
、w
vhl-1
,a
l-1
表示第l层的多头掩码注意力机制输出,f
l
表示第l层的前馈网络输出,h
l
分别为transformer基本单元第一、第二部分的输出。w1、b1、w2、b2均为关于f
l
等式的可学习网络权重参数,relu(
·
)为relu函数,softmax(
·
)为softmax函数。
[0027]
其中,m为掩码矩阵形式化如下:
[0028][0029]
其中,层归一化用于对输入的向量进行归一化操作。
[0030][0031]
式中,μ和σ分别表示输入向量x每一维的均值和方差,γ、β为可学习的权重向量,代表向量对应向量的逐元素相乘。
[0032]
设置网络的训练目标为使整个原始输入序列的负对数似然函数值最小化:
[0033]
[0034][0035]
式中,yi表示生成目标序列中第i个输出序列,p(yi|y
《i
,xc,xa)为h
l
经过线性映射和归一化后得到的每一个位置在词表v上的分布;hi表示第i个输入序列在模型相对应索引的隐状态向量;为词表映射矩阵,其中|v|为词表大小。
[0036]
控制文本参数精调整反向传播计算过程:
[0037][0038]
式中,θ(t)=[θ
:n
(t),θ
n 1:
(t)]表示生成式预训练模型在当前时刻可学习的权重参数,θ
1:n
(t)表示当前时刻与控制文本xc相对应索引的待优化参数,训练时冻结θ
n 1:
(t)使其不参与梯度下降算法更新参数。为当前时刻损失函数,η为梯度求导的学习率,n表示控制文本xc的序列长度。步骤四、可控层归一化参数精调整
[0039]
将控制文本xc通过编码网络得到编码信息,在生成式预训练模型的生成操作层融入该编码信息实现可控层归一化cln:
[0040]
[γc,βc]=encoder(e1(xc))
[0041][0042]
式中,编码网络encoder(
·
)用于将控制文本xc编码成隐变量γc、βc两个可学习的权重向量。
[0043]
作为优选,编码网络encoder(
·
)通过下式计算:
[0044][0045][0046]
式中,依次为关于γc、βc等式的可学习网络权重参数;sigmoid(
·
)为sigmoid函数,其输出的取值范围在0~1之间。
[0047]
假设γc=δσ/σ,控制文本编码信息改变了层归一化输出的均值和方差,影响到了transformer基本单元的数据分布,
[0048][0049]
式中,δμ、δσ分别表示层归一化输出的均值和方差的偏差。
[0050]
在步骤三的基础上进一步采取参数精调整。模型在反向传播过程中,只计算关于等式γc、βc参数的梯度并更新编码网络相关参数。
[0051]
步骤五、解码器预测评估
[0052]
将控制文本xc=c1c2…cn
、引导文本xa=a1a2…am
进行拼接,并在控制文本开头插入开始符号[cls],在不同文本间插入间隔符号[sep],作为输入序列
[0053][0054]
将输入序列经过上述训练后的生成式预训练模型,自回归生成文本
[0055]
[0056][0057][0058]
本发明具有以下有益效果:
[0059]
首先对满足人工分类需求的文本数据进行预处理,适配生成式预训练模型的序列输入;进一步用自定义编码来表示词嵌入层各块的信息,即赋予1或0的特征值以实现区分控制文本和引导文本的效果。利用控制文本作为提示对模型进行参数精调整,再通过编码网络在模型的生成操作层进行可控层归一化。最后将生成文本输入到已训练好的文本分类器中判别。本发明通过参数精调整,而不依赖大规模新场景标注数据,有效提升文本生成的可控生成能力。
附图说明
[0060]
图1是本发明的可控文本生成方法流程图。
[0061]
图2是本发明的可控文本生成方法示意图。
[0062]
图3是自定义条件编码示意图。
[0063]
图4是控制文本参数精调整的示意图。
[0064]
图5是掩码矩阵示意图。
[0065]
图6是可控层归一化的示意图。
具体实施方式
[0066]
以下结合附图对本发明作进一步的解释说明;
[0067]
如图1所示,基于生成式预训练模型参数精调整的可控文本生成方法首先对文本生成模型进行预训练精调整,然后使用该模型生成可控文本,本实施例通过该方法进行古典诗歌可控文本生成。具体包括以下步骤:
[0068]
步骤一、数据预处理
[0069]
对采集到的古典诗歌文本数据进行划分,将诗名和诗句分别设置成引导文本xa和生成文本xb。对诗句按照格律要求设定相对应的控制文本xc,即五言绝句、七言绝句、五言律诗、七言律诗,并过滤掉不符合要求的样本。以五言绝句为例:
[0070]
将控制文本xc=c1c2c3c4、引导文本xa=a1a2…am
和生成文本xb=b1b2…bk
拼接得到生成式预训练模型的原始输入序列x,不同文本间用标记符号[sep]分隔。生成文本xb作为原始输出序列y,如图2所示。
[0071]
x=[cls]c1c2c3c4[sep]a1a2…am
[sep]b1b2…bk
[sep]
[0072]
y=b1b2…bk
[sep]
[0073]
式中,控制文本xc的序列长度为4,m表示引导文本xa的序列长度,k表示生成文本xb的序列长度,[cls]表示文本序列开始的特殊标记,[sep]表示文本序列之间的分隔标记或者文本序列结束的特殊标记。
[0074]
步骤二、自定义条件编码
[0075]
如图3所示,将步骤一中的原始输入序列x输入生成式预训练模型的词嵌入层,得到的输入表示层的输出结果h0由词向量矩阵、位置编码矩阵和条件编码矩阵之和组成:
[0076]
h0=e1(x) e2(x) e3(x)
[0077]
式中,e1(x)、e2(x)、e3(x)分别为原始输入序列x的词向量矩阵、位置编码矩阵、条件编码矩阵,n表示最大序列长度,d表示输入表示维度。
[0078]
词向量矩阵e1(x)将原始输入序列x转换成实值向量表示;位置编码矩阵e2(x)用来编码每个词的绝对位置;条件编码矩阵e3(x)用来编码当前词是否属于控制文本。
[0079]
步骤三、控制文本参数精调整
[0080]
如图4所示,使用控制文本xc作为提示,对生成式预训练模型的词嵌入层和每一层的特征提取器transformer基本单元进行控制文本xc参数精调整;同时,为减少计算量,引导文本xa和生成文本xb在模型相对应的网络权重参数保持固定不变。
[0081]
控制文本参数精调整前向传播计算过程如下:
[0082]hl
=transformer_block(h
l-1
),1≤l≤l
[0083]
式中,h
l
为第l层transformer基本单元输出的隐状态矩阵,l为模型的网络层数。特征提取器transformer_block(
·
)为transformer基本单元,通过下式计算:
[0084][0085][0086][0087][0088]
式中,查询矩阵q
l-1
、键矩阵k
l-1
和值矩阵v
l-1
分别为h
l-1
映射到对应子空间中得到w
qhl-1
、w
khl-1
、w
vhl-1
,a
l-1
表示第l层的多头掩码注意力机制输出,f
l
表示第l层的前馈网络输出,h
l
分别为transformer基本单元第一、第二部分的输出。w1、b1、w2、b2均为关于f
l
等式的可学习网络权重参数,relu(
·
)为relu函数,softmax(
·
)为softmax函数。
[0089]
其中,m为掩码矩阵如图5所示,深色部分为掩码即m
i,j
=-∞,浅色部分未掩码即m
i,j
=0:
[0090][0091]
其中,层归一化用于对输入的向量进行归一化操作。
[0092][0093]
式中,μ和σ分别表示输入向量x每一维的均值和方差,γ、β为可学习的权重向量,代表向量对应向量的逐元素相乘。
[0094]
设置网络的训练目标为使整个原始输入序列的负对数似然函数值最小化:
[0095][0096]
[0097]
式中,yi表示生成目标序列中第i个输出序列,p(yi|y
《i
,xc,xa)为h
l
经过线性映射和归一化后得到的每一个位置在词表v上的分布。hi表示第i个输入序列在模型相对应索引的隐状态向量,为词表映射矩阵,其中|v|为词表大小。
[0098]
控制文本参数精调整反向传播计算过程抽象如下:
[0099][0100]
式中,θ(t)=[θ
:4
(t),θ
5:
(t)]表示生成式预训练模型在当前时刻可学习的权重参数,θ
1:4
(t)表示当前时刻与控制文本xc相对应索引的待优化参数,训练时冻结θ
5:
(t)使其不参与梯度下降算法更新参数。为当前时刻损失函数,η为梯度求导的学习率。
[0101]
步骤四、可控层归一化
[0102]
如图6所示,将控制文本xc通过编码网络得到编码信息,在生成式预训练模型的生成操作层融入该编码信息实现可控层归一化cln:
[0103]
[γc,βc]=encoder(e1(xc))
[0104][0105]
式中,编码网络encoder(
·
)用于将控制文本xc编码成隐变量γc、βc两个可学习的权重向量。作为优选,编码网络encoder(
·
)通过下式计算:
[0106][0107][0108]
式中,依次为关于γc、βc等式的可学习网络权重参数;sigmoid(
·
)为sigmoid函数,其输出的取值范围在0~1之间。
[0109]
假设γc=δσ/σ,控制文本编码信息改变了层归一化输出的均值和方差,影响到了transformer基本单元的数据分布,
[0110][0111]
式中,δμ、δσ分别表示层归一化输出的均值和方差的偏差。
[0112]
在步骤三的基础上进一步采取参数精调整。模型在反向传播过程中,只计算关于等式γc、βc参数的梯度并更新编码网络相关参数。
[0113]
步骤五、解码器预测评估
[0114]
将控制文本xc=c1c2c3c4、引导文本xa=a1a2…am
进行拼接,作为输入序列
[0115][0116]
将输入序列经过上述训练后的生成式预训练模型,自回归生成文本
[0117][0118][0119]
[0120]
将解码器生成文本输入已训练好的文本分类器中,求得五言绝句条件下的可控文本生成准确率。
[0121]
单独对以五言绝句、七言绝句、五言律诗、七言律诗为条件所生成的古典诗歌求准确率并取其平均值,以评估本方法的可控生成能力。平均准确率越高,表示模型的可控能力越好。准确率定义为模型所生成文本中符合控制文本给定条件的占比:
[0122]
precision=tp/(tp fn)
[0123]
式中,tp表示给定格律条件xc生成的文本被分类器划分为当前格律条件的个数,fn表示给定格律条件xc生成的文本但被分类器划分为其它格律条件的个数。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献