NLP中文本生成任务

news/2024/12/21 20:45:59/

文本生成任务

  • 1.生成式任务
  • 2.自回归模型实现
  • 3.Encoder-Decoder结构
    • 3.1Attention机制出现
    • 3.2Attention思想
    • 3.3soft - Attention
    • 3.4hard - Attention
    • 3.5Teacher Forcing
    • 3.6详解Mask Attention
      • 3.6.1通过Mask控制训练方式
  • 4.生成式任务评价指标
  • 5.生成式任务常见问题
    • 5.1采样策略
    • 5.2指针网络-pointer-network
    • 5.3T5

1.生成式任务

释义: 输出Y没有预设的范围,受输入X影响

各领域应用:

  1. 人工智能的各个领域都有,包括很多跨领域任务
  2. 图像领域:图像/视频生成, 图像补全等
  3. 语音领域:语音合成等
  4. 文本领域:机器翻译等

在NLP中,输入输出均为不定长的序列;如:机器翻译、机器作诗、自动摘要等。

2.自回归模型实现

释义: 基于语言模型和一段“引言”,生成后续文本。

训练示意图: 即错位进行训练
在这里插入图片描述
预测时:
在这里插入图片描述
释义: 通过“引言” 预测出下一个字,将下一个字拼接到引言中,再次放入模型预测,反复执行,直到到达设置的停止条件,比如预测出结束符或者是达到预测文本长度。

3.Encoder-Decoder结构

简介: Encoder-Decoder结构是一种基于神经网络完成seq2seq任务的常用方案
释义: 下面是一个简单的LSTM网络的Encoder-Decoder结构

  1. Encoder:即直接将文本转化为向量,并且对其中的语义进行一定的理解,输出为向量
  2. Decoder:接收经过一定处理的Encoder信息,将其按照需要解码为对应的字符输出,这一步也会涉及对向量的信息进行一些理解。
    在这里插入图片描述

3.1Attention机制出现

在这里插入图片描述
引子:

  1. 截图中可以看出,Decoder部分的解码内容,每个解码信息和前面的Encoder传递的内容关联度不一样,有的甚至没有关系。
  2. Encoder的内容和Decoder的每个实际解码内容重要性不一样,LSTM网络构成结构中,将Encoder的信息全部拿去参与Decoder就不太好。只需要拿关键的重要信息即可
  3. 找到Encoder输入的信息与Decoder的信息的重要性关联关系,这样的机制就叫注意力机制,即Attention。

举例
在这里插入图片描述
文本中每个词对于结果的影响是不同的,可以认为他们应当被赋予不同的权重,这种权重也可以称为attention;比如换为,意思即完全相反。

3.2Attention思想

改进版本:
在这里插入图片描述
释义: 改进版本后,每次计算在Decoder解码时的attention矩阵。

实现思路:

  1. Query是Decoder解码的内容,上一个解码的词,会加入到下一个词的解码中,这是LSTM的网络设计
  2. key是Encoder编码后输入到Decoder的内容,因为输入的内容在具体解码的步骤的重要性不一样,中间加入了注意力矩阵。
  3. 注意力矩阵是找出Encoder输入中,对下一个预测的重要性,该矩阵需要从Decoder上一个输入、和Encoder输入计算的来
    4.即在Decoder预测第二步的结果时,先通过Decoder第一步输出,结合Encoder输入,计算出当前权重矩阵。再将Encoder输入与权重矩阵计算,得到注意力结果,结合Decoder第一步输出,解码出第二步结果。
    5.第一步没有解码结果时,会有一个预设的编码代替。
    在这里插入图片描述

3.3soft - Attention

在这里插入图片描述
注意: 这里的Value就是输入的key,即Encoder结果;其他逻辑没变。

3.4hard - Attention

在这里插入图片描述
注意: 相对于soft-attention,这里将计算的注意力结果更加极端,之前是a1,a2,a3,a4概率加和为1;其中比较重要的概率较大;通过one-hot即,概率大的为1;其他的为0;结果就只和某些关键信息有关。

释义: 使用部分隐向量计算attention
在这里插入图片描述

3.5Teacher Forcing

释义: 即每次训练数据都使用正确的内容进行训练。

详细讲解

现在有一个文本生成任务,需要通过输入x1,x2,x3;生成y1,y2,y3
训练过程如下:
第一步:s1: x1, x2, x3 … xn, - > y1
第二步:s2: x1, x2, x3 … xn, , y1 - > y2
第三步:s3: x1, x2, x3 … xn, , y1, y2 -> y3
关键点: 需要第一步的预测结果,y1参与到第二步训练中,那么y1,模型能够百分比预测准吗?
不能,模型前期训练时,准确率更低
怎么办?

  1. 每一步的训练,都使用正确的内容来训练,即第一步y1预测的值,不作为第二部训练数据,第二步训练时,直接使用正确预测值参与训练。这样,第一步到第三步,都可以一起训练,效率提高;这就是Teacher Forcing;和模型预测时逻辑不一样,有信息泄露问题,但是训练材料较大时,就没有啥问题了。
  2. 训练时,第二步预测,采取第一步预测的结果,不管第一步预测结果对不对。即和模型预测时逻辑一样。

3.6详解Mask Attention

引子: 下面是一个经典的transformer的网络结构图,在右侧Decoder部分,与Encoder不同的地方在于Masked Multi-Head Attention
在这里插入图片描述
在实际预测中:

1.上述transformer的左侧输入信息,经过Encoder,成为K、V值,输入到右侧的Multi-Head Attention中。
2.右侧输入就是需要预测的值,第一轮输入时,即为< sos >,预测的头信息,经过Masked Multi-Head Attention计算后,成为Q值,参与到下一步的Multi-Head Attention计算,最后的到第一个预测结果
3.第一个预测结果出来后,加入到< sos > 后面,开始第二轮预测,即重复步骤2
4.从上面步骤可以得知,Masked Multi-Head Attention主要是计算预测值之间的注意力关系。

在实际训练中:

  1. 实际训练中,在右侧输入到Masked Multi-Head Attention的预测值,是完整的一句话。如果不做处理,就和预测时不一样了,预测时,前面预测的值,在预测时,是没有计算和后面值得注意力结果得。
  2. 需要将完整得预测值输入,进行批量得训练,怎么办呢?
    3.将前面预测值和后面预测值得关联关系,遮住,也就是masked的由来

下面就是Masked过程

  1. 计算出预测值之间的注意力关系时,将实际预测中,前面没有办法关注到后面预测值的注意力分数,减去一个较大的值。得到下面右侧的图。
    在这里插入图片描述
  2. 由于实际预测中,不存在的注意力分数,即右上角的-inf,减去较大值后,较小;经过Softmax后,就得到右侧的注意力分数了。当然:实际中,是不会有0值的,可以理解经过softmax后,值会很小,这部分注意力分数几乎不影响
    在这里插入图片描述

3.6.1通过Mask控制训练方式

在这里插入图片描述
释义:

  1. Bidirection LM的训练方式,代表模型是BERT
  2. Left-to-Right LM的训练方式,代表模型是GPT,相当于Decoder only
  3. Seq-to-Seq LM的训练方式,可以类比为翻译任务,根据已知的输入句子,输出一个句子,可以类比理解为原来的模型T5,相当于使用Encoder-Decoder的含义
  4. 拓展,预训练模型GPT的微调,一般就可以理解为使用的Seq-to-Seq LM的训练方式

4.生成式任务评价指标

简介: 生成式任务的评价指标和其他的任务不太一样,并且在当前的发展情况下,没有太统一的方案。
B
原理:

  1. 本身这个评价方法是在翻译任务中的
  2. 采用的是N-gram的方式,将翻译的内容,和标准的翻译内容,进行字词的匹配,比如1-gram、2-gram、… n-gram;
  3. 这样就得到了,机器翻译的内容,在标准内容中,是否存在,存在多少,和其预测的词梳理比,得到一个概率
  4. Wn是指采用不同的长度的词得到的概率,最后在相加时,设置的比重。
  5. BP是惩罚函数;即在机器翻译的内容比标准翻译的长度短时,举例:机器预测:of the;标准译文:Red is one of the primary colors.这种情况,按照上面的计算方式仍然是100%;所以需要有一个惩罚函数。
    6.机器预测比标准译文长,按照固有计算方式,就会降低其评价的指标。

拓展: ROUGE评价指标和上述方案类似,不做详细介绍。

5.生成式任务常见问题

1 .语言模型文本生成结果有时会出现段落不断重复的现象。

解决方案: 1.优化模型,增大模型参数,提供广泛的训练数据
2.采样策略相关参数调整

5.1采样策略

Beam Size:是指在序列标注任务中的解码路径保留条数。在生成式任务中也可以使用。

示意图:
在这里插入图片描述

Temperature Sampling: 输出每个字的概率分布时,通过参数T,对softmax部分做特殊处理,temperature越大,结果越随机;反之则约固定。
原理: 就是在原来的Softmax函数中,添加分母T,公式如下:由于函数的性质,往右其取值约来越陡;往左越平缓。那么就导致,T特别大时,不同的字的概率被压缩的比较小,最后导致概率接近。T特别小,则原理概率大的预测,更是被放大,不同的字之间预测的概率差距较大。
在这里插入图片描述
示意图:
在这里插入图片描述
Top-P: (动态)采样时,先按概率从高到。低排序,从累加概率不超过P的范围内选择。取值范围0-1。
详细释义: 在CRF中,当前预测值,有多个,每个预测值的概率不一样,还需要计算前面的预测值选择对当前预测值的影响,来综合选择。在这种情况下,当前预测值的词表大小是非常大的,上万,按照当前节点预测的概率,从高到低进行,进行前后文计算。前节点的预测值有高到达,选择概率和在Top-P之内的,进行前后文计算,其他的就不管了。

Top – K: 采样从概率最高的K个字中选择,和Top-P类似,Top-P选择的K是动态的,只有K个字的概率和大于了Top-P就停止;而Top-K是指定K个。

Repetition Penalty: Frequency Penalty、Presence Penalty类似;用于限制语言模型输出重复的内容。取值范围 > 1

释义: 简单的来说,就是在模型输出,在过softmax前,将输出概率分布中,将重复内容的概率机械的减小。

示例如下:
在这里插入图片描述
Max Memory: 从后向前,截断送入模型文本,到指定长度。
举例:max memory = 3
输入: abcde --> cde (被截断)

5.2指针网络-pointer-network

在这里插入图片描述
释义: 基于文章摘要总结的任务,通常摘要总结的内容都出现在原文中,设计指针网络,是将原文中高频的词的概率加到attention的网络的预测中,和最后预测的概率分布上,提高原文词的输出概率。

5.3T5

基于seq2seq也可进行模型预训练

bert是一个encoder

seq2seq训练可以得到encoder + decoder

代表:T5

在T5中,提出了所有的NLP任务都可以看作是生成式任务这一理念。


http://www.ppmy.cn/news/1527408.html

相关文章

批量操作Excel的四个方法(求和、移动、对比、合并)

Excel文件肯定少不了保存大量数据&#xff0c;那么在使用excel的时候会不会要大批量数据进行操作&#xff1f;今天分享4个快速使用excel操作的小技巧。希望能够帮大家提高excel制作效率。 技巧一&#xff1a;快速求和 当你想要分别得到行列的总和&#xff0c;我们可以选中表格…

等保测评后:企业如何持续优化信息安全

通过信息安全等级保护&#xff08;等保&#xff09;测评&#xff0c;标志着企业达到了国家规定的安全标准&#xff0c;但这并非终点。在等保测评后&#xff0c;企业需要持续优化信息安全&#xff0c;保持和提升信息安全的防护水平&#xff0c;确保业务的稳定运行和数据的安全。…

开源 AI 智能名片 S2B2C 商城小程序中的全渠道供应策略

摘要&#xff1a;本文深入探讨在开源 AI 智能名片 S2B2C 商城小程序的情境下&#xff0c;全渠道供应的运行机制。阐述各环节企业相互配合的重要性&#xff0c;重点分析零售企业在其中的关键作用&#xff0c;包括协调工作、信息传递、需求把握等方面&#xff0c;旨在实现高效的全…

Android Auto助力电动汽车智能驾驶

随着技术的飞速发展&#xff0c;电动汽车&#xff08;EVs&#xff09;成为未来出行的重要趋势。然而&#xff0c;EVs 的普及不仅仅代表环保选择&#xff0c;它们还推动了智能汽车技术的发展。Android Auto 的集成无疑为电动汽车用户带来了更便捷和智能的驾驶体验。 一、智能互联…

computed计算属性与watch侦听器

1.computed计算属性的写法有两种&#xff0c;一种是只读的&#xff0c;只负责展示&#xff0c;另一种可以进行修改&#xff0c;利用get来获取值&#xff0c;利用set来进行修改 2.watch侦听器的写法也有两种&#xff0c;可以直接写成函数&#xff0c;也可以写成对象&#xff0c;…

在 Docker 中部署无头 Chrome:在 Browserless 中运行

什么是 Browserless&#xff1f; Browserless 是一款基于云的浏览器解决方案&#xff0c;旨在实现高效的浏览器自动化、网页抓取和测试。 它利用 Nstbrowser 的指纹库&#xff0c;实现随机指纹切换&#xff0c;确保流畅的数据收集和自动化。得益于其强大的云基础设施&#xf…

iOS18相册大改遭吐槽,iOS18相册恢复iOS17的办法有哪些?

9月17日消息&#xff0c;苹果公司日前已推送了iOS 18正式版更新&#xff0c;除了支持高度自定义主屏幕、应用锁、游戏模式等功能外&#xff0c;自带的相册App也迎来了前所未有的重大更新。 然而&#xff0c;iOS 18正式版推送后&#xff0c;“iOS 18还我妈生相册、iOS 18丑等话…

向量数据库介绍及其与人工智能的关系

向量数据库是一种专门用于存储、管理和检索多维向量数据的数据库系统&#xff0c;以下是对它的详细介绍&#xff1a; 基本概念&#xff1a; 向量是由多个数值组成的数组&#xff0c;这些数值代表了数据在不同维度上的特征或属性。向量数据库就是以向量的形式存储数据&#xff0…