GAN不稳定原因

生成对抗神经网络由两部分组成:生成器和判别器。判别器尽可能使D(G(Z))接近0,而生成器尽可能生成同分布高质量的样本使D(G(Z))接近1。当生成器和判别器的性能训练得足够好时,达到纳什均衡(生成器生成的G(Z)与训练数据有相同的分布,对于判别器的每个输入x, D(x)=0.5)
生成器生成样本G(z)的损失函数取决于判别器的反馈。判别器判定样本为真的概率越高,生成器的损失函数越低。当样本趋向于为假,minimax 博弈和最大似然博弈的损失函数的梯度很小。对于最大似然GAN,每个miniBatch中只有少量的样本可以计算梯度。
生成对抗神经网络训练不稳定有如下三点原因:
(1)很难使一对模型(G和D同时)收敛,这也会造成以下第(2)点提到的模式崩溃。大多深度模型的训练都使用优化算法寻找损失函数比较低的值。优化算法通常是个可靠的“下山”过程。生成对抗神经网络要求双方在博弈的过程中达到势均力敌(均衡)。每个模型在更新的过程中(比如生成器)成功的“下山”,但同样的更新可能会造成博弈的另一个模型(比如判别器)“上山”。甚至有时候博弈双方虽然最终达到了均衡,但双方在不断的抵消对方的进步并没有使双方同时达到一个有用的地方。对所有模型同时梯度下降使得某些模型收敛但不是所有模型都达到收敛最优。
(2)生成器G发生模式崩溃:对于不同的输入生成相似的样本,最坏的情况仅生成一个单独的样本,判别器的学习会拒绝这些相似甚至相同的单一样本。在实际应用中,完全的模式崩溃很少,局部的模式崩溃很常见。局部模式崩溃是指生成器使不同的图片包含相同的颜色或者纹理主题,或者不同的图片包含同一只狗的不同部分。MinBatch GAN缓解了模式崩溃的问题但同时也引发了counting, perspective和全局结构等问题,这些问题通过设计更好的模型框架有可能解决。
(3)生成器梯度消失问题:当判别器非常准确时,判别器的损失很快收敛到0,从而无法提供可靠的路径使生成器的梯度继续更新,造成生成器梯度消失。GAN的训练因为一开始随机噪声分布,与真实数据分布相差距离太远,两个分布之间几乎没有任何重叠的部分,这时候判别器能够很快的学习把真实数据和生成的假数据区分开来达到判别器的最优,造成生成器的梯度无法继续更新甚至梯度消失。

猜你喜欢

转载自blog.csdn.net/weixin_43698821/article/details/85003226