Hi,
sorry for the late response, but thanks a lot for your explanations so far. What I meant with the third point was more or less if both cases are doing the same in the end:
First:
y1, y2, y3   = model(x)
loss1        = Loss(y1, gt)
loss2        = Loss(y2, gt)
loss3        = Loss(y3, gt)

loss1.backward()
loss2.backward()
loss3.backward()


Second:
y1, y2, y3   = model(x)
loss1        = Loss(y1, gt)
loss2        = Loss(y2, gt)
loss3        = Loss(y3, gt)
loss_all     = loss1 + loss2 + loss3
loss_all.backward()