深度学习超参
参考文献
我搭的神经网络不work该怎么办
如何诊断长短期记忆网络模型的过拟合和欠拟合?
克服过拟合和提高泛化能力的20条技巧和诀窍
深度学习与XGBoost在小数据集上的测评
吴恩达深度学习
李宏毅深度学习技巧
1.防止过拟合
- dropout 0.2-0.5,每一层都可以加
- 以一定概率删除节点
- 在网络中的每个线性层(如卷积层或稠密层)前加入Dropout层。
- 正则项:
- bias项正则可以不加,因为W几乎涵盖所有参数,b影响不大
- L1 正则W 会很稀疏,包含很多0.倾向使用L2。lambda越大模型越简单low variance high bias。
2.batch_size
- 过大会降低梯度下降的随机性,8,16逐渐增大
- 较小的能带来更多起伏、跳出局部最小,训练结束平滑。
- minibatch loss 或许会上升,SGD 噪声低,loss变化震荡,训练慢
3.学习率
- adaptive learning rates.
reduce the learning rate by some factor every few epochs.
4.**函数
- sigmoid function: deeper不代表好,
梯度消失Input 层附近梯度小,learn slow
output 层附近梯度大,learn fast- relu function:
fast to compute
biological reason
infinite sigmoid with different biases
vanishing gradient problems
5.层数
浅层开始,有一定效果,再逐步更深
6.隐藏unit数量
隐藏单元数量256到1024
如果你正在做分类,可以使用类别数目的5到10倍,作为隐藏单元的数量;如果做回归,可以使用输入或输出变量数目的2到3倍。
隐藏单元的数量通常对神经网络性能影响很小
7.参数初始化
- 优先级较低 fromNG
8.超参选择
Do not use grid。,从最要的开始选择
9.**函数
relu:计算快速,生物学理由,处理梯度消失