【发布时间】:2018-12-15 08:31:38
【问题描述】:
在使用 keras 时,特别是对于 U-net,我只知道以以下方式指定模型参数:
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=[mean_iou])
现在我可以将损失设置为等于我定义的任何值。但是,此损失函数将均匀地应用于所有类。我如何做到这一点,以便某些类的错误预测比其他错误预测的权重更大。
例如,假设我在每个图像中都有以下类。 A、B 和 C 类。现在,A 类和 B 类约占整个图像的 45%,C 类仅占整个图像的 10% 左右。但是,我更关心 C 类的高预测。
在这种情况下,损失函数并不能很好地发挥作用,因为类不平衡吸收了类 c 的损失。因此,我想找到一种方法来衡量一个班级的损失高于另一个班级。
我也对解决此问题的其他建议持开放态度 - 例如,也许有两个独立的网络?
编辑:Here 是对这个问题的后续跟进,需要实施该帖子已接受的答案。
【问题讨论】:
标签: image-processing neural-network keras deep-learning artificial-intelligence