问题描述
我希望实现一个复合损失函数,该函数包括一个稀疏的交叉熵损失和另一个单独的损失,该损失需要(计算该损失)softmax输出中的预测类标签,即最大概率项的索引softmax输出向量。我最初计算出损失函数如下。
def composite_loss(y_true,y_pred):
# cross entropy loss
L_ce = K.sparse_categorical_crossentropy(y_true,y_pred)
pi = K.cast(np.pi,'float32')
k = K.argmax(y_pred,axis=-1)
k = K.reshape(k,(8,256,1)) # batch size = 8,adding the -1 dimension
### computing the loss function that uses the predicted class label ###
return loss
此损失函数在训练时不会产生错误,但是,由于K.argmax()
没有导数,因此我担心在反向传播期间是否正确地确定了复合损失梯度。
有人可以为K.argmax()
提供解决方案来解决我的疑问或提供替代方案(它具有导数并且可以正确地将损耗梯度归因于此)吗?
TIA:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)