生成对抗网络¶
生成对抗网络即为GAN,是一个生成模型,目标是把一个随机噪声映射到对应的解空间中,然后在这个空间中采样得到我们想要的样本.
论文地址¶
GAN的重要论文主要有几篇,分别是提出GAN的论文以及改进GAN的论文.
同时GAN在分子生成领域也有着一定的应用,这里给出第一个分子生成模型的论文:MolGAN
| 文章 | 网址 |
|---|---|
| GAN的原始论文 | 链接 |
| WGAN | 链接1,链接2 |
| MolGAN | 链接 |
损失函数¶
原始的损失函数就是二元交叉熵,即:
\[ \min_{G}\max_{D}V(D,G)=\mathbb{E}_{x\sim p_{data}(x)}[\log D(x)]+\mathbb{E}_{z\sim p_{z}(z)}[\log (1-D(G(z)))] \]
然而使用这个损失函数会出现梯度消失,训练不稳定等等一系列恶劣的问题,所以使用了改进的损失函数Wasserstein distance,W-distance是一个数学上的概念,它可以衡量两个分布的距离,而WGAN使用了这个概念来衡量生成器和判别器的距离.
其原始形式是:
\[ W(P_r,P_g)=\inf_{\gamma \in \Pi(P_r,P_g)} \mathbb{E}_{(x,y)\sim \gamma}[\|x-y\|] \]
然而这个不好计算,其有对偶形式:
\[ W(P_r,P_g)=\sup_{f\in \mathcal{F}} \mathbb{E}_{x\sim P_r}[f(x)]-\mathbb{E}_{x\sim P_g}[f(x)] \]
只需要找到一个满足约束的函数,使得经过这个函数作用的两个分布的均值的差值最大,我们用神经网络来拟合这个过程,这就是判别器.