生成对抗网络相比传统媒体的优势训练方法有什么优势

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)GAN(生成对抗网络)学习笔记 - 简书
GAN(生成对抗网络)学习笔记
转载连接:
GAN的思想是一种二人零和博弈思想(two-player game),博弈双方的利益之和是一个常数,比如两个人掰手腕,假设总的空间是一定的,你的力气大一点,那你得到的空间就多一点,相应的我的空间就少一点,反之亦然。但有一点确定的就是,两个人的总空间是一定的,这就是二人博弈,但是总利益是一定的。GAN中有两个这样的博弈者,一个人名字是生成模型(G),另一个人名字是判别模型(D),它们各自有各自的功能。相同点是:这两个模型都可以看成是一个黑匣子,接受输入然后有一个输出,类似一个函数,一个输入输出映射。不同点是:
1. 生成模型功能:比作是一个样本生成器,输入一个噪声/样本,然后把它包装成一个逼真的样子,也就是输出。2. 判别模型:比作一个二分类器(如同0-1分类器),来判断输入的样本是真是假。(就是输出值大于0.5还是小于0.5)
判别模型,就是图中右边的网络,直观来看就是简单的神经网络结构,输入是一副图像,输出是一个概率值,用于判断真假使用(概率值大于0.5就是真,小于0.5就是假)其次是生成模型:同样是一个神经网络模型,输入是一组随机数Z,输出是一个图像,不再是一个数值而已。从图中可以看到,会存在两个数据集,一个是真实数据集,另一个是假的数据集,那这个数据集就是由生成网络造出来的数据集。
GAN的目标是要干什么:1. 判别网络的目的:就是能判别出来属于的一张图它是来自真实样本集还是假样本集。例如输入的是真样本,网络输出就接近1,输出的是假样本,网络输出接近0。2. 生成网络的目的:生成网络是造样本,它的目的就是使得自己造样本的能力尽可能强,强到什么程度呢,判别网络没法判断我是真样本还是假样本。有了这个理解再来看看为什么叫做对抗网络:判别网络说,我很强,来一个样本我就知道它是来自真样本集还是假样本集。生成网络就不服来,说我也很强,我生成一个假样本,虽然我生成网络知道是假的,但是你判别网络不知道呀,我包装的非常逼真,以致于判别网络无法判断真假,那么用输出数值来解释就是,生成网络生成的假样本进去了判别网络之后,判别网络给出的结果是一个接近0.5的值,极限情况就是0.5,也就是说判别不出来来,这就是纳什平衡来。数据集:真实采集的人脸样本数据集,没有类标签目的: 最远书的GAN的目的,通过输入一个噪声,模拟得到一个人脸图像,这个图像可以非常逼真以致于以假乱真。
训练方法:
训练两个模型的方法:单独交替迭代训练判别模型: 希望真样本集尽可能输出1,假样本集输出0。对于判别网络,此时问题转换成一个有监督的二分类问题,直接送到神经网络模型中训练就ok。生成网络:目的是生成尽可能逼真的样本。原始生成网络如何知道真不真?就是送到判别网络中。在训练生成网络的时候,需要联合判别网络才能达到训练的目的。什么意思?如果单单只用生成网络,那么后面怎么训练,误差来源在哪里?细想一下没有,但是如果把刚才的判别网络串接在生成网络的后面,这样就知道真假来,也就有了误差。!!!所以对生成网络的训练其实是对生成-判别网络串接的训练,就像图中显示的那样。
生成来假样本,要把这些假样本的标签都设置为 1,也就是认为这些假样本在生成网络训练的时候是真样本。起到了迷惑判别器的目的。!!!在训练这个串接网络的时候,一个很重要的操作就是不要判别网络的参数发生变化,也就是不让它参数发生更新,只是把误差一直传,传到生成网络那块后更新生成网络的参数。这样就完成来生成网络的训练。假样本在训练过程中的真假变换公式:
先优化D,然后再优化G,拆解之后就如下:优化D:
优化D,即优化判别网络时,没有生成网络什么事,后面的G(z)这里就相当于已经得到的假样本。优化D的公式的第一项,使得真样本x输入的时候,得到的结果越大越好,因为真样本的预测结果越接近1越好;对于假样本,需要优化的是其结果越小越好,也就是D(G(z))越小越好,因为它的标签为0。但是第一项越大,第二项越小,就矛盾了,所以把第二项改为1-D(G(z)),这样就是越大越好。优化G:
在优化G的时候,这个时候没有真样本什么事,所以把第一项直接去掉,这时候只有假样本,但是我们说这个时候是希望假样本的标签是1,所以是D(G(z))越大越好,但是为了统一成1-D(G(z))的形式,那么只能是最小化1-D(G(z)),本质上没有区别,只是为了形式的统一。之后这两个优化模型可以合并起来写,就变成最开始的最大最小目标函数了。GAN强大之处在于可以自动的学习原始真实样本集的数据分布传统机器学习方法,会定义一个什么模型让数据去学习,假设我们知道原始数据属于高斯分布,只是不知道高斯分布的参数,这个时候我们会定义高斯分布,然后利用数据去学习高斯分布的参数得到最终的模型。
然而从随机噪声到人脸应该服从什么分布,我们不知道,然而GAN机制可以学习到,也就是说GAN学习到了真实样本集的数据分布。GAN强大之处在于可以自动的定义潜在损失函数判别网络可以自动学习到一个好的判别方法,其实就是等效的理解为可以学习到好的损失函数,来比较好或者不好的判别出来结果。虽然大的loss函数还是人为定义的,基本上对于多数GAN也都这么定义就可以来,但是判别网络潜在学习到的损失函数隐藏在网络之中,不同的问题这个函数就不一样,所以说可以自动学习这个潜在的损失函数。
00. 概念GAN,全称为 Generative Adversarial Nets,直译为生成式对抗网络,是一种非监督式模型。2014年由Ian Goodfellow提出,业内另一位大牛 Yan Lecun 也对它交口称赞,称其为“20 年来机器学习领域最酷的想法” ,至今...
摘要:在深度学习之前已经有很多生成模型,但苦于生成模型难以描述难以建模,科研人员遇到了很多挑战,而深度学习的出现帮助他们解决了不少问题。本章介绍基于深度学习思想的生成模型——VAE和GAN,以及GAN的变种模型。 在深度学习之前已经有很多生成模型,但苦于生成模型难以描述难以...
(本文转自雷锋网,转载已获取授权,未经允许禁止转载)原文链接:http://www.leiphone.com/news/201701/Kq6FvnjgbKK8Lh8N.html
作者:亚萌 相关参考: 【OpenAI】 Generative Models 【搜狐科技】GA...
GAN,全称为Generative Adversarial Nets,直译为生成式对抗网络。它一方面将产生式模型拉回到了一直由判别式模型称霸的AI竞技场,引起了学者甚至大众对产生式模型的研究兴趣,同时也将对抗训练从常规的游戏竞技领域引到了更一般领域,引起了从学术界到工业界的...
生成式对抗网络(gennerative adversarial network,GAN),谷歌2014年提出网络模型。灵感自二人博弈的零和博弈,目前最火的非监督深度学习。GAN之父,Ian J.Goodfellow,公认人工智能顶级专家。 原理。生成式对搞网络包含一个生成模...
首先,病的深浅不一样,艾灸也是如此,从皮毛,肌肉,筋髓,骨髓。越往里,越难治。病在浅层,艾灸时温灸的热和药气容易到达,病自然好得快。病在深层,艾灸温灸的热和药气难于到达,或说到达深层的病灶部位的热和药气很少了。艾灸温灸,人体一般承受的温度一般在40度到50度左右,每层都会吸...
你是我眼里的 一粒星辰 闪耀着不可抗拒的灵魂 我听着你斑驳的话语 嘲笑了 四月的云 你是我心上的 一粒星辰 细数着不谙世事的琴音 我钟情你凶狠的宁静 安慰着 暮色的吻 在远方风的里边 你是否还念着 有个人 用孤独 紧掩余生的门 不流泪的眼角 蓄满了伤痕 熟悉的陌生啊 在回忆...
在我们住的宾馆前,一大早,有个卖乌米饭的小摊。 这小摊干净、卫生,它吸引了我。 一辆漆成深蓝色的三轮车,车上驮着长方形约有两米长的木板箱。板箱外侧写着几个红色大字:特色美食乌米饭团。箱上装着一个大炊桶,四个小木桶,小木桶前放着一个长方形小木盒——木盒有锁扣的那一侧朝外。大炊...
今天有个好朋友问我:为什么我读了这么多干货的文章,仍然感觉没有行动力, 难道懒就这么难治吗? 我用中指扶了扶眼镜(以后老师点你回答问题,你又回答不到的时候可以用这么招),然后严肃认真的对他说,你是知道的,我是学医的,在我们学病理的时候,有一句话是这么说的:懒乃顽疾之首耶,克...生成式对抗网络GAN有哪些最新的发展,可以实际应用到哪些场景中?- 百度派
{{ mainData.uname }}
:{{ mainData.content }}
{{ prevData.uname }}
:{{ prevData.content }}
{{ mainData.uname }}
:{{ mainData.content }}
0 || contentType !== 1" class="separate-line">
:{{ item.content }}
3">等{{ uList.length }}人邀请你回答
生成式对抗网络GAN有哪些最新的发展,可以实际应用到哪些场景中?
问题说明(可选):
扫一扫分享到微信
{{ log.sign }}
可能对你的问题感兴趣
暂无相关用户
,才能邀请用户
,才能邀请用户
你已邀请15人,不可再邀请
(公式1)(公式2)公式1表现鉴别器盼望尽大概拉高真样本的分数,拉低假样本的分数,公式2表现天生器盼望尽大概拉高假样本的分数。Lipschitz限定则表现为,在整个样本空间上,要求鉴别器函数D(x)梯度的Lp-...
&&&&(公式1)&&&&(公式2)&&&&公式1表现鉴别器盼望尽大概拉高真样本的分数,拉低假样本的分数,公式2表现天生器盼望尽大概拉高假样本的分数。&&&&Lipschitz限定则表现为,在整个样本空间上,要求鉴别器函数D(x)梯度的Lp-norm不大于一个有限的常数K:&&&&(公式3)&&&&直观上表明,便是当输入的样本轻微变革后,鉴别器给出的分数不克不及产生太过剧烈的变革。在原来的论文中,这个限定详细是通过weightclipping的方法实现的:每当更新完一次鉴别器的参数之后,就查抄鉴别器的全部参数的绝对值有没有高出一个阈值,比如0.01,有的话就把这些参数clip回[-0.01,0.01]范畴内。通过在训练进程中包管鉴别器的全部参数有界,就包管了鉴别器不克不及对两个略微差别的样本给出大相径庭的分数值,从而间接实现了Lipschitz限定。&&&&然而weightclipping的实现方法存在两个紧张题目:&&&&第一,如公式1所言,鉴别器loss盼望尽大概拉大真假样本的分数差,然而weightclipping独顿时限定每一个网络参数的取值范畴,在这种环境下你和我可以想象,最优的战略便是尽大概让全部参数走极度,要么取最大值(如0.01)要么取最小值(如-0.01)!为了验证这一点,作者统计了颠末充分训练的鉴别器中全部网络参数的数值散布,发明真的会合在最大和最小两个极度上:&&&&在正式先容gradientpenalty之前,你和我可以先看看在它的引导下,同样充分训练鉴别器之后,参数的数值散布就公道得多了,鉴别器也可以或许充分利用自身模型的拟合本领:&&&&第二个题目,weightclipping会导致很容易一不警惕就梯度消散大概梯度爆炸。缘故起因是鉴别器是一个多层网络,要是你和我把clippingthreshold设得轻微小了一点,每颠末一层网络,梯度就变小一点点,多层之后就会指数衰减;反之,要是设得轻微大了一点,每颠末一层网络,梯度变大一点点,多层之后就会指数爆炸。只有设得不大不小,才华让天生器得到恰到长处的回传梯度,然而在实际应用中这个均衡地区大概很局促,就会给调参事变带来贫苦。相比之下,gradientpenalty就可以让梯度在后向传播的进程中保持安稳。论文通过下图表现了这一点,此中横轴代表鉴别器从低到高第几层,纵轴代表梯度回传到这一层之后的标准大小(细致纵轴是对数刻度),c是clippingthreshold:&&&&说了这么多,gradientpenalty到底是什么?&&&&前面提到,Lipschitz限定是要求鉴别器的梯度不高出K,那你和我何不直接设置一个分外的loss项来表现这一点呢?比如说:&&&&(公式4)&&&&不过,既然鉴别器盼望尽大概拉大真假样本的分数差距,那天然是盼望梯度越大越好,变革幅度越大越好,以是鉴别器在充分训练之后,其梯度norm着实就会是在K相近。知道了这一点,你和我可以把上面的loss改成要求梯度norm离K越近越好,结果是雷同的:&&&&(公式5)&&&&原形是公式4好还是公式5好,我看不出来,大概必要实行验证,反正论文作者选的是公式5。接着你和我大略地把K定为1,再跟WGAN原来的鉴别器loss加权归并,就得到新的鉴别器loss:&&&&(公式6)&&&&这便是所谓的gradientpenalty了吗?还没完。公式6有两个题目,起首是loss函数中存在梯度项,那么优化这个loss岂不是要算梯度的梯度?一些读者大概对此存在迷惑,不过这属于实现上的题目,放到背面说。&&&&其次,3个loss项都是盼望的情势,落到实现上肯定得变成采样的情势。前面两个盼望的采样你和我都熟习,第一个盼望是从真样本集内里采,第二个盼望是从天生器的噪声输入散布采样后,再由天生器映射到样本空间。但是第三个散布要求你和我在整个样本空间上采样,这完全不科学!由于所谓的维度灾祸题目,要是要通过采样的方法在图片或天然语言如许的高维样本空间中预计盼望值,所需样本量是指数级的,实际上没法做到。&&&&以是,论文作者就非常机警地提出,你和我着实没须要在整个样本空间上施加Lipschitz限定,只要重点捉住天生样本会合地区、真实样本会合地区以及夹在它们中间的地区就行了。详细来说,你和我先随机采一对真假样本,另有一个0-1的随机数:&&&&(公式7)&&&&然后在和的连线上随机插值采样:&&&&(公式8)&&&&把根据上述流程采样得到的所餍足的散布记为,就得到终极版本的鉴别器loss:&&&&(公式9)&&&&这便是新论文所采取的gradientpenalty要领,相应的新WGAN模型简称为WGAN-GP。你和我可以做一个比拟:&&&&论文还讲了一些利用gradientpenalty时必要细致的配套事变,这里只提一点:由于你和我是对每个样本独顿时施加梯度处罚,以是鉴别器的模型架构中不克不及利用BatchNormalization,由于它会引入同个batch中差别样本的相互依赖干系。要是必要的话,可以选择其他normalization要领,如LayerNormalization、WeightNormalization和InstanceNormalization,这些要领就不会引入样本之间的依赖。论文保举的是LayerNormalization。&&&&实行表明,gradientpenalty可以或许明显进步训练速率,办理了原始WGAN收敛迟钝的题目:&&&&固然还是比不过DCGAN,但是由于WGAN不存在均衡鉴别器与天生器的题目,以是会比DCGAN更稳固,还是很有上风的。不过,作者凭什么能这么说?由于下面的实行表现出,在种种差别的网络架构下,其他GAN变种能不克不及训练好,可以说是一件相称看品德的事变,但是WGAN-GP全都可以或许训练好,尤其是最下面一行所对应的101层残差神经网络:&&&&剩下的实行结果中,比较锋利的是第一次告成做到了“纯粹的”的文本GAN训练!你和我知道在图像上训练GAN是不必要分外的有监督信息的,但是之前就没有人可以或许像训练图像GAN一样训练好一个文本GAN,要么依赖于预训练一个语言模型,要么便是利用已有的有监督groundtruth提供引导信息。而如今WGAN-GP终于在无需任何有监督信息的环境下,天生出下图所示的英笔墨符序列:&&&&它是怎么做到的呢?我以为关键之处是对样本情势的变动。过去你和我一样平常会把文本如许的分离序列样本表现为sequenceofindex,但是它把文本表现成sequenceofprobabilityvector。对付天生样原来说,你和我可以取网络softmax层输出的词典概率散布向量,作为序列中每一个位置的内容;而对付真实样原来说,每个probabilityvector实际上就腐化为你和我熟习的onehotvector。&&&&但是要是根据传统GAN的思路来阐发,这不是作去世吗?一边是hardonehotvector,另一边是softprobabilityvector,鉴别器一下子就可以或许区分它们,天生器还怎么学习?没干系,对付WGAN来说,真假样本好不好区分并不是题目,WGAN只是拉近两个散布之间的Wasserstein间隔,就算是一边是hardonehot另一边是softprobability也可以拉近,在训练进程中,概率向量中的有些项大概会渐渐变成0.8、0.9到靠近1,整个向量也会靠近onehot,末了你和我要真正输出sequenceofindex情势的样本时,只必要对这些概率向量取argmax得到最大概率的index就行了。&&&&新的样本表现情势+WGAN的散布拉近本领是一个“黄金组合”,但除此之外,另有其他因素资助论文作者跑出上图的结果,包括:&&&&上面第三点非常风趣,由于它让我遐想到前段时间挺火的语言学科幻影戏《到临》:&&&&内里的外星人“七肢怪”所利用的语言跟人类差别,人类利用的是线性的、串行的语言,而“七肢怪”利用的黑白线性的、并行的语言。“七肢怪”在跟主角交换的时间,都是一次性同时给出全部的语义单位的,以是说它们着实是一些多层反卷积网络进化出来的人工智能生命吗?&&&&开完脑洞,你和我回过头看,不得不承认这个实行的setup着实过于简化了,可否扩展到越发实际的巨大场景,也会是一个题目。但是不管怎样,天生出来的结果仍旧是突破性的。&&&&末了说回gradientpenalty的实现题目。loss中本身包括梯度,优化loss就必要求梯度的梯度,这个成果并不是如今全部深度学习框架的标配成果,不过幸亏Tensorflow就有提供这个接口——tf.gradients。开头链接的GitHub源码中便是这么写的:&&&&(公式10)&&&&也便是说,你和我仍旧是在散布上随机采样,但是一次采两个,然后要求它们的连线斜率要靠近1,如许理论上也可以起到跟公式9一样的结果,我本身在MNIST+MLP上大略验证过有作用,PyTorch党乃至Tensorflow党都可以实行用一下。
扫一扫分享到微信
生成式对抗网络GAN有哪些最新的发展,可以实际应用到哪些场景中?
,才能进行回答
一个问题只能回答一次,请&nbsp点击此处&nbsp查看你的答案
1人关注了此问题11被浏览939分享邀请回答arxiv.org/pdf/.pdf5添加评论分享收藏感谢收起写回答

我要回帖

更多关于 传统优势产业 的文章

 

随机推荐