1

在以下代码(从SentEval中提取)中,定义了一个神经网络结构,它将 1024 个实数映射到 5 个输出预测。问题是评估两个句子之间的相关性(每个句子用 512 个特征表示)。相关性是 [1,5] 中的一个数字。我认为如果训练相关性数字在 {1,2,3,4,5} 中,则cross entropy是一个更好的损失函数,但由于在训练集中我们在 [1,5] 中有真正的相关性数字,因此MSE用作损失函数。

问题:由于对于每个输入,网络输出 5 个概率数,如何MSE计算实数和 5 个概率数之间的 ?

from torch import nn

inputdim = 1024
nclasses = 5
model = nn.Sequential(
            nn.Linear(inputdim, nclasses),
            nn.Softmax(dim=-1),
        )
loss_fn = nn.MSELoss()
4

0 回答 0