GAN 是什么,简单的把 GAN 分成 3 中形态,我们先从第一种形态讲起,首
先要找到一个 Generator,Generator 就是一个 funcon,这个 funcon 的输入是
一个 random 的 vector,当 vector 输入后,这个 Generator 就会生成一个我们需
要他生成的东西,举例来说,假设我们要机器生成动画人物头像,首先我们需
要 先 搜 集 很 多 动 画 人 物 的 头 像 , 我 们 先 把 他 们 喂 给 Generator , 后 面 讲
Generator 怎么吃这些头像,然后自己产生新的相关图片。
先从最基本的 GAN 讲起,假设你要让 Generator 画一张二次元的画,那么
Generator 就会输出一张图片,这个图片可以想成一个高维向量。现在呢,这个
Generator 输 入 一 个 低 维 度 的 向 量 , 比 如 7 维 度 , 10 维 度 的 向 量 , 通 过
Generator,产生一张,比如说 96×96,RGB 3 通道的图片,这个图片的维度就是
96×96×3 的高维度向量,Generator 就可以看做一个低维向量到高维向量的一个
funcon。但是,GAN 不止有 Generator,还有 Discriminator,Discriminator 的输
入是一个图片,输出是一个分数,分数的含义是我们这个输入像不像我们需要
的图片,高分数意味着接近真实图像,像二次元头像,低分数意味着远离真实
图像,不像二次元头像。
下面讲一下 Generator 和 Discriminator 是怎么被训练出来的,Generator 和
Discriminator 都是神经网络,具体的架构是怎么样的就取决于你要做的任务是
怎 样 的 , 假 设 你 要 让 Generator 生 成 的 是 图 片 , 那 显 然 Generator 和
Discriminator 就需要 de-convoluon layer,如果你要让 Generator 生成的是文章,
那显然 Generator 和 Discriminator 就需要 RNN 来生成句子。所以先不说具体的
架 构 , 先 说 一 下 具 体 的 算 法 , 第 一 步 , 是 固 定 Generator , 只 训 练
Discriminator,刚才说了,Discriminator 是看到好的图片就给他高分,看到不好
评论0