目录
github网站:https://github.com/google-research/tuning_playbook
调参时需要考虑的内容:
1. 所选优化器的所有超参数
- SGD/ADAM/NAdam
- 怎么调Adam?
按照研究中试验次数的不同“预算”来调整:
如果一项研究中有 < 10 次试验,则只调整(基础)学习率。
如果 10-25 次试验,调整学习率和\(\beta_1\)。
如果超过 25 次试验,调整学习率,\(\beta_1\)和\(\epsilon\)。
如果可以运行超过 25 次试验,另外调整 \(\beta_2\)。
2. 批量大小(batch size)
- 不应该调整批量大小来直接提高验证集性能
- 由于样本方差,较小的批次大小会在训练算法中引入更多噪声,并且这种噪声可能具有正则化效果。因此,较大的批量可能更容易过度拟合,并且可能需要更强的正则化和/或额外的正则化技术。
- 更改批量大小时可能需要调整训练步数
- 只要所有超参数都经过良好调整(尤其是学习率和正则化超参数)并且训练步数足够,使用任何批量大小都应该可以获得相同的最终性能
batch norm vs LayerNorm
- batch norm 通常可以用 LayerNorm 代替,但在不能代替的情况下,更改batch size大小或主机数量时会出现一些棘手的细节。