资源经验分享ALBERT 与ELECTRA,小排量的大飞机

ALBERT 与ELECTRA,小排量的大飞机

2019-11-06 | |  75 |   0

原标题:ALBERT 与ELECTRA,小排量的大飞机

原文来自:CSDN      原文链接:https://blog.csdn.net/u013741019/article/details/102883553


前言

随着BERT的横空出世,目前越来越多优秀的预训练语言模型涌现出来,学习的步伐跟不上发展的速度。
BERT 刚出来时,感觉,可预期的时间内,只要预训练目标任务足够好,相信效果会有更进一步提升。

预训练语言模型

名称特点机构
ELMO自回归语言模型,双层BiLSTMAllenNLP
BERT自编码语言模型,Transformer谷歌
GPT,GPT 2.0自回归,TransformerOpenAI
ERINE结合知识图谱的BERT百度
MASS联合训练encoder和decoder的模型微软
XLNet排列语言模型,Transformer XLCMU & 谷歌
RoBERTa对比BERT,数据质量更优,剔除下一句预测任务Facebook
SG-Net融入句法结构的BERT上海交通大学
ALBERTEmbedding因式分解,跨层的参数共享,移除dropout,参数量相比于BERT下降了一个数量级(Base 110M->11M)谷歌
T5整个 NLP 预训练模型领域提供了一个通用框架   ,以及预训练语料C4谷歌
ELECTRA把生成式的Masked language model(MLM)预训练任务改成了判别式的Replaced token detection(RTD)任务,判断当前token是否被语言模型替换过。斯坦福

近期两篇

下面分享最新的学术界两篇论文,他们有共同点:对比于BERT参数量少了一个量级,但是效果却反而提升了

ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators

ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS

1.ELECTRA

摘要(原文)

虽然像BERT这样的MASK语言建模(MLM)预训练方法在下游的NLP任务上产生了很好的结果,但是它们需要大量的计算才能有效。这些方法通过用[MASK]替换一些Token来破坏输入,然后训练一个模型来重构Token。作为一种替代方案,我们提出了一种更具效率的预训练,称为Replaced token detection(RTD)判断当前词是否被替换了。我们的方法不是屏蔽输入,而是用从小型GAN中提取的plausible alternatives sampled替换一些输入Token,从而破坏输入。然后,我们不是训练一个模型来预测[MASK],而是训练一个判别模型来[MASK]输入中的每个Token是否被生成器样本替换。实验表明,这种预训练模型更有效,因为它从所有的输入中学习,而不是仅仅从[MASK]中。结果,在相同的模型大小、数据和计算条件下,通过我们的方法学习的上下文表示大大优于通过BERT和XLNet等方法学习的上下文表示。例如,我们在一个GPU上训练一个模型4天,该模型在GLUE自然语言理解基准上的性能优于GPT(使用30倍以上的计算进行训练)。我们的方法在规模上也很有效,我们使用不到1/4的计算,就可以达到RoBERTa的性能。

  • 14M参数就能达到RoBERTa 的效果,训练语料更少,速度更快

  • 33M参数在GLUE很多任务上超过RoBERT和ALBERT,GLUE 榜单上还没有,所以很多比较结果不全

  • 尚未开源,斯坦福的个性,coming soon


MNLIQQP
XLNet89.891.8
RoBERTa90.292.2
ALBERT88*
T59290.2
ELECTRA90.592.4

1.1GAN的引入

GAN在CV中大火,但是在NLP中却一直差点意思,效果不是很突出。这篇文章一个突出贡献就是将GAN引入到预训练语言模型中,并且取得了SOTA(state of the art)的效果。

Replaced Token Detection(RTD)

8888.jpg

1.1.1Generator 生成器

通过对MASK后的句子生成样本,这里使用的是MLM(maximum likelihood),而不是使用的 Adversarially。因为NLP和CV的差异性

1.1.2Discriminator 判别器

通过序列标注的方法,判断当前词是否是原文(original,replaced)

  • GAN生成的都是假的,但是该文的G会生成真实样本(部分词汇真实)

  • 梯度不能从D传到G,所以该文使用强化学习的方法来训练G

1.2权重共享

  • 正常情况下,Generator 和Discriminator 使用相同的大小,但是 实验表明,Generator 更小效果会好点。

  • Generator 和Discriminator 只是对于 token embeddings 进行共享,如果将所有权重共享效果反而会差点。

1.3Smaller Generators

  • 实验表明,Generator的大小为 Discriminator 1/4~1/2效果最好,作者假设,Generator太大会给Discriminator 造成困扰。

1.4Training Algorithms

  • 将Generator 和Discriminator 进行联合训练

  • Train only the generator with MLM for n steps.
    开始只训练通过MLM去训练Generator

  • Initialize the weights of the discriminator with the weights of the generator. Then train the discriminator with Disc for n steps, keeping the generator’s weights frozen.
    然后用Generator 的参数去初始化 Discriminator,通过Disc  去训练Discriminator 同时冻结 Generator 的参数

1.5 contrastive learning(对比学习)

  • 通过对比学习方法来区分虚构的负样本与正样本

  • 本文算是 contrastive learning 与GANs的一种结合

2.ALBERT

Other

参考

ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators
ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS
XLNet: Generalized Autoregressive Pretraining for Language Understanding
T5:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:机器学习笔记】Machine Learning Fundamentals: Bias(偏差)、Variance(方差)、Overfit(过度拟合)

下一篇:CNN卷积网络简介

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...