当前位置:   article > 正文

GPT对比GPT-2_gpt2为什么效果不好

gpt2为什么效果不好

前一阵子Bert火的一塌糊涂,本以为会占据顶峰很长一段时间,结果还没多久就出现的了GPT-2,它不仅效果显著,而且还解决了Bert无法解决的生成文本的问题,一下子跃上神坛~

其实,GPT-2与GPT一样,都使用的是单向语言模型,那为何GPT-2的效果会如此惊人呢?惊人之处又体现在哪里呢?且听我慢慢道来~


传送门
GPT
原文: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf
代码: openai/finetune-transformer-lm(TensorFlow)
huggingface/pytorch-openai-transformer-lm(Pytorch)
GPT-2
原文: https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf
代码: openai/gpt-2

一、GPT

我们先来了解一下GPT~

简单来说,GPT的底层架构是transformer,是由pre-training和fine-tuning两部分构成的

之前有人(好像是张俊林大佬~)就说过,如果GPT做成双向的,那就没Bert什么事了(不过Bert的Masked LM和Next Sentence Prediction的思想也是功不可没哒~)。之所以这么说,是因为Bert底层架构也是transformer,也是由pre-training和fine-tuning两部分构成的,只不过在transformer那采用的是双向而已~

下面,我们分别从GPT的pre-training、fine-tuning两部分来讲:

1. 无监督pre-training

每天进步一点点:NLP——图解认识transformer全貌,想知道的都在这​zhuanlan.zhihu.com图标

pre-training是采用transformer框架进行的,不过对transformer改动了一小下。transformer之前我有篇文章(见上面链接~)专门详细的讲过,这里就不赘述了,主要讲一下GPT中用的transformer。

我们知道transformer里有encoder层和decoder层,而GPT里主要用的是decoder层,不过做了一点改变,就是去掉了中间的Encoder-Decoder Attention层(因为没有encoder层,所以也就不需要Encoder-Decoder Attention这一层啦~)。也有人说用到的是encoder层,做的改变是将Multi-Head Attention换成了Masked Multi-Head Attention。

那么可能有人会问,这两种说法到底哪个正确呢?其实,这两种说法都对,因为仔细分析一下就会发现这两种说法是一个意思,不就是 Masked Multi-Head Attention + Feed Forward 声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】

推荐阅读
相关标签