深度学习调参
一,初始化
多尝试几种初始化方法:
- Xavier_uniform
二,正则化
- 添加高斯随机噪声:例如在初始化的词嵌入中加入高斯随机噪声、在中间隐层添加噪声、在输出层添加噪声(例如label smoothing),一般加入均值为0,方差较小的高斯噪声。
- Dropout:输入dropout、循环层的dropout、中间层的dropout等等;
- 权重衰减:L2正则化;
- BatchNorm/LayerNorm/GroupNorm/InstanceNorm:一般用BatchNorm,Batch不能太小;
- Early stopping;
三,优化器的设置
- 一般使用自适应的学习率优化算法(adam);
- 学习率一般设置1e-3;
- 其他参数一般使用默认值;
四,调参顺序
1、优先调 learning rate!优先调 learning rate!优先调 learning rate!
2、加 Dropout, 加 BN, 加Data Argument