我想为此道歉,以我的问题开头。
我想拟合一个DNN分类器,该分类器使用带有分类交叉熵损失的softmax激活来编译,以预测4类的概率。
我需要在神经网络上添加一个约束,以考虑一个特征值。为了举例说明,假设我要预测的4个类别是猫,狗,狮子和蚂蚁,而我具有布尔值“ is_pet”的功能-我想确保狮子和蚂蚁的预测概率正好为零...实现此约束的最佳方法是什么?还有其他方法可以通过使用不同的模型架构来实现这一目标吗?
答案 0 :(得分:0)
如果我正确理解了您的问题,则希望您的网络以最大的幅度预测正确的类别(即100%正确类别,其他三个类别为0%)。您可以通过简单地将softmax输出的最大值作为预测类并将所有其他预测概率设置为0来做到这一点。此操作是不连续的,如果您尝试通过网络向后传播其梯度,则会导致问题,因此最好将其作为最后一步。
答案 1 :(得分:0)
我认为您正在寻找的是面具。您可以在softmax之前应用布尔掩码,具体取决于您拥有的其他布尔功能。
根据该功能的性质,您可以具有一组定义此掩码的规则,或者可以让网络学习如何定义此掩码。