【深度学习】自回归VS自编码

1.自回归语言模型

1-1 自回归语言模型简介

        一般的语言模型都是从左到右计算某个词出现的概率,但是当我们做完型填空或者阅读理解这一类NLP任务的时候词的上下文信息都是需要考虑的,而这个时候只考虑了该词的上文信息而没有考虑到下文信息。所以,反向的语言模型出现了,就是从右到左计算某个词出现的概率,这一类语言模型称之为自回归语言模型。像坚持只用单向Transformer的GPT就是典型的自回归语言模型,也有像ELMo那种拼接两个上文和下文LSTM的变形自回归语言模型。

        总结:自回归语言模型是根据上文或者下文来预测后一个单词。

1-2 实例说明

        有文本 Paris is a beautiful city. I love Paris。假设移除了单词 city,替换为空白符_:

Paris is a beautiful __. I love Paris

        模型需要预测空白符实际的单词。如果使用前向预测,那么模型以从左到右的顺序阅读序列中的单词,直到空白符:

Paris is a beautiful __.

        如果使用反向预测,那么模型以从右到左的顺序阅读序列中的单词,直到空白符:

Paris love I .__ 

        自回归模型天然就是单向的,意味着它们只会以一个方向阅读输入序列。 

2.自编码语言模型

2-1 自编码语言模型简介

        自编码语言模型的核心思想与做完形填空一致。句子中随机一个单词用[mask]替换掉,同时根据该单词的上下文来预测该单词。我们都知道Bert在预训练阶段使用[mask]标记对句子中15%的单词进行随机屏蔽,然后根据被mask单词的上下文来预测该单词,这就是自编码语言模型的典型应用。相较于自回归语言模型,它能比较自然地融入双向语言模型,同时看到被预测单词的上文和下文。

        总结:自编码语言模型是根据上下文来预测当前单词。

2-2 实例说明

        自编码语言建模任务同时利用了前向(左到右)和反向(右到左)预测的优势。即,它们在预测时同时读入两个方向的序列。为了预测空白符,自编码语言模型同时从两个方向阅读序列,如下所示:

Paris is a beautiful __. I love Paris

3.两种模型对比

        自回归语言模型没能自然的同时获取单词的上下文信息(ELMo把两个方向的LSTM做concat是一个很好的尝试,但是效果并不是太好),而自编码语言模型能很自然的把上下文信息融合到模型中(Bert中的每个Transformer都能看到整句话的所有单词,等价于双向语言模型),但自编码语言模型也有其缺点,就是在Fine-tune阶段,模型是看不到[mask]标记的,所以这就会带来一定的误差。

        后续出现的XLNet将两种模型的优缺点做了一个完美的结合,在自回归语言模型中自然地引入上下文信息,并且解决自编码语言模型两阶段保持一致的问题。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值