李宏毅——GAN笔记_day01

Basic Idea of GAN

生成式对抗网络(GAN, Generative Adversarial Networks )
其中有两个重要的概念分别是Generator and Discriminator。

Generator

它本质是一个神经网络。输入为向量vector,输出为图像,也就是高维的vector。
vector的每一个维度都代表了一些特征。
在这里插入图片描述

Discriminator

它的本质同样是一个神经网络。只不过它的输入是图片,输出 是一个数值scalar。
这个数值大就表示为prob越大,越像真的,小则为假。
在这里插入图片描述

G and D 的关系

老师 和学生的比喻。(佐助和鸣人的关系)
在这里插入图片描述

Algorithm 算法

初始化generator和discriminator后,在每一次迭代的过程中:

Step1:固定住Generator,调discriminator的参数。

在generator输入随机的vector会产生很多图片。我们本身有一个database,里面都是二次元任务头像,我们从里面sample出一些头像。
我们要调整discriminator的参数:要给database里面的图片高分,给generated objects低分。
在这里插入图片描述

Step2 固定discriminator,调generator的参数。

需要调整generator的参数,使discriminator的输出越大越好。
其实在实际中,会把G和D两个神经网络接在一起。在这一步的话,就只调节前面几层hiddenlayer的值。
在这里插入图片描述

Math

在这里插入图片描述
Learning_D:
① 我们有一个database里面都是二次元人物头像,从这个database中sample出m张图片。m相当于batch_size。
② 我们从distribution中sample出m个vector。vector的维度是一个超参数,自己调整。
③根据m个vector,generator会产生m个image。
④调整discriminator:
我们要maxmize这个objective function:在这里插入图片描述
首先把m张真实的图片拿出来,让他们通过discriminator得到分数。取log后取平均值。我们要训练这个D,让真实图片,也就是D(xi)越大越好。
在这里插入图片描述
第二项意思是:让假的图片的值越小越好。
⑤ 设置hyper_parameters, 调整多少次。
对objecti_function取gradient,乘以learning_rate去调整参数。
在这里插入图片描述

Learning_G
① Sample m个 random vector。(随机取,不需要和之前相同)
② vector=>generator=>image=>discriminator=>数值scalar=>log==>平均值。
对objecti_function取gradient,乘以learning_rate去调整参数。

Structured learning

  1. 机器学习就是找到function。
    归回:返回一个数值; 分类:返回class。
    更复杂的问题则是返回 tree,matrix…等,这就是structured learning。
    在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值