我有一个非常简单的 ANN,它使用 Tensorflow 和 AdamOptimizer 来解决回归问题,现在我正在调整所有超参数。
目前,我看到了许多不同的超参数需要调整:
- 学习率:初始学习率,学习率衰减
- AdamOptimizer 需要 4 个参数(学习率、beta1、beta2、epsilon)所以我们需要调整它们 - 至少是 epsilon
- 批量大小
- nb 次迭代
- Lambda L2-正则化参数
- 神经元数量,层数
- 隐藏层使用什么样的激活函数,输出层使用什么样的激活函数
- 辍学参数
我有 2 个问题:
1)你有没有看到我可能忘记的其他超参数?
2)目前,我的调音是相当“手动”的,我不确定我是否以正确的方式做所有事情。是否有特殊的顺序来调整参数?例如,首先是学习率,然后是批量大小,然后......我不确定所有这些参数都是独立的——事实上,我很确定其中一些参数不是。哪些明显独立,哪些明显不独立?然后我们应该把它们调到一起吗?是否有任何论文或文章讨论以特殊顺序正确调整所有参数?
编辑:这是我得到的不同初始学习率、批量大小和正则化参数的图表。紫色曲线对我来说完全奇怪......因为成本下降的速度比其他曲线慢,但它被困在较低的准确率上。模型是否有可能陷入局部最小值?
对于学习率,我使用了衰减:LR(t) = LRI/sqrt(epoch)
谢谢你的帮助 !保罗