背景
Generative Adversarial Nets是GAN的开山之作,介绍了GAN的基本思想,有理论分析有实践效果。
论文
摘要
我们提出了一个通过对抗过程估计生成模型的新框架,其中我们同时训练了两个模型:一个捕获数据分布的生成模型G和一个估计来自训练数据而非G的样本概率的判别模型D。G的训练程序是使D出错的概率最大化。这个框架对应于一个minimax两人博弈。在任意函数G和D的空间中,存在一个唯一解,G恢复训练数据分布,D在G生成的训练数据集空间中处处预测真实数据的概率等于1/2。在G和D由多层感知器定义的情况下,整个系统可以用反向传播进行训练。在训练和生成样本的过程中,不需要任何马尔可夫链或展开的近似推理网络。通过对生成的样本进行定性和定量的评价,验证了该框架的潜力。
3对抗式网络
minimax 双人博弈价值公式:
训练内循环优化D是计算禁止的,在有限数据集上会导致过拟合;
k step优化D后优化1 step G,交替进行;
这样导致D接近最优解,G变化足够慢,相似于SML PCD算法;
实践中发现价值函数可能提供不了足够的梯度给G来学习,训练开始时D可以高置信度拒绝样本,log(1-D)趋于log1=0饱和,因此修改为最大化logD(G),可以解决早期梯度不够的问题。
dashed line虚线
solid line实线
dotted line点线
随着训练过程进行,z到x的映射逐步逼近x的真实分布,最终理想情况=
p
d
a
t
a
p_{data}
pdata,此时D判别为1/2。
算法解读:
minibatch的随机梯度下降训练算法流程如下,k步训练D模型 1步训练G模型,取最昂贵的训练选项k=1. 在大循环中先训练k步D,然后训练一次G。
还展示了给定完整定义域内通过线性插值(采样)获取的噪声Z集合对应的生成的图像。
注意警惕“the Helvetica scenario”多样性缺失问题,G绝对不能在D未更新的情况下多次更新,否则容易让G偷懒生成同一个x样本。
应用
使用GAN生成正常信号,用来扩充数据集,其实没必要,因为随机性难以控制,难以达到预期效果,所以不如直接循环遍历超参数生成一系列稳定、可控的正常信号或带异常点的信号