为什么说BERT是bidirectional

 

BERT是一个deep bidirectional Transformer。

 

Transformer可参考 https://baijiahao.baidu.com/s?id=1622064575970777188&wfr=spider&for=pc 非常详细易懂

Transformer是一个encoder-decoder框架。

 

编码器的结构:

其中,自注意力层在编码某个词的时候就会考虑这个词所在句子的所有词,所以在编码的时候,self-attention是bidirectional的。

 

解码器的结构如下:

在解码器中,self-attention的处理模式和编码器中的self-attention不同。在解码器中,self-attention只允许处理输出序列中更靠前的那些位置,把后面的位置隐去。就是相当于只处理这个词之前的词,所以,在解码器中的self-attention是unidirectional的。

 

 

但是,BERT在解码过程中会使用这个词前后的所有上下文,所以说是bidirectional Transformer.

 

原文中的说明是:

 

另,为什么使用self-attention?(下面是从attention as all you need https://arxiv.org/pdf/1706.03762.pdf里面翻译的)

1.考虑每层的计算复杂度

2.可以并行的计算

 

3.网络中长依赖的路径长度。影响学习这种长依赖的一个主要因素是在网络中向前和向后的信号需要穿过的路径的长度。输入序列和输出序列中的任何的位置组合之间的路径越短,就越容易学习到跨度长的依赖。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值