YiyanXu / DiffRec

Diffusion Recommender Model
179 stars 24 forks source link

关于L-Diffusion的中的_predict_xstart_from_eps函数的问题 #19

Closed akajinchen closed 4 months ago

akajinchen commented 5 months ago

https://github.com/YiyanXu/DiffRec/blob/d605bc9178f338f2f16a084367d859d72ff0608d/L-DiffRec/models/gaussian_diffusion.py#L275C9-L275C33 这里函数的意思是从 ts时刻直接减去model预测的noise变成x_start,我不太理解,不应该是变为xts-1的状态吗

YiyanXu commented 4 months ago

因为模型在训练过程中预测的是从$x_0\leftarrow x_t$的噪声$\epsilon_t$,因此在inference时先去除$x_t$中的噪声$\epsilon_t$得到$x0$,再对其进行前向加噪得到$x{t-1}$。不断重复$x_t\leftarrow x0\leftarrow x{t-1}$这个过程,逐步重构出更好的$x_0$。