在BERT 论文中,第 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) )