李宏毅GAN学习笔记—— 简介

以图片生成为例

算法过程:

先固定G,训练D

首先初始化D和G的参数,然后进入迭代过程,在每一次迭代中,先固定G,训练D,然后在固定D,训练G,每次迭代中重复这个过程,以一次迭代过程为例,如上图所示,第一步固定G,训练D:首先G根据随机输入的向量得到一组图片,由于向量是随机输入的,所以得到的图片质量会很差,然后固定G,从真实数据库中采样,获得真实图片,然后此时就得到两组图片,一组是G生成的假图片,一组是从数据库中得到的真图片。根据这两组图片对D进行训练,目标是使D对真实图片的评分高,而对G生成的图片的评分低。然后进入第二步,对G进行训练。

固定D训练G

在第二部中,对G进行训练的目标就是使其“骗过”D,生成让D识别不出来的假图片,即让D对G生成的图片打高分,此时输入是随机向量,然后通过G产生一个图片,然后D对其进行识别并评分,在这里,整个系统构成了一个大的神经网络,G+D表示这个大神经网络中的层数,其中G的输出就是其中一个高维隐含层,整个训练过程就是固定D,对G包含的前几层进行训练,可以通过梯度下降等方法进行训练,目标就是是的输出数值越大越好。

        蓝色部分是对D进行训练,让D对database中的图片评分越高越好,对G生成的图片评分越低越好。首先是在数据库中采样m个向量,作为正例;第二行表示根据一个分布随机采样m个向量;第三行表示根据在第二行分布中获得的样本,在G中生成m个负样本,可能是m个假图片;第四行开始根据目标函数进行训练,目标是让D对正样例评分越高越好,即为目标函数的第一项,D(xi)表示对在数据库中取得的样本x进行打分,打分越高越好;第二项表示对G产生的图片,评分越低越好,D(\tilde{x}^i ) 表示D对G生成的图片进行打分,则打分越低越好,则1-D(\tilde{x}^i ) 越大越好则整个第二项越大越好,加起来整个目标函数越大越好,则就是对目标函数取最大值,通过梯度下降法进行训练。

        红色部分是对G进行训练,G的目标是骗过D,即让D对G生成的图片评分越大越好。第一行表示随机采样,将样本输入到G中就会得到一些图片。第二行表示对G进行训练,是D对G产生的图片评分越高越好,G(z^i )表示G通过随机输入生成的图片,D(G(z^i ))表示D对G生成的图片进行打分,目标就是是这个打分越高越好,所以整体训练目标是是目标函数最大,同样可以通过梯度下降进行训练。

注意:以上算法只是举了一个例子,在真是问题中,可以根据需要调整采样方式,目标函数,以及训练方式。

一个例子

上图下方变量表示输入(实际上输入是几十维的,这里的二维只是举例),(0,0)的输入可能表示左边的人脸,(0.9,0.9)可能表示右边一列的人脸,通过不断调整输入,G可以产生从左到右变化的人脸。这一过程可以由GAN通过训练自己得到。

Structured learning

传统的机器学习

        传统的机器学习可以表示为一个函数,即,找一种x与y之间的对应关系,在给定输入x的情况下,能输出y:如回归,输出一个数值,分类问题,输出一个类。而结构学习是输出一个序列,一个矩阵,一张图片之类的带有结构关系的输出。如下图所示:

结构学习

上图输入一个句子,进行翻译,输入一张黑白图,产生一张彩色图,甚至输入一段文字,输出一张图片等,都是结构学习,结构学习问题是具有挑战性的,因为在进行学习的时候,机器需要更具有“智能”,有一种大局意识,规划意识,如在产生图片的时候,他要考虑到图片的布局,而不是单纯的输出一个个向量,在进行翻译的时候,要对整句话有规划,不能简单地输出一个个字符。

结构学习的挑战——全局意识
GAN——结构学习的方法

传统的结构学习方法一种是基于成分的学习方法,这样会忽略component之间的关系,效果较差,另一栋是从整体来对输出进行评估,实际效果也不理想。而GAN则是将两者结合起来,Generator完成component水平上的工作,Discriminator完成整体评价的任务,因而就产生了GAN。

两个问题:为什么G不能自己学习?

G的过程

G要做的就是给定向量,生成一个图片,如果能自己学习的话,G应该是通过对不断的输入向量-图像对进行训练学习,最后能实现给定向量输出图片,那么向量—图像对怎么获得呢,有人可能会想,向量随机生成就可以了,给定随机生成的向量,输出指定的图形,但是图像之间的相似性无法通过向量之间的区别进行捕捉,比如同样是一,一个是左偏的,一个是有偏的,他俩是存在相似性的,但是如果表示他们的向量是随机生成的话,可能就无法表示这种规律。而且,进行机器学习的时候需要存在大量的样本,分类器才能将不同的样本分成不同的类,每一类包含大量具有共同特征的样本,但是在G的训练中,可能每一类只有一个图片,类似于在进行分类的时候有很多类,每个类中可能只有一个图片,而且训练集和测试集中的图片不重合。G可能生成之前完全不存在的图片。在这个时候,一种根据图像获得向量的方法就是auto-encoder:

auto-encoder

Auto-encoder由一个编码器和一个解码器构成,编码器编码规则,将一个图片编码成一个向量,解码器根据规则将向量解码为图片,两个同时训练就可以在输入一个图片的情况下尽可能输出相似的图片(本人没有了解过auto-encoder,以上解释仅是对课程粗浅的理解,如有错误请见谅),而Generator就是起到了解码器的功能。

解码器与Generator
auto-encoder的不足

根据auto-encoder得到一个向量对应一张图片,如上图向量a对应左斜的1,b对应右斜的1,但是如果把他们平均一下呢,他并不会产生正的有,因为NN Genarator是非线性的神经网络,实际产生的并不一定是数字。

VAE

为了让auto-encoder产生图片,在输出时不止产生code(向量),还会产生每一纬的变量,从一个分布里采样一些noise,将Noise和变量相乘,然后加到code上,将合成后的code输入到decoder里,让其还原原来的图片,有了这个技术,则机器在看到code+噪音的时候,也会产生合理的结果,而不会产生None,使训练的结果更具稳定性。但是这种训练方法还是会出现一些偏误,可能会出现和原始输入有区别的图片,这时如何对结果进行选择显得十分重要,

如上图所示,单纯的使输入与目标越像越好,则机器可能会选择第一排的图片,因为前两张只错了一个像素,但是从事实来看,后两张图片才更像人手写的数字。这就是机器忽略了输出的每一纬度每一个component之间的相关性。

如何解决

如果不用GAN,还是用auto-encoder的话,理论上来说可以通过加深网络的层数来实现得到和GAN一样的结果。

如何用Discriminator来生成image
G与D的特点
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容