zoukankan      html  css  js  c++  java
  • 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联系;如发现文中内容侵犯到您的权利,请联系作者予以处理。

  • 相关阅读:
    Autofac小例子
    Spring自带mock测试Controller
    [转载]转Java 几个memcached 连接客户端对比 选择
    danga的MemcachedClient的几个缺陷
    linux查看memcached状态
    Linux下配置安装PHP环境(Apache2)
    使用memcache.php监控memcached
    memcached运行情况监测
    memcached监控的几种方法(nagios等)
    xmemcached使用的几点优化建议
  • 原文地址:https://www.cnblogs.com/pythonfl/p/15361751.html
Copyright © 2011-2022 走看看