我有一个具有辍学层和多个输出的神经网络。我想在两个评估完全相同的输入上计算神经网络的输出之间的L2距离。然后将其作为附加惩罚条款向后传播。
类似
def distance_loss(???):
K.mean(K.square(my_model(input_batch) - my_model(input_batch)))
我可以这样做吗?:
my_model = Model(inputs=[features, conditional_features], outputs=[final_layer, final_layer])
my_model.compile(optimizer=Adam(), loss=["binary_crossentropy", distance_loss])
我担心它不会为两个输出使用两个不同的dropouts,所以我在两个输出中将获得完全相同的值。另外,如何定义损耗以查看两个输出?两个相同网络的权重分配?