叶子🍃
叶子🍃
发布于 2026-07-23 / 3 阅读
0

Flow-GRPO 两种方向的 SDE 公式

两个方向

  • 正向:x0x_0为目标,x1x_1 为噪声,此时为Flow-GRPO论文原文公式:

xt+Δt=xt+{vt+σt22t[xt+(1t)vt]}Δt+σtΔtϵx_{t+\Delta t}=x_t+\left\{v_t{\color{orange}+}\frac{\sigma_t^2}{2{\color{blue}t}}\left[{\color{red}x_t+\left(1-t\right)v_t}\right]\right\}\Delta t + \sigma_t \sqrt{\left|\Delta t\right|}\epsilon

注意此时去噪过程中Δt<0\Delta t<0

  • 反向:x0x_0为噪声,x1x_1为目标,此时:

xt+Δt=xt+[vtσt22(1t)(xttvt)]Δt+σtΔtϵx_{t+\Delta t}=x_t+\left[v_t{\color{orange}-}\frac{\sigma_t^2}{2{\color{blue}\left(1-t\right)}}\left({\color{red}x_t-tv_t}\right)\right]\Delta t + \sigma_t \sqrt{\left|\Delta t\right|}\epsilon

理解

注意标红的部分,这部分是基于时间tt预测的噪声端。方向不同,这块需要随着改动。

标蓝的部分:不考虑σt\sigma_ttt的函数的话,公式的奇异点会出现在目标端。

原文正向会令σt=at1t\sigma_t=a\sqrt{\frac{t}{1-t}},反向时为σt=a1tt\sigma_t=a\sqrt{\frac{1-t}{t}},其中aa是噪声等级,一般取0.5到1.0。也见过让这个值一直为常数的工作。

注意公式里vtv_t后面的正负号:如果是去噪过程的话,后面那一项是会让噪声减少(抵消引入随机噪声带来的漂移)。如果是正向过程,Δt<0\Delta t<0(去噪),那么中间会是加号。

参考文献

Flow-GRPO 论文

FlowTTS-GRPO 论文

Flow-Factory 里的算法总结