IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【深度学习】生成对抗网络GAN|GAN、WGAN、WGAN-UP、CGAN、CycleGAN、DCGAN -> 正文阅读

[人工智能]【深度学习】生成对抗网络GAN|GAN、WGAN、WGAN-UP、CGAN、CycleGAN、DCGAN


论文连接: 必读的10篇关于GAN的论文

方法通俗含义
对抗学习找对手互怼GAN
自监督学习自己找标签学习GAN、word2vec
弱监督学习学校拧螺丝、工作造火箭CAM(可解释性分析)
半监督学习标签不够多、不够难、不够准
知识蒸馏找老师教我学习
多模态学习调动各类感官学习
迁移学习举一反三学习fine-tuning
集成学习三个臭皮匠学习
联邦学习用别人的学习资料学习解决隐私计算问题

生成对抗网络理论基础:GAN、WGAN、Improved GAN。

非条件GAN
StyleGAN
GAN
DCGAN
PGGAN
条件GAN
LoGAN
WGAN
CGAN
ACGAN
ProjGAN
SNGAN
SAGAN
BigGAN
Image Translation
StarGAN-v1-v2
ImprovedGAN
pix2pix
CycleGAN
UGATIT

一、Typical GAN

在这里插入图片描述
框架结构:
生成对抗网络由两个部分组成:生成器(Generator)和判别器(Distriminator)

  • 生成器:生成一个真实数据类似的数据分布(伪造数据)
  • 判别器:判断生成器生成的图片是真的还是假的(鉴别数据),类似于一个二分类器
    在生成对抗模型框架中,有两个模型一个是生成模型G,一个判别模型D。生成器G根据隐含信息来随机生成观测数据,判别器D判别生成器生成的数据是真还是假。当判别器D判断生成器G生成了假数据后给生成器G一个惩罚,这导致生成器G被迫向“不受到”判别器D惩罚的方向进化学习,二者就构成了一个动态的博弈过程,到最后生成器G会生成出一个判别器D无法判断的数据,二者达到了纳什均衡,因此得到了所需要的生成器模型G。
    在这里插入图片描述

优化目标函数:

min ? G max ? D V ( D , G ) = E x ~ p d a t a ( x ) [ l o g D ( x ) ] + E z ~ p z [ l o g ( 1 ? D ( G ( z ) ) ) ] \min_{G}\max_{D}V(D,G)=\mathbb{E}_{x\sim p_{data}}(x)[logD(x)]+ \mathbb{E}_{z\sim p_{z}}[log(1-D(G(z)))] Gmin?Dmax?V(D,G)=Expdata??(x)[logD(x)]+Ezpz??[log(1?D(G(z)))]
其中,G表示生成器,D表示判别器,data,x为真实样本的眼本空间和真实样本,z表示输入的噪声。

判别器的输出为
生成器G:
生成器G是为了生成与真实数据相差较小的数据,因此其目的是最小化目标函数,在训练G时控制判别器D保持不变,优化函数为: min ? G E z ~ p z [ l o g ( 1 ? D ( G ( z ) ) ) ] \min_{G}\mathbb{E}_{z\sim p_{z}}[log(1-D(G(z)))] Gmin?Ezpz??[log(1?D(G(z)))]
若想使该函数最小, D ( G ( z ) ) ) = 1 D(G(z)))=1 D(G(z)))=1成立,意思为G希望判别器D将生成器生成的图片G(z)判别为真样本,骗过了判别器D。
判别器D:
在训练判别器D时,控制生成器G不变,更新D,优化函数为:
max ? D V ( D , G ) = E x ~ p d a t a ( x ) [ l o g D ( x ) ] + E z ~ p z [ l o g ( 1 ? D ( G ( z ) ) ) ] \max_{D}V(D,G)=\mathbb{E}_{x\sim p_{data}}(x)[logD(x)]+ \mathbb{E}_{z\sim p_{z}}[log(1-D(G(z)))] Dmax?V(D,G)=Expdata??(x)[logD(x)]+Ezpz??[log(1?D(G(z)))]
若想使该函数最大,那么每一部分最大,由于必须保证判别器的输出在[0,1]之间。所以该函数最大, D ( x ) = 1 D(x)=1 D(x)=1, D ( G ( z ) ) ) = 0 D(G(z)))=0 D(G(z)))=0。判别器希望判断出真实样本并且将生成的数据判别为假样本。
既然生成器的目标是最小化生成数据和真实数据之间的距离那么鉴别器就是最大化两者的距离,针对如何计算生成数据和真实数据之间的距离,引入了JS散度的概念来计算,事实上也可以看成是交叉熵乘一个负号。


二、WGAN

GAN,WGAN,WGAN-GP 通俗易懂的原理解释 这个博客写的很好,规避了复杂的数学公式,简单明了地介绍了三者之间的关系,值得学习。

解决了typcial GAN因为JS度量导致生成器G无法学习的问题。
使用JS的缺点: 生成数据跟真实数据之间,使用JS散度去度量这两个数据之间的距离,但是无论这两个距离是什么情况,只要不重叠,JS散度一直都是Log2,只有当这两个数据重合的时候,JS散度才为0。很显然当这两个分布不重叠的时候,二分类正确率却一直为100%,没有办法区别一个好的程度这样一个过程,所以这样就显得没有实际意义。

使用推土距离Wasserstein distance代替JS散度: 使得生成数据和真实数据无交集的时候不会出现像JS一样处于恒等值的方向,使得生成器会一直向好的地方发展而不是之间停止。

在这里插入图片描述
其中对于判别器,WGAN作出了限制即必须满足1-lipschitz的条件,该条件的目的是为了让生成数据和真实数据之间不会相差太大使得推算出来的推土机距离不会过大否则无任何意义,而WGAN中让判别器满足1-lipschitz的条件的方法其实相对较为简单如下图所示:
在这里插入图片描述


三、Improved GAN (WGAN-GP)

除了WGAN的权重修建??(weight clipping)策略以外,还有梯度惩罚策略。在损失函数中添加惩罚项。
在这里插入图片描述


四、Conditional GAN(CGAN)

在这里插入图片描述

非条件GAN模型是只向生成器输入一个数据分布,根据该数据分布进行学习。而条件GAN模型在输入一个数据分布的同时额外输入一段向量规定生成的图像包含什么特征,这就是conditional GAN。


五、CycleGAN

CycleGAN属于无监督的条件GAN,可以解决不清楚输入和输出对应关系的问题。常见到的应用是风格转换。
在这里插入图片描述

主要思想: 训练四个网络并形成一个Cycle输入一幅图像生成另一个风格图像再让生成图像生成回原来的图像风格,这样的一个形式就是CycleGAN的主要思想,事实上它在训练四个网络包括两个生成器和两个判别器


六、🌟DCGAN

生成器
在这里插入图片描述

DCGAN的生成器网络结构相较于传统的GAN,DCGAN使用了卷积层代替全连接层,具有四个反卷积层,整个网络没有pooling层和上采样层,石景山使用了带步长(fractional-strided)的卷积/ 专置卷积(tansposed conv)代替了上采样,以增加训练的稳定性。

转置卷积:
需填充计算。
在这里插入图片描述
判别器
在这里插入图片描述
使用strided convolutions进行下采样。

Leaky ReLu
ReLU是将所有的负值都设为零,相反,Leaky ReLU是给所有负值赋予一个非零斜率。Leaky ReLU激活函数是在声学模型(2013)中首次提出的。以数学的方式我们可以表示为:

y = { x , x ≥ 0 x a , x < 0 y=\left\{\begin{matrix} x,x\ge 0 \\ \frac{x}{a} ,x< 0 \end{matrix}\right. y={x,x0ax?,x<0?

在这里插入图片描述

Tricks

  • 在网络深层去除全连接层
  • 使用带步长的卷积代替池化
  • 在生成器的输出层使用tanh函数(生成器的输出层需要一个完整的映射所以使用tanh函数),其他层使用ReLu
  • 在判别器中使用leaky Relu激活函数
  • 除了生成器G的输出层和判别器D的输入层,其它层上都使用了Batch Normalization,BN可以稳定学习,有助于处理初始化不良导致的训练问题

参考文章

文章
李宏毅机器学习笔记:GAN
GAN,WGAN,WGAN-GP 通俗易懂的原理解释
各种GAN原理总结及对比
激活函数ReLU、Leaky ReLU、PReLU和RReLU

图片
https://medium.com/towards-data-science/cgan-conditional-generative-adversarial-network-how-to-gain-control-over-gan-outputs-b30620bd0cc8

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:15:35  更:2022-10-22 21:18:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 23:20:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码