为什么 BERT 不返回我原来的句子?

问题描述 投票:0回答:1

我已经开始通过

BERT
模块使用
huggingface
编码器。

我向它传递了一个正常的未屏蔽句子,得到了以下结果:

但是,当我尝试手动应用 softmax 并解码输出时:

我得到了一堆意想不到的

tensor(1012)
而不是我原来的句子。 BERT 是一个自动编码器,不是吗?

既然输入的单词都不是

[MASK]
,那么它不应该以相当高的概率返回原始句子吗?谁能给我解释一下这是怎么回事吗?

python huggingface-transformers bert-language-model huggingface
1个回答
0
投票

BERT(来自 Transformers 的双向编码器表示)是一种基于 Transformer 的机器学习模型,以自学习方式在大型语料库上进行训练。它被开发为根据句子中单词周围的单词来理解单词的上下文。

但是,BERT 不是自动编码器,因为在训练过程中会忽略非屏蔽词的预测,并且不会重建输入句子。相反,它为句子中的每个单词生成高维向量表示。这些表示是上下文相关的,意味着同一个单词可以根据上下文有不同的表示。

当用户向 BERT 输入句子时,它不会返回原始句子,因为它不是为了生成文本而开发的,而是为了理解给定文本的上下文和语义。 BERT 返回一组向量,表示句子中每个单词的上下文含义。

© www.soinside.com 2019 - 2024. All rights reserved.