MengyuWang826 / SegRefiner

SegRefiner: Towards Model-Agnostic Segmentation Refinement with Discrete Diffusion Process
Apache License 2.0
137 stars 8 forks source link

关于训练和推理阶段Transition Sample Module的输入 #2

Closed wzx0720 closed 6 months ago

wzx0720 commented 6 months ago

作者您好,感谢您的出色工作! 在您的论文中,训练阶段Transition Sample Module将前一个mask mt-1、粗糙mask mT分别与当前t的状态转移概率相乘来计算mt,但您在附录中的算法中使用的是这个公式: image 另外,在推理阶段论文中您的表述是: image 其中使用的是mt-1,但附录中的算法使用的是粗糙mask: image

请问应该如何理解Transition Sample Module的输入呢?具体以哪个表述为准?感谢您的解答!

MengyuWang826 commented 6 months ago

作者您好,感谢您的出色工作! 在您的论文中,训练阶段Transition Sample Module将前一个mask mt-1、粗糙mask mT分别与当前t的状态转移概率相乘来计算mt,但您在附录中的算法中使用的是这个公式: image 另外,在推理阶段论文中您的表述是: image 其中使用的是mt-1,但附录中的算法使用的是粗糙mask: image

请问应该如何理解Transition Sample Module的输入呢?具体以哪个表述为准?感谢您的解答!

这个在原理的推导上,由于前向/反向过程都是单向的,所以在前向过程中使用 $m_{t-1}$ 或 $m_0$ ,在反向过程中使用 $m_t$ 或 $mT$ ,是等效的(图中的 $M{fine}$ 和 $M_{coarse}$ 就是 $m_0$ 和 $m_T$ )。 而在实现中,由于训练过程我们希望直接得到中间某一步的 $mt$ (而非迭代获得),所以输入是 $M{fine}$ ;而推理过程是迭代进行的,所以使用的是 $m_t$ 。