@nrailgun
        
        2016-09-06T16:20:20.000000Z
        字数 443
        阅读 1784
    
    神经网络调错
机器学习
简单翻译此文章。
如何处理 NaN
- 前 100 轮出现:减小学习率, 比率减小,直到不再出现 NaN。
 
- 100 轮后出现: 
- If you are using RNNs, make sure that you are using "gradient 
clipping", which caps the global L2 norm of the gradients. 
- 代码有错;
 
- Softmax 计算  很可能导致出错,稳定的 softmax 实现可以避免此问题。
 
 
如果网络不学习
- 减小网络数据量到 10,通常这样很快就可以收敛。将 batch size 减小到 1,可以检查计算错误(改点值得商榷,在数据缺乏的时候,过少的数据不足以训练一个较深的网络)。
 
- 解决一个简化版的子问题。
 
调整超参数
- 可视化很重要。
 
- 初始化很重要,调整初始化和学习率通常是相关的。
 
- 让你权重看起来更加“健康”,所谓的健康可以参考一下 imagenet 或者 cifar10 的模型。
 
- 神经网络不具有 built-in 的尺度不变性。
 
- 尽量记录你的测试记录。