码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 训练正常&异常的GAN损失函数loss变化应该是怎么样的


    这里以个人用到的一个网络为例,仅供参考,不代表所有情形。
    用tensorboard记录loss曲线的走向,横轴为迭代次数(iter),纵轴为损失(loss)值。


    正常的

    判别器loss
    在这里插入图片描述
    loss在2.6到3.4之间来回上下波动。注意,在tensorboard中,最好将Smoothing值调整为0,如果使用了Smoothing将比较难观察到loss的波动趋势,这里以Smoothing为0.999为例,还是展示判别器损失:
    在这里插入图片描述
    这个时候容易误判为判别器loss在稳步下降。不过实际上可以发现这个"下降"从3.25降到了3.05,所以本质上还是小范围波动。
    生成器loss
    在这里插入图片描述
    loss在3.0到3.6之间来回上下波动。类似的,观察Smoothing为0.999时的情况:
    在这里插入图片描述
    给人的感觉是生成器loss一直在往上跑,可能会怀疑生成器没在进一步学习;但实际上仔细看容易发现只是从3.25跑到了3.35,依旧是在一个小区间内波动,生成器的能力确实是在继续逐步增强的。


    生成器崩溃

    判别器loss
    在这里插入图片描述
    可以发现从3一路下降到了0.8,在训练一开始就有在快速下降。观察Smoothing为0.999时的情况:
    在这里插入图片描述
    生成器loss
    在这里插入图片描述
    可以发现从4一路上升到了6.5,在训练一开始就有在快速上升。观察Smoothing为0.999时的情况:
    在这里插入图片描述
    从结果的角度出发,在生成器loss快速上升的时候,其已经开始生成无意义的噪声图像:
    在这里插入图片描述


    小结

    从原理上来说,生成器和判别器从一开始都是非常弱的,因此一般不会在训练一开始两者损失就非常剧烈的波动。在训练一段时间达到稳定期后,生成器和判别器的损失都应该在一个小区间内波动,而不会有明显的持续上升/下降趋势。
    如果生成器损失持续明显上升,表明其无法学习怎么欺骗判别器,体现在结果上就是开始生成噪声。
    如果判别器损失持续明显上升,表示其无法学习怎么识别生成器,体现在结果上就是生成器可能会生成一致的,无意义的但是能欺骗判别器的图像(比如直接输出训练集中的样本)。

  • 相关阅读:
    access与trunk详细解析+区别
    【Django-02】 Model模型和模型描述对象Meta
    HotReload For Unity的文档的导航的翻译,添加了一些自己的理解。很垃圾
    Java学习 5.习题2.
    【C++】C++ 引用详解 ③ ( 函数返回值不能是 “ 局部变量 “ 的引用或指针 | 函数内的 “ 局部变量 “ 的引用或指针做函数返回值无意义 )
    【Windows系统5分钟搭建Linux环境】
    高频面试题:谈谈你对 Spring Boot 自动装配机制的理解
    快速安装docker-compose
    国内首家!阿里云 Elasticsearch 8.9 版本释放 AI 搜索新动能
    Java学习笔记
  • 原文地址:https://blog.csdn.net/qq_40714949/article/details/126117319
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号