lasagne/theano 的自定义损失函数

Custom loss function for lasagne/ theano

我正在尝试创建用于烤宽面条的自定义损失函数。

我想使用我用 numpy 编写的 Sorensen-dice 系数,并像这样用于评估:

np.sum(np.logical_and(preds == num_labs, labels == num_labs)))*2/ (np.sum(preds == num_labs) + np.sum(labels == num_labs)

正在做什么:

骰子 = (2*|X & Y|)/ (|X|+ |Y|)

我现在正尝试在 theano 中实现它,不确定它的可行性。

是否可以将其用作损失函数?我想在分割体积时使用它,但我认为这对于反向传播应该是可微的,我该如何改变它?

有什么想法吗?

你可以写成sum(A*B)/(sum(A^2)+sum(B^2))。参考https://arxiv.org/abs/1606.04797