欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > NLP 生成式任务核心梳理

NLP 生成式任务核心梳理

2025/2/24 10:34:04 来源:https://blog.csdn.net/weixin_46818265/article/details/142436362  浏览:    关键词:NLP 生成式任务核心梳理

自回归语言模型

能够根据历史数据预测新的数据

  • LSTM
    本身就是,前面看不到后面,天然具备右上三角 mask。
  • CNN

UNILM

  • mask 机制
    在这里插入图片描述
    在这里插入图片描述
    • encoder only
      • 无 mask
        前后内容可见,适用范围:
        • 文本分类
        • 文本匹配
    • decoder only
      • 有 mask
        • 右上三角 mask
          • 前文预测后文
            生成式任务
          • 仅可看到当前与历史内容
            实现 attention 效果
            • 相当于 local attention
            • 可以增强特定内容的权重
        • 梯形 mask
          seq2seq
          • 输入部分总为公开信息
            输出部分已出现的,为公开信息
          • 文本翻译
  • 训练时有 mask,预测时没有 mask
    不统一,影响模型效果

encoder-decoder 模型

  • encoder 训练一套模型
    使用输入完成 encoder 层训练
  • encoder 到 decoder的过渡层
    使用上一个真实 label 计算attention
    attention 机制
    • 形式
      • soft attention
        会保留除关键字之外的所有权重
      • hard attention
        使用 one-hot 向量,完全删除关键字之外的权重
      • local attention
        会保留除关键字之外的部分权重
    • 思想
      上一个字跟历史的每个字计算得到 attention,然后施加在 V 上(encoder 的输入上)
    • 对字符进行加权,有关字符给予更高权重
      在这里插入图片描述
      • 使用 decoder 的上一个字符作为输入进行embedding 编码
      • 编码结果和 encoder 的隐单元最终状态拼接
        • torch.cat(embedding[0], hidden[0])
        • 拼接后进行 softmax 归一化计算
      • softmax 拼接结果,通过 attention 线性层处理
      • 加权结果和 encoder_output 对位相乘(加权)再求和
      • 加权求和结果与 decoder 上一个字embedding[0] 拼接,再经过线性变换,得到decoder 层的输入
    • Q(query)
      decoder 的上一个字符 embedding
    • K(key)
      encoder 的隐单元
    • V(value)
      encoder_output
      • teacher forcing
        • 给定阈值,当预测标签超过阈值,和预期标签产生过大偏差,直接用真实标签
          • 会造成信息泄露
            如果预测的是 a,真实标签为 b,需要用 a 和 b 计算loss
            • teacher forcing 时,下一次真实标签会强制传入 b
            • 非 reacher forcing,下一次真是标签会传入 a
        • 实际上,自回归模型的并行训练,都是 teacher forcing
          因为数据规模足够大,可以达到训练效果
    • decoder 训练一套模型
      使用 attention 的输出开始 decoder 的网络层训练

pointer network

针对摘要的生成式模型

T5

seq2seq 预训练

评价指标

  • BLEU
    • 本质是文本相似度计算的方法
      用 n-gram 的重合度代表两句话的相似度
      - 重复字 -> 重复二元组 -> 重复三元组…的出现次数
      - 过高频率或者过短文本上做惩罚
    • 没考虑语义相似度的问题
    • 可以跨语种做评价
    • from nltk.translate.bleu_score import sentence_bleu
  • Rouge
    和BLEU 差不多

解决文本重复问题

模型不变的情况下,进行采样策略调整,避免总选择最高概率词。

  • beam size
    针对 beam search 每层路径采样策略,beam size 越大,采样越多,速度越慢,最终可生成文本越多
  • temperature sampling
    • temperature 越大,结果越随机
    • temperature 越小,结果越固定
  • top-k
    在最高 k 个概率中选择
  • top-p
    从高高低排序,在累加概率不超过p 的范围内中选择
  • repetition penalty
    重复惩罚
    • 让前面出现过的文本尽可能少出现
    • 对出现过的文本对应张量做缩放
  • max memory
    截断送入模型的文本

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词