当前位置: 首页 > article >正文

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
    截断送入模型的文本

http://www.kler.cn/news/321722.html

相关文章:

  • react通过下拉框选择多个,并展示在下方的方式
  • 看Threejs好玩示例,学习创新与技术(React-three-fiber)
  • 【C++篇】从零实现 C++ Vector:深度剖析 STL 的核心机制与优化
  • SpringCloud源码:客户端分析(二)- 客户端源码分析
  • ArduSub程序学习(11)--EKF实现逻辑①
  • [AI问答] Auto-sklearn和Auto-Keras对比
  • Ubuntu20.04.6 环境下docker设置proxy
  • SpringBoot-Starter2.7.3自动装配Redisson升级版本运行时的问题
  • 自动驾驶技术:人工智能驾驶的未来
  • tauri程序加载本地图片或者文件在前端页面展示
  • ModStartCMS v8.9.0 图片上传优化,富文本编辑器修复
  • Spring Boot 实战:使用观察者模式实现实时库存管理
  • localectl 命令:系统语言、键盘布局和区域设置
  • CORE 中间件、wwwroot
  • C++11中引入的thread
  • 正向科技|格雷母线定位系统的设备接线安装示范
  • 脚手架是什么?详细版+通俗易懂版!!!!!!
  • DNS与host文件
  • 职业技能大赛-自动化测试笔记(PageObject)分享-4
  • 如何将自定义支付网关与 WooCommerce Checkout 区块集成
  • HarmonyOS---权限和http/Axios网络请求
  • 处理 VA02修改行项目计划行(SCHEDULE LINES )报错:不可能确定一个消耗帐户
  • count(1)、count(*) 与 count(列名) 的区别
  • zabbix“专家坐诊”第257期问答
  • 19、网络安全合规复盘
  • C++ | Leetcode C++题解之第440题字典序的第K小数字
  • 【HDP】zookeeper未授权漏洞修复
  • C语言课程设计题目四:实验设备管理系统设计
  • Flutter鸿蒙化环境配置(windows)
  • 网站设计中安全方面都需要有哪些考虑