GAN生成对抗性网络

一、GAN原理

**出发点:**机器学习中生成模型的问题

无监督学习是机器学习和未来人工智能的突破点,生成模型是无监督学习的关键部分

特点:

  1. 不需要MCMC或者变分贝叶斯等复杂的手段,只需要在G和D中对应的多层感知机中运行反向传播或者梯度下降算法
  2. 模型通常使用神经网络,其拟合能力最好

****G(Generator):****用于捕获数据分布的生成模型(生成图像的网络);接收到随机的噪声z,通过噪声z生成图像。尽可能多地模拟、建模和学习真实数据的分布规律。

****D(Discriminator):****用于判别数据是真实数据还是生成数据(伪数据)的判别模型(判别图像真伪的网络):输入一张图像,输出代表其为真实图像的概率值,100%即判断该图像是真的。

训练过程:

通过对抗性过程同时训练两个模型,训练过程中,生成器逐渐擅长创建更为真实的图像,鉴别器逐渐擅长判断真伪,当鉴别器没有办法判断图像真伪时,该训练过程达到平衡。

  • 动态博弈过程:G尽可能生成真实的图像欺骗判别网络D,D尽量区别G生成的图像和真实的图像
  • 博弈结果:理想情况下,达到纳什均衡点,G生成可以"以假乱真"的图像

D(x):D网络判断真实图片是否真实的概率,因为x本来就是真实的,所以该值越接近1越好

D(G(z)):D网络判断G生成的图片是否真实的概率

对于G:G希望自己生成的图片越接近真实越好,即G希望D(G(z))尽可能大,V(D, G)会变小,所以对于G是min_G

对于D:D的能力越强,D(x)越大,D(G(x))越小,V(D,G)会变大,所以对于D是求最大max_D

二、GAN框架

第一步训练D时,V(G, D)越大越好,所以加上梯度ascending

第二步训练G时,V(G, D)越小越好,所以减去梯度descending

整个训练过程交替进行

体系结构:

  • 传统生成模型的优化目标:数据的似然
  • GAN创新地使用另外一个优化目标:①引入判别模型②优化过程是在生成模型和判别模型之间找纳什均衡

三、GAN实现过程

1.前向传播阶段

模型输入:

随机产生一个随机向量作为生成模型的输入数据,然后经过生成模型后产生一个新的向量,即为Fake Image

从数据集中随机选择一张图片,将图片转化成向量,即为Real Image

模型输出:

fake image和real image是判别网络的输入,根据输入的图片类型是Fake Image或Real Image将判别模型的输入数据的label标记为0或者1。即判别模型的输入类型为(xfake,0)或者(xreal,1)。

经过判别网络后输出一个0到1之间的数,用来表示输入图片为真实图像的概率。

2.反向传播阶段---优化目标

①优化D

②优化G

3.损失函数

希望生成样本和真实样本拥有相同的概率密度函数

GAN的损失函数源自于二分类对数似然函数的交叉熵损失函数。第一项是使正样本的识别结果尽量为 1 ,第二项是使负样本的预测值尽量为 0

损失函数:

4.迭代更新

得到损失函数后按照单个模型的更新方法进行修正

四、GAN特性

采用对抗思想的原因:评估一个生成样本的质量,是一个很难量化的指标。对抗思想,把评估生成样本的质量的任务交给一个判别器模型去做

特点:

传统模式相比,有两种不同的网络,采用对抗训练方法

缺点:

训练GAN需要达到Nash均衡,有时候可以通过梯度下降方法实现,有时候不能;

GAN不适用于处理离散数据,如文本;

GAN存在训练不稳定、梯度消失和模态崩溃等问题

五、GAN应用

用于无监督学习和半监督学习

GAN与强化学习相结合

图像样式转换、图像降噪和恢复、图像超分辨率

计算机视觉,图像、文本、语音,或者任何含有规律的数据合成

用于分类领域:将判别器替换为分类器,执行多个分类任务

六、其他

①早停法(Early Stopping):

生成器或鉴别器损失突然增加或减少

损失函数随机上升或下降,可能得到生成器的损失远远高于判别器的损失

②处理Mode Collapse(模式坍塌|生成器"崩溃",总是将每一个输入的隐向量生成单一的样本)问题时,尝试使用较小的学习率,并从头开始训练

③添加噪声:在真实数据和合成数据中添加噪声,提高判别器的训练难度有利于提高系统的整体稳定性

④标签平滑:将标签值设置成一个低一些的值,阻止判别器对分类标签过于确信

⑤多尺度梯度(处理不太小的尺度时使用):由于两个网络之间的多个跳连接,梯度流从判别器流向生成器,和传统的用于语义分割的U-Net类似

⑥双时间尺度更新规则:使用不同的学习速率;为判别器选择一个更高的学习率(生成器必须用更小的更新幅度来欺骗判别器,不会选择快速、不精确和不现实的方式赢得博弈)。使用TTUR时,生成器有更大的损失量

⑦谱归一化:应用于卷积核的一种特殊的归一化,可以极大地提高训练的稳定性

参考链接:GAN-生成对抗性神经网络 - 知乎

相关推荐
szxinmai主板定制专家4 分钟前
【国产NI替代】基于FPGA的32通道(24bits)高精度终端采集核心板卡
大数据·人工智能·fpga开发
海棠AI实验室7 分钟前
AI的进阶之路:从机器学习到深度学习的演变(三)
人工智能·深度学习·机器学习
机器懒得学习19 分钟前
基于YOLOv5的智能水域监测系统:从目标检测到自动报告生成
人工智能·yolo·目标检测
QQ同步助手33 分钟前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
AIGC大时代36 分钟前
如何使用ChatGPT辅助文献综述,以及如何进行优化?一篇说清楚
人工智能·深度学习·chatgpt·prompt·aigc
流浪的小新41 分钟前
【AI】人工智能、LLM学习资源汇总
人工智能·学习
martian6652 小时前
【人工智能数学基础篇】——深入详解多变量微积分:在机器学习模型中优化损失函数时应用
人工智能·机器学习·微积分·数学基础
人机与认知实验室3 小时前
人、机、环境中各有其神经网络系统
人工智能·深度学习·神经网络·机器学习
黑色叉腰丶大魔王3 小时前
基于 MATLAB 的图像增强技术分享
图像处理·人工智能·计算机视觉
迅易科技6 小时前
借助腾讯云质检平台的新范式,做工业制造企业质检的“AI慧眼”
人工智能·视觉检测·制造