我正在做一个分割任务,其中每个像素可以属于多个类别-多标签分割。基本事实和输出(我从U-Net得到)是形状上的None x H x W x 3。本质上,每个像素由一个大小为3的向量表示。如果我像这样在模型上调用compile,我做的事情是正确的吗:
model.compile(
optimizer='rmsprop',
loss='binary_crossentropy')或者,我是否需要为此任务编写一个自定义损失函数?
谢谢你!
发布于 2020-02-22 00:15:54
由于您正在执行多标签语义分割,因此使用某种加权的二进制交叉熵将是一个好主意。通常在多标签语义分割中,可能有一些标签没有足够的训练数据,并且它们的性能可能被具有高训练信息的标签所掩盖。这反过来会导致更高的总体准确性,但在所有标签上的个人表现较差。
这里有一个关于这个问题的很好的讨论。https://github.com/keras-team/keras/issues/6261
https://stackoverflow.com/questions/58422890
复制相似问题