用于计算非零值或一值的自定义keras损失函数

2024-09-30 01:29:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Keras中有一个成本函数,它有3个部分与我的网络的不同输出有关。假设这是我的损失函数:

aL1+bL2+cL3L1是mse,L2是二进制交叉熵,L3试图使输出中没有值01(∑n (x≠0 or x≠1))的像素数最小,但我不知道如何生成最后的损失函数?!(a、b和c是每个损失函数的系数)

输出应该是一个值为0或1的28x28二进制图像。通过向loss函数中添加这个项,我试图强制输出为0或1,其他值尝试放入这两个类中的一个。但是我不知道如何产生这个损失函数,或者我有这些损失函数的组合?如果我只有两个第一损失函数,我就这样做

model.compile(optimizer=opt, loss=`{'decoder_output':'mse','reconstructed_W':'binary_crossentropy'}, loss_weights={'decoder_output': 0.1, 'reconstructed_W': 1.0},metrics=['mae'])` 

第三个损失与reconstructed_w有关,我想强制其值仅为0或1,但我不知道如何编写代码。你能帮我解决这个问题吗?我感谢你的帮助。我真的需要你的指导。你知道吗


Tags: 函数网络output二进制keras成本损失loss

热门问题