本文介绍DDPO(Denoising Diffusion Policy Optimization, DDPO)方法
- 参考链接:
基本思路
- 目标:解决 Diffusion 图片生成时无法捕捉“人类审美”反馈的问题,也可以用于多模态对齐
- 个人理解也可以用于生成最大化某个指标的图片,比如最大化“CTR”的图片?
- 基本思路:将 Diffusion 的每一个生成步骤视为 MDP 过程,从而通过 RL 来引导生成过程
- MDP 建模思路: \(\epsilon_\theta(x_t, c, t)\) 作为策略网络,其他MDP的详细信息定义如下
- \(s_t \triangleq (c, t, x_t)\)
- \(a_t \triangleq x_{t-1}\)
- \(\pi(a_t|s_t) \triangleq p_\theta(x_{t-1}|x_t, c)\),这里实际上可以写为 \(p_\theta(x_{t-1}|x_t, c, t)\) 更准确
- \(P(s_{t+1}|s_t, a_t) \triangleq (\delta_c, \delta_{t-1}, \delta_{x_{t-1}}) \),这里 \(\delta_y\) 是狄拉克 \(\delta\) 分布函数(e Dirac delta distributin),表示在指定值时概率无穷大,其他位置概率为0的概率分布
- 问题:这里概率本质应该是一个标量数字,不能用三维数字来表达吧?文章这里应该是想表达联合概率分布的含义
- \(\rho_0(s_0) = \triangleq (p(c), \delta_T, \mathcal{N}(0,\mathbf(I)))\),表示初始状态出现的概率,这里也是联合概率分布
- \(R(s_t, a_t) = \triangleq
\begin{cases}
r(x_0, c)& \text{if}\ t = 0\\
0& \text{otherwise}
\end{cases}\),表示仅在最后时刻有reward,其他时刻没有reward反馈