为什么拥抱面的FlauBERT模型中没有合并层?

时间:2020-08-11 13:04:45

标签: bert-language-model huggingface-transformers

用于语言模型和序列分类的

BERT模型在最后一个转换器和分类层之间包括一个额外的投影层(它包含大小为hidden_dim x hidden_dim的线性层,一个退出层和一个tanh激活) 。最初在论文中没有对此进行描述,但已here得到了澄清。该中间层与其余的变压器一起经过预训练。

在拥抱的BertModel中,此层称为pooler

根据the paper,FlauBERT模型(在法国语料库上进行了微调的XLMModel)还包括该合并器层:“分类头由以下几层组成,依次为:滤除,线性,激活,滤除,和线性。”但是,在加载带有拥抱面(例如FlaubertModel.from_pretrained(...)FlaubertForSequenceClassification.from_pretrained(...))的FlauBERT模型时,该模型似乎不包含这样的层。

因此产生一个问题:为什么拥抱面的FlauBERT模型中没有合并层?

2 个答案:

答案 0 :(得分:0)

下一个句子分类任务必须使用电池。该任务已从Flaubert培训中删除,使Pooler成为可选层。 HuggingFace评论说:“池的输出通常不能很好地概括输入的语义内容,通常最好将整个输入序列的隐藏状态序列平均化或合并起来”。因此,我相信他们决定删除该图层。

答案 1 :(得分:-1)

因为Flaubert是XLM模型而不是BERT模型