深度模型超参数量很多,如何调试这些参数需要长期经验的积累。下面,总结了相关的调参技巧方面的文章:
《神经网络训练中的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学习后负样本选取。