Skip to content

GAN subtract

dupf edited this page Mar 26, 2017 · 2 revisions
GAN 的核心思想来源于博弈论的纳什均衡. 它 设定参与游戏双方分别为一个生成器 (Generator)和一个判别器 (Discriminator), 生成器的目的是尽 量去学习真实的数据分布, 而判别器的目的是尽量 正确判别输入数据是来自真实数据还是来自生成器;为了取得游戏胜利, 这两个游戏参与者需要不断优 化, 各自提高自己的生成能力和判别能力, 这个学习 优化过程就是寻找二者之间的一个纳什均衡. GAN的计算流程与结构如图 2 所示. 任意可微分的函 数都可以用来表示 GAN 的生成器和判别器, 由此,我们用可微分函数 D 和 G 来分别表示判别器和生 成器, 它们的输入分别为真实数据 x 和随机变量 z.G(z) 则为由 G 生成的尽量服从真实数据分布 pdata的样本. 如果判别器的输入来自真实数据, 标注为 1.如果输入样本为 G(z), 标注为 0. 这里 D 的目标是 实现对数据来源的二分类判别: 真 (来源于真实数据x 的分布) 或者伪 (来源于生成器的伪数据 G(z)),而 G 的目标是使自己生成的伪数据 G(z) 在 D 上 的表现D(G(z))和真实数据x在D上的表现D(x)一致, 这两个相互对抗并迭代优化的过程使得 D 和 G 的性能不断提升, 当最终 D 的判别能力提升到一 定程度, 并且无法正确判别数据来源时, 可以认为这 个生成器 G 已经学到了真实数据的分布.

GAN

另一方面, D(x) 代表的是 x 来源于真实数据 而非生成数据的概率. 当输入数据采样自真实数据x 时, D 的目标是使得输出概率值 D(x) 趋近于 1, 而当输入来自生成数据 G(z) 时, D 的目标是正确 判断数据来源, 使得 D(G(z)) 趋近于 0, 同时 G 的 目标是使得其趋近于 1. 这实际上就是一个关于G 和 D 的零和游戏, 那么生成器 G 的损失函数为ObjG(θG) = −ObjD(θD, θG). 所以 GAN 的优化问 题是一个极小—极大化问题, GAN 的目标函数可 以描述如下:

总之, 对于 GAN 的学习过程, 我们需要训练模 型 D 来最大化判别数据来源于真实数据或者伪数 据分布 G(z) 的准确率, 同时, 我们需要训练模型 G来最小化 log(1 − D(G(z))). 这里可以采用交替优 化的方法: 先固定生成器 G, 优化判别器 D, 使得D 的判别准确率最大化; 然后固定判别器 D, 优化 生成器 G, 使得 D 的判别准确率最小化. 当且仅当pdata = pg 时达到全局最优解. 训练 GAN 时, 同一 轮参数更新中, 一般对 D 的参数更新 k 次再对 G的参数更新 1 次。

Generating Adversarial Malware Examples for Black-Box Attacks Based on GAN GAN USE IN INFORMATION SAFE

Clone this wiki locally