易学智能

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2482|回复: 0

[深度学习] 深度学习 NLP之语言模型

[复制链接]

665

主题

1234

帖子

6683

积分

xdtech

Rank: 5Rank: 5

积分
6683
发表于 2020-3-10 14:39:43 | 显示全部楼层 |阅读模式
12个NLP预训练模型的学习笔记https://mp.weixin.qq.com/s/IndeECchmX_GC8MzuWSVfg

1 引言
17年transformer被提出,18年迎来了ELMo和BERT的横空出世,19年预训练模型不出意外地开始了全面的爆发。
所以,预训练模型也成为了NLPer绕不过去的一个技术栈,这篇文章将会梳理一下我学习过的12个预训练模型。这是一篇review性质的文章,跳过了一些基础的知识,可能会对一些没用过预训练模型的读者不大友好。

预训练模型,在我看来,相对传统模型做的革新,主要体现在以下三个方面:
(1)通用的特征提取器
早期NLP模型设计的一个重要步骤,就是考虑如何提取语料特征。这个环节会占用算法工程师大量的精力,也是影响模型效果的关键因素。
在预训练模型中,我们只需要简单粗暴地使用transformer,不需要太多地关注具体任务,就能够达到SOTA级的特征提取器的效果。
除此之外,transformer的设计思想由于其通用性,还可以拓展应用到其它领域,例如CV领域。
(2)动态化的词向量
在词向量方法刚出现的时候,例如NNLM,word2vec,Glove模型,他们针对每个特定字词所生成的词向量是一成不变的。对于存在一词多义现象的字词,这种静态的词向量很难在所有的场景下,都准确完整地表示出字词的信息。
所以,我们需要一种能够根据上下文语境进行动态调整,准确表示字词意思的词向量。预训练模型借助attention机制,就能够动态生成这种基于上下文的词向量。
(3)针对不同下游任务的强泛化性
传统的构建模型的思路,就是根据任务的具体类型,选择相应的模型。这样因地制宜、对症下药是没有问题的,但是我们要考虑到,在工业界工程落地,存在着各种各样的特殊情况和限制条件,比如说训练语料不足、算法工程师水平不够。
所以我们有时候需要一个“傻瓜式”的即插即用的模型,不需要太多的训练工作、不需要太多的调参工作、不需要太多的模型选型和优化工作。预训练模型就是这样一个强泛化性的模型,它只需要少量的训练数据和模型优化工作,就能够在新的下游任务中获得不错的效果,有时候甚至不需要训练和优化就能够直接拿来使用。

介绍完了预训练模型最显著的创新点,我们先对下文将要介绍的12个预训练模型做个一句话概览,先有个简单直观的印象:
(1)transformer是主流预训练模型的基本单元,是一个强大的特征提取器,后续的模型大多是基于transformer的优化和改进。
(2)ELMo基于传统的RNN模型框架,是一个双向模型。它会根据上下文语境,动态地生成词向量。
(3)BERT可以理解为集合了transformer优点(特征提取)和ELMo优点(双向)的模型,是最经典的预训练模型,是预训练模型的里程碑。
(4)transformer-XL将transformer作为基本单元应用于RNN模型,改善了transformer输入序列长度受限(长文本)的问题。
(5)XLNet是基于transformer-XL的模型,论文的主要创新点是双流机制和序列乱序方法。XLNet同时也使用了大量的语料,构建了更大的模型,也取得了比BERT更好的效果。但是通过大语料、大模型这种类似军备竞赛的方式刷新SOTA的方法,也逐渐开始泛滥。
(6)ERNIE是百度提出的模型,它基于BERT,百度利用其强大的语料库优势进行训练,把ERNIE推到了中文NLP任务SOTA的地位,并保持了很长一段时间。
(7)ERNIE2.0在ERNIE的基础上,使用多任务学习的方法,进一步提升了模型的泛化性和通用性。
(8)GPT是一个早期模型,可以理解为将RNN的基本单元替换为transformer,是一个单向模型。
(9)GPT-2也是一个使用大语料训练的大模型,它在文本生成任务上的表现让人惊艳了一把,也因为不肯开源被学术界工业界口诛笔伐(现在已经开源了)。
(10)RoBERTa在BERT的基础上,致力于将调参发挥到极致。
(11)ALBERT使用词向量因式分解和层间参数共享两个方法,在降低模型规模方向上,做了显著有效的尝试。
(12)TinyBERT利用知识蒸馏技术降低模型规模,也获得了很好的效果。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易学智能

GMT+8, 2024-12-22 01:52 , Processed in 0.016853 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表