自然语言处理从入门到应用——预训练模型总览:预训练模型的拓展

分类目录:《自然语言处理从入门到应用》总目录
相关文章:
· 预训练模型总览:从宏观视角了解预训练模型
· 预训练模型总览:词嵌入的两大范式
· 预训练模型总览:两大任务类型
· 预训练模型总览:预训练模型的拓展
· 预训练模型总览:迁移学习与微调
· 预训练模型总览:预训练模型存在的问题


从大量无标注数据中进行预训练使许多自然语言处理任务获得显著的性能提升。总的来看,预训练模型的优势包括:

  • 在庞大的无标注数据上进行预训练可以获取更通用的语言表示,并有利于下游任务
  • 为模型提供了一个更好的初始化参数,在目标任务上具备更好的泛化性能、并加速收敛
  • 是一种有效的正则化手段,避免在小数据集上过拟合,而一个随机初始化的深层模型容易对小数据集过拟合

下图就是各种预训练模型的思维导图,其分别按照词嵌入(Word Embedding)方式分为静态词向量(Static Word Embedding)和动态词向量(Dynamic Word Embedding)方式分类、按照监督学习和自监督学习方式进行分类、按照拓展能力等分类方式展现:
预训练模型总览
思维导图可编辑源文件下载地址:https://download.csdn.net/download/hy592070616/87954682

引入知识

预训练模型通常从通用大型文本语料库中学习通用语言表示,但是缺少特定领域的知识。预训练模型中设计一些辅助的预训练任务,将外部知识库中的领域知识整合到预训练模型中被证明是有效的。

  • ERNIE-THU:将在知识图谱中预先训练的实体嵌入与文本中相应的实体提及相结合,以增强文本表示。由于语言表征的预训练过程和知识表征过程有很大的不同,会产生两个独立的向量空间。为解决上述问题,在有实体输入的位置,将实体向量和文本表示通过非线性变换进行融合,以融合词汇、句法和知识信息。
  • LIBERT(语言知识的BERT):通过附加的语言约束任务整合了语言知识。
  • SentiLR:集成了每个单词的情感极性,以将MLM扩展到标签感知MLM(LA-MLM),ABSA任务上都达到SOTA。
  • SenseBERT:不仅能够预测被mask的token,还能预测它们在给定语境下的实际含义。使用英语词汇数据库WordNet作为标注参照系统,预测单词在语境中的实际含义,显著提升词汇消歧能力。
  • KnowBERT:与实体链接模型以端到端的方式合并实体表示。
  • KG-BERT:显示输入三元组形式,采取两种方式进行预测:构建三元组识别和关系分类,共同优化知识嵌入和语言建模目标。这些工作通过实体嵌入注入知识图的结构信息。
  • K-BERT:将从KG提取的相关三元组显式地注入句子中,以获得BERT的扩展树形输入。
  • K-Adapter:通过针对不同的预训练任务独立地训练不同的适配器来注入多种知识,从而可以不断地注入知识,以解决注入多种知识时可能会出现灾难性遗忘问题。

此外,这类预训练模型还有WKLM、KEPLER等。

模型压缩

由于预训练的语言模型通常包含至少数亿个参数,因此很难将它们部署在现实应用程序中的在线服务和资源受限的设备上。模型压缩是减小模型尺寸并提高计算效率的有效方法。

  • Pruning(剪枝):将模型中影响较小的部分舍弃。如Compressing BERT,还有结构化剪枝LayerDrop,其在训练时进行Dropout,预测时再剪掉Layer,不像知识蒸馏需要提前固定student模型的尺寸大小。
  • Quantization(量化):将高精度模型用低精度来表示。如Q-BERT和Q8BERT,量化通常需要兼容的硬件。
  • Parameter Sharing (参数共享):相似模型单元间的参数共享。ALBERT主要是通过矩阵分解和跨层参数共享来做到对参数量的减少。
  • Module Replacing(模块替换):BERT-of-Theseus根据伯努利分布进行采样,决定使用原始的大模型模块还是小模型,只使用task loss。
  • Knowledge Distillation (知识蒸馏):通过一些优化目标从大型、知识丰富、fixed的teacher模型学习一个小型的student模型。蒸馏机制主要分为3种类型:
    • 从软标签蒸馏:DistilBERT、EnsembleBERT
    • 从其他知识蒸馏:TinyBERT、BERT-PKD、MobileBERT 、MiniLM、DualTrain
    • 蒸馏到其他结构:Distilled-BiLSTM
预训练模型知识蒸馏方法
DistilBERT软标签蒸馏,KL散度作为沁ss
TinyBERT层与层蒸馏:Embedding / Hidden State / Self-attention Dlstributions
BERT-PKD层与层蒸馏:Hidden State
MobileBERT软标签蒸馏+层与层蒸馏:Hidden State / Self-attention Dlstributions
MiniLMSelf-attention Dlstributions / Self-attention Value Relation
Dual TrainDual Projection
Distilled-BiLSTM软标签蒸馏,将Transformer蒸馏到LSTM
EnsembleBERT取多个Ensemble模型的软标签进行蒸馏

多模态

随着预训练模型在自然语言处理领域的成功,许多研究者开始关注多模态领域的预训练模型,主要为通用的视觉和语言特征编码表示而设计。多模态的预训练模型在一些庞大的跨模式数据语料库(带有文字的语音、视频、图像)上进行了预训练,如带有文字的语音、视频、图像等,主要有 VideoBERT、CBT 、UniViLM、ViL-BERT、LXMERT、 VisualBERT、B2T2、Unicoder-VL、UNITER、VL-BERT、SpeechBERT等。

领域预训练

大多数预训练模型都在诸如Wikipedia的通用语料中训练,而在领域化的特定场景会收到限制。如基于生物医学文本的BioBERT,基于科学文本的SciBERT,基于临床文本的Clinical-BERT。一些工作还尝试将预训练模型适应目标领域的应用,如医疗实体标准化、专利分类PatentBERT、情感分析SentiLR关键词提取。

多语言和特定语言

学习跨语言共享的多语言文本表示形式对于许多跨语言的NLP任务起着重要的作用。Multi-lingualBERT在104种Wikipedia文本上进行MLM训练(共享词表),每个训练样本都是单语言文档,没有专门设计的跨语言目标,也没有任何跨语言数据,Multi-lingualBERT也可以很好的执行跨语言任务。XLM通过融合跨语言任务(翻译语言模型)改进了M-BERT,该任务通过拼接平行语料句子对进行MLM训练。Unicoder提出了3种跨语言预训练任务:cross-lingual word recovery、cross-lingual paraphrase classification和cross-lingual masked language model。虽然多语言的预训练模型在跨语言上任务表现良好,但用单一语言训练的预训练模型明显好于多语言的预训练模型。此外一些单语言的预训练模型被提出:BERT-wwm、ZEN、NEZHA[、ERNIE-Baidu、BERTje、CamemBERT、FlauBERT、RobBERT。

参考文献:
[1] QIU XIPENG, SUN TIANXIANG, XU YIGE, et al. Pre-trained models for natural language processing: A survey[J]. 中国科学:技术科学(英文版),2020.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/35015.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

data和filter协议文件包含

实验目的 通过本实验,了解php封装伪协议,掌握filter协议和data协议的用法 实验环境 操作机:kali 靶机:Windows Server 2003 实验地址:http://靶机ip/exp/include2/filter/ http://靶机ip/exp/include/include3.php…

软件测试常用设计模式

设计模式的重要原则就是:高内聚、低耦合;通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。 数据驱动测试:Data Driven Testing,简称DDT; 数据驱动指的是从数据文件(如数据库、Ex…

ElasticSearch学习02——Kibana安装

ElasticSearch学习02——Windows下Kibana安装 Kibana是界面化的查询数据的工具,下载时尽量下载与ElasicSearch一致的版本。 1、下载对应版本的Kibana ​ 有了ElasticSearch安装的经验,我们发现了ES和JDK有着版本对应的关系,Kibana和ES共同为…

一文了解PoseiSwap的质押系统

PoseiSwap 正在向订单簿 DEX 领域深度的布局,并有望成为订单簿 DEX 领域的早期开创者。PoseiSwap 是行业内首个模块化 Layer3 架构链 Nautilus Chain 上的首个 DEX ,Nautilus Chain 具备行业内最快的 EVM,支持以模块化的形式构建定制化开发&a…

【macOS 系列】如何调整启动台图标大小和行数

1、使用指令,这是隐藏的技巧,在控制台输入如下指令 defaults write com.apple.dock springboard-rows -int 6 defaults write com.apple.dock springboard-columns -int 8 defaults write com.apple.dock ResetLaunchPad -bool TRUE killall Dock以上表…

初始Liunx线程

文章目录 前言1.初始Liunx下线程2.关于虚拟地址的补充知识3.线程的相关特点1.线程的优点2.线程的缺点3.线程异常4.线程和进程的比较 4.线程相关操作接口线程控制相关接口 5.关于线程id的理解 前言 本文主要是对Liunx之下线程的前置知识铺垫,同时也是对之前进程的相…

EasyCVR如何实现国标级联无人机推送的RTMP推流通道?

EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,包括:NVR、IPC、视频编码器、无人机、车载设备、智能手持终端、移动执法仪等。平台具有强大的数据接入、处理及分发能力,可在复杂的网络环境中&#xff0c…

ZYNQ——脉宽调制之呼吸灯实现

文章目录 原理简介实验代码软件仿真板上验证 原理简介 呼吸灯的实现过程就是把不同占空比的脉冲输出后加在LED上,LED灯就会显示不同的亮度,通过不断地调节方波的占空比,LED灯的亮度也会跟着变化,看起来就像是“呼吸”一样。 要得…

爬虫小白入门在服务器上-部署爬虫或者开服务接口并供给他人访问

目录 一、准备工作-服务器1、先准备一个服务器(以阿里云为例子)2、开通服务端口号访问权限 二、准备工作-Xshell登录服务器1、xshell基本登录操作2、xftp基本操作 三、部署代码到服务器上1、部署一个python爬虫脚本在服务器上定时运行等2、部署一个pytho…

【面试常见】JS继承与原型、原型链

前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 在 JavaScript 中,继承是实现代码复用和构建对象关系的重要概念。本文将讨论原型链继承、构造函数继承以及…

SONY索尼MP4视频变RSV文件修复方法

索尼MP4变RSV的原因分析 索尼新型号相机或者摄像机,如SONY A7S3,A7M4,FX3, FX6, FX9等,如果录像过程中有发生如下异常情况,如断电,死机,电量不足,机器摔倒,非常规操作&a…

【接口测试】Postman —— 接口测试知识准备

1.0 前言 ​应用程序编程接口(Application Programming Interface, API)是这些年来最流行的技术之一,强大的Web应用程序和领先的移动应用程序都离不开后端强大的API。API技术的应用给系统开发带来了便利,但也对测试人员提出了更高…

CentOS7下载并安装mysql-8.0.33

CentOS7下载并安装mysql-8.0.33 一、官网下载mysql-8.0.33 MySQL下载路径 MySQL :: Download MySQL Community Server 自己百度mysql官网下载的话直接按照完整路径指示下载即可,如果点击上面的连接下载mysql的话,直接按照4、5、6步骤选择适合自己linu…

旅游卡景区购票小程序开发定制

旅游业的蓬勃发展,越来越多的景区开始推出自己的旅游卡,以吸引更多的游客前来观光。同时,为了更加便捷地服务游客,许多景区也开始启用小程序来进行门票售卖和游客管理。针对这种情况,专业的小程序开发公司推出了定制旅…

自定义注解,基于redis实现分布式锁

一、如何实现自定义注解 1.1、注解的基础知识 实现自定义注解其实很简单,格式基本都差不多。也就参数可能变一变。 Retention:取值决定了注解在什么时候生效,一般都是取运行时,也就是RetentionPolicy.RUNTIME。 Target&#xff…

初识Go语言25-数据结构与算法【堆、Trie树、用go中的list与map实现LRU算法、用go语言中的map和堆实现超时缓存】

文章目录 堆Trie树练习-用go中的list与map实现LRU算法练习-用go语言中的map和堆实现超时缓存 堆 堆是一棵二叉树。大根堆即任意节点的值都大于等于其子节点。反之为小根堆。   用数组来表示堆,下标为 i 的结点的父结点下标为(i-1)/2,其左右子结点分别为…

性能优化 :删除项目中没有引用关系的文件 useless-files-webpack-plugin

一般此类包不需要安装到项目中,减少node_modules体积(以项目实际情况决定-S/-D) npm i useless-files-webpack-plugin -S然后再vue.config.js中配置 const UselessFile require(useless-files-webpack-plugin) chainWebpack: config > …

【NLP模型】文本建模(2)TF-IDF关键词提取原理

一、说明 tf-idf是个可以提取文章关键词的模型;他是基于词频,以及词的权重综合因素考虑的词价值刻度模型。一般地开发NLP将包含三个层次单元:最大数据单元是语料库、语料库中有若干文章、文章中有若干词语。这样从词频上说,就有词在文章的频率,词在预料库的频率,文章在预…

SpringBoot3.0整合RocketMQ时出现未能加载bean文件

SpringBoot3.0整合RocketMQ时出现未能加载bean文件 问题 APPLICATION FAILED TO START Description: Field rocketMQTemplate in com.spt.message.service.MqProducerService required a bean of type ‘org.apache.rocketmq.spring.core.RocketMQTemplate’ that could not …

window debug ios webview

业务需求 在window上想要debug在ios的应用中的webview页面,毕竟页面是在安卓端和ios端都有webview的。安卓的页面使用edge的edge://inspect/#devices,手机开启调试模式就可以了。对于ios就没有办法,页面中已经使用了vconsole可以看到部分的信…