Hi and thanks again for a more than helpful answer!



 KFrank:

If so, would it suffice to simply segment the three substructures, with
the large structure being determined by post-processing


Yes, that would be an option. Nevertheless there is a slight difference between the large structure and single structure.



 KFrank:

but my general
advice would be to start with CrossEntropyLoss as the default, and
only add Dice loss if it gives you a clear improvement


Thanks! I will make a comparison…



 KFrank:

Peel off the first of your
five outputs and feed it into BCEWithLogitsLoss together with
your large-structure mask, and peel off the last four outputs, feeding
them into CrossEntropyLoss together with the class-label mask.


Thats I great idea!



 KFrank:

If you can, in fact, one-hot encoded your target – exactly one of your
classes (including the background class) is active at a time – then
you have a *single-label, multi-class problem, and, in general,
CrossEntropyLoss will be the better choice (because, in essence,
your network “knows” that it’s being trained for a single-label task).


Just to be sure:
If I use BCEwithLogits, i do not have to use a one hot encoded label, which In case of the large structure would give me a 2 channel image (ch 0 :background, ch1:foreground). In that case a simple binary image with 1 channel would be enough? (using a Sigmoid activation function)
Otherwise I could one hot encode my image and use a  Crossentropy loss instead? (using a Softmax function)?
Cheers,
Michael