我正在尝试修改我的修道院的损失函数,我从实现方面有一些问题。
我已经知道如何在 Keras 中创建自定义损失函数,以及如何调用它。但我仍然不清楚在哪里包含函数的导数。
假设我的新损失函数是:
损失 = 交叉熵 + f(x)
其中 f(x) = x**2。
我应该在哪里包含 f'(x)=2x,以便在反向支柱步骤中使用它?Keras 会自动这样做吗?或者我应该在某些部分明确定义这一点?
感谢您对此的任何提示,因为我不知道该怎么做。
川。
损失必须是 a) 您的网络输出和 b) 正确标签的函数。损失 = summm(a,b) 会使您的网络最小化 a) 和 b)。最小化 x**2 使 x 接近于零;最小化软最大值()。由于 softmax(x) 不是损失函数,只为向量 X 定义,并且有助于使向量求和达到 1,因此您无法真正将其最小化。我猜你在这里混合了概念。
Softmax是一个激活函数,其输出可用于计算损失,例如对数