从生成手段上看,条件控制生成有两种:事后修改 (Classifier-Guidance) 和事前训练 (Classifier-Free)。
利用已经训练好的生成模型,通过一个分类器来调控生成过程,这就是事后修改的方法,因为从头到位训练一个生成模型训练成本太大了。而对于大公司来说,不缺算力,所以一般采用的是在训练过程中加入训练信号,达到更好的训练生成效果,这就是 Classifier-Free 方案。
条件输入
生成模型最关键的就是对于 p(xt−1∣xt) 的建模,而条件生成就是以条件 y 作为条件输入,而这时的条件概率分布就可以写为 p(xt−1∣xt,y)。为了重用已经训练好的无条件生成模型 p(xt−1,xt),我们利用贝叶斯定理:
p(xt−1∣y)=p(y)p(xt−1)p(y∣xt−1)
补上 xt 条件:
p(xt−1∣xt,y)=p(y∣xt)p(xt−1∣xt)p(y∣xt−1,xt)
注意到 xt 是 xt−1 加噪声得到的,我们假定对条件概率 p(y∣xt−1) 添加条件 xt 是不影响分类结果的,即 p(y∣xt−1,xt)=p(y∣xt−1)。从而
p(xt−1