4 ms·
How is doing classifier-free guidance where you "Train a single diffusion model on every training sample x0x0 twice: once paired with its class label yy, and
by davidguetta 2y ago
How is doing classifier-free guidance where you
"Train a single diffusion model on every training sample x0x0 twice: once paired with its class label yy, and once paired with a null class label."
not doing exactly the same, and having the same problem that was deemed bad in the first paragraph of the same section:
"However, the label can sometimes lead to samples that are not realistic or lack diversity if the model has not seen enough samples from p(x∣y)p(x∣y) for a particular yy. So we often want to tune how much the model “follows” the label during generation."
Awesome post btw
- reasonableklout 2y agoIt's not quite the same thing because you are able to control the tradeoff of realism and class strength, since sampling is formulated as pushing an unconditional sample in the direction of the conditional one for a tunable amount, rather than simply sampling from the conditional distribution. However, you are right that we get similar problems with realism if we apply guidance with too much strength.
- davidguetta 2y agoMm. I understand the argument (tho this subletly is not present in the article, maybe you should add it if that's actually what people do). That said I am not 100% convinced : first the underlying model is still the same and because you are effectively learning a eps(x, t, y). secondly the equivalence suggests (if you actually use the difference as gradient) you should end up in the same global min/max as if you were doing this directly no ?
- reasonableklout 2y agoThanks for the feedback! Yes, when conditioned on a non-null label, the underlying model for classifier-free guidance can be seen as the same as a class-conditional model (in fact, the original CFG paper[0] discusses training a separate model - they didn't do that because it's extra work for not much benefit). And for a certain weighting of the guidance vector for each step, you can obtain the same sampling step you would get with a class-conditional model. But my understanding is that the point of guidance is that you can control this weighting, because you are able to estimate the unconditional score too. [0] https://arxiv.org/pdf/2207.12598 https://arxiv.org/pdf/2207.12598