关于最近的NLP模型Bert、Elmo、GPT(上)

有些时没有更新blog,最近被工作弄的很闹心,拖了又拖,还是把最近的一些nlp模型研究学一下。

虽然现在没有这这一块工作,但是总的来说,新出来的这些个模型,还是没有让人眼前一亮的东西出来。Bert的出现可能是暂时统一了江湖,但是底层结构不改,还是在提升那1%。


Elmo

Elmo(Embeddings from Language Models),是allen NLP 在18年6月NAACL上发的一个词向量训练模型。

就是说,Elmo的作用就是训练一个模型,用来表示某个词,换句话说,和word2vec和GloVe功能是一样的,这个新的训练方法有两点进步:

  1. 能够处理单词用法中的复杂特性(比如句法和语义)
  2. 有些用法在不同的语言上下文中如何变化(比如为词的多义性建模)

具体是什么意思呢,因为很多词它表达的意思是随着语境而变化的,比如说“今年的苹果很贵,13块一斤”和“今年的苹果很贵,高配要1万块”。这两个句子里的苹果显然不是一个东西,但是我们之前用的词向量word2vec和GloVe,都不能表达出这两个词之间的差别。
所以Elmo要解决这个问题。

Elmo为什么能有这个能力来联系上下文表达出词义。其实可以想想,什么模型可以联系上下文,无疑CRF和RNN对不对。而CRF是通过概率图的形式,将每一步的概率向下传递,这就没办法给出每一个词的输出。但是我们在LSTM中,每一个cell是又两个输出的,一个是c(x)(细胞状态),一个是h(x)(隐藏层状态),这两种状态中都包含之前的信息。
这里我们想到,从前到后是一种信息,从后到前又是一种信息,所以用双向模型所拥有的信息会更多。如果把双向每一个cell的隐藏层信息的向量组合起来,最后再接一个softmax(也有取最上一层的输出),最后训练出的向量即为我们想要的词向量。


ELMo

大家其实看张图已经可以很清楚的看到ELMO的结构了,也没有那么复杂,对比和word2vec训练出的词向量:

  1. ELMo的假设前提一个词的词向量不应该是固定的,所以在一词多意方面ELMo的效果一定比word2vec要好。
  2. word2vec的学习词向量的过程是通过中心词的上下窗口去学习,学习的范围太小了,而ELMo在学习语言模型的时候是从整个语料库去学习的,而后再通过语言模型生成的词向量就相当于基于整个语料库学习的词向量,更加准确代表一个词的意思。
  3. ELMo还有一个优势,就是它建立语言模型的时候,可以运用非任务的超大语料库去学习,一旦学习好了,可以平行的运用到相似问题。

上elmo的效果:

  • Textual entailment: stanford natural language inference (SNLI)数据集上提升了1.4%。
  • Question answering: 在stanford question answering dataset (SQuAD)数据集上提升了4.2%,将ELMo加入到之前的state-of-the-art的ensemble模型中,提升了10%。
  • Semantic role labeling: 比之前的state-of-the-art模型提高了3.2%,将ELMo加入到之前的state-of-the-art的单模型中,提升了1.2%。
  • Coreference resolution: 比之前的state-of-the-art模型提高了3.2%,将ELMo加入到之前的state-of-the-art的ensemble模型中,提升了1.6%。
  • Named entity extraction: 在CoNLL 2003 NER task数据机上提高了2.06%
  • Sentiment analysis: 比之前的state-of-the-art模型提高了3.3%,将ELMo加入到之前的state-of-the-art模型中,提升了1%。
    也还是1-3%左右的提升。

GPT

因为bert统治性的地位,bert我要单独用一篇文章讲。这里来介绍GPT。
GPT是openAI早于BERT的一个模型,但是由于宣传原因,导致GPT1.0并没有出个大新闻,但是GPT的单项语言模型在GPT2.0为自己正名,虽然还没有在GLUE上大展拳脚,但是我相信,按照目前的趋势,GPT3.0一定会大展拳脚,打掉bert。这篇文章写的很不错GPT和BERT的现状和前景

说GPT之前,我想说结合Bert和GPT来看,LSTM很有可能淘汰,而被Transformer全方位的取代,原因有两点:

  1. Transformer可以并行计算;
  2. Transformer有关联上下文的能力

GPT采用了单项的Transformer完成预训练任务,并且将12个Trm叠加起来,而训练的过程其实非常的简单,就是将句子n个词的词向量(第一个为<SOS>)加上Positional Encoding后输入到前面提到的Transfromer中,n个输出分别预测该位置的下一个词(<SOS>预测句子中的第一个词,最后一个词的预测结果不用于语言模型的训练)。


GPT的单项Transformer结构

GPT的训练方式

和Bert相同的是,GPT也是分两个阶段进行训练,第一阶段预训练后还有一个fine-tune。(因为GPT发布的比bert早,所以是不是bert抄GPT的呢?)

上一步中最后一个词的输出我们没有用到,在这一步中就要使用这一个输出来作为下游监督学习的输入,这样就运用少量的带标签数据对模型参数进行微调。
然后接下来一步就是我觉得这个模型很牛逼的地方了,为避免Fine-Tuning使得模型陷入过拟合,文中还提到了辅助训练目标的方法,类似于一个多任务模型或者半监督学习。具体方法就是在使用最后一个词的预测结果进行监督学习的同时,前面的词继续上一步的无监督训练,使得最终的损失函数成为:


多任务的损失函数

针对不同任务,需要修改输入数据的格式:


多任务输入数据训练格式

站着把监督和无监督都办了,真是牛逼。这篇文章写的非常好https://zhuanlan.zhihu.com/p/69290203

以上是GPT1.0,而GPT2.0主要改进我觉得除了对Transformer有细微的改动之外,还有就是增大了参数容量(变成了1.5亿参数。。),还有训练数据加大(800W高质量网页内容)。这些改变就让GPT2.0变得炙手可热(好像是有钱就是牛逼,暴力提升法),不得不期待一下GPT3.0 能做到什么地步。

好的,上到这里就完了,下来好好讲一讲Transformer和Bert。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • 本文上两篇系列 NLP的巨人肩膀(上) NLP的巨人肩膀(中) 4.6 Bidirectional Encoder...
    weizier阅读 6,372评论 1 22
  • 本文另两篇系列 NLP的巨人肩膀(上) NLP的巨人肩膀(下) 3. 梯子的一级半 除了在word级别的embed...
    weizier阅读 6,551评论 0 18
  • 自从着魔似的看了电视剧《我的前半生》之后,我就在思考,这部剧的作者是谁,她怎么能编出这么好的故事,于是我顺藤摸瓜。...
    榴莲帮主阅读 552评论 0 0
  • 出差回来,接娃放学,吃完晚饭,屁颠屁颠儿的去上我人生的第一节咖啡课,手冲咖啡️ 晚上是有个赵老师上的课,帅~而且爱...
    阿欣_30阅读 196评论 0 0
  • 提纲 1、介绍一下分享的书。介绍作者和本书的要义。 2、为什么要分享这本书。 3、这本书能带给你什么? 4、这本书...
    文雅羊阅读 773评论 0 1