yassouali / CCT

:page_facing_up: Semi-Supervised Semantic Segmentation with Cross-Consistency Training (CVPR 2020).
https://yassouali.github.io/cct_page/
MIT License
395 stars 58 forks source link

Unsupervised data is only used to improve the performance of the Encoder part? #51

Closed wang-hairui closed 2 years ago

wang-hairui commented 2 years ago

Hi Yassine,

I have noticed that you answer the question (#43) that the unsupervised loss is not back-propagated through the main decoder. You used .detach() achieve this function.

From my understanding, the main decoder is not affected by the unsupervised loss. In other words, this means only the Encoder part benefited from the training process? Because, in the process of inference, we only need to use the main decoder and the Aux-Decoder part will not influence the performance of test data.

Thanks and regards.

yassouali commented 2 years ago

Hi @wang-hairui .

Yes that it is extactly correct, only the encoder is trained with the unsupervised loss, and the main decoder which is used in the testing phase is only trained with labeled examples.

Also note that the decoder is used mainly for a sort of learned convext interpolation, so it makes sense to only learn such an interpolation on the clean features while training the encoder in a semi supervised manner since the mojority of modeling is upon it