生成对抗网络(GAN):原理、实现与应用
1. GAN训练流程
GAN的训练过程包含判别器(Discriminator)和生成器(Generator)的交替更新,一次完整的训练周期(epoch)流程如下:
1. 更新判别器参数 :使用随机梯度下降更新判别器 $D$ 的参数 $\theta_D$,公式为:
[
\theta_D \leftarrow \theta_D + \nabla_{\theta_D} \left[ \frac{1}{m} \sum_{i=1}^{m} \log D(x^{(i)}) + \frac{1}{m} \sum_{i=1}^{m} \log(1 - D(G(z^{(i)}))) \right]
]
其中,$x^{(i)}$ 是真实样本,$z^{(i)}$ 是从噪声分布中采样的样本,$G(z^{(i)})$ 是生成器生成的样本。
2. 更新生成器参数 :进行 $k_G$ 步的生成器更新,具体步骤如下:
- 从噪声分布 $P(z)$ 中抽取 $m$ 个样本 ${z^{(1)}, z^{(2)}, \cdots, z^{(m)}}$。
- 使用随机梯度下降更新生成器 $G$ 的参数 $\theta_G$,公式为:
[
\theta_G \leftarrow \theta_G + \nabla_{\theta_G} \left[ \frac{1}{m} \sum_{i=1}^{m} \log D(G(z^{(i)})) \right]
]
下面是这个流程的mermaid流程图:
超级会员免费看
订阅专栏 解锁全文
3289

被折叠的 条评论
为什么被折叠?



