如下所示GAN输出的训练日志

Epoch: [ 1] [ 468/ 500] time: 4728.2349, d_loss: 4.07427502, fake_loss: 4.04856014, real_loss: 0.02571472, g_loss: 6.09300184
Epoch: [ 1] [ 469/ 500] time: 4731.1465, d_loss: 3.99250102, fake_loss: 3.96739197, real_loss: 0.02510899, g_loss: 5.91527224
Epoch: [ 1] [ 470/ 500] time: 4734.1464, d_loss: 2.95108366, fake_loss: 2.02483487, real_loss: 0.92624891, g_loss: 6.98860884
Epoch: [ 1] [ 471/ 500] time: 4737.0128, d_loss: 3.63805246, fake_loss: 3.60547066, real_loss: 0.03258171, g_loss: 6.16138554
Epoch: [ 1] [ 472/ 500] time: 4740.0376, d_loss: 2.79514408, fake_loss: 2.63232374, real_loss: 0.16282040, g_loss: 6.15056276
Epoch: [ 1] [ 473/ 500] time: 4742.9008, d_loss: 3.38974905, fake_loss: 3.32761765, real_loss: 0.06213144, g_loss: 5.87860966
Epoch: [ 1] [ 474/ 500] time: 4745.8732, d_loss: 3.48325801, fake_loss: 3.47971010, real_loss: 0.00354792, g_loss: 5.61753035
Epoch: [ 1] [ 475/ 500] time: 4748.7309, d_loss: 3.30880904, fake_loss: 2.85620737, real_loss: 0.45260173, g_loss: 6.53223276
Epoch: [ 1] [ 476/ 500] time: 4751.7712, d_loss: 3.08520770, fake_loss: 2.22547674, real_loss: 0.85973096, g_loss: 7.28343534
Epoch: [ 1] [ 477/ 500] time: 4754.6127, d_loss: 3.23970866, fake_loss: 3.21050930, real_loss: 0.02919928, g_loss: 6.13153982
Epoch: [ 1] [ 478/ 500] time: 4757.5939, d_loss: 3.72340441, fake_loss: 3.64948988, real_loss: 0.07391454, g_loss: 6.10789824
Epoch: [ 1] [ 479/ 500] time: 4760.4764, d_loss: 3.33632994, fake_loss: 3.21529436, real_loss: 0.12103555, g_loss: 5.90366840
Epoch: [ 1] [ 480/ 500] time: 4763.4599, d_loss: 3.04063058, fake_loss: 2.57415485, real_loss: 0.46647564, g_loss: 6.37139893
Epoch: [ 1] [ 481/ 500] time: 4766.3039, d_loss: 3.18814778, fake_loss: 3.18276262, real_loss: 0.00538522, g_loss: 5.81689548
Epoch: [ 1] [ 482/ 500] time: 4769.3117, d_loss: 2.88918209, fake_loss: 2.44751954, real_loss: 0.44166249, g_loss: 6.34483957
Epoch: [ 1] [ 483/ 500] time: 4772.1745, d_loss: 3.35039783, fake_loss: 3.18180418, real_loss: 0.16859373, g_loss: 6.23565578
Epoch: [ 1] [ 484/ 500] time: 4775.1729, d_loss: 4.13123512, fake_loss: 4.10078049, real_loss: 0.03045487, g_loss: 5.98916435
Epoch: [ 1] [ 485/ 500] time: 4778.0524, d_loss: 3.72344589, fake_loss: 3.65170097, real_loss: 0.07174486, g_loss: 6.19677067
Epoch: [ 1] [ 486/ 500] time: 4781.0614, d_loss: 2.75713587, fake_loss: 2.32209563, real_loss: 0.43504018, g_loss: 6.68624544
Epoch: [ 1] [ 487/ 500] time: 4783.9377, d_loss: 3.99661183, fake_loss: 3.99253273, real_loss: 0.00407907, g_loss: 5.86462307
Epoch: [ 1] [ 488/ 500] time: 4786.9539, d_loss: 2.94620275, fake_loss: 2.19436288, real_loss: 0.75183994, g_loss: 6.48085737
Epoch: [ 1] [ 489/ 500] time: 4791.4465, d_loss: 3.95884061, fake_loss: 3.90659142, real_loss: 0.05224927, g_loss: 6.15112591
Epoch: [ 1] [ 490/ 500] time: 4797.7769, d_loss: 3.83195233, fake_loss: 3.80750990, real_loss: 0.02444242, g_loss: 5.97502804
Epoch: [ 1] [ 491/ 500] time: 4801.4432, d_loss: 2.78101063, fake_loss: 2.34172320, real_loss: 0.43928733, g_loss: 6.86819363
Epoch: [ 1] [ 492/ 500] time: 4807.5275, d_loss: 3.35740018, fake_loss: 3.18634367, real_loss: 0.17105654, g_loss: 6.35232353
Epoch: [ 1] [ 493/ 500] time: 4812.1661, d_loss: 3.57710028, fake_loss: 3.53673315, real_loss: 0.04036722, g_loss: 6.07262945
Epoch: [ 1] [ 494/ 500] time: 4818.2569, d_loss: 3.33233833, fake_loss: 3.20232630, real_loss: 0.13001196, g_loss: 6.00899410
Epoch: [ 1] [ 495/ 500] time: 4823.2864, d_loss: 3.86144495, fake_loss: 3.81807637, real_loss: 0.04336853, g_loss: 5.99790001
Epoch: [ 1] [ 496/ 500] time: 4828.9741, d_loss: 3.29455090, fake_loss: 3.05517721, real_loss: 0.23937358, g_loss: 6.35387850
Epoch: [ 1] [ 497/ 500] time: 4834.2971, d_loss: 3.20185351, fake_loss: 2.88803077, real_loss: 0.31382266, g_loss: 6.17356730
Epoch: [ 1] [ 498/ 500] time: 4840.0634, d_loss: 2.85306931, fake_loss: 2.68211555, real_loss: 0.17095384, g_loss: 6.24095392
Epoch: [ 1] [ 499/ 500] time: 4844.8105, d_loss: 3.75695109, fake_loss: 3.74643278, real_loss: 0.01051831, g_loss: 6.07072544
[Sample] d_loss: 3.90224910, g_loss: 13.18194199

通过日志输出的损失大小,可以初步判断D是训练次数不够的,因为D的吧G生成的图像很大概率判断成真了,因为fake loss偏大。按照0.5作为比较标准的话,那么判别器的loss因该是0.69左右才合适,明显这个判别器对真样本和生成样本都很大概率判断成真样本了,说明不是很好,这样的情况下需要增加D的训练次数。这里G的loss不是原始GAN的log(d(g(x))),所以,没有评价标准,如果这里的G loss是原始gan的loss的话,那么这里的G的loss就应该偏小才对,如果原始gan出现这种情况,那么就该增加D的训练次数,同理,要是real loss偏大,或者G的loss偏大,那么就要增加G的训练次数。

通过上述修正见下结果

Epoch: [ 0] [   1/ 500] time: 64.8840, d_loss: 0.85116410, fake_loss: 0.83811581, real_loss: 0.01304832, g_loss: 7.76426697
Epoch: [ 0] [   2/ 500] time: 67.8389, d_loss: 1.03823590, fake_loss: 1.03505087, real_loss: 0.00318509, g_loss: 7.51490021
Epoch: [ 0] [   3/ 500] time: 70.7466, d_loss: 0.32450223, fake_loss: 0.31290203, real_loss: 0.01160018, g_loss: 8.52584076
Epoch: [ 0] [   4/ 500] time: 73.6104, d_loss: 0.56391406, fake_loss: 0.55389690, real_loss: 0.01001717, g_loss: 7.78080940
Epoch: [ 0] [   5/ 500] time: 86.5351, d_loss: 0.56352222, fake_loss: 0.55384904, real_loss: 0.00967315, g_loss: 7.54131317
Epoch: [ 0] [   6/ 500] time: 90.5828, d_loss: 0.64782655, fake_loss: 0.63883263, real_loss: 0.00899389, g_loss: 7.57851410
Epoch: [ 0] [   7/ 500] time: 102.4376, d_loss: 0.90727967, fake_loss: 0.90105110, real_loss: 0.00622859, g_loss: 7.74293327
Epoch: [ 0] [   8/ 500] time: 107.6158, d_loss: 1.21272802, fake_loss: 1.20931554, real_loss: 0.00341244, g_loss: 7.27319956
Epoch: [ 0] [   9/ 500] time: 122.2964, d_loss: 0.86367071, fake_loss: 0.86000025, real_loss: 0.00367043, g_loss: 7.26012707
Epoch: [ 0] [  10/ 500] time: 133.1148, d_loss: 1.27289641, fake_loss: 1.27081740, real_loss: 0.00207904, g_loss: 7.01438046
Epoch: [ 0] [  11/ 500] time: 146.6726, d_loss: 1.10992002, fake_loss: 1.10505104, real_loss: 0.00486900, g_loss: 6.46944427

可以看到,fake loss明显下降,儿real loss也下降了,那说明增加d的次数起到了很好的优化D的效果。

但是由于本人做的pix2pix的实验,所以,G的loss无法跟D的loss进行完美的配合。因为G的loss主要是context loss主导的所以这种模型在平衡D的时候,怎么保证D的反向传播不是噪声去干扰G的生成是一个问题。。。。。。待研究明白了再说,或者有人指导下更好

GAN平衡G和D的训练相关推荐

  1. python图灵测试_最前沿:基于GAN和RL的思想来训练对话生成,通过图灵测试可期!...

    PS:本文分析略深,需要一定的RL和GAN的基础. 前两天,Stanford的NLP小组出了一篇神经网络对话生成的论文: 标题就是使用对抗学习来做神经对话生成. 这个idea非常的赞!在我看来是通往图 ...

  2. 理解GAN对抗神经网络的损失函数和训练过程

    GAN最不好理解的就是Loss函数的定义和训练过程,这里用一段代码来辅助理解,就能明白到底是怎么回事.其实GAN的损失函数并没有特殊之处,就是常用的binary_crossentropy,关键在于训练 ...

  3. 使用基于GAN的过采样技术提高非平衡COVID-19死亡率预测的模型准确性

    作者|THILAKADIBOINA 编译|Flin 来源|analyticsvidhya 介绍 本文介绍了生成性对抗网络(Generative attersarial Networks,GAN)的使用 ...

  4. Github项目推荐|可视化 GAN 的训练过程

    点击上方"算法猿的成长",关注公众号,选择加"星标"或"置顶" 总第 137 篇文章,本文大约 1000 字,阅读大约需要 5 分钟 今天介 ...

  5. 深入理解生成对抗网络(GAN 基本原理,训练崩溃,训练技巧,DCGAN,CGAN,pix2pix,CycleGAN)

    文章目录 GAN 基本模型 模型 GAN 的训练 模式崩溃 训练崩溃 图像生成中的应用 DCGAN:CNN 与 GAN 的结合 转置卷积 DCGAN CGAN:生成指定类型的图像 图像翻译中的应用 p ...

  6. ICML2020:预训练的GAN在有限数据下的生成器

    生成对抗网络可以生成高度逼真的图像,通常与真实图像是无法区分的.这样生成的大多数图像都没有包含在训练数据集中,说明用GAN生成的数据对增强数据集的能力很强.尽管在数据有限的情况下这种情况特别重要,但是 ...

  7. CMU 提出全新 GAN 结构,GAN 自此迈入预训练大军!

    文|林锐 众所周知,现在 GAN 的应用是越来越宽泛了,尤其是在 CV 领域.不仅可以调个接口生成新头像图一乐,也可以用 GAN 做数据增强让模型更加健壮. ▲嘉然你带我走吧嘉然! 在CV领域,不像分 ...

  8. 数据不够,Waymo用GAN来凑:生成逼真相机图像,在仿真环境中训练无人车模型...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 疫情当下,Waymo等自动驾驶厂商暂时不能在现实世界的公共道路上进行训练.测试了. 不过,工程师们还可以在GTA,啊不,在仿真环境里接着跑车 ...

  9. CVPR 2021 | 如何让GAN的训练更加高效优雅

    导读 近年来,生成对抗技术在诸多图像任务中得到运用,包括图像编辑和生成.风格迁移和转化.图文描述生成.少样本数据增强.图像攻防对抗以及 AI 字体设计等.图像生成对抗虽然取得不少成功运用案例,但其训练 ...

  10. 深度学习之生成对抗网络(6)GAN训练难题

    深度学习之生成对抗网络(6)GAN训练难题 1. 超参数敏感 2. 模式崩塌  尽管从理论层面分析了GAN网络能够学习到数据的真实分布,但是在工程实现中,常常出现GAN网络训练困难的问题,主要体现在G ...

最新文章

  1. python夹角余弦雷达图_性能可靠,可以全方位扫描的“千里眼”——先进的相控阵雷达...
  2. R语言使用caret包构建随机森林模型(random forest)构建回归模型、通过method参数指定算法名称、通过ntree参数指定随机森林中树的个数
  3. 内嵌在客户端的网页出现刷新问题
  4. [蓝桥杯][2019年第十届真题]修改数组(并查集)
  5. 学习vue.js的自我梳理笔记
  6. python入门第四章十大歌手 手机通讯录 神奇魔方阵 青春有你
  7. 非常好的Java反射例子
  8. 大数据面试题——如何从大量数据中找出高频词
  9. HBase性能优化方法总结 (转)
  10. JS 里的数据类型及几个操作
  11. 发现隐患里的自己,原来我是**人!
  12. ZStack基本工作原理
  13. app 播放服务器文件,配置apple-app-site-association文件并在服务器上传
  14. 【100%通过率】华为OD机试真题 Java 实现【处理器问题/ 高性能AI处理器】【2022.11 Q4 新题】
  15. 详细详解One Hot编码-附代码
  16. YOLOV7详细解读(一)网络架构解读
  17. ARM Linux对signal的处理过程
  18. php tcpdf 嵌入字体,TCPDF如何设置中文字体为内嵌字体?
  19. Spine IK 约束
  20. 天龙八部技术分析报告

热门文章

  1. 平昌县网上书城系统设计与实现
  2. 三菱st语言编译后报C9330,三菱plc编程用什么语言比较好?三菱编程语言的特点...
  3. 最难数独的快速解法 - python
  4. 最新的windows xp sp3序列号(绝对可通过正版验证)
  5. 辽宁省计算机考研排名,2014辽宁省大学研究生教育排行榜
  6. 动态时钟html代码_超炫酷的时钟软件推荐
  7. VirtualBox安装Windows 98步骤
  8. 【安全狐】robots协议详解(robots.txt)
  9. 如何彻底删掉360安全卫士(全是干货!!!)
  10. NSIS安装vcredist_64.exe