原标题:神经网络的debug
原文来自:博客园 原文链接:https://www.cnblogs.com/charlie4z/p/11132568.html
先建一个只有一层隐藏层的网络确定一切工作正常
在一个数据点上训练,training accuracy应该马上到100%而val accuracy等于随机猜测(overfit),如果不是说明有bug。
所有loss要在同一个order上,loss要适合任务(categorial cross-entropy loss :multi-classification problems or focal loss :class imbalance)
关注初始的loss,要接近随机猜测的概率。(regularization置于0),比如分类,概率应该等于loss function(1/N),否则可能是因为weights不平衡(initialization很差)或数据集没有normalize
gradient values = 0->learning rate太小或梯度更新的表达式不对
activations, weights和各层的尺度相符
Vanishing or exploding gradients
可视化网络:ConX或Tensorboard
要注意regularization是不是远大于data loss,gradients就变成主要从regularization来了
exploding gradients用gradient clipping
注意一起用dropout和batch normalization时的顺序
免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。
合作及投稿邮箱:E-mail:editor@tusaishared.com