Loss函数总结

在深度学习方面,经常用到各种各样的损失函数,在此总结记录一下。因平时使用PyTorch比较多,所以一下损失函数均使用PyTorch实现。

dice loss

dice是医学图像中的常见指标,在使用深度学习做医学图像分割时,经常用到dice系数作为损失函数。

dice的定义如下:
dice代表的时两个体相交的面积占总面积的比值,图示如下:

img

按图中区域表示计算为:

$$ \frac{2*预测正确的结果}{真实结果+预测结果} $$

PyTorch实现如下:

1
2
3
4
5
6
7
8
9
def dice_loss(input, target):
smooth = 1.

iflat = input.view(-1)
tflat = target.view(-1)
intersection = (iflat * tflat).sum()

return 1 - ((2. * intersection + smooth) /
(iflat.sum() + tflat.sum() + smooth))