zoukankan      html  css  js  c++  java
  • 3分钟了解GPT Bert与XLNet的差异

    640?wx_fmt=jpeg

    译者 | Arno

    来源 | Medium

    XLNet是一种新的预训练模型,在20项任务中表现优于BERT,且有大幅度的提升。

    这是什么原因呢?

    在不了解机器学习的情况下,不难估计我们捕获的上下文越多,预测就越准确。
    因此,模型能够深入而有效地捕获大多数上下文的能力是其提升的原因。

    让我们玩一个游戏,在下面的上下文中,[Guess1]和[Guess2]分别是什么呢?

    [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, [Guess1], [Guess2], ‘and’, ‘linguistics’]

    考虑到3分钟的限制,我就直接揭示答案了。

    答案: [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘machine’,‘learning’, ‘and’, ‘linguistics’]

    我们使用符号Pr(Guess | Context) 代表一个基于上下文词的猜测概率。

    GPT中,我们从左到右阅读,因此我们不知道 ‘machine’, ‘learning’各自后面的下文:

    Pr (‘machine’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’])

    Pr (‘learning’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘machine’])

    知道‘machine’实际上可以帮助你猜‘learning’,因为‘learning’经常跟随‘machine’,而‘machine learning’是现在很火热的术语。

    BERT中,与GPT对比,我们能知道预测单词前向和后向上下文,但我们在猜测 ‘machine’和 ‘learning’时都是基于相同的上下文:

    Pr (‘machine’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’])

    Pr (‘learning’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’])

    拥有‘linguistics’实际上可以帮助你猜测‘machine’ ‘learning’ ,因为你知道自然语言处理是机器学习和语言学的完美结合。即使你不知道,有了‘linguistics’的存在,你至少知道预测单词不是 ‘linguistics’。

    你可以看到BERT的明显缺点是,它无法知道 ‘machine’ 和 ‘learning’之间的联系。

    那么我们如何结合GPT和BERT的优点呢?

    XLNet
    排列!排列的作用是即使我们只从左到右阅读,排列也允许我们捕捉前向和后向上下文(从左到右阅读,从右到左阅读)。

    其中一种排列可以让我们捕捉到前向和后向上下文:

    [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’, ‘machine’, ‘learning’]

    Pr (‘machine’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’])

    Pr(‘learning’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’, ‘machine’])

    这一次,你拥有完整的上下文,在猜测 ‘machine’之后,你可以立即猜测‘learning’。
    你可以清楚地看到XLNet结合了GPT和BERT的优点。

    当然,如果你想了解更多细节,请阅读XLNet论文[1]。

    [1]: https://arxiv.org/pdf/1906.08237.pdf
     

    欢迎关注磐创博客资源汇总站:
    http://docs.panchuang.net/

    欢迎关注PyTorch官方中文教程站:
    http://pytorch.panchuang.net/

  • 相关阅读:
    WCF里几个基本知识点
    MVC3+EntityFramework实践笔记
    一些vim的插件和配置
    Web API工作方式
    计算机中的异常
    Glusterfs之nfs模块源码分析
    ASP.NET Windows身份认证
    Sql Server表结构及索引辅助查看工具
    sql server批量插入与更新两种解决方案
    如何在ViewModel中正确地使用Timer(定时器)
  • 原文地址:https://www.cnblogs.com/panchuangai/p/12568003.html
Copyright © 2011-2022 走看看