如果不使用解码器单元,我无法看到 BERT 是如何做出预测的,解码器单元是之前所有模型的一部分,包括转换器和标准 RNN。在不使用解码器的情况下,如何在 BERT 架构中进行输出预测?它如何完全取消解码器?
为什么解码器不是 BERT 架构的一部分?
数据挖掘
nlp
伯特
机器翻译
注意机制
2021-10-13 10:12:45
4个回答
对编码器的需求取决于您的预测条件,例如:
- 在因果(传统)语言模型(LMs)中,每个标记都是根据之前的标记来预测的。鉴于先前的令牌是由解码器本身接收的,您不需要编码器。
- 在神经机器翻译 (NMT) 模型中,翻译的每个标记都是根据前一个标记和源句子进行预测的。先前的标记由解码器接收,但源语句由专用编码器处理。请注意,这不一定是这种方式,因为有一些仅解码器的 NMT 架构,比如这个。
- 在掩码 LM 中,如 BERT,每个掩码标记预测都以句子中的其余标记为条件。这些是在编码器中接收的,因此您不需要解码器。同样,这不是一个严格的要求,因为还有其他掩码 LM 架构,例如MASS是编码器-解码器。
为了进行预测,BERT 需要对一些令牌进行掩码(即用特殊[MASK]
令牌替换。输出是非自回归生成的(输出处的每个令牌都是同时计算的,没有任何自注意掩码),调节在非屏蔽标记上,它们与屏蔽标记存在于相同的输入序列中。
BERT 是一个预训练模型,用于完成诸如问答、NLI 和其他语言任务等下游任务。所以它只需要对语言表示进行编码,以便它可以用于其他任务。这就是它只包含编码器部分的原因。您可以在执行特定任务时添加解码器,此解码器可以是任何基于您的任务的解码器。
首先需要了解 BERT 能解决什么问题,或者它能实现什么样的推理/预测。
Transformer 本身中的 Encoder 可以学习:
单词之间的关系(在上下文中哪个单词最有可能)。例如,什么词适合 in
BLANK
the contextI take [BLANK] of the opportunity
。句子之间的关系。例如 A:“在词汇表商店”可以跟随 B:“我买了配料”。
拥有这些特征或能力,BERT 可以预测一个单词以跟随一个单词序列。BERT 可以对文本是负面的还是正面的进行分类。只要您可以仅使用编码器部分实现您想要的预测,您就不需要解码器。
因此,最好关注需要解码器的问题。或者 BERT 无法解决的问题。
BERT 是一组深度双向 Transformer 编码器,可读取输入序列并生成称为嵌入的含义表示。它使用多头注意力来决定含义。
其它你可能感兴趣的问题