精华内容
下载资源
问答
  • 使用tensorflow框架写的生成对抗网络用于图像降噪,降噪效果在测试集上表现非常好,可以参看https://blog.csdn.net/xiaoxifei/article/details/82498705 记载的效果
  • Goodfellow等人,介绍了生成对抗网络(GAN)以模拟数据分布。由于与两个基本属性相关的原因,GAN可以合成真实图像。 GAN是一种无监督的训练方法,可以通过类似于人类学习图像特征的方式获取信息。 通过发现潜在的...

    Goodfellow等人,介绍了生成对抗网络(GAN)以模拟数据分布。由于与两个基本属性相关的原因,GAN可以合成真实图像。

    GAN是一种无监督的训练方法,可以通过类似于人类学习图像特征的方式获取信息。

    通过发现潜在的高维数据分布,GAN在特征提取方面具有良好的性能。

    本文回顾了医学图像处理应用中提出的基于GAN的结构,包括去噪,重建,分割,检测,分类和图像合成。论文的分布如图1所示。

    本文最后汇总了63篇论文,涵盖了各种GAN。在第3节中,介绍了GAN的体系结构及其医学图像应用的子类。第4节描述了医学图像处理应用中GAN的不同贡献(去噪,重建,分割,检测,分类和合成)。第5节介绍了使用GAN进行医学图像处理的研究方法,挑战和未来。方向。

    监督深度学习是目前许多计算机视觉和医学图像分析任务中最先进的技术。但是,它的主要限制因素是它依赖于大量带注释的训练数据。这在医学领域尤其重要,因为医学图像的获取和标记需要专家,导致严重缺乏标签训练数据。

    机器学习的另一个问题是对于一般任务(例如超分辨率,分割或图像到图像转换),必须手动设计相似性度量。传统的相似之处包括像素级损失,例如L1和L2距离,这两者都模糊了结果并且缺乏上下文整合。GAN的对抗性训练通过学习丰富的相似度来区分真假数据,从而消除了对显式像素级目标函数建模的需要。该特征最近已被用于改进医学图像分割,图像增强(例如去噪),以及使用基于GAN的图像到图像转换技术来解决医学图像域移位的问题。

    域转移现象实际上是另一个主要问题,目前限制了深度学习模型的泛化能力。假设训练数据和推理数据来自相同的分布,因此训练的模型也应该在看不见的数据上正常工作。这种假设通常不正确,并限制了模型的应用。性别。领域适应是指使模型对这种领域转变具有鲁棒性,而对抗训练具有巨大的潜力。

    GAN框架由生成器(G),鉴别器(D)和实际数据X的训练数据集组成.G生成器是多层网络参数θG,其被设计用于找到映射x = G(z,θG)。通过映射生成G,并生成G. 另一方面,鉴别器D(x;θD)旨在将伪样本与真实数据区分开。

    GAN的主要优点是通过关注数据的潜在概率密度来找到模型的数据分布。尽管GAN具有相对于CNN的固有优势,但仍存在一些挑战:

    模式崩溃:当G崩溃时,将所有不同的输入映射到相同的数据;

    不稳定:使相同的输入产生不同的输出。这些现象的主要原因与优化过程中梯度的消失有关。

    虽然批量标准化是解决GAN不稳定性的一种方法,但是不足以实现GAN性能的最佳稳定性。因此,已经引入了许多GAN子类来解决这些缺陷。部分框架如下所示:

    在医学图像处理中的应用

    1,去噪

    由于过量辐射对健康有害,减少辐射剂量已被用作有效的解决方案。然而,剂量减少会增加医学图像的噪声水平,这可能导致一些信息的丢失。当前基于CNN的去噪方法的主要问题是在优化中使用均方误差,导致预测图像模糊,这不能提供常规剂量图像的纹理质量。GAN可以通过检测噪声图像和去噪图像之间的映射来消除该问题并生成图像。

    表1总结了主要的基于GAN的去噪方法。通过控制损失函数以考虑更多纹理特征,实现了良好的医学图像降噪性能。然而,找到快速,准确和稳定的架构是未来工作的开放方向。

    2,重建

    重建丢失的图像数据在诊断过程中可能是有效的。由于GAN在数据合成中的良好性能,它具有相当大的潜力。在一些医学图像中,例如磁共振成像(MRI),需要更长的采集时间,并且患者的无意识(即,由于呼吸)和自主(即由于不舒适的条件)运动是非常常见的。这些移动导致图像中的一些关键信息丢失。基于GAN的方法试图找到不完整(零填充)和完全采样的MR图像之间的映射。

    表2和表3总结了一些GAN的特性和性能。在医学图像的重建中,GAN似乎提供了良好的性能,为损失功能添加了一些操作,突出了纹理细节和特殊功能。

    3. 分割

    医学图像处理中的物体和器官的标记在异常检测和形状识别中起重要作用。此外,分段被定义为许多其他任务的预处理步骤,例如检测和分类。因此,自动分割已经引起了许多研究者的关注。近几十年来,自动分割是医学图像处理中应用深度学习中最常见的主题。

    通常,基于CNN的分割方法使用像素丢失来学习像素之间的局部和全局关系。因此,需要统计建模方法,如条件随机场或统计形状模型来纠正其结果。尽管已经提出基于补片的CNN方法来解决该问题,但是这些方法需要在准确度和补丁大小之间进行权衡。已经提出了基于加权交叉熵损失的基于U-Net的架构,但是这些方法面临权重优化问题。因此除了减肥之外,还需要一般的损失来解决这个问题。GAN在医学图像中被分割,主要在脑,胸,眼,腹部,显微图像,心脏运动和脊柱中。表5至10总结了基于GAN的分割方法。从已知的DNN架构来看,U-Net和ResNet是最常用的网络,因为它们提供通用识别功能,并且可以用作基于GAN的分段模型中的生成器。

    大脑

    胸部

    胸部X射线图像分割的主要障碍是图像质量差,局部伪影和心肺重叠。戴等人。提出了一种基于GAN的解决方案(SCAN),可以增强分割的整体一致性,并提取心脏和左/右肺的轮廓。这项工作的主要贡献是使用完全连接的网络,其中VGG下采样路径的特征映射较少。

    眼睛

    在视网膜血管分割中,许多基于CNN的方法比人类专家表现得更好。Son等人。用GAN取代CNN,遵循发电机的U-Net架构。两个数据集的实验结果表明,传统鉴别器可以实现最佳性能,甚至优于人类专家的注释。

    拉希里等人。提出了一种基于DC-GAN的分割方法,该方法将RoI补丁与背景分开。类似的CNN需要大量的训练数据才能很好地执行,并且所提出的结构使用九分之一的训练数据实现了类似的性能。

    Shankaranarayana等。建议使用cGAN网络分割二维彩色眼底图像。发电机是防损和L1损耗的网络。

    腹部

    腹部MRI图像中脾脏的大小和形状的差异导致CNN深度分割方法的错误标记。GAN模型可以解决这个问题。

    显微图像

    脊柱

    4.测试

    在医学诊断中,许多疾病标志物被称为异常。然而,从图像计算检测异常需要大量的监督训练数据。即使有如此大量的数据,也无法保证学习网络能够检测到无形的情况。

    与之前的应用相比,GAN在异常检测中提供的论文具有更多的结构复杂性,因为它们受益于GAN的不同方面。事实上,鉴别者的作用在实践中更为突出。此外,提取的地图定义了识别健康和异常图像的潜在方面,以便以更感性的方式使用。

    5.分类

    由于在心脏超声(US)成像期间发生心脏和呼吸运动,所得到的图像可能显示不完整的信息,例如心脏的基部和顶端切片,这是识别左心室(LV)解剖结构的关键特征。因此,需要自动化系统来完成缺失部分或丢弃具有不完整信息的图像,这可能误导分类过程。

    张等人。提出了一种半耦合GAN(SCGAN)来对有用的心脏图像进行分类,其中缺少基础切片,如下图所示。结果表明,与CNN方法相比,该方法具有更高的精度和更低的计算成本。此外,SCGAN还提高了对抗训练的稳健性。

    6.合成

    最初,GAN被提议作为完全无监督的生成框架,其目标是在训练数据分布之后将随机噪声映射到真实图像。使用条件GAN,它成功地转变为监督生成框架。本文将原始GAN框架称为无条件或无监督GAN,而不是条件GAN。重要的是要强调区分这些不同的概念并相应地对文献进行分类是很重要的。

    这两个框架的属性用于合成某些类型的医学图像,这些图像来自个体噪声或来自先前的知识(参见条件图像合成),例如元数据或甚至用于映射的图像数据。从一种形式到另一种形式的图像。

    讨论

    1. GAN在医学领域的优势

    基于GAN的深度生成模型可生成逼真的图像,而Gan在医学图像的两个独特挑战中具有独特的优势:

    • 标签的稀缺性:通常,标签过于昂贵且难以在医学图像中获得。基于监督学习的深度神经网络对于这些问题具有挑战性。通过综合和转换的多项研究证明,GAN可以利用这两个即将到来的框架。
    • 不成对数据:找到正确的数据(按像素或按地区)非常具有挑战性。GAN框架非常强大,例如循环GAN从未配对的训练图像中学习独特的模式并产生逼真的输出。

    2,缺点

    本文确定了当前形式的GAN中可能阻碍其在医学界发展的三个主要缺点:

    • 合成数据的可信度:基本网络 - 发生器和鉴别器仍然是深度神经网络,其机制尚未得到很好的研究。在医学图像中,强度通常与某些含义相关联,例如,可以基于CT数据的HU粗略地对组织类型进行分类。这种关联和映射目前在GAN重建中缺乏,这是一个足以让临床医生不信任GAN合成图像的缺点。
    • 不稳定的培训:许多文件表明GAN培训的价值不稳定。这可能导致模式cllaspe等情况。现有技术的工作集中在解决实际图像的GAN训练中的这些数值不稳定性问题。然而,在医学成像中,图像图案本身并不清楚,并且不清楚如何识别这样的问题。
    • 评估指标:评估重建结果的最佳方法仍不清楚。在医学成像中,研究人员主要依靠传统指标(如PSNR或MSE)来评估GAN重建的质量。但是,这个指标的缺点是人们选择GAN的主要原因。

    3.未来前景

    本文认为,GAN需要解决上述主要缺陷,才能成为医疗保健领域值得信赖的技术。

    还需要解决训练不稳定性问题,这意味着需要进行严格的实验来理解GAN在医学成像环境中的融合。指标的问题很棘手,临床医生明白临床医生在CAD中合成GAN图像的表现是必要的第一步。简而言之,GAN在未来几年内开辟了许多可能的研究问题。正确的理解和回答是在实际临床情况下成功部署GAN的关键。

    参考文献:关注微信公众号:“图像算法”或者微信搜索imalg_cn 可获取

    展开全文
  • 深度卷积对抗生成网络(DCGAN)

    万次阅读 多人点赞 2016-12-25 20:31:35
    卷积神经网络在有监督学习中的各项任务上都有很好的表现,但在无监督学习领域,却比较少。本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起。

    本文是参考文献[1]的论文笔记。

    卷积神经网络在有监督学习中的各项任务上都有很好的表现,但在无监督学习领域,却比较少。本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起。

    在非CNN条件下,LAPGAN在图像分辨率提升领域也取得了好的效果。

    与其将本文看成是CNN的扩展,不如将其看成GAN的扩展到CNN领域。而GAN的基本算法,可以参考对抗神经网络

    GAN无需特定的cost function的优势和学习过程可以学习到很好的特征表示,但是GAN训练起来非常不稳定,经常会使得生成器产生没有意义的输出。而论文的贡献就在于:

    • 为CNN的网络拓扑结构设置了一系列的限制来使得它可以稳定的训练。
    • 使用得到的特征表示来进行图像分类,得到比较好的效果来验证生成的图像特征表示的表达能力
    • 对GAN学习到的filter进行了定性的分析。
    • 展示了生成的特征表示的向量计算特性。

    模型结构

    模型结构上需要做如下几点变化:

    • 将pooling层convolutions替代,其中,在discriminator上用strided convolutions替代,在generator上用fractional-strided convolutions替代。
    • 在generator和discriminator上都使用batchnorm。
      • 解决初始化差的问题
      • 帮助梯度传播到每一层
      • 防止generator把所有的样本都收敛到同一个点。
      • 直接将BN应用到所有层会导致样本震荡和模型不稳定,通过在generator输出层和discriminator输入层不采用BN可以防止这种现象。
    • 移除全连接层
      • global pooling增加了模型的稳定性,但伤害了收敛速度。
    • 在generator的除了输出层外的所有层使用ReLU,输出层采用tanh。
    • 在discriminator的所有层上使用LeakyReLU。

    DCGAN的generator网络结构:

    在这里插入图片描述

    其中,这里的conv层是four fractionally-strided convolution,在其他的paper中也可能被称为是deconvolution.

    训练细节

    • 预处理环节,将图像scale到tanh的[-1, 1]。
    • mini-batch训练,batch size是128.
    • 所有的参数初始化由(0, 0.02)的正态分布中随即得到
    • LeakyReLU的斜率是0.2.
    • 虽然之前的GAN使用momentum来加速训练,DCGAN使用调好超参的Adam optimizer。
    • learning rate=0.0002
    • 将momentum参数beta从0.9降为0.5来防止震荡和不稳定。

    LSUN效果图

    经过一次循环的训练(online learning)和收敛后得模型得到的效果分别如下:

    在这里插入图片描述
    在这里插入图片描述

    这表明了DCGAN不是通过记忆训练数据来生成/过拟合高质量的图片。

    DCGAN capabilities验证

    为了验证DCGAN的特征表示的有效性,将特征表示输入到L2-SVM中,并将分类结果与其他的无监督学习算法进行对比。

    为了做到这一点,使用在ImageNet-1K上训练得到的generator,使用所有层的所有CNN特征作为输入,将每一层的CNN特征使用max-pooling的方式降到4×4,然后展开,形成一个28672维的向量,输入到L2-SVM中。

    Mnist数据集上的效果对比:

    在这里插入图片描述

    SVNH数据集上的对比:

    在这里插入图片描述

    漫游隐空间

    通过慢慢的调整初始向量来探索隐空间是如何影响最终图片的生成的。这样,既可以探索图片特征是如何折叠到隐空间的,又可以判断这些图片是由于真正学习到了语义特征还是只是记住了图片(如果有sharp的变化)。

    在这里插入图片描述
    在这里插入图片描述

    由上图,可以看到一些逐渐的变化,比如第六行中,逐渐有了一个窗户。第四行中,电视逐渐消失。

    Discriminator Filter

    通过分析filter,我们可以看到,在对房屋特征的学习中,GAN确实学习到了床、窗口等特征。

    在这里插入图片描述

    左侧是随机filter,右侧是学习到的filter,可见,右侧的filter还是有意义的。

    Semantic Mask

    在隐空间上,假设知道哪几个变量控制着某个物体,那么僵这几个变量挡住是不是就可以将生成图片中的某个物体消失?

    论文中的实验是这样的:首先,生成150张图片,包括有窗户的和没有窗户的,然后使用一个逻辑斯底回归函数来进行分类,对于权重不为0的特征,认为它和窗户有关。将其挡住,得到新的生成图片。

    在这里插入图片描述

    Vector Arithmetic

    类似于word2vec,图像是不是也有类似的特点,可以在隐空间里进行加减法来得到新的图像?

    实验表明,使用单张图片的表示并不稳定,使用三张图片会比较稳定。

    在这里插入图片描述
    在这里插入图片描述

    可以看到,单张图片并不稳定,而三张图片则可以学到表情和墨镜等特征。

    更甚者,可以学到一个稳定的向量,来进行某种变换,比如,方位变换。

    在这里插入图片描述

    总结

    这篇paper的主要贡献看似简单,但其实工作量很大,充分展现出作者在调参大法上的卓越功力。

    但我觉得,更大的贡献在于作者对于效果的研究方式,生成模型很难来区分好与坏,而本paper通过探索隐空间,分析网络,比较特征表现能力等一系列手段,证明了DCGAN算法确实是一个强大的算法。

    Reference

    [1]. Unsupervised Representations Learning With Deep Convolutional Generative Adversarial Networks

    更多内容请关注微信公众号【雨石记】。

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpbnpoYW5neWFueGlhbmc=,size_16,color_FFFFFF,t_70#pic_center
    展开全文
  • 生成对抗网络的基本思想: 生成对抗网络中有两个模型Generator和Discriminator,生成模型可以比作counterfeiters,判别模型可以比做是police,生成模型通过自身的优化产生越来越像真钞的假币 ,而判别模型也通过对...

    生成对抗网络的基本思想:

    生成对抗网络中有两个模型Generator和Discriminator,生成模型可以比作counterfeiters,判别模型可以比做是police,生成模型通过自身的优化产生越来越像真钞的假币

    ,而判别模型也通过对自身不断的优化提高自己判别假币的能力,两者相互对抗,直到仿品不能从真品中分辨出来。

    生成模型:

    比如一个图片的生成输入是高维的vector,输出为图片

    判别模型:输入为一张图片,输出一个标量值,判别器会给来自training 数据集的image高分,而对来自generator的image一个低分值

    上图是生成对抗网络中给的图解释如下:

    蓝色是D

    黑色圆点是Pdata分布

    绿色实线是Pg

    图a中D给来自Pdata中的数据给高分,来自G的数据低分

    图b中在训练过程中迭代。

    图c中,G根据判别器给的分不断调整G使得Pg接近Pdata

    图d当当两者分布一致时,判别器没有坏掉,不起判别作用

    生成对抗网络的基本原理:

    假如x是一张图片,在这张图片内部有很多种分布,但是在上面的图片中蓝色的区域有很高的概率表示一张图片,蓝色以外的部分的分布产生的图片往往是模糊的(很低的概率),所以我们就试图找到蓝色区域的分布Pdata(x)

    但是想要找到这样的分布十分的困难,只能从Pdata中采样,然后用最大似然法不断的逼近原始分布。(生成对抗网络从一个先验的分布中采样)

    最大似然等价于最小化KL divergence衡量两个分布之间的的差异,越小说明两个分布之间的差异越小

     

     

    所以求最大似然的过程就变成求两个分布之间的divergence的问题,但是目前Pdata和Pg我们都不知道,因为Pdata可以从training数据中采样从而得到分布,但是Pg是不能从任何分布中得到的,所以我们不能事先给定一个固定的分布因为:

    假设我们的Pg只是一个高斯分布,那么其有很多的限制,我们希望Pg是一个一般化的分布,可以不是高斯,也可以是比高斯分布更复杂的分布,但是如果他比高斯更复杂,我们将不能计算他的最大似然?

    那么我们如何定义一个一般化的Pg?

    如果把generator定义成一个network则可以产生任何形式的分布:因为network内部有很多hidden layer,所以他可以产生任何的一些复杂的分布,我们就可以根据网络产生的分布和原始training数据的分布作比较。

     

    那么问题变成:怎样计算Pg和Pdata两者的Divergence?

    生成对抗网络通过Discriminator计算两者之间的divergence(为什么Disriminator可以用来用来计算两者间的divergence呢?)

    虽然我们事先都不知道Pg和Pdata的分布,但是我们可以采样:

    判别模型对于来自database的数据给高分,来自生成模型的数据给低分

     

     

    根据训练的目标函数:训练Disrimimator的过程为:将从Pdata的数据x通过D,并给其高分,将从Pg中抽取的数据x通过D并给其低分,以使得目标函数最大,Discrimimator实际上是一个二分类的分类器。

    那么为什么这样的Discriminator可以表示两个分布之间的Divergence呢?

    proof如下:

    如下图当两个分布很接近的时候,其divergence很小,而这样的两个分布中通过Discriminator的时候也很难得到小的目标函数值,如果两个分布之前相差跟大,divergence很大,Discriminator的目标函数的值也很大

    所以我们优化的D的目标函数的时候,其实就是找到使得两个分布的divergence最大的D

    找G的过程就是找使得两个分布的divergence最小的那个那个G

    所以生成对抗网络是一个极小化极大值的游戏

     

    上面讨论了通过计算Discriminator的目标函数可以得到两个分布之间的divergence,那么如何计算这个目标函数

    上图中,通过假设D(x)是任意的函数,那么input一个x,他可以输出任意的值,所以对于

    中括号的式子带不同的x再求和

    把某个x拿出来,然后找一个D,保证式子

    的值越大越好,所有不同的x分开算

     

    那么现在的问题变成怎样找到这样的D(x)?

    方法是把D(x)当做自变量,然后对其求梯度,在梯度等于0的时候找到最大的D*

    为什么又进一步说求目标函数的过程是求JS divergence?proof:

     

     

    以上证明Discrimimator实际上是求两个分布之间的divergence(JS divergence)所以在找最佳Generator的时候:

     

    等于:

    上图三条曲线的解释为:对于固定的G找到最大的V,然后对于所有的G找到使得max V最小的那个,图片中符合条件的是G3

     

    2014年生成对抗网络文章中算法的介绍:

    算法的初始化:对生成器和判别器分别给初值

     

    首先固定G对L(G)求参数:(为什么带有max的函数可以求梯度呢?)

    为什么可以对含有max的函数求梯度是可行的?

    L(G)是一个函数的集合,对其求梯度是可能的,proof如下:对每个函数,f在这一区间是做大的,则对其求梯度

     

    首先固定G然后,找到迭代找到最适合的D*,(寻找D*的过程是类似于二分类中找到最优的判别器)然后在更新G的时候用D*去当裁判

    按照上图中给定的算法步骤,能确定每次都减少Decrease JS divergence呢,实际上,不一定每次都是减少了这个值,proof如下:

    图中G2的divergence并不比G0中的小,原因在于G1并不是G2,我们在每次迭代中都改变了G,所以在实际的操作中我们是假设G是非常像的

    并且不能频繁更新G

     

    完整算法:

    总结:

    根据上述描述:

    0.对于Pdata和Pg我们事先并不知道他的分布,但是我们可以通过采样获得分布

    1.生成对抗模型包含两个网络,Generator和Disriminator,而且两个都为neural nework

    2.Generator负责生成分布,使得分布不断接近training数据的分布

    3.Disriminator负责判别数据是来自training数据还是来自generator,并给来自training的数据高分,来自generator的数据低分

    4.D的目标实际上是最大化两个分布的JS divergence

    5.算法在训过程中是先固定G然后找到最优的D,然后用这个最优的D去判别G得到新的G(D在训练过程中迭代k次,然而G不能频繁更新)

    以上图片来自2014年的文章 https://arxiv.org/abs/1406.2661

    以及李宏毅老师的课件: http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html

     

    展开全文
  • 对抗样本生成算法之BIM算法

    千次阅读 2020-05-17 20:18:47
    论文主要内容 提出了BIM攻击算法,即迭代FGSM(I-FGSM)算法 提出ILCM最相似迭代算法(Iterative Least-likely Class Method) 进行实验,验证了在真实物理环境中,通过图像采集得到的对抗样本是否依旧能够使得分类...


    论文 2017ICLR-Adversarial Examples in the physical world.

    论文主要内容

    • 提出了BIM攻击算法,即迭代FGSM(I-FGSM)算法
    • 提出ILCM最相似迭代算法(Iterative Least-likely Class Method)
    • 进行实验,验证了在真实物理环境中,通过图像采集得到的对抗样本是否依旧能够使得分类器分类错误。

    相对于FGSM的单步攻击,I-FGSM分多步添加噪声,更能拟合模型参数,因此通常表现出比FGSM更强的白盒能力。

    BIM算法原理

    FGSM里面,每次寻找对抗样本的时候,直接是x+ϵsign(xJ(x,y))x+\epsilon*sign(∇_xJ(x,y)),这样是把每个像素点都变化了ϵ\epsilon 这么大。这个改动其实是挺大,因为每个像素点都动了。

    FGSM提出的理论假设:假设目标损失函数J(x,y)J(x,y)xx之间是近似线性的,即J(x,y)wTxJ(x,y)≈w^Tx,然后我们想往xx加上一个小的扰动η\eta,使得J(x,y)J(x,y)变化最大。而J(x+η,y)J(x,y)wTηJ(x+\eta,y)−J(x,y)≈w^T\eta,要使最大,最好是直接η=ϵsign(xJ(x,y))\eta=\epsilon*sign(∇_xJ(x,y))

    然而,这个线性假设不一定正确,如果JJxx不是线性的,那么在(0ϵsign(xJ(x,y)))(0,\epsilon*sign(∇_xJ(x,y)))之间是否存在某个扰动,使得JJ增加的也很大,此时xx的修改量就可以小于ϵ\epsilon

    于是,作者就提出迭代的方式来找各个像素点的扰动,而不是一次性所有像素都改那么多,即迭代式的FGSM,也就是I-FGSM(Iterative FGSM)或BIM(Basic Iterative Method)。公式如下:在这里插入图片描述
    迭代的含义:每次在上一步的对抗样本的基础上,各个像素增长α\alpha(或者减少),然后再执行裁剪,保证新样本的各个像素都在xxϵ\epsilon 邻域内。这种迭代的方法是有可能在各个像素变化小于ϵ\epsilon 的情况下找到对抗样本的,如果找不到,最差的效果就跟原始的FGSM一样。

    裁剪(Clip):在迭代更新过程中,随着迭代次数的增加,样本的部分像素值可能会溢出,比如超出0到1的范围,这时需将这些值用0或1代替,最后才能生成有效的图像。该过程确保了新样本的各个像素在原样本各像素的某一领域内,不至于图像失真。

    ILCM算法原理

    该算法是I-FGSM的难度升级版,将输入图像分类成原本最不可能分到的类别,公式如下所示。原本No-targeted Attacks只需要让模型分类错误就算攻击成功,而现在需要模型将攻击图像分类成原本分类概率极低的类别,难度可想而知。当然,这部分内容其实是有Targeted Attacks的雏形,因为可以指定攻击类别。从公式中可以看到和前面无目标攻击公式的最大区别在于α\alpha前面的加号变成减号,同时原本的真实标签ytruey_{true}变成yLLy_{LL},这2个修改使得模型优化的目标是最终对应类别为yLLy_{LL}的分类概率越来越大,这和常规的分类模型训练类似,只不过监督信息并不是真实标签,而是指定的一个标签。
    在这里插入图片描述

    这个yLLy_{LL}是原输入图像在分类模型中分类概率最小的类别,可以通过如下式子计算得到:
    在这里插入图片描述

    实验效果

    ϵ\epsilon比较小的,I-FGSM的攻击效果比原始的FGSM好,而且ILCM的攻击效果最好,从图片上也能看出ILCM的改动是最小的。
    在这里插入图片描述

    物理世界实验

    以往在机器学习的对抗样本研究都是直接在图像本身上研究的。生成的对抗样本通过直接调用API输入到DNN中。然而,在现实中,图像都是基于感光设备采集的。在其生成图像时,由于光线的影响、摄像头位置的影响等等,使得引入噪声,造成攻击者千方百计在图像中添加的微小干扰被破坏掉。

    作者直接对对抗图片进行拍照,让模型对拍照结果进行分类,观察被照相机拍照后是否还具有对抗效果。

    实验步骤:

    • 使用ImageNet训练一个Inception V3网络。
    • 寻找验证集里面特定样本的对抗样本(使用不同的对抗方法以及不同的ϵ\epsilon
    • 把原始样本和对抗样本打印出来,并用手机拍这些打印出来的图片,图片有二维码定位用。
    • 使用Inception V3模型识别手机拍出来的图片。

    实验结果:

    在这里插入图片描述
    作者把这种感光设备采集图像中引入噪声的过程叫做 photo transformation,然后这些transformation又可以看作是改变光照、模糊、加入噪声的这些子变化的合成,并做实验量化这些transformation的影响。
    从表中可以看到,Photo Transformation对对抗样本的对抗性有一定的损失作用。其中FGSM的影响相对比较小,因为FGSM改动大。而对I-FGSM的影响比较大,这是因为它们的扰动值更小,比较容易被破坏。

    展开全文
  • 对抗样本生成算法之JSMA算法

    千次阅读 2020-05-17 20:19:18
    背景 之前的对抗样本的扰动方向都是损失函数的梯度方向,该论文生成对抗样本的扰动方向是目标类别标记的预测值的梯度方向,作者将这个梯度称为前向梯度(forward derivative),即 显然,前向梯度是由神经网络的...
  • 对抗样本生成算法之FGSM算法

    千次阅读 2020-05-17 20:16:51
    原理 FGSM(Fast Gradient Sign Method)是一种基于梯度生成对抗样本的算法,这是一个单步(one-step)的、非定向(non-targeted)的攻击算法。。其目标是最大化损失函数来获取对抗样本。 深度神经网络的训练,是追求...
  • DL之DCGAN:基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成 目录 基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成 设计思路 输出结果 核心代码 ...
  • 对抗生成网络实战系列主要包括三大核心内容:1.经典GAN论文解读;2.源码复现解读;3.项目实战应用。全程实战解读各大经典GAN模型构建与应用方法,通俗讲解论文中核心知识点与整体网络模型架构,从数据预处理与环境...
  • Machine Learning (ML) 本质上是寻找一个函数f:X→Yf:X\to Yf:X→Y,通过网络来近似这个函数。Structured Learning (SL) 输出相对于ML更加复杂,可能是图、树、序列……通常ML的问题,每个类别都会有一些样本,但是...
  • 对抗样本生成算法之DeepFool算法

    千次阅读 2020-05-17 20:18:01
    论文主要内容 提出了一种新的计算对抗样本的方法:DeepFool算法 通过实验,验证了DeepFool算法所添加的扰动更小,同时计算对抗样本所消耗的时间也更少 实验也说明了,如果使用不恰当的算法(如FGSM算法)来验证分类...
  • 对抗样本生成算法之C&W算法

    千次阅读 2020-05-17 21:27:01
    目录 论文背景 蒸馏网络 C&W算法原理 论文 2017Oakland-Towards Evaluating the Robustness of Neural Networks. 论文背景 之前有人提出蒸馏网络,说是可以为目标网络模型提供很强的鲁棒性,能够把已出现的攻击的...
  • 基于语义分割和生成对抗网络的缺陷检测算法

    千次阅读 热门讨论 2018-11-07 17:13:03
    二、语义分割网络 FCN网络 网上介绍FCN的教程很多,在这里不再详细讲述,具体请参考链接: https://www.cnblogs.com/gujianhan/p/6030639.html https://blog.csdn.net/qq_36269513/article/details/80420363 语义...
  • GAN 对抗生成网络代码实现

    千次阅读 2018-05-25 05:39:25
    更完整的介绍关注专栏生成对抗网络Generative Adversarial Network 本篇的同名博客[生成对抗网络GAN入门指南](3)GAN的工程实践及基础代码 In [1]: import tensorflow as tf from tensorflow.examples....
  • GAN文章目录GAN的设计初衷生成对抗网络 GAN 的基本原理GAN的优缺点10大典型的GAN算法GAN 的13种实际应用百度百科+维基百科扩展阅读生成对抗网络 – GAN 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片...
  • 原文: https://blog.csdn.net/qq_21190081/article/details/78807931 https://www.jianshu.com/p/64bf39804c80 1. 单向 GAN ...2. 循环 GAN 而循环对抗生成网络可以看作两个普通的GAN...
  • 生成对抗网络

    2020-08-18 19:05:16
    文章目录1 生成对抗网络初识2 生成对抗网络算法2.1 判别网络2.2 生成网路2.3 训练欢迎关注微信公众号:`二进制人工智能` 1 生成对抗网络初识 让我们先用一个小例子来认识一下生成对抗网络。首先我们来认识一下生成...
  • 生成对抗网络 图像生成Machines are generating perfect images these days and it’s becoming more and more difficult to distinguish the machine-generated images from the originals.如今,机器正在生成完美...
  • 生成对抗网络 - GANs 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频。我们手机里的照片处理软件中就会使用到它。 本文将详细介绍生成对抗网络 - GANs 的设计初衷、基本原理、10种典型...
  • self.fc3 = nn.Linear(100, 10) #定义该神经网络的向前传播函数,该函数必须定义,一旦定义成功,向后传播函数也会自动生成(autograd) def forward(self, x): # 输入x经过全连接1,再经过ReLU激活函数,然后更新x...
  • 对抗生成网络---验证码的生成

    千次阅读 2017-09-29 13:53:19
    最近看生成对抗网络,做了一点有意思的事情,发现这个东西用于生成验证码真是太爽了,当然精度还有待提高。 传送门 关于生成对抗网络的原理,自己百度下很多博文 条件生成对抗网络,也有很多概述 使用的...
  • 对抗样本与生成对抗网络

    万次阅读 2016-08-13 23:34:28
    最近一个月,人工智能领域听的最多的名词之一,莫过于对抗样本和对抗网络,从最开始Yann LeCun在Quora上直播时表示生成对抗网络近期人工智能最值得期待的算法之一,到近日生成对抗网络的发明者Ian Goodfellow...
  • 生成对抗网络简介

    千次阅读 2017-06-19 19:57:49
    之前,我们已经有一篇关于生成对抗网络的简介(Generative Adversarial Networks 生成对抗网络的简单理解),配合之前使用TensorFlow搭建深度神经网络(TFboys:使用Tensorflow搭建深层网络分类器)
  • 生成对抗网络GANs理解(附代码)

    万次阅读 多人点赞 2017-01-20 12:36:28
    生成模型和判别模型理解对抗网络,首先要了解生成模型和判别模型。判别模型比较好理解,就像分类一样,有一个判别界限,通过这个判别界限去区分样本。从概率角度分析就是获得样本x属于类别y的概率,是一个条件概率P...
  • 对抗生成网络在16年爆火,成了深度学习圈子里的家常话。课程首先讲解对抗生成网络基本原理,通过案例演示原理和流程。后项目实战对抗生成网络的升级版DCGAN,大家都可以基于DCGAN生成出来任何你喜欢的数据。 课程代码...
  • GAN的原理其实很简单,就是生成网络G, 和判别网络D的对抗过程, 生成网络努力使得生成的虚假物品更加真实,而判别网络努力分别出哪些是G生成的,哪些是真实的,在这样一个对抗的过程中两个网络的能力不断得到提升。...
  • 生成对抗网络学习

    千次阅读 2017-12-04 17:09:18
    生成对抗网络:这种框架同时训练两种模型:生成模型(G,用于捕获数据的分布)以及判别模型(D,用于预测一个样本来自于训练数据而不是G)。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,557
精华内容 8,622
关键字:

对抗生成网络算法