当前位置: 首页 > 网络应用技术

10,000个字符的详细说明是什么是生成对抗网络gan

时间:2023-03-07 16:27:21 网络应用技术

  伊恩·古德福(Ian Goodfellow)以其生成对抗网络的提议(GAN,Generation Eversrial Networks)而闻名。甘最初是由伊恩·古德弗洛(Ian Goodfellow)在2014年提出的。凭借其出色的表现,它很快成为不到两年的主要研究热点。人工智能。

  gan原始:https://arxiv.org/abs/1406.2661

  实验操作的结果如下图所示,并生成相应的图像。

  也许您对这个名字仍然有些奇怪,但是如果您了解深度学习,您会认识他。最畅销的“深度学习”作者是Ian Goodfellow的家伙。

  2016年,Ian Goodfellow黑帮通过50多页的论文详细介绍了Gan。本文还建议所有人学习。

  https://arxiv.org/pdf/1701.00160.pdf

  Yann Lecun声称GAN“过去十年中机器学习行业中最有趣的想法”。下图中显示了GAN在Github上的热度,并增加了索引,并且发生了各种变形。当然,还有更多的水。文章,建议每个人都尽可能多地学习更多的经典模型。

  https://github.com/hindupuravinash/the-n-zoo

  首先,什么是甘?

  可以为这三个词进行分割和理解gan(ganativeadverilial网络,对抗生成网络)。

  生成:生成模型

  对抗性:采用对抗策略

  网络:网络(不一定是深度学习)

  就像Shunliz领导人的摘要一样:

  gan是一种生成模型。从字面意义的含义中,它将涉及两个“对手”,这并不困难。关于Goodfellow的Gan教程文章最初将它们带到了发电机和歧视者。人们总是想创造一个带有虚假混乱的真实钞票,而这些钞票,而却是警方试图使用更先进的技术来识别真实性。两者在游戏期间继续升级其技术。

  从游戏理论的角度来看,如果是零和游戏,两者最终将达到纳什均衡,也就是说,有一组策略(g,d)。发电机损失更糟。同样,还建立了生成器以将发生器替换为鉴别器。

  如果GANS定义的损失功能符合零游戏游戏并具有足够的样本,则双方都具有足够的学习能力。在这种情况下,发电机和歧视者的最佳策略是纳什均衡点,也就是说,发电机生成的生成器是“真正的钞票”(材料,工艺和真正的钞票,但没有授权),歧视者将在任何钞票上判断任何钞票1/2的概率是真正的钞票。

  那么,甘能做什么?

  如下图所示,这是一个非常有趣的图片。最左边是真实的图片。我们希望在视频后预测几帧的外观。中间图片是由MSE.MADE.MADE.MADE制成的。通过细节,我们可以看到中间图片的耳朵和眼睛都模糊了,并且产生的GAN的效果显然更好。

  然后,我们正在观看一个过度分辨率的实例。首先,给出了超分辨率图像。最左边的图像是原始的高分辨率图像(原始图像),然后采样以获得低分辨率图像。然后,特定工作如下:

  比科比奇:第二张图片是通过双考孔方法恢复的图像。压缩和拉伸图像后,它是通过插值来实现的,但其图像会变得模糊。

  SRRESNET:第三张图像是SRRESNET实现的恢复。例如,首先压缩图像,然后使用MSE和神经网络学习和真实值之间的差异,然后恢复。

  Srgan:第四张图片是通过Srgan实施的,其恢复效果更好。Srgan对GAN进行了改进。它可以理解,有多个正确的答案,而不是在许多答案中给出最佳输出。

  我们注意图像的头部雕刻的细节,并发现GAN恢复的轮廓更清晰。实验显示了使用来自多模式分布的训练有素的生成模型来生成真实样品的优势。

  在这里,我们在科学-srcnn.it上也很受欢迎,它是在论文“学习图像超级分辨率的深度卷积网络”中首次提出的,本文的四位作者是dong chao,Chen Change Loy,他Kaiming,Tang Xiaoyou,也是适当的神。从简历的角度来看,本文真的很棒。

  现在假设一个问题是要解决:它是否可以解决过度绘制,并从低分辨率图像恢复到高分辨率图像,因此如何做到?他们通过添加两个卷积网络解决了一个实用问题,这是文章发布了会议。

  https://link.springer.com/chapter/10.1007/978-3-319-10593-2_13

  有关更详细的介绍,请参考一击炸黑帮的共享。

  这是第一批结束深度学习培训的论文。整个论文的过程看起来仍然更简单。首先,将低分辨率图片二次插值进行采样至高分辨率图片。然后使用两层卷积进行特征映射,最后将MSE用作训练的重建损失功能。从现在开始,许多事情仍然存在粗糙,但本文也已成为许多超级评估论文的基准。

  整个论文的创新点是:

  (1)卷积神经网络用于过度细分,而末端学习是在低分辨率和超级分辨率之间映射的。

  (2)在提出的神经网络模型和传统的稀疏编码方法之间建立联系。该连接还被指导设计神经网络模型

  (3)实验结果表明,深度学习方法可以用于过度细分,并且可以获得更好的质量和快速速度。

  整个模型体系结构非常简单。首先,将输入图片采样至输入图片的高分辨率空间,然后将卷积层用于特征提取。MSE用作重建损失。中间,插曲是稀疏编码的扩展用于过度分明的算法。它可以被视为具有不同非线性映射的卷积神经网络模型。

  GNN可以做什么?

  让我们看一些更有趣的gan案例。

  第一个是视频。本文介绍了朱等人。互动(IGAN)的开发已经开发了一个交互式网络。用户可以绘制图像的粗略草图,并使用GAN生成相似的真实图像。在此示例中,用户绘制了一些绿线,并将其变成草地。用户花了另一个黑色三角形,并创建了一个山袋。

  另一个更经典的案例是,左侧的皮包输入最终生成以生成靠近真实袋子的图像,或将卫星照片转换为地图,并将阈值车辆的图像转换为现实中现实的图像。

  另一个示例是通过GAN在视频中的下一个动画帧发生的事情。例如,火车的静态图片在右下角为火车提供了火车的火车,这将产生火车运行的动态视频。

  Wu等。在NIPS 2016中,在NIPS 2016中产生了3D椅子模型。

  下图是stargan。左侧的脸是左侧的,然后甘将产生相应的喜悦和悲伤的表情。本文的创新并不是说gan可以做到这一点,而是要提出解决方案。训练生成器,即不会生成多个对数量的发电机,而是只训练一个发电机来实现这些功能。

  从RAFD数据集中学到的知识被转移到Celeba数据集上的多域图像转换结果。第一和第六列显示输入图像,其余的是Stargan生成的图像。请注意,这些图像是由这些图像生成的。单个发电机网络以及诸如愤怒,幸福和恐惧之类的面部表情标签来自Rafd,而不是Celeba。

  http://cn.arxiv.org/pdf/1711.09020.pdf

  您为什么要准备知识?

  通过学习神经网络的基本知识,我们可以进一步加深我们对甘恩的理解。当然,许多看到本文的读者可能已经了解了深度学习或大家的水平。在这里,我们还要照顾初学者,并普及了GAN的基本知识。在这里,建议初学者阅读作者的文章,并介绍许多基本原则。

  首先,深度学习是模拟的脑神经(生物神经网络)。例如,下图左侧的神经元可以视为神经网络的接收端。它有很多树突状接收信号。

  其中,a表示信号(树突状接收),W表示相应的权重,它们将进行加权和组合,并包含偏见B.确定性是否可以通过激活该函数传递到下一个神经元。

  有了这个神经元,我们需要建立一个网络,如右下角所示。在一个,两个莱尔和三个莱er神经网络之后,我们最终将有一个判断,如右侧的右上方所示,之后SoftMax功能判断,决定的形象是什么,例如猫或狗。

  其次,深度学习的知识点是什么?

  深度学习的网络设计如下图:

  完整的连接层,激活层,BN层,辍学层,卷积层,合并层,圆形层,嵌入层,MEREGE层等。

  损失功能,优化者,激活功能,绩效评估,初始化方法,常规项目等。

  预训练模型,训练过程,数据预处理(调节,嵌入),数据增强(图片旋转旋转暴露于生成大量样品)等等,等等。

  补充:深度学习的解释性非常差。很多时候,我不知道为什么是正确的。在NLP会议上讨论这种解释并不重要。我个人认为,如果传统方法可以达到80%,并且如果深度学习有所改善,例如10%,那么我个人认为该行业仍然会使用它,因为它可以改善绩效并解决问题。除非风险控制任务,梅图恩(Meituan)发现异常订单,目前有必要准确确认该订单是否已刷。

  隐藏层的输入和输出是关联的,即完整连接层的每个节点都连接到上一层的所有节点,以结合之前提取的特征。完整的连接层是最大的。

  完整的连接层包括计算公式,神经元的维度(神经元数),激活函数,初始化方法(W,B)和常规项目。

  激活功能允许神经元的某些部分首先激活,然后将激活的信息传递给后一个系统。例如,当一些神经元看到猫的图片时,它将对Cat的眼睛特别感兴趣。当神经元看到猫的眼睛时,它的灵感会增加,其价值将会增加。

  激活函数等效于过滤器或激励措施。它激活独特的信息或功能。共同的激活函数包括软绒布,sigmoid,relu,softmax,elu,tanh等。

  对于隐藏层,我们可以使用非线性关系,例如relu,tanh,softplus;

  对于分类问题,我们可以使用sigmoid(值越小,接近0,值越大,接近1),softmax函数,每个类的概率,最后是结果的最大概率;

  对于回归,您可以使用线性函数进行实验。

  激活函数可以参考作者的第三篇文章。

  [Python人工智能] 3.基本的会话,变量,变量,传输值和激励功能

  常用的激活函数Sigmoid,Tanh,Relu,泄漏的Relu曲线如下图所示:

  BP神经网络是一个非常经典的网络。这是Edisongzq的两张图片,以解释神经网络的反向传播。对于神经元,这是计算最终误差对每个重量的影响,即计算每层反向传输的梯度变化。

  对于多个神经元,这是两条线反向传输的输出,如下图所示。EO1和EO2。

  梯度更改后,将有一个迭代方案,该方案将有很多选择。有很多类型的优化器,但是有两种类别:

  TF.Train.Optimizer类是优化器类的基类。有许多不同类型的优化器。最基本的是GradientsDescentOptimizer。它也是机器学习中最重要或最基本的线性优化。七个常见优化器包括:

  以下简要介绍了四个常用的优化器:(推荐的优化器摘要)

  GD取决于传递到数据的大小。例如,只传递所有数据的十分之一,梯度下降优化器变为SGD。它仅考虑一部分数据,一部分学习。学习才能转到全球最低最低最小值。

  它基于学习效率的变化。它不仅考虑了这一步骤的学习效率,而且还加载了先前的学习效率趋势。然后,上一个步骤的学习_ate是比渐变的摄影剂更快地达到总体情况的最小数量。

  亚当的名称来自自适应力矩估计,这也是梯度降低算法的变形。但是,每个迭代参数的学习率都有一定的范围。)它也变得很大,并且参数的值相对稳定。ADAM算法使用梯度的第一阶矩和第二阶矩估计动态调整每个参数的学习率。

  Google使用它来优化Alpha Dog的学习效率。RMSPROP算法修改了Adagrad梯度积累到索引索引的平均运动,从而在非convex设置下更有效。

  各种优化器使用不同的优化算法(例如Mmentum,SGD,Adam等),这些算法实质上是梯度滴算法的扩展。下图已经比较并通过可视化分析了各种优化器。机器学习有不同的学习路径,从目标到最佳过程。有不同的学习路径。由于动量考虑了以前的学习_rate,因此路径将很长;渐变的学习时间将非常缓慢。

  如果您是初学者,建议使用GradientDescentOptimizer。如果您有一定的基础,则可以考虑两个常用的优化器,即动量映射和adamoptimizer。如果您是高级的,则可以尝试学习RMSProptimizer Optimizer。简而言之,您最好选择适当的优化器与特定的研究问题。

  您为什么要提出卷积层?因为完整连接层中有一个核心疼痛点:

  图片参数太多,例如1000*1000图片,添加一个隐藏的图层,隐藏的层节点与输入维度相同,完整连接参数为10^12,基本训练不能产生太多参数。

  武器1:当地的感知野外

  卷积核局部感知信息的概念。

  盐2:参数共享

  从图像的左上角,将3x3扫描到右下角,并获得右侧图中显示的结果。通过卷积共享减少了参数的数量。注意,这里的卷积核心如下:

  左[开始{matrix} 1&0&1 0&1&0 1&0&1 end {matrix} ight] 11010101H

  当前的扫描区域如下,最终计算结果为2。

  左[开始{matrix} 0&1&1 0&0&0&0&1 end {matrix} ight] 1000100111H

  卷积层的核心知识点如下:

  下图显示了五层卷积层的内容和每一层的内容。

  汇总层解决的主要问题是:

  常见的合并层包括:

  基本知识点如下图所示:

  目前,我们可以通过介绍的完整连接层,卷积层和合并层解决实际问题。如下所示:

  例如NLP句子,句子对,图像的像素矩阵,语音的音频信息

  DNN:完整连接+非线性(特征非线性融合)

  CNN:Conv1d,Conv2d,合并

  RNN:LSTM,GRU(选择内存)

  类别,回归,序列预测,匹配

  图像问题的基本思想可以简化为下面的模型。

  在这一点上,准备知识的引入完成!接下来,我们输入GAN网络实际分析。

  gans(ganerativeadverial网络)对抗生成网络

  首先,让我们谈谈Gan在做什么?

  也许每个人仍然很棒,让我们在下面详细介绍另一个想法。

  GAN的总体想法是发电机,一个歧视者,而Goodfellow纸张证明,GAN全局最小点的足够必要条件是当发电机的概率分布与实际值的概率分布一致时。

  p_g = p_g = p_ {data} globalOptimalityOfpg = pdata的全局最优性

  其次,GAN需要分析哪些问题?

  (1)目标功能

  目标函数如下所示,其中:

  这也是一个游戏。

  整个公式的具体含义如下:

  然后,我们回到了伟大神的原始论文,以查看其算法的过程(算法1)。

  (2)GAN图片产生

  然后,我们介绍培训计划并通过GAN生成图片。

  甘的核心是这些,然后简单地总结,即:

  伪代码如下:

  接下来,我们可以通过手写的数字图像加深读者的印象。这是一个相对经典的常见数据集,包括各种图像分类情况。在这里,我们主要生成手写数字图像。

  首先,让我们看看生成器如何生成图像(从噪声生成)?核心代码如下。它必须首先随机产生噪声,所有生成的图片都是通过Noise.keras参考代码来实现的:

  https://github.com/jacobgil/keras-dcgan/blob/master/dcgan.py

  (1)发电机

  G发电机总计包括:

  (2)差分设备D

  鉴别器是进行二进制类的问题,或者确实是错误的。

  (3)辅助功能

  如何修复D以调整G的函数geenerator_containing_discriminator。

  Combine_images函数实现了组合图像的操作。

  (4)GAN图片生成培训

  GAN核心过程包括:

  (5)一代

  在模型培训之后,我们找到了一种使用GAN生成图片的方法。

  完整的代码如下:

  此代码更像是一个简单的gan生成图片。

  代码执行参数:

  对于培训,首先,可以将手写的数字MNIST图像数据集下载并存储到该位置,也可以运行代码以在线下载。

  在操作过程中生成了许多图像,随着训练数量的增加,图像将变得更加清晰。

  然后将参数设置为“生成”,GAN最终生成图像,如下图所示。

  (1)cgan

  首先,GAN如何输出指定的类图像?

  CGAN出现了。这是对Gan和Cgan之间的差异的简要介绍:Gan只能判断生成的是真或错误。如果要指定生成图像,例如1、2和3?gan将拥有100张图像,然后从中选择1、2和3,这确实是不便的。

  当在2014年提出GAN时,还提出了CGAN。此外,在生成的情况下,CGAN还必须带来条件,即我们要生成的图形条件,以使其混淆,如下所示:噪声Z vectors+条件C向量生成。

  因此,整个过程通常是没有变化的,然后我们查看公式。它在d(x | y)和g(z | y)中添加y。y不一定是指定类的输出,这可能是某些条件。

  (2)DCGAN

  DCGAN(深度卷积生成对抗网络)

  一本经典论文结合了卷积神经网络和神经网络的结合,核心要素是:提出了一些技巧,可以帮助增强稳定性而不改变GAN原理。注意这很重要。因为GAN在期间没有想象力的稳定性GAN训练是发电机经常产生毫无意义的输出或崩溃的,但是DCGAN可以根据技巧产生更好的图像。

  https://arxiv.org/pdf/1511.06434.pdf

  DCGAN论文中使用的技巧包括:

  (3)Acgan

  Acgan(可以同时生成图像和分类)

  与辅助分类器gans合成的条件图像合成,歧视者不仅必须判断其是真实的还是假的,而且还必须确定其属于哪个类别。

  https://arxiv.org/pdf/1610.09585.pdf

  (4)Infogan

  Infogan:通过信息可解释的再生学习,最大化生成对抗网络。这是2016年OpenAI的五个突破之一。

  原始地址:https://arxiv.org/abs/1606.03657

  该理论如下:

  根据原始目标函数,整个网络训练在相互信息中增加了L(G,Q)。

  实验结果如下图所示:

  (5)拉甘

  以下是一个更有趣的Internet Laplas gan。我们的目标是如何通过噪声产生图片。很难在噪音本身中生成图片。它不能控制太多,因此我们逐图生成IT(从右到左生成)。

  那么,如何训练?用这张大图,将图片审判并依次训练。

  (6)Ebgan

  让我们看一下一个EBGAN(基于能量的GAN),它放弃了前面提到的对与错的概念。它通过自动编码器ENC(中间提取功能)和DEC解码器(输出)添加了一种称为能量的东西。它希望用尽可能小的真实图像产生一个小能量,而假图片的能量也更大。

  “基于能量的生成对抗网络” Junbo Zhao,Arxiv:1609.03126V2

  发电机和设备损耗函数的计算公式如下(段函数):

  下图显示了GAN,EBGAN,EBGAN-PT模型生成的图像。

  您认为您已经解决了所有问题吗?太年轻。

  如下图所示,我们无法判断GAN培训的质量。

  GAN需要注意:稳定性(无需跑步),多样性(各种样本),清晰度(高质量),现在许多任务也正在解决这三个问题。

  - 鉴别器的训练过于良好,发电机的梯度消失了,发电机损失无法减少。

  - 鉴别器训练不太训练,发电机的梯度不准确,并且四处奔跑

  甘为什么有这些问题?这是因为GAN纸将GAN目标转化为KL分散的问题。KL散射存在这些坑。

  最终导致样本有偏见以生成“安全”。如下图所示,目标目标均匀分布,但最终会生成稳定的样本。

  那么,有解决方案吗?

  Wagan(Wassstein Gan)于2017年提出,这也是Gan中的里程碑论文,该论文原则上解决了GAN的问题。具体的思想是:

  改进后,我提出了Wagan-GP(带有梯度pen性的WGAN),该WGAN并未切断,并且仅增加了梯度图像以产生更高质量的图像。它曾经被称为“最新技术”。

  接下来,如果您做甘,您会想出:“谁说甘不如wgan。我们增加了渐变的pen,每个人几乎都是一样的。”

  https://arxiv.org/pdf/1705.07215.pdf

  结果如下所示:

  “ Google Brain:GAN会创建相等的?一项大规模研究”,详细比较了GAN模型零食损失优化变体。

  https://arxiv.org/pdf/1711.10337.pdf

  https://arxiv.org/pdf/1706.08500.pdf

  本文的结论是:特定的数据集说明了特定的内容,没有其他粉碎。良好的算法也取决于成本。短时间的效果很强,但是训练时间很长,但是情况会更糟。在评估标准上,不同场景和不良影响的场景也可以反击。行业侧重于稳定性,例如恩格。

  请参阅Su Jianlin先生的答案

  首先,从理论的角度来看,原始的gan(sgan)是一个完整的gan框架,但它可能有梯度消失的风险。论文比较了“每个人都可以接受培训以融合,谁更好地效果”的问题,显然很容易看:无论是Sgan还是Wgan,每个人都是理论上的,但是与不同的不同,但与不同的不同,它与不同的不同,但与不同的不同,它们与不同的不同不同。查看概率分布的问题,因此效果几乎是正常的。

  甚至可以说,SGAN的理论更完整(因为WGAN需要L的限制,目前的各种约束都有其自己的缺点),因此通常SGAN的效果比Wgan更好。那么Wgan的贡献是什么?wgan的特征基本上是“稳定的融合训练”,而SGAN更有可能崩溃。因此,如果效果是对“每个人都可以训练稳定训练以融合的前提”的比较,那么对于这些沃格的这些模型来说,这是非常不公平的,因为他们都致力于“稳定培训以融合”,因此本文和本文直接将其用作很大的前提,并直接消除了沃根的贡献。

  在这里写作,这篇文章结束了,我希望它对您有所帮助。首先,我非常感谢介绍大象学院的梅图老师。尽管文章非常多余,但他们仍然可以学习知识,尤其是那些想学习甘恩的知识。这是一个非常良好的普及。当然,请遵循作者的加深,并将分享更简洁的介绍和案例,并继续欢呼?

  就我个人而言,我觉得一些甘斯是非常大的应用程序。同时,它们被应用于推荐的领域,对抗样本和安全区域。我希望作者可以与作者分享更多实用的gan论文。例如,如果修改了图片,可以首次喂食或优化gan。在本文中,给出了各种GAN模型的比较图表。

  介绍

  1. gan背景知识

  2. GAN原始分析

  3.甘经典案例

  2. GAN准备知识

  1.什么是神经网络

  2.完整的连接层

  3.激活函数

  4.反向通信

  5.最佳选择

  6.卷积层

  7.合并层

  8.图像问题的基本思想

  3. GAN网络实际战斗分析

  1. GAN模型分析

  2.生成手写数字演示分析

  3.CGAN,DCGAN,ACGAN,INFOGAN,LAPGAN,EBGAN

  4. GAN改进策略

  本文分享了华为云社区的诚意,作者:Eastmount。