深度学习debug沉思录
极市平台
共 9730字,需浏览 20分钟
· 2020-08-09
加入极市专业CV交流群,与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度 等名校名企视觉开发者互动交流!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~
前言
1、在分类问题中,损失函数及其快速得下降为0.0000
2、在正则化的过程中对神经网络的偏置也进行了正则
3、学习率太大导致不收敛
![](https://filescdn.proginn.com/32c06da1003ac5908a191de07e03fc68/3da92306da19ebe8a21912ff593864d8.webp)
![](https://filescdn.proginn.com/9444e021fa639da98e9e00d97dfa0ba0/8d8717f8f945520bc5c177895faffab6.webp)
4、别在softmax层前面的输入施加了激活函数
5、检查原数据输入的值范围
6、别忘了对你的训练数据进行打乱
7、一个batch中,label不要全部相同
8、少用vanilla SGD优化器
![](https://filescdn.proginn.com/021a9f379c16729121906a7d40e84b0b/217c5407b8b844188c39b0060fe1670f.webp)
![](https://filescdn.proginn.com/6e91f76ec28873e1f3801bbeda4be167/42d953cd9c8e4119b6728c68c1d65acb.webp)
9、检查各层梯度,对梯度爆炸进行截断
![](https://filescdn.proginn.com/0a999b9ccdb336e65c30c887da3eddfd/33d7b27101c680f9b6996128d176826a.webp)
tf.clip_by_value(
t,
clip_value_min, # 指定截断最小值
clip_value_max, # 指定截断最大值
name=None
)
10、检查你的样本label
11、分类问题中的分类置信度问题
![](https://filescdn.proginn.com/d41f33d1eb2b5a46aa7dc92962ba7bed/3f93d7b2ee6c46cab5f97baf704acfcd.webp)
12、少在太小的批次中使用BatchNorm层
![](https://filescdn.proginn.com/3ad84c549b9002c1b619cd1d469511aa/052d2ed79f757480a39dad7ef946a068.webp)
13、数值计算问题,出现Nan
14、BN层放置的位置问题
![](https://filescdn.proginn.com/cb7f98076b1eb683bc7a89b4454a1189/b934f6ea14d56ea795151862025c7069.webp)
![](https://filescdn.proginn.com/c23a1ba7a18a829e32dd5a5c41a32d9a/b67a857eed669627dd300b9c0e1cdb46.webp)
graph LR
weights --> BatchNorm
BatchNorm --> ReLU
graph LR
ReLU --> BatchNorm+dropout
BatchNorm+dropout --> weights
15、dropout层应用在卷积层中可能导致更差的性能
16、较小的batch size可以提供较好的泛化
17、初始化权值不能初始化为全0
18、别忘了你的偏置
19、验证准确率远大于测试准确率
20、KL散度出现负数
softmax
层的,才能保证概率和为1,不然可能会出现KL散度为负数的笑话。log_softmax
而目标值需要是softmax
值,也就说输入值需要进行对数操作后再转变为概率分布[27]。![](https://filescdn.proginn.com/db510db7f7cc0ddf0d0d1d417c05cd88/e924bd1aee57ce9c7ccbab0e2241af5c.webp)
评论