神经网络的调试,比一般的程序调试难度大得多。和编译错误以及运行时程序崩溃相比,神经网络比较棘手的地方,往往在于程序运行正常,但是结果无法收敛,这个检查起来可要费时费力。
下面是神经网络比较通用的调试技巧:
1、深度学习的问题解决
在前期开发中,我们会同时遇到多个问题,就像前面提到的,深度学习训练由数百万次迭代组成,找到bug非常困难,且容易崩溃。所以,从简单测试开始,渐渐做一些改变。
以功能优先的方式检查模型:
把正则化因子设置为0,不要其他的正则化,然后使用默认设置的Adam优化器和ReLU。不要将数据增强,使用更少的深度网络层,扩大输入数据,不要使用非必要的预处理,也不要长时间训练迭代训练。