视频:GAN论文逐段精读【论文精读】_哔哩哔哩_bilibili
课程:CS231n 2022PPT笔记- 生成模型Generative Modeling
李宏毅机器学习——对抗生成网络(GAN)_iwill323的博客-CSDN博客
拓展网站:This Person Does Not Exist
https://www.reddit.com/r/MachineLearning/top/?t=month
博文:本文主要参考下面博文并摘取了文字和图片李沐论文精读系列一: ResNet、Transformer、GAN、BERT_神洛华的博客-
要想较为详细了解GAN,推荐博文:生成对抗网络,从DCGAN到StyleGAN、pixel2pixel,人脸生成和图像翻译。_神洛华的博客-CSDN博客_人像油画生成 对抗网络
目录
1.简介
GANs(Generative Adversarial Networks,生成对抗网络)是从对抗训练中估计一个生成模型,其由两个基础神经网络组成,即生成器神经网络G(Generator Neural Network) 和判别器神经网络D(Discriminator Neural Network)
生成器G从给定噪声中(一般是指均匀分布或者正态分布)采样来合成数据,判别器D用于判别样本是真实样本还是G生成的样本。G的目标就是尽量生成真实的图片去欺骗判别网络D,使D犯错;而D的目标就是尽量把G生成的图片和真实的图片分别开来。二者互相博弈,共同进化,最理想的状态下,G可以生成足以“以假乱真”的图片G(z);对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5,此时噪声分布接近真实数据分布。
发展:
2 导论
深度学习是用来发现一些丰富的、有层次的模型,这些模型能够对AI里的各种数据做一个概率分布的表示。深度学习网络只是一种手段而已。
深度学习不仅是学习网络,更是对数据分布的一种表示。这和统计学习方法里面的观点不谋而合,后者认为机器学习模型从概率论的角度讲,就是一个概率分布Pθ(X) (这里以概率密度函数来代表概率分布)
机器学习的任务就是求最优参数θt ,使得概率分布 Pθ(X) 最大(即已发生的事实,其对应的概率理应最大)。
argmax 函数代表的是取参数使得数据的概率密度最大。求解最优参数θt的过程,我们称之为模型的训练过程( Training )
深度学习在判别模型上取得了很好的效果,但是在生成模型上比较差。难点在于最大化似然函数时,要对概率分布做很多近似,近似带来了很大的计算困难。
本文的核心观点就是, 不用再去近似似然函数了,可以用更好的办法(GAN)来计算模型。
GAN是一个框架,里面的模型都是MLP。生成器G这个MLP的输入是随机噪声,通常是高斯分布,然后将其映射到任何一个我们想去拟合的分布;判别器D也是MLP,所以可以通过误差的反向传递来训练,而不需要像使用马尔可夫链这样的算法对一个分布进行复杂的采样。这样模型就比较简单,计算上有优势。
3 相关工作
之前的生成模型总是想构造一个分布函数出来,同时这些函数提供了一些参数可以学习。这些参数通过最大化对数似然函数来求解。这样做的缺点是,采样一个分布时,求解参数算起来很难,特别是高维数据。因为这样计算很困难,所以最近有一些Generative Machines,不再去构造分布函数,而是学习一个模型来近似这个分布。
前者真的是在数学上学习出一个分布,明明白白知道数据是什么分布 ,里面的均值方差等等到底是什么东西。而GAN就是通过一个模型来近似分布的结果,而不需要构造分布函数。这样计算起来简单,缺点是不知道最终的分布到底是什么样子。
对f的期望求导,等价于对f自己求导。这也是为什么通过误差反向传递来对GAN求解。
生成模型可以解决密度估计问题,有两种方式:
- 显式密度模型会显式地给出一个和输入数据的分布pmodel(x)
- 隐式密度模型训练一个模型,从输入数据中采样,并直接输出样本,而不用显式地给出分布的