在Bubbliiiing的yolov3代码中,计算loss值
loss_x = torch.sum(self.BCELoss(x, y_true[..., 0]) * box_loss_scale * y_true[..., 4])
loss_y = torch.sum(self.BCELoss(y, y_true[..., 1]) * box_loss_scale * y_true[..., 4])
采用的是BCEloss
这是因为使用均方误差MSE的话,会有梯度消失的问题。
当h趋近于0时或者趋近于1时,该Loss的导数都会趋近为0,从而造成梯度消失现象。
梯度消失