BERT模型在最后一个转换器和分类层之间包括一个额外的投影层(它包含大小为hidden_dim x hidden_dim
的线性层,一个退出层和一个tanh
激活) 。最初在论文中没有对此进行描述,但已here得到了澄清。该中间层与其余的变压器一起经过预训练。
在拥抱的BertModel
中,此层称为pooler
。
根据the paper,FlauBERT模型(在法国语料库上进行了微调的XLMModel)还包括该合并器层:“分类头由以下几层组成,依次为:滤除,线性,激活,滤除,和线性。”但是,在加载带有拥抱面(例如,FlaubertModel.from_pretrained(...)
或FlaubertForSequenceClassification.from_pretrained(...)
)的FlauBERT模型时,该模型似乎不包含这样的层。
因此产生一个问题:为什么拥抱面的FlauBERT模型中没有合并层?
答案 0 :(得分:0)
下一个句子分类任务必须使用电池。该任务已从Flaubert培训中删除,使Pooler成为可选层。 HuggingFace评论说:“池的输出通常不能很好地概括输入的语义内容,通常最好将整个输入序列的隐藏状态序列平均化或合并起来”。因此,我相信他们决定删除该图层。
答案 1 :(得分:-1)
因为Flaubert是XLM模型而不是BERT模型