GAN——看台湾大学,李宏毅教授视频(introduction)


一.介绍

1.generator:

最简单的过程:丢入一个向量,经过generator就会产生一个图片或者句子。

最基础的思想:generator是一个神经网络,即也是一个函数。输入vector有一个项改变了,就会改变生成东西的内容。

 

2.discriminator:

最简单的过程:丢入一个图片或者句子,经过discriminator就会产生一个scalar,scalar越大就表示越真。

 

3.generator和discriminator的关系就像是枯叶蝶和鸟的关系

 

4.每一代discriminator会判别generator,而下一代generator要试图骗过discriminator,即adversarial"对抗":

5.算法

Step1:初始化G和D

Step2:(在每个训练期里面)

          1)固定G,更新D:

                                       (1)丢入两组数据,给D一个是G产生的,一个是原始数据库中的。

                                       (2)从一个分布中取出m个噪音样列向量,把它们丢到G里。

                                        (3)使得,D在输入原始数据后,尽量输出1;在输入G的数据后尽量输出0。.

                                         \widetilde{V}=\frac{1}{m}\sum logD(x^i)+\frac{1}{m}\sum log(1-D(x'^i))(注意:这个不是损失函                                                          数,而是要让式子越大越好)

                                          \theta _d<- \theta _d+\eta \widetilde{V}(\theta _d)(所以:这里也不是减号,而是加号)

          2) 固定D,更新G:

                                        (1)D和G合起来是一个巨大的网络,中间有一层输出就会是图片。

                                        (2)固定最后几层,只调前面几层,使得输入后,结果能够越来越大。

                                        (3)再次从分布中取出m个噪音。

                                          \widetilde{V}=\frac{1}{m}\sum log(D(G(z^i)))

                                           \theta_g <- \theta _g+\eta \widetilde{V}(\theta_g)

6.structured learing:输出的不是scalar,不是one-hot,而是一个序列,矩阵,图,树等等。

   为此它的作用很神奇:

                                      输入一个向左看的人脸,慢慢地,它可以向右看。

                                      输出一个问题,它可以输出一个回答。

                                      输入东西,并限制条件,它生成的东西也可以有条件的特征。

 

8.generator可以自己学吗

                1)一个产生器和分类器的对比图,很有启发性:

                   

                   2)auto-encoder 和 auto-decoder:

                     

                    3)variational Auto-encoder(VAE):(可以使生成器更稳定)

                           

                   4)但是它的缺点就是,和目标越像越好并不一定是真的好,

                         (上面两图差一个像素,下面两图差六个像素,但是,

                             下面的更像是人们所乐意看到的数字2)

                                                    

9.discriminator可以自己学吗

                  1)discriminator在不同领域的不同名字:evaluation function, potential function, energy function

                  2)  discriminator在检查上非常有优势,比如上面的情况,CNN加一个filter就可以搞定。

                  3)只用第一代差数据,新一代的作为负样本,旧一代作为正样本。

                  4)在做GAN的时候很难知道自己有没有overfit

10.G和D的优劣:

         G:

                      优:很容易产生,即便是深度模型

                      劣:1)模仿外表

                             2)很难学习到组件间的一致关系

         D:

                      优:具有全局管

                      劣:1)生成不总是很灵活,尤其是模型是深度的时候

                             2)怎样做负样本?

11.GAN的优势:

               从D的角度:就可以不用解。。。?,直接由G生成东西

               从G的角度:1)生成的东西任然是由组件组成的

                                    2)但是,因为D而更具有全局观

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值