在 BERT 论文中无法弄清楚 SQuAD 任务的损失是如何计算的

数据挖掘 机器学习 nlp 损失函数
2022-02-16 13:08:38

BERT 论文

https://arxiv.org/pdf/1810.04805.pdf

第 4.2 节涵盖 SQuAD 培训。

所以根据我的理解,训练了两个额外的参数,它们是两个向量,其维度与隐藏大小相同,因此与 BERT 中的上下文化嵌入具有相同的维度。它们是 S(开始)和 E(结束)。

对于每一个,使用 S 和每个最终的上下文嵌入来获取一个 softmax,以获得正确起始位置的分数。对 E 和正确的结束位置也做了同样的事情。

我开始讲这部分。但是我无法弄清楚标签和最终损失计算是如何进行的,这在本段中有描述

“并且使用最大得分跨度作为预测。训练目标是正确开始和结束位置的对数似然。”

“使用最大评分跨度作为预测”是什么意思?

此外,这如何影响“训练目标是正确开始和结束位置的对数似然”?

从这个来源:

https://ljvmiranda921.github.io/notebook/2017/08/13/softmax-and-the-negative-log-likelihood/

它说对数似然只适用于正确的类。所以我们只计算正确位置的softmax,而不是任何正确位置。

如果这个解释是正确的,那么损失将是

Loss = -Log( Softmax(S*T(predictedStart) / Sum(S*Ti) ) -Log( Softmax(E*T(predictedEnd) / Sum(S*Ti) )
1个回答

根据您的描述,听起来每个职位i在模型预测的输入文本中

pS(i)=P(correct start position is i)
pE(i)=P(correct end position is i).
现在让s^=argmaxipS(i)e^=argmaxipE(i)是最可能的开始和结束位置(根据模型)。

然后通过“使用最大评分跨度作为预测”他们只是意味着他们输出(e^,s^)预测时。

那么“训练目标是正确的开始和结束位置的对数似然”意味着如果正确的开始和结束位置是se,他们试图最大化预测的概率se. 如果开始和结束位置是独立的,那么这等于pS(s)pE(e)并取负对数,损失变为

L(e,s)=logpS(s)logpE(e).