深度学习11--GAN进阶与变种

基础 GAN 存在的问题

在开始讲解变种之前,首先讲一下GAN 存在的问题。第一个问题就是判别器D太强了,损失都是0。假设判别器D能力强,G vl生成的图片与真实图片相差巨大,G v2生成的图片与真实图片相差不多,但是判别器都能完美地识别出所有的正负样本,这样就无法知道G v1更好还是G v2更好了。第二个问题就是生成多样性的问题,也称为Mode Collapse。

反卷积

去卷积、反卷积、上采样,都是一个概念,都是扩大特征图尺寸的,英文是 Deconvolution。

空洞卷积

空洞卷积就是扩张、膨胀之意。卷积核的大小,通常就意味 着感受野的大小,卷积核越大,感受野就越大,但是相应的计算量也会成倍地增加。

在WGAN 出现之前,如何解决Loss=0 的梯度消失问题呢?可以在真实图片和生成 图片上增加噪声,以试图增加两个分布的宽度,来让他们产生重叠。这里举一个极端的例 子,假设两个图片都加上百分之百的服从正态分布的噪声,那么这张图片不管原来如何,现在一定服从同一个分布。通过增加噪声,来强行拉近Pdata和Pg 的距离。然后随着训练的 进行,增加的正态分布的噪声的方差逐渐减小,以至于最后去掉噪声,这也是退火算法的一 种体现。这个方法仅仅解决了判别器过强导致的梯度消失问题,梯度不稳定和多样性问题依旧 没有办法解决,而这两个问题是由于KL 和 JS距离的性质导致的,所以WGAN 提出的办法 就是使用Wasserstein 距离代替JS 散度,实现质的优化。

那么如果想把GAN 改成WGAN, 那么如何操作呢?主要有4个部分:

(1)修改判别器D 的 Loss函数;

(2)修改生成器G 的 Loss函数;

(3)去掉判别器D 的最后一个Sigmoid 层;

(4)增加Weight Clipping。

太大了,会造成梯度爆炸问题,太小 了,会造成梯度消失问题。GP 项是对每一个样本都进行独立的梯度惩罚,因此需要保证每一个样本的独立性,所 以在模型中不能使用BN, 因为BN 层会让同一个 Batch 的不同样本之间产生关系。

VAE-GAN

(1)VAE 缺点:生成图像比GAN 模糊。

(2)GAN 缺点:模型坍塌 mode collapse和梯度消失。

生成器G 的 Loss 函数包含3个部分:

(1)生成图像应该更接近原始图像,而且生成的 mean 和logstd也应该满足标准分布;

(2)生成图像应该可以被Classifier 判断出对应的类别;

(3)生成图像应该可以被判别器D 判断成是真实的图像。

相关推荐
政安晨2 小时前
政安晨【零基础玩转开源AI项目】- AutoGPT:全球首个自主AI Agent从入门到实战(致敬OpenClaw的小回顾)
人工智能·ai·autogpt·全球首个agent框架·致敬openclaw之作·参考价值·ai开源agent框架
Shawn_Shawn6 小时前
mcp学习笔记(一)-mcp核心概念梳理
人工智能·llm·mcp
33三 三like8 小时前
《基于知识图谱和智能推荐的养老志愿服务系统》开发日志
人工智能·知识图谱
芝士爱知识a8 小时前
【工具推荐】2026公考App横向评测:粉笔、华图与智蛙面试App功能对比
人工智能·软件推荐·ai教育·结构化面试·公考app·智蛙面试app·公考上岸
腾讯云开发者10 小时前
港科大熊辉|AI时代的职场新坐标——为什么你应该去“数据稀疏“的地方?
人工智能
工程师老罗10 小时前
YoloV1数据集格式转换,VOC XML→YOLOv1张量
xml·人工智能·yolo
yLDeveloper10 小时前
从模型评估、梯度难题到科学初始化:一步步解析深度学习的训练问题
深度学习
Coder_Boy_10 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
啊森要自信10 小时前
CANN ops-cv:面向计算机视觉的 AI 硬件端高效算子库核心架构与开发逻辑
人工智能·计算机视觉·架构·cann