• NLP预训练发展小结一(Bert之前)


    本篇博文简要记录在预训练模型Bert出现之前,NLP领域预训练模式的发展,主要围绕Word Embedding的提出与改进。

    1. 预训练任务:语言模型

    早期在NLP领域做预训练的主要任务为语言模型(这是一个自然语言处理的任务),语言模型即用于计算某句话的出现概率,也可以理解为输入一句话的前面几个单词,要求模型输出后面紧跟的单词应该是哪个。

    2. NNLM

    最早做语言模型任务的即神经网络语言模型(NNLM),源于Bengio在2003年发表的论文,但发表之后十余年并未引起同行们的足够重视;论文提出的NNLM模型除了能够完成语言模型的任务外,还在模型训练阶段产生了一个副产品————词向量。

    3. Word2Vec

    2013年Word Embedding工具Word2Vec(包括CBOW与Skip-gram两种方法)的提出,正式开启了学界对词向量的研究热潮;当然,此时的词向量是固定不变的,即一个词如“bank”只有一个一个词向量,尽管该词有多个含义,这种不随上下文变化的词向量正是早期词向量的缺陷之一。

    4. ELMO

    ELMO的出现主要是用于解决传统Word2Vec存在的一词多义问题,ELMO采用LSTM作为特诊提取器,运用双向方式做语言模型任务;可用于输入语句得到词向量。

    5. GPT

    GPT的与ELMO的差别主要在于其使用了Transformer架构作特征提取器,并使用单向方式做语言模型任务;并提出了Fine-tuning的使用方式,即不是简单将预训练模型用于获取词向量,而是将各类自然语言处理任务往GPT模型架构上靠拢。

    作者: python之家

    出处: http://www.cnblogs.com/pythonfl/

    本文版权归作者和博客园共有,转载时请标明本文出处;如对本文有疑问,欢迎邮件15256636585@qq.com联系;如发现文中内容侵犯到您的权利,请联系作者予以处理。

  • 相关阅读:
    201521123028 《Java程序设计》第5周学习总结
    Markdown格式
    201521123028《Java程序设计》第4周学习总结
    201521123028 《Java程序设计》第3周学习总结
    Spring07 JDBC
    Spring06 Aop
    Mystring05 配置文件之间的关系
    Mybatais 13 二级缓存
    Mybatais 14 注释的配置
    Mybatais 12 一级缓存
  • 原文地址:https://www.cnblogs.com/pythonfl/p/15361751.html
Copyright © 2020-2023  润新知