Не совсем уверен, что «редкий» является правильным термином здесь.
Я хочу обучить CNN - если быть точным, это UNet - генерировать маски, как показано на рисунке:
Маски являются двоичными, и большая часть изображения белого цвета.Это более или менее то, что я подразумеваю под разреженным, хотя это неправильный термин для этого ...
Когда я начал тренироваться, сеть просто учится красить все в белый цвет, потому что у полностью белых изображений уже очень низкие потери,
Итак, какие из лучших оптимизаторов и / или критериев хорошо подходят для такой проблемы?
Может быть, те, которые каким-то образом обладают «способностью», накладывают высокий штраф на ложные негативы, а не такой высокийштраф за ложные срабатывания?
РЕДАКТИРОВАТЬ: я забыл поделиться текущий оптимизатор и потери:
optimizer = optim.SGD(net.parameters(),
lr=0.0001,
momentum=0.9,
weight_decay=0.0005)
criterion = nn.BCELoss(reduction='sum')