admin 管理员组文章数量: 887021
给大家分享一下keras GAN训练是loss不发生变化,accuracy一直为0.5怎么办,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨方法吧!
首先谈谈我的是如何解决的:
- 网络结构:AlexNet
- 优化器:Adam (这里正是问题所在)
- 框架:PyTorch
关于优化器,我最开始使用的的是 torch.optim.Adam()
,但是训练100个Epoch后,准确率始终在 49% ~ 50%。
解决方法: 换个优化器!我使用的是 torch.optim.SGD()
,其他的或许也行,但我还没有尝试。
Note:
出现以上问题时,我们会发现 loss
是 0.69,这是因为输出 0, 1 的概率都是0.5,而 −ln0.5=0.69−ln0.5=0.69 。
网络上也有一些解决方法,可以对照检查自己的代码:
- 训练数据需要打乱,要检查每此batch是否都是一个类别,如果是,则没有办法优化;
- 检查网络是不是没有回传梯度,而是只做了前向运算;
- 检查输入数据是否有做标准化,可能直接传入 0∼2550∼255 像素进去了;
- 二分类问题中 0.5 的 acc 接近随机猜测的值,可以检查下标签是否标错;
- 检查参数有没有初始化;
- 检查第一层
本文标签: 发生 GAN Keras loss Accuracy
版权声明:本文标题:keras GAN训练是loss不发生变化,accuracy一直为0.5怎么办 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1728414938h1240616.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论