transformer - 如果 BERT 的 [CLS] 可以针对各种句子分类目标进行再训练,那么 [SEP] 呢?
问题描述
在 BERT 预训练中,[CLS] 标记嵌入到分类器的输入中,该分类器的任务是下一个句子预测任务(或者,在某些 BERT 变体中,还有其他任务,例如 ALBERT 的句子顺序预测);这有助于对整个转换器进行预训练,并且还有助于使 [CLS] 位置随时可用于对其他“句子量表”任务进行再训练。
我想知道 [SEP] 是否也可以以同样的方式进行再培训。虽然 [CLS] 可能更容易重新训练,因为 Transformer 已经被训练为在整个句子中赋予其嵌入意义,而 [SEP] 没有这些“连接”(人们会假设),这可能仍然适用于足够的微调。
有了这个,可以为两种不同的分类任务重新训练相同的模型,一种使用 [CLS],另一种使用 [SEP]。
我错过了什么吗?有没有理由为什么这不起作用?
解决方案
从理论上讲,它可以给出“一些”结果,所以它会起作用(它只是一个象征),但问题是你为什么要这样做。这些令牌已针对特定目的进行了预训练。我想“重新训练”是指微调,所以如果你突然将 SEP 标记微调为分类标记,我认为你不会得到好的结果,因为你只是在整个语言模型中微调一个标记它甚至没有经过预训练的任务。
推荐阅读
- php - php没有与mysql连接
- sass - 使用 Bootstrap 5 添加新实用程序
- php - 在保留 URL 的同时重定向 php
- snowflake-cloud-data-platform - 用户看不到架构 - 我的所有授权都正确吗?
- python - kivy python:“标签”对象不可调用
- javascript - Nodejs 中的面向对象编程。嵌套类?
- java - ActiveMQ TLS 主机主机名验证
- gnuplot - gnuplot 不绘制任何东西,只是 axics
- python - IndexError: list assignment index out of range的解决方法
- sql - 从多行只返回一个数据