BERT的基模型预训练是通过语言模型方法完成的,我们会遮蔽句子中一定百分比的词元,并让模型学习这些缺失的遮蔽部分。之后,我认为为了执行下游任务,我们会添加一个新初始化的层,并且对模型进行微调。
然而,假设我们有一个巨大的用于句子分类的数据集。从理论上讲,我们是否可以从头开始初始化BERT的基本架构,仅用这个句子分类数据集来训练额外的下游任务特定层和基本模型的权重,并且仍然取得良好的结果?
回答:
BERT可以被视为一个语言编码器,它在大量数据上进行训练以很好地学习语言。正如我们所知,原始的BERT模型是在整个英语维基百科和书籍语料库上训练的,总共3.3亿个词。BERT-base有1.09亿个模型参数。所以,如果你认为你有足够大的数据来训练BERT,那么对你问题的回答是肯定的。
然而,当你说“仍然取得良好的结果”时,我假设你是在与原始BERT模型进行比较。在这种情况下,答案取决于训练数据的大小。
我想知道你为什么更喜欢从头开始训练BERT而不是微调它?是因为你担心领域适应问题吗?如果不是的话,预训练的BERT或许是一个更好的起点。
请注意,如果你想从头开始训练BERT,你可能需要考虑一个更小的架构。你可能会发现以下论文有用。