csteinmetz1 / auraloss

Collection of audio-focused loss functions in PyTorch
Apache License 2.0
695 stars 66 forks source link

Questions about SISDRLoss #41

Closed PrShi113 closed 1 year ago

PrShi113 commented 1 year ago

Hi! Thank you for your useful loss functions. But could you explain the value of SISDRLoss? I try to train a model for the speech separation task. Is it normal that the value of SISDRLoss is always negative? And how can I determine whether the model is converging? Should the value of SISDRLoss converge to 0, or keep a large value?

csteinmetz1 commented 1 year ago

Hi @PrShi113,

Normally a high (positive) SI-SDR means the model is performing well. However, since we want to use the SI-SDR as a loss function and by default PyTorch optimizer will attempt to minimize the loss, in auraloss the SISDRLoss will automatically be negated. This means that the more negative the value from the loss, the better the model is doing. This loss is in theory unbounded and as the model is converging it should be going more negative. I hope this answers your question.

If you have any other doubts or issues feel free to open another issue.