解释BERT为什么是双向表示

之前也没有仔细思考这个问题, 近几天重新看了一遍BERT模型,发现之前的理解确实有问题,所以过来填坑。

在说明BERT的双向表示前,先回顾一下常见的双向表示

网络结构的双向

首先区别于biLSTM那种双向, 那种是在网络结构上的双层

例如 biLSTM来进行一个单词的双向上下文表示
在这里插入图片描述
可以看到, 这种在网络结构上, 每个单词都从正向和反向都得到一个表示, 然后将此表示进行连接, 则此时认为这就是单词的双向表示

在没有深思之前,我也一直以为BERT是使用上面的模式,而当我看到BERT的结构是这样的,说明我之前是错误的理解:

在这里插入图片描述

请注意,BERT并没有说讲一个序列反向输入到网络中,所以BERT并不属于这种。

BERT中的双向表示

那么BERT 是如何说明是双向表示呢?

首先我们指导BERT的预训练模型中,预训练任务是一个mask LM通过随机的把句子中的单词替换成mask标签, 然后对单词进行预测

这里注意到,对于模型,输入的是一个被挖了空的句子, 而由于Transformer的特性, 它是会注意到所有的单词的,这就导致模型会根据挖空的上下文来进行预测, 这就实现了双向表示, 说明BERT是一个双向的语言模型
在这里插入图片描述

  • 13
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值