14.4.2 训练
首先来看看二元交叉熵的损失公式
然后再来看看nn.functional.binary_cross_entropy_with_logits
的用法
然后来讲一下\(0.9352\)是怎么得出的(\(1.8462\)同理)
- 每个样本没有归一化的输出为
[1.1, -2.2, 3.3, -4.4]
,标签分别为[1.0, 0.0, 0.0, 0.0]
- 将这四个样本代入最开始给的二元交叉熵损失公式(
nn.functional.binary_cross_entropy_with_logits
会将未归一化的输出通过\(\text{Sigmoid}\)函数映射成概率),得到[-0.2873, -0.1051, -3.3362, -0.0122]
- 由于
mask
为[1, 1, 1, 1]
,所以不会丢弃任何值 - 将没有丢弃的值加起来除以\(4\)后取相反数即\(0.9352\)