导航:首页 > 网络安全 > 对抗生成网络是如何训练的

对抗生成网络是如何训练的

发布时间:2022-11-15 04:46:01

如何训练对抗生成网络

这个倒是不知道 不过你可以试着设置

❷ 如何理解对抗生成网络是无监督学习

生成对抗网络是一种生成模型(Generative Model),其背后最基本的思想就是从训练库里获取很多的训练样本(Training Examples),从而学习这些训练案例生成的概率分布。 一些生成模型可以给出概率分布函数定义的估测

❸ 神经网络中的对抗攻击与对抗样本

对抗攻击

对抗攻击论文参考:
《Intriguing properties of neural networks》
《神经网络有趣的特性》

《Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey》,以下简称‘Survey’。

图片做适当修改后能欺骗深度学习模型的可能性

1.举例理解:

左边是一张能够被GoogLeNet正常分类为熊猫的图片,在添加一定的噪音后变成右图,在人的肉眼看来,它还是熊猫,但GoogLeNet会判定为长臂猿。这种被修改后人类无法明显察觉,却被机器识别错误的数据即为 对抗样本 ,而这整个过程就可以理解为 对抗攻击

2.数学理解:
神经网络中每层神经元的输入 a = g(Wx+b),其中 g 为激活函数,W 为权重参数,x 为上一层的样本数据,b 为偏置参数,那么从拓扑学角度来看,在一个二维平面上,这个过程相当于哪几个步骤呢?
(1)一次使用权重参数矩阵 W 的线性变换
(2)一次使用偏执向量 b 的移动
(3)一次应用非线性激活函数 g 的变换

二维平面 ,其实是将整个平面进行了 旋转、移动和拉伸 三步。

分类问题

简单分类问题:通过较少几次变换将问题转换为一条直线可分割的空间。
既是一层神经网络就可以完成分类,通过变换空间布局,最终通过一条直线完成分类。

举例:

简单转换ing........

转换结果看下图

复杂分类问题:通过多几次的转换完成将问题转换为一条直线可分割的空间。
就是多层神经网络完成分类,通过变换空间布局,最终通过一条直线完成分类。

举例:

动态多步转换

以上是从低维度理解神经网络的训练,其中也有难以拉伸的例外,下图所示的圆套圆的情况,就是难以在二维空间将其拉伸到理想的位置的例子。

但,增加神经元,可以在 三维空间 中轻松将其分离。

看!

归纳 同样对于复杂问题可以通过,增加神经元在高维度通过更长且复杂的方式解决。

但是例如两个相互套起来的环,按照推测需要在四维空间中才能完全分开,然而我们难以想象四维空间,在现实世界的数据集中,这种死结或者缠绕问题可能会更复杂。

对于神经网络来,可以选择 将打成死结的数据尽可能拉伸开,而不是完全解开 ,如下图,对于分类问题来说,已经具有较高的准确率和召回率。

部分情况下,为了更精确地分类,较宽的神经网络可能相对深度来说更重要。

综上所述
1. 神经网络中包含语义信息的不在每个独立的神经单元,而是整个空间。 神经网络在最后一层能将样本中诸多变化的因子理清楚并理解其语义,并不是因为某个独立神经元中包含了什么特定的语义,而是 对整个空间进行变换后从最终的表征层中学到的 ,经过学习,神经网络会 放大某些相关因子,同时缩小某些无关因子

2. 神经网络学习到的输入到输出的映射在很大程度上是不连续的。 就像上面图中为了解开一个死结所做的拉伸结果一样, 在人看来,在拉伸距离较大的地方我们可以认为这种映射是连续的, 然而 对于仍然缠绕在一起的部分,之前可以用来划分界限的直线或者超平面已经无法连续
通过仔细观察可以区分出来,但是上文只是一个简单的例子,现实世界中的真实数据较为复杂,对于肉眼来说可能很难分清楚缠绕在一起的部分。对于神经网络来说, 对抗样本已经严重的跨过了用于分类的界限 ,而对于肉眼其实还 看不出来它有移动。

()线性特性的攻击行为()和()高效制造对抗样本的方法()

参考论文:
《Explaining and harnessing adversarial examples》
《对抗性例子的解读和掌握》

深度神经网络在高纬空间中的线性特性已经足以产生这种攻击行为 ,并提出了一种 更高效生成对抗样本的方法 ,接下来我们就简单分析一下这一理论和方法。

目前神经网络为了提高训练效率所使用的激活函数在局部都过于线性。
例如:

类比先前举出的拓扑学例子,在 最后的表征层 都是 通过直线或超平面完成的分类 ,在线性的假设下,暂且不通过二维或三维空间来理解,先从一个简单的数学公式角度开始。

数学解释

公式内容解释:
w 是训练好的参数向量
x 表示真实样本数据向量
η 表示给图像加入的噪音向量
x ~表示加入噪音后新生成的样本

当加入足够小的 η 时,肉眼无法区分出 x 的变化,直观感觉上左边的式子可能也不会变化很大。
事实上 ,然而 η 当的方向与 w 完全一致的时候,即使很小,也会使整个激活值变化很大。
假设证明:
如果 w 是一个 n 维向量,而其权值的平均大小为 m,那么激活值将会增加 nm。可见,在一个肉眼几乎无法差觉的扰动干扰下,对神经网络最终激活层的计算会产生巨大的干扰,从而迷惑神经网络训练出来的模型。

寻找正确方向
当 η 与 w 的方向一致时会使激活值最大,那么,如何找到这个正确的方向呢?

结论,那就是损失函数在待构造样本上的梯度方向,即下面的式子。
ε 是一个调节系数
sign() 是一个符号函数,代表的意思也很简单,就是取一个值的符号
(当值大于 0 时取 1,当值等于 0 时取 0,当值小于 0 时取 -1)
▽ 表示求 x 的梯度,可以理解为偏导,
J 是训练模型的损失函数。

结论的由来
在正常的神经网络模型训练过程中,有一个过程叫反向传播,就是对参数求偏导,然后将参数更新,我们结合下面这张图看一下。

假设图中的函数即为 损失函数 ,为了使损失函数降到最低,我们会根据当前值的梯度去调整。
当梯度小于 0 的时候我们可以看出,当前值需要右移。
而当梯度大于 0 的时候,当前值需要左移。
这个过程实际上就是用 θ 减去 θ。扩展到损失函数 J(θ, x, y) 中,θ 即为 我们要调整的参数 ,因此在样本 x 和 y 不改变的情况下,我们会**不断去调整参数 θ **以寻求局部最优解,即 θ = θ - θ 。

生成对抗样本,也可以采用类似的方法,那就是 固定参数 θ,调整 x 同时使损失函数增大 ,而不是变小,此时就应该让 x 往相反的方向走,即 x = x + x ,这样是不是很容易可以理解上面 η 的定义呢?在实践中,我们还需要通过 ε 这个参数来 调节噪音的大小 ,这种方法相比之前提到的优化方法非常高效,基本只需要一次计算就可以找到对抗样本,因此作者将这种方法叫做 快速梯度符号法 (Fast Gradient Sign Method,FGSM)。总结一下FGSM,这种方法通过替换目标值 y 就可以 让攻击样本朝着指定的分类目标走 ,即,可以做任意目标的欺骗。

将线性假设简化到二维空间,我们要求的 η 其方向正好就接近于参数 w 的方向,不再展开说明,有兴趣的读者可以自行画一画。

建立在一个高维空间线性的假设或猜测前提下,需要 实验 支撑,根据下列图片分析展开。

图片解释

这张图是对数据集CIFAR-10的分类器的决策边界示意图。
其中每个小格子代表的是不同的CIFAR-10样本,
每个小格子中:
横向从左往右代表的是FGSM算法中的梯度方向,
纵向代表的是FGSM梯度方向的正交方向,
白色表示模型能分类正确的情况
彩色代表预测出错的情况
不同的颜色代表不同的错误预测分类。
可以看出,在出错的区域都程线性分布,另外,如果横轴的方向走的不够远,即便再往其他方向走都无法使模型出错,而一单进入这个区域,就会出现大量的对抗样本。而在随机找到的对抗样本中,这种分布也是很随机的,甚至很难找到,见下图。

从实验结果表明
高维空间中的线性假设也是合理的

举例
一匹叫做 Clever Hans 的马,刚出现的时候人们认为这匹马会做算术,但实际上它只是会阅读人的表情,当它点马蹄的次数接近正确答案时,人们的表情会更兴奋,它就知道该这个时候停止了。

隐喻神经网络,一个测试效果良好的分类器,其实并不像人类一样学习到了所分类样本的真正底层概念,只不过刚好构建了一个在训练数据上运行相当良好的模型,所以,你以为你以为的就是你以为的吗?

分类器能够在训练集的不同子集上训练时获得大致相同的分类权重,因为机器学习算法能够泛化, 基础分类权重的稳定性反过来又会导致对抗性样本的稳定性。因此, 对抗攻击可以认为是存在于任何神经网络模型。

以上是论文二的线性特性的攻击行为

高效制造对抗样本的方法

目前来看还没有能够完全抵抗这种攻击的方法,其实结合攻击的原理也不难看出,即便分类器做得再好,总能使一个样本用最小的干扰走到错误的分类区域,我们能做的更多是如何构造鲁棒性更强的模型,同时也保持对这个领域的关注。‘Survey’(注意第一篇论文的引用有注释)中总结的目前抵御攻击的办法可以分为三大类:

1.修改训练样本 ———— 通过添加更多的对抗样本到训练集中可以有效避免一部分攻击 ,但这更像是一种无奈的做法, 当扩大样本集的时候,其实分类边界有可能也在随之扩大

2.修改训练网络 ,这类方法会对训练网络做出一定调整,其中有一种方式是模拟生物学 在最后一层使用更加非线性的激活函数 ,但这种方式又会 导致训练效率和效果下降 。修改训练网络的方法分为 完全抵抗 仅检测 两种方式,完全抵抗其实就是让模型能将对抗样本识别为正确的分类,而仅检测是为了发现这种攻击样本,从而拒绝服务。

3.附加网络 ,这种方式是在 不改变原有模型的情况下使用额外的网络进行辅助 ,这样可以使原有网络保持不变,其中最有效的一种方式是生成式对抗网络——GAN。同样的,这种方式也分为 完全抵抗 仅检测 两种方式。

总结一下
定义:
对抗样本:是指在数据集中通过故意添加细微的干扰所形成的输入样本,会导致模型以高置信度给出一个错误的输出。
原因分析:
对抗样本出现的主要原因之一是过度线性, 神经网络主要是基于线性块构建的,实现的整体函数被证明是高度线性的,如果一个线性函数具有许多输入,那么它的值可以非常迅速地改变。

参考:

❹ 什么是生成对抗网络

生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。

❺ LSGAN:最小二乘生成对抗网络

解决问题: 解决传统 GAN 生成图片质量不高,训练不稳定的问题。

做法: 将传统 GAN 的 交叉熵损失函数 换成 最小二乘损失函数

本篇主要通过GAN对比来学习LSGAN

通过例子介绍:

使用 位于决策边界正确侧 但仍然 远离真实数据的假样本 更新生成器时,交叉熵损失函数将导致梯度消失的问题。
如图 (b)所示,当我们使用 假样本 (品红色)通过使鉴别器相信它们来自真实数据来更新生成器时,它 几乎不会引起错误 ,因为它们在正确的一侧,既决策边界的真实数据面。
然而,这些样本 仍然离真实数据很远 ,我们想把它们拉得接近真实数据。

问题总结:在交叉熵损失函数情况下,判别器判定真实面的假数据距离真实数据较远,效果不足。

基于这一观察,我们提出了最小二乘生成对抗网络,它采用 最小二乘损失函数作为鉴别器
最小二乘损失函数能够 将伪样本移向决策边界
因为最小二乘损失函数会 惩罚位于决策边界正确一侧很远的样本
如图 (c)所示,最小二乘损失函数将惩罚假样本(品红色),并 将它们拉向决策边界 ,使它们被正确分类。

基于这一特性,最小二乘能够生成更接近真实数据的样本

总结概括
最小二乘: 最小二乘损失与交叉熵损失相比,优势在于生成样本在欺骗判别器的前提下同时让生成器把 距离决策边界比较远 的生成图片拉向 决策边界 ,这样保证了生成高质量的样本。

交叉熵: 以交叉熵作为损失,会使得生成器 不会再优化那些被判别器识别为真实图片的生成图片 ,即使这些生成图片距离判别器的决策边界仍然很远,也就是距离真实数据比较远,因为此时的交叉熵损失已经很小,生成器完成了为它设计的目标。

LSGAN的缺陷: 在于它并 没有解决当判别器足够优秀时生成器发生梯度弥散的问题

梯度弥散: 使用反向传播算法传播梯度的时候,随着传播深度的增加, 梯度的幅度会急剧减小,会导致浅层神经元的权重更新非常缓慢 ,不能有效学习。
这样一来,深层模型也就变成了前几层相对固定,只能改变最后几层的浅层模型。

GANs 的损失函数:

LSGANs的损失函数:
最小二乘

公式注释:
鉴别器 D
生成器 G
G 的目标是学习数据 x 上的分布 pg。
G 服从均匀或高斯分布 pz(z)对输入变量 z 进行采样开始,然后将输入变量 z 映射到数据空间 G(z; θg)。
D 是分类器 D(x; θd),其目的是识别图像是来自训练数据还是来自g。
z 为噪音,它可以服从归一化或者高斯分布,为真实数据 x 服从的概率分布,为 z 服从的概率分布。为期望值,同为期望值。

假设我们对鉴别器使用 a-b 编码方案 ,其中a 和b 分别是假数据和真实数据的标签。

c 表示 G 预测的D 相信的假数据的值。

最小二乘法的具体优点:
1.决策边界固定(鉴别器参数固定),生成样本靠近决策边界,更接近真实数据。
2.惩罚远离决策边界的样本时,可以在更新生成器时生成更多的梯度,这反过来缓解了梯度消失的问题(梯度消失:前面隐藏层的学习速率低于后面隐藏层的学习速率,即随着隐藏层数目的增加,分类准确率反而下降)

GAN中:最小化等式 1 产生最小化詹森-香农散度:

LSGAN:探讨LSGAN与f散度的关系

公式解释:(下文关于a-b编码证明a,b,c条件)

加入到

并不会改变最佳值,因为并没有引入含有G的参数

从而我们可以推出G固定情况下的最佳鉴别器:

使用 pd 来表示 pdata,来重新表示4式

此处不详细证明
化简为:

如果: b-c = 1, b-a = 2,则

是皮尔逊散度,总之可证,当 a,b,c满足b-c = 1 和 b-a = 2的条件,则最小化等式 4 会使 pd + pg 和 2pg 之间的皮尔逊 χ2 散度最小化。

采用 a-b编码方案:

由上述证明可设a = 1, b = 1, c = 0

采用 0-1二进制编码方案

两式接近,但此处,论文作者采用a-b编码方式,来实现实验:

带上其中一个实验:

参考论文:Mao X D, Li Q, Xie H R, et al. Least squares generative
adversarial networks[C]//Proceedings of the 2017 IEEE
International Conference on Computer Vision, Venice, Oct
22- 29, 2017. Washington: IEEE Computer Society, 2017:
2813-2821.

❻ 生成式对抗网络GAN(一)

上面这张图很好的很好的阐述了生成式对抗网络的结构~~ 博弈论

此图给出了生成性对抗网络的概述。目前最重要的是要理解GAN是使两个网络协同工作的一种方式 - 而Generator和Discriminator都有自己的架构。为了更好地理解这个想法的来源,我们需要回忆一些基本的代数并问自己 - 我们怎么能欺骗一个比大多数人更好地分类图像的神经网络?

在我们详细描述GAN之前,让我们看一下类似的主题。给定一个训练有素的分类器,我们可以生成一个欺骗网络的样本吗?如果我们这样做,它会是什么样子?

事实证明,我们可以。

甚至更多 - 对于几乎任何给定的图像分类器,可以将图像变换为另一个图像,这将被高度置信地错误分类,同时在视觉上与原始图像无法区分!这种过程称为对抗性攻击,生成方法的简单性解释了很多关于GAN的内容。
精心计算的示例中的对抗性示例,其目的是错误分类。以下是此过程的说明。左边的熊猫与右边的熊猫无法区分 - 但它被归类为长臂猿。

图像分类器本质上是高维空间中的复杂决策边界。当然,在对图像进行分类时,我们无法绘制这个边界。但我们可以安全地假设,当训练结束时,网络并不是针对所有图像进行推广的 - 仅针对我们在训练集中的那些图像。这种概括可能不是现实生活的良好近似。换句话说,它适用于我们的数据 - 我们将利用它。

让我们开始为图像添加随机噪声并使其非常接近零。我们可以通过控制噪声的L2范数来实现这一点。数学符号不应该让您担心 - 出于所有实际目的,您可以将L2范数视为向量的长度。这里的诀窍是你在图像中拥有的像素越多 - 它的平均L2范数就越大。因此,如果噪声的范数足够低,您可以预期它在视觉上难以察觉,而损坏的图像将远离矢量空间中的原始图像。

为什么?

好吧,如果HxW图像是矢量,那么我们添加到它的HxW噪声也是矢量。原始图像具有相当密集的各种颜色 - 这增加了L2规范。另一方面,噪声是一组视觉上混乱的相当苍白的像素 - 一个小范数的矢量。最后,我们将它们添加到一起,为损坏的图像获取新的矢量,这与原始图像相对接近 - 但却错误分类!

现在,如果原始类 Dog 的决策边界不是那么远(就L2范数而言),这种加性噪声将新图像置于决策边界之外。

您不需要成为世界级拓扑学家来理解某些类别的流形或决策边界。由于每个图像只是高维空间中的矢量,因此在其上训练的分类器将“所有猴子”定义为“由隐藏参数描述的该高维斑点中的所有图像矢量”。我们将该blob称为该类的决策边界。

好的,所以,你说我们可以通过添加随机噪声轻松欺骗网络。它与生成新图像有什么关系?

现在我们假设有两个结构模型,相当于两个神经网络:

这是关于判别网络D和生成网络G的价值函数(Value Function),训练网络D使得最大概率地分对训练样本的标签(最大化log D(x)),训练网络G最小化log(1 – D(G(z))),即最大化D的损失。训练过程中固定一方,更新另一个网络的参数,交替迭代,使得对方的错误最大化,最终,G 能估测出样本数据的分布。生成模型G隐式地定义了一个概率分布Pg,我们希望Pg 收敛到数据真实分布Pdata。论文证明了这个极小化极大博弈当且仅当Pg = Pdata时存在最优解,即达到纳什均衡,此时生成模型G恢复了训练数据的分布,判别模型D的准确率等于50%。

接着上面最后一个问题:怎么才能生成我指定的图像呢?

指定标签去训练

顾名思义就是把标签也带进公式,得到有条件的公式:

具体怎么让CGAN更好的优化,这里不解释,就是平常的优化网络了。

参考文章:

本文大部分翻译此外文

通俗易懂

小博客的总结

唐宇迪大神

❼ 生成对抗网络GAN的Loss

GAN同时要训练一个生成网络(Generator)和一个判别网络(Discriminator),前者输入一个noise变量 ,输出一个伪图片数据 ,后者输入一个图片(real image)以及伪图片(fake image)数据 ,输出一个表示该输入是自然图片或者伪造图片的二分类置信度 ,理想情况下,判别器D需要尽可能准确的判断输入数据到底是一个真实的图片还是某种伪造的图片,而生成器G又需要尽最大可能去欺骗D,让D把自己产生的伪造图片全部判断成真实的图片。

根据上述训练过程的描述,可以定义一个损失函数:

其中 , 分别是真实的图片数据以及noise变量。
而优化目标则是:

参考资料

❽ GAN生成对抗网络(一)

GAN(Generative Adversarial Networks)是两个网络的的组合, 一个网络生成模拟数据, 另一个网络判断生成的数据是真实的还是模拟的。生成模拟数据的网络要不断优化自己让判别的网络判断不出来, 判别的网络也要优化自己让自己判断得更准确。 二者关系形成对抗博弈,因此叫 对抗神经网络 (生成对抗网络)。实验证明, 利用这种网络间的对抗关系所形成的网络, 在无监督及半监督领域取得了很好的效果, 可以算是用网络来监督网络的一个自学习过程。在GAN发明之前,变分自编码器被认为是理论完美、实现简单,使用神经网络训练起来很稳定, 生成的图片逼近度也较高, 但是人类还是可以很轻易地分辨出真实图片与机器生成的图片。

生成对抗网络包含了 2 个子网络: 生成网络(Generator, G)和判别网络(Discriminator,D), 其中生成网络负责学习样本的真实分布,判别网络负责将生成网络采样的样本与真实样本区分开来。

生成网络 G(𝐳) 生成网络 G 和自编码器的 Decoder 功能类似, 从先验分布 中采样隐藏变量 ,通过生成网络 G 参数化的 分布, 获得生成样本 ,如下图所示。 其中隐藏变量𝒛的先验分布 可以假设属于某中已知的分布,比如多元均匀分布 。

可以用深度神经网络来参数化, 如下图所示, 从均匀分布 中采样出隐藏变量𝒛, 经过多层转置卷积层网络参数化的 分布中采样出样本 。

判别网络 D(𝒙) 判别网络和普通的二分类网络功能类似,它接受输入样本𝒙,包含了采样自真实数据分布 的样本 ,也包含了采样自生成网络的假样本 , 和 共同组成了判别网络的训练数据集。判别网络输出为𝒙属于真实样本的概率 ,我们把所有真实样本 的标签标注为1,所有生成网络产生的样本 标注为0, 通过最小化判别网络预测值与标签之间的误差来优化判别网络参数。

我们的目标很明确, 既要不断提升判断器辨别真假图像样本的能力, 又要不断提升生成器生成更加逼真的图像,使判别器越来越难判别。
对于判别网络 D ,它的目标是能够很好地分辨出真样本 与假样本 。即最小化图片的预测值和真实值之间的交叉熵损失函数:

其中 代表真实样本 在判别网络 的输出, 为判别网络的参数集, 为生成样本 在判别网络的输出, 为 的标签,由于真实样本标注为真,故 , 为生成样本的 的标签,由于生成样本标注为假,故 。 根据二分类问题的交叉熵损失函数定义:

因此判别网络的优化目标是:

去掉 中的负号,把 问题转换为 问题,并写为期望形式:

对于生成网络G(𝒛) ,我们希望 能够很好地骗过判别网络 , 假样本 在判别网络的输出越接近真实的标签越好。也就是说,在训练生成网络时, 希望判别网络的输出 越逼近 1 越好,此时的交叉熵损失函数:

把 问题转换为 问题,并写为期望形式:

再等价转化为:

GAN的优化过程不像通常的求损失函数的最小值, 而是保持生成与判别两股力量的动态平衡。 因此, 其训练过程要比一般神经网络难很多。

把判别网络的目标和生成网络的目标合并,写成min-max形式:

原GAN论文中:

这里为了好理解,把各个符号梳理的更清晰了,注意符号和网络参数的对应。
理想情况下 , 会有更精确的鉴别真伪数据的能力,经过大量次数的迭代训练会使 尽可能模拟出以假乱真的样本, 最终整个GAN会达到所谓的纳什均衡, 即 对于生成样本和真实样本鉴别结果为正确率和错误率各占50%。下面具体从理论层面来推导。

现在从理论层面进行分析, 通过博弈学习的训练方式,生成器 G 和判别器 D 分别会达到什么状态。 具体地,来看以下 2 个问题:

首先我们通过 一维正态分布的例子给出一个直观的解释,如下图所示,黑色虚线曲线代表了真实数据的分布 , 为某正态分布 , 绿色实线代表了生成网络学习到的分布 , 蓝色虚线代表了判别器的决策边界曲线, 图中(a)(b)(c)(d)分别代表了生成网络的学习轨迹。在初始状态,如图 (a)所示, 分布与 差异较大,判别器可以很轻松地学习到决策边界,即图(a)中的蓝色虚线,将来自 的采样点判定为 0, 中的采样点判定为 1。 随着生成网络的分布 越来越逼近真实分布 ,判别器越来越困难将真假样本区分开,如图 (b)(c)所示。 最后,生成网络性能达到最佳,学习到的分布 ,此时从生成网络中采样的样本非常逼真, 判别器无法区分,即判定为真假样本的概率均等,如图(d)所示。

固定生成器G的参数 ,判别器D最佳能达到的状态:

证明: 对于给定的生成器G,要让判别器D达到最优,我们的目标是最大化损失函数,其积分形式为:

对于给定的 ,真实分布始终是固定的,所以 和 都是定值,于是对于判别器D,要找出

的最大值,其中 是判别器网络参数,对于函数 ,不难得到 在 处取得极大值且是最大值。因此可得 的极值点也为

故判别器 能达到的最佳状态为定理中给出的式子。

现在考虑第二个问题。
JS 散度(Jensen–Shannon divergence)

对于KL散度, ,是不对称的。但JS散度是对称的。

当 达到 时,考虑此时 和 的 散度:

考虑到判别网络到达 时,此时的损失函数为:

于是我们可以得到:

对于生成网络 而言,目标是最小化损失函数,由于 ,因此 取得最小值仅在 时(此时 ), 取得最小值:

此时生成网络达到 状态是:

即 的学到的分布 与真实分布 一致,网络达到纳什均衡点,此时:

即对于生成器生成的图像有0.5的概率被判定为真,也有0.5的概率被判定为假。

❾ BEGAN边界平衡生成对抗网络

解决问题: GAN训练模型较为困难

做法: BEGAN并没有直接去估计生成分布 pg 和真实分布 px 的距离,而是估计两者分布误差的距离。

分布之间的误差分布相近的话,也可以认为 pg 和 px 是相近的。

BEGAN 将判别器 G 设计成自编码器用来重构分布误差,并优化分
布误差之间的距离,如下式:

BEGAN 提出一种均衡概念,用以平衡 G 和 D 的训练,使 GAN 即使使用很简单的网络,不加如 BN、minibath 等训练技巧也能得到很好的训练效果。
同时还提出了一种能够在样本多样性和样本质量上均衡的超参数以及衡量模型收敛性的方法。
实验中发现 BEGAN 收敛很快,并且 G 和 D 训练平衡,但超参数的选取比较考验经验。

1.使得GAN具有快速而稳定的收敛的标准训练过程。
2.引入均衡概念,均衡鉴别器和发生器的功率。
3.提供控制图像多样性和视觉质量之间权衡的新方法
4.收敛的近似度量

使用自动编码器作为鉴别器,使用从瓦瑟斯坦距离(类似于我先前提到的KL散度,具有正定性,对称性,三角不等式特性)导出的损失来匹配自动编码器损失分布。

L:R^Nx->R+训练像素式自动编码器的 1.损失函数:
BEGAN中提出了一种思路,它使用了自动编码器做为判别器 D,它所做的是尽可能地匹配误差的分布而不是直接匹配样本的分布,如果误差的分布之间足够的接近,那么真实的样本之间的分布也会足够的接近。

D:自动编码器功能
n:是目标标准
v:是Nx维度的样例

u1,2是自动编码器损失函数的两个分布
Γ(u1,u2)是1和2的所有组合的集合
m1,2∈R是他们各自的平均值
瓦瑟斯坦距离为:

其中x1和x2是从

利用詹森不等式,可以导出W1(u1,u2)的下界:

目标是优化自动编码器损失分布之间的瓦瑟斯坦距离的下限,而不是样本分布之间的下限。

设计鉴频器,使自动编码器损耗之间的等式1最大化。
设u1为损失L(x)的分布,其中x为实样本。
设u2为损失L(G(z))的分布
其中G : RNz →RNx为生成函数
z∈[-1,1]Nz为维数Nz的均匀随机样本

由于m1,m2 ∈R+到达最大化| m1-m2 |只有两种可能的解决方案:

选择解决方案(b)作为我们的目标,因为最小化m1自然会导致对真实图像的自动编码。
给定鉴别器和发生器参数θD和θG
每个参数都通过最小化损耗LD和LG来更新
将问题表示为GAN目标,其中zD和zG是z的样本:

在BEGAN中G和D对应的损失函数:

2.引入平衡:

当产生器和鉴别器损失之间保持平衡,满足情况:

生成的样本不能被鉴别器从真实样本中区分出来,那么它们的 误差分布包括预期误差应该是相同的 ,使得其均衡。

γ引入来平衡D既可以对真实图像自动编码,又可以正确的判别输入的样本。γ很小时,说明分母部分值很大,那么此时模型专注于识别的正确率,则出现G只生成可以骗过D的图像

鉴别器有两个相互竞争的目标:
1.自动编码真实图像和从生成的图像中鉴别真实图像。
2.γ项让我们平衡这两个目标。
较低的γ值导致较低的图像多样性 ,因为鉴别器更侧重于自动编码真实图像。
将γ称为分集比。有一个自然的边界,图像清晰,有细节。

对于θD和θG和每一训练步t,来说的目标
γ∈[0,1]是一个超参数,值越小代表生成的样本多样性越低
λk是 kt + 1 的更新步长,kt表示对D判别能力的重视度

采用比例控制理论来维持平衡

这是使用一个变量kt ∈[0,1]来实现的,以控制在梯度下降过程中对L(G(zD))的重视程度。
我们初始化k0 = 0.λk是k的比例增益;
在机器学习术语中,它是k的学习率。
我们在实验中使用了0.001。
本质上,这可以被认为是闭环反馈控制的一种形式,其中kt在每一步被调整以保持等式4。
在早期训练阶段,G倾向于为自动编码器生成易于重建的数据,因为生成的数据接近于0,并且还没有准确地了解真实的数据分布。
这时L(X)>L(G(z))
与需要交替训练 D 和 G 或预训练 D 的传统训练相比,BEGAN提出的方法开始不需要稳定训练。
Adam在训练中使用默认的超参数
θD 和 θG 基于各自的损失通过独立的Adam优化器独立更新。
我们通常使用 n = 16 的批量。
3.全局收敛度量:

确定 GANs 的收敛性通常是一项困难的任务,因为最初的公式被定义为零和博弈。
结果,一个亏损上升,另一个亏损下降。

我们通过使用 平衡概念 导出了 收敛的全局度量 :我们可以将收敛过程框架为找到比例控制算法(控制装置输出信号与输人信号间呈线性关系的控制作用数学表示法)|γL(x)-L(G(Zg))|的 瞬时过程误差绝对值最小的最近重构L(x) 。这一衡量标准由两项和:

该度量可用于确定网络何时达到其 最终状态 模型是否已崩溃 也即是模型是否收敛。

4.模型架构
鉴别器: R Nx->R Nx是一个卷积深度神经网络,其架构为自动编码器。
Nx = H × W × C 是x 尺寸的简写
其中 H、 W、 C 是高度、宽度和颜色。

我们使用自动编码器和深度编码器和解码器。目的是尽可能简单,以避免典型的GAN诡计。
结构如图 1 所示。我们使用了 3 × 3 的卷积,在它们的输出端应用了指数线性单位。
每层重复多次(通常为 2 次)。我们观察到,重复次数越多,视觉效果越好。
卷积滤波器随着每次下采样线性增加。
下采样作为步长为 2 的子采样实现,上采样由最近邻完成。
在编码器和解码器之间的边界处,经过处理的数据的张量通过完全连接的层被映射到嵌入状态 h ∈RNh 和从嵌入状态 h∈ RNh 来,其中 Nh 是自动编码器的隐藏状态的维度,而没有任何非线性。

生成器 G : RNz → RNx 使用与鉴别器解码器相同的架构(虽然权重不同)。
但为了简化。输入状态为均匀采样的 z∈ [-1, 1]Nz。
这个简单的架构实现了高质量的结果,并展示了技术的健壮性。
此外,可选的细化有助于梯度传播,并产生更清晰的图像。受深度残差网络[8]的启发,使用消失残差初始化网络:对于连续的相同大小的层,层的输入与其输出相结合:inx+1 =carry×inx+(1 carry)×outx。
在实验中,我们从进位= 1 开始,经过 16000 步
逐渐减少到 0。
我们还引入了跳跃连接[8, 17, 9]来帮助梯度传播。第一解码器张量 h0 是通过将 h 投影到 8 × 8 × n 张量而获得的。在每个上采样步骤之后,输出与上采样到相同维数的 h0 连接。
这在隐藏状态和解码器的每个连续上采样层之间创建了跳跃连接。
我们没有探索 GANs 中通常使用的其他技术,如批量归一化、缺失、转置卷积或卷积滤波器的指数增长,尽管它们可能会进一步改进这些结果

5.通过实验来理解

变 γ 的值时,模型生成结果的多样性和质量对比效果如下所示,从中可以看出
γ值越小,生成的图像越清晰,也更接近;
γ值越大,多样性提高了,但是图像的质量同样也下降了

BEGAN的空间连续性与其他GAN相比表现更优异:

伴随着模型收敛,图像质量也在不断提升

总之:BEGAN针对 GAN 训练难易度难、控制生成样本多样性难、平衡鉴别器和生成器收敛难等问题,做出了很大的改善。

参考论文:Berthelot D, Schumm T, Metz L. BEGAN: boundary equilibrium generative adversarial networks[J]. arXiv:1703.10717,
2017

阅读全文

与对抗生成网络是如何训练的相关的资料

热点内容
如何把自家网络不让别人连 浏览:494
网线网络插座怎么安装 浏览:114
网络数据异常图标 浏览:860
网络空间不是什么 浏览:174
杯子网络营销策划案 浏览:733
怀宁5g网络设置 浏览:724
大三计算机网络期末考a卷 浏览:145
网络怎么聊天不尴尬 浏览:354
网络用词直接返祖是什么意思 浏览:946
网络营销专业术语 浏览:617
企业收到网络广告费如何记账 浏览:834
医疗行业威胁网络营销案例 浏览:203
华为荣耀3x网络设置 浏览:316
电脑网卡手机可以共享网络 浏览:347
网络加密了忘记密码怎么办 浏览:539
华淡网络在哪个位置 浏览:476
如何才能让网络机顶盒看电视 浏览:690
已连接网络质量一般怎样解决 浏览:971
飞猫移动wifi怎么切换网络 浏览:277
打卡机无法连接无线网络 浏览:86

友情链接