关于 BertForMaskedLM

问题描述

我最近阅读了有关 Bert 的文章,并想将 BertForMaskedLM 用于 fill_mask 任务。我知道伯特架构。另外,据我所知,BertForMaskedLM 是由 Bert 构建的,顶部有一个语言建模头,但我不知道 语言建模头在这里是什么意思。谁能给我一个简短的解释。

解决方法

正如您所理解的那样,BertForMaskedLM 使用了语言建模 (LM) 头。

一般来说,在这种情况下,LM head 是一个线性层,具有隐藏状态的输入维度(对于 BERT-base,它将是 768)和词汇量大小的输出维度。因此,它将 BERT 模型的隐藏状态输出映射到词汇表中的特定标记。损失是根据给定令牌相对于目标令牌获得的分数计算的。