我正在进行bert架构的实验,并发现大多数fine-tuning任务将最后一个隐藏层作为文本表示,并将其传递给其他模型进行进一步的下游任务。
Bert的最后一层看起来像这样:
我们从每个句子中取[CLS]标记:
我阅读了许多关于这个huggingface问题,datascience论坛问题,GitHub问题。大多数数据科学家都给出了这个解释:
BERT是双向的,[CLS]经过多层编码过程包含所有标记的代表信息。[CLS]的表示在不同的句子中是独立的。
我的问题是,为什么作者忽略了其他信息(每个标记的向量),并使用平均值、最大池或其他方法利用所有信息,而不是使用 [CLS] 标记进行分类?
[CLS] 标记相比使用所有标记向量的平均值有何帮助?