一、问题定义
所谓图像生成实际上是拟合一个概率密度函数,经过解码器去生成图片。
假设我们有一个概率密度函数$P(x)$,其中$x$是一个图像,且$x\in R^d, 例如d=64\times64\times3$ 。现在,我们可以凭直觉想到,我们可以用一个模型去拟合这个概率密度函数。但是我们对于这个概率密度函数有一定的约束:
- $\forall x,P(x)\ge0$,即非负性。
- $\int_xP(x)dx=1$,这个条件是很难达成的。
我们换一种思路,假设我们有实函数$f_\theta(x)\in R$,我们定义概率密度函数为$P_\theta = \frac{e^{-f_\theta(x)}}{Z_\theta}$,由于分子一定为非负数,如果$z_\theta$也为正数,则可以满足约束条件一。这里我们称$Z_\theta$为归一化因子(scaling factor)。为了满足约束条件二,我们使得:
$$
\int_xP_\theta(x)=1
$$
则
$$
Z_\theta=\int_xe^{-f_\theta(x)}dx
$$
假设我们有$n$个数据:{$x_1,x_2,x_3,…,x_n$},可以得到他们的联合概率密度为$\prod \limits_{i=1}^nP_\theta(x_i)$,
对这个概率密度取对数可以得到:$\sum{logP_\theta(x_i)}
=-\sum{logZ_\theta}-\sum{f_\theta(x)}$
这里的$logP_\theta(x_i)$就叫做似然函数,我们将$\theta$看作变量,去找到最优的$\theta$去拟合我们这一组数据,找到哪个$\theta$可以最好地拟合这个数据,则这个$\theta$就是最优的。但是我们的数据是从大的样本空间中采样出来的,我们没有整个样本空间,也就无法对整个样本空间求积分去求得$Z_\theta$,其次高维的积分计算起来比较复杂,因此$Z_\theta$是不太好解决的。
二、Score matching
我们想求的是$\nabla_\theta logP_\theta(x)$。但是我们很难去求解这个式子,因为$logP_\theta(x)$是和$Z_\theta$有关的,而我们无法解决$Z_\theta$。
换种思路,我们去对$x$求导,也就是求$\nabla_x logP_\theta(x)$,这个式子是可求的,为什么呢?
由于
$$
Z_\theta=\int_xe^{-f_\theta(x)}dx
$$
则$Z_\theta$是与$x$无关的,求导为$0$。因为变量从$\theta$转换为$x$,所以现在的$logP_\theta(x)$就不再是似然函数了,而是概率密度。
$$
\nabla_xlogP_\theta(x)\
=-\nabla_xf_\theta(x)
$$
假设现在的score为$s_\theta(x)=-\nabla_xf_\theta(x)$,则我们不再是想让似然值最大了,而是变成了想让我们的score function接近真实的score function,即$s_\theta(x)\longrightarrow s(x)$。
则损失函数可以定义为$\frac{1}{2}||s(x)-s_\theta(x)||^2$(这里的1/2的主要作用是用于求导时候消掉平方的2),于是我们的任务就变成了
$$
\theta^*=\frac{1}{2} arg\underset{\theta}{\text min}||s(x)-s_\theta(x)||^2
$$
但是我们还有个问题,我们不知道$s(x)$如何去求。而宋飏博士的Noise Conditional Score Network实现了$s(x)$从未知到已知。
更新中…
相关视频
- 1本网站名称:MuQYY
- 2本站永久网址:www.muqyy.top
- 3本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 微信:bwj-1215 进行删除处理。
- 4本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
- 5本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
- 6本站资源大多存储在云盘,如发现链接失效,请联系我们我们会在第一时间更新。






暂无评论内容