gpt4 book ai didi

python - 删除 Bert 中的 SEP token 以进行文本分类

转载 作者:行者123 更新时间:2023-12-03 14:38:32 25 4
gpt4 key购买 nike

给定一个情感分类数据集,我想微调 Bert。

如您所知,BERT 创建是为了在给定当前句子的情况下预测下一个句子。因此,为了让网络意识到这一点,他们插入了一个 [CLS]在第一句话的开头添加标记然后他们添加 [SEP]标记将第一个句子与第二个句子分开,最后是另一个 [SEP]在第二句话的末尾(我不清楚他们为什么在末尾附加另一个标记)。

无论如何,对于文本分类,我在一些在线示例中注意到(参见 BERT in Keras with Tensorflow hub )是他们添加了 [CLS] token ,然后是句子,最后是另一个 [SEP] token 。

在其他研究工作中(例如 Enriching Pre-trained Language Model with Entity Information for Relation Classification ),他们删除了最后一个 [SEP] token 。

为什么添加 [SEP] 有益/无益当我的任务只使用一个句子时,输入文本末尾的标记?

最佳答案

我不太确定为什么 BERT 在最后需要分离标记 [SEP] 来完成单句任务,但我猜测 BERT 是一个自动编码模型,如前所述,最初是为语言建模和下一句预测而设计的。因此,BERT 以这种方式进行训练以始终期望 [SEP] token ,这意味着该 token 涉及 BERT 在训练期间建立的基础知识。
后来的下游任务,例如单句用例(例如文本分类),结果证明也适用于 BERT,但是 [SEP] 是 BERT 正常工作的遗留物,因此即使是这些任务也需要。
如果将 [SEP] 附加在单个句子的末尾,BERT 可能学得更快,因为它在该标记中编码了一些知识,这标志着输入的结束。没有它,BERT 仍然会知道句子结束的位置(由于填充标记),这解释了前面提到的研究遗漏了标记,但这可能会稍微减慢训练速度,因为 BERT 可能能够通过附加的 [SEP] 标记更快地学习,尤其是在截断的输入中没有填充标记的情况下。

关于python - 删除 Bert 中的 SEP token 以进行文本分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59719323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com