单向 Transformer VS 双向 BERT

Uni-directional Transformer VS Bi-directional BERT

我刚读完 Transformer paper and BERT 论文。但是无法弄清楚为什么 BERT 论文中提到的 Transformer 是单向的而 BERT 是双向的。由于他们不使用循环网络,因此解释方向并不是那么简单。谁能提供一些线索?谢谢

澄清一下,Vaswani 等人的原始 Transformer 模型。是一种编码器-解码器架构。因此,声明 "Transformer is uni-directional" 具有误导性。

事实上,transformer encoder 是双向的,这意味着 self-attention 可以同时关注左侧和右侧的标记。相反,解码器 是单向的,因为在一次生成文本一个标记时,您不能让解码器关注当前标记的右侧。 Transformer 解码器通过向右屏蔽标记来约束自注意力。

BERT 使用 transformer 编码器架构,因此可以同时关注左侧和右侧,从而导致 "bi-directionality"。

来自 BERT 论文本身:

We note that in the literature the bidirectional Transformer is often referred to as a “Transformer encoder” while the left-context-only version is referred to as a “Transformer decoder” since it can be used for text generation.

推荐阅读:this article.