You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加特殊标记后Hugging Face TF版BERT的词嵌入发生变化是什么原因?

现象原因说明

这一现象由两个核心因素共同导致:

  1. 位置编码的差异
    BERT的输入嵌入由「词嵌入 + 位置嵌入 + 段嵌入」三部分求和得到。当你设置add_special_tokens=True时,输入序列开头会额外插入<[BOS_never_used_51bce0c785ca2f68081bfa7d91973934]>标记、结尾插入[SEP]标记,原本的第一个词this的位置索引从0变为1,对应的位置编码完全不同,就算词本身的嵌入没有变化,输入到Transformer层的初始值就已经产生了差异。
  2. 双向自注意力的上下文影响
    BERT的每一层编码都依赖双向自注意力机制,每个token的输出表示会和序列内所有其他token做注意力加权计算。开启特殊标记后,序列多了<[BOS_never_used_51bce0c785ca2f68081bfa7d91973934]>、[SEP]两个额外的token参与注意力计算,自然会改变原有所有普通token的最终输出嵌入结果。

如果想要对比同一词的纯词嵌入,你可以直接提取BERT的嵌入层权重,对应token ID查表获取,不要经过后续的Transformer编码层即可。

内容的提问来源于stack exchange,提问作者B_Miner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:12:05