这个问题,其实我也是初学,水平有限,说说自己的感觉吧。在潜意识里,我始终觉得神经网络的东西和中医看病有种隐隐的联系,经验(自己的和别人的)、感觉这些谈不上有什么标准化的东西确是挺重要的东西。基于此,调试一个神经网络,就需要首先熟悉网络的每个层、每个参数的作用是什么,为什么要有这样的设置,通常researcher们都基于什么样的原则来设置?其次,多自己动手设置一下,找找感觉,看看不同的参数设置会产生什么样的效果,为什么会产生这样的效果(定量分析会比较困难,也可以凭着感觉想想为什么这样的设置会产生这样的效果,也可以直接把每层的output解刨出来看看)?最后,熟能生巧吧。。。
相关材料有很多,个人推荐两个大家熟知的可以常翻来看看:
相关材料有很多,个人推荐两个大家熟知的可以常翻来看看:
调参资料总结
Neural Network: Trick of the Trade Neural Networks: Tricks of the Trade
Practical Recommendations for Gradient-based Training of Deep Architectures http://arxiv.org/abs/1206.5533
Neural Network: Trick of the Trade Neural Networks: Tricks of the Trade
Practical Recommendations for Gradient-based Training of Deep Architectures http://arxiv.org/abs/1206.5533
《
神经网络训练中的Tricks之高效BP(反向传播算法)
》
翻译文章。神经网络训练中的Tricks之高效BP(反向传播算法),来自与于《Neural Networks: Tricks of the Trade》一书第二版中的第一章 Efficient BackProp 的部分小节。
《Deep Learning for Vision: Tricks of the Trade》 Marc’Aurelio Ranzato 在 CVPR 上 的 presentation slides/talk(Youtube 等地方可以搜到)。caffe 作者之一贾扬清推荐。涉及到了许多 DL 的调参技巧(在 slides 比较靠后的地方)
《 Optimizing RNN performance 》 百度 Silicon Valley AI Lab 的分享,现在主要是 GEMM 的性能优化,以后还会有并行 GPU,GRU 和 LSTM 的实现技巧等……
《 Must Know Tips/Tricks in Deep Neural Networks 》 来自 NJU LAMDA 实验室的 Xiu-Shen Wei 的总结,主要集中于 CNN,包括各种数据处理上可能带来的性能和表现的差异。图表丰富,有理有据。
《 训练深度神经网络的时候需要注意的一些小技巧 》 这篇是综合翻译,没给出都从哪节选的。我收集的英文版在下面:
《 Training Tricks from Deeplearning4j 》 deeplearning4j 的 googlegroups 也很推荐。这篇其实干货不多,但是也有一些了。包括对于训练的理解,并不全是干货般的总结。
《 Suggestions for DL from Llya Sutskeve 》 Hinton 亲传弟子介绍深度学习的实际 tricks,包括data, preprocessing, minibatches, gradient normalization, learning rate, weight initialization, data augmentation, dropout和ensemble。
《 Efficient Training Strategies for Deep Neural Network Language Models 》 讨论了如何设置 batch-size, initial learning rate, network initialization,但最有趣的结论应该是:普通的 deep feed-forward architecture比recurrent NN 在 model long distance dependency 效果和效率都更好。
《 Neural Networks Best Practice 》 Uber 的 data scientist 写的。比如: Rectifier is becoming popular as an activation function. However, I find its theory dubious and my experiments have not shown that it is always better. That said, I’m experimenting with new activation functions. (Little trivia: I’m borrowing many ideas from my graduate work in computational wave propagation.)
《 How transferable are features in deep neural networks? 》 也是争议比较大的一篇文章,finetuning 有一定帮助,但是不够细致。
《 Dark Knowledge from Hinton 》 有心人整理的 Hinton 提到的 Dark Knowledge 的一些资源。
《 Stochastic Gradient Descent Tricks 》 L eon Bottou 写的 Stochastic Gradient Descent Tricks 挺好,做工程也要做的漂亮。
《 Advice for applying Machine Learning 》 主要集中在如何观察数据来选择方法。
《 How to Debug Learning Algorithm for Regression Model 》 主要都是讲回归中遇到的各种“预期不符”的结果。配合 ESL 第二章和第三章内容看效果加成。
《 Large-scale L-BFGS using MapReduce 》 NIPS’14 的论文,简单并行化 LBFGS里面的双循环(最耗时,计算量巨大)。
《 特征工程选择系列 》 特征工程系列文章:Part1.单变量选取 Part2.线性模型和正则化 Part3.随机森林 Part4.稳定性选择法、递归特征排除法(RFE)及综合比较。有 Python 代码。
《 机器学习代码心得之有监督学习的模块 机器学习代码心得之迭代器和流水处理 》 新一代大神微博@陈天奇怪 的系列文章,有兴趣的直接顺着看吧。
《 STOCHASTIC GRADIENT BOOSTING: CHOOSING THE BEST NUMBER OF ITERATIONS 》 Kaggle 达人 YANIR SEROUSSI 告诉你如何选择 Stochastic Gradient Boosting 的训练最佳 iteration 超参数。不过我比较存疑,因为如果条件允许,当然迭代的越多越好……
《 Large-Scale High-Precision Topic Modeling on Twitter 》 Twitter 高级研究员的 KDD’14论文。有不少实用技巧,比如短文本特征,LR结果概率化修正,正样本抽样,PU学习后负样本选取。
《Deep Learning for Vision: Tricks of the Trade》 Marc’Aurelio Ranzato 在 CVPR 上 的 presentation slides/talk(Youtube 等地方可以搜到)。caffe 作者之一贾扬清推荐。涉及到了许多 DL 的调参技巧(在 slides 比较靠后的地方)
《 Optimizing RNN performance 》 百度 Silicon Valley AI Lab 的分享,现在主要是 GEMM 的性能优化,以后还会有并行 GPU,GRU 和 LSTM 的实现技巧等……
《 Must Know Tips/Tricks in Deep Neural Networks 》 来自 NJU LAMDA 实验室的 Xiu-Shen Wei 的总结,主要集中于 CNN,包括各种数据处理上可能带来的性能和表现的差异。图表丰富,有理有据。
《 训练深度神经网络的时候需要注意的一些小技巧 》 这篇是综合翻译,没给出都从哪节选的。我收集的英文版在下面:
《 Training Tricks from Deeplearning4j 》 deeplearning4j 的 googlegroups 也很推荐。这篇其实干货不多,但是也有一些了。包括对于训练的理解,并不全是干货般的总结。
《 Suggestions for DL from Llya Sutskeve 》 Hinton 亲传弟子介绍深度学习的实际 tricks,包括data, preprocessing, minibatches, gradient normalization, learning rate, weight initialization, data augmentation, dropout和ensemble。
《 Efficient Training Strategies for Deep Neural Network Language Models 》 讨论了如何设置 batch-size, initial learning rate, network initialization,但最有趣的结论应该是:普通的 deep feed-forward architecture比recurrent NN 在 model long distance dependency 效果和效率都更好。
《 Neural Networks Best Practice 》 Uber 的 data scientist 写的。比如: Rectifier is becoming popular as an activation function. However, I find its theory dubious and my experiments have not shown that it is always better. That said, I’m experimenting with new activation functions. (Little trivia: I’m borrowing many ideas from my graduate work in computational wave propagation.)
《 How transferable are features in deep neural networks? 》 也是争议比较大的一篇文章,finetuning 有一定帮助,但是不够细致。
《 Dark Knowledge from Hinton 》 有心人整理的 Hinton 提到的 Dark Knowledge 的一些资源。
《 Stochastic Gradient Descent Tricks 》 L eon Bottou 写的 Stochastic Gradient Descent Tricks 挺好,做工程也要做的漂亮。
《 Advice for applying Machine Learning 》 主要集中在如何观察数据来选择方法。
《 How to Debug Learning Algorithm for Regression Model 》 主要都是讲回归中遇到的各种“预期不符”的结果。配合 ESL 第二章和第三章内容看效果加成。
《 Large-scale L-BFGS using MapReduce 》 NIPS’14 的论文,简单并行化 LBFGS里面的双循环(最耗时,计算量巨大)。
《 特征工程选择系列 》 特征工程系列文章:Part1.单变量选取 Part2.线性模型和正则化 Part3.随机森林 Part4.稳定性选择法、递归特征排除法(RFE)及综合比较。有 Python 代码。
《 机器学习代码心得之有监督学习的模块 机器学习代码心得之迭代器和流水处理 》 新一代大神微博@陈天奇怪 的系列文章,有兴趣的直接顺着看吧。
《 STOCHASTIC GRADIENT BOOSTING: CHOOSING THE BEST NUMBER OF ITERATIONS 》 Kaggle 达人 YANIR SEROUSSI 告诉你如何选择 Stochastic Gradient Boosting 的训练最佳 iteration 超参数。不过我比较存疑,因为如果条件允许,当然迭代的越多越好……
《 Large-Scale High-Precision Topic Modeling on Twitter 》 Twitter 高级研究员的 KDD’14论文。有不少实用技巧,比如短文本特征,LR结果概率化修正,正样本抽样,PU学习后负样本选取。