在选择适合我的深度神经网络模型的优化器时,我应该注意什么?

数据挖掘 机器学习 神经网络 深度学习 张量流
2022-03-09 11:08:03

我已经使用 RMSProp、AdaGrad、Momentum 和 Adam 等优化器训练了我的神经网络模型。

目前,在运行代码之后,我已经打印出了每个 epoch 的训练和测试精度(在我的例子中是 50)。但是,我想知道我应该如何确定这些优化器中哪个性能最好?

在最后一个 epoch更高的训练准确度是否决定了哪个是最好的,或者更高的测试准确度会这样做吗?此外,我观察到,在使用 Momentum 优化器时,与其他优化器相比,模型训练的准确度在第 16 个时期达到了最高的 0.91 左右。

因此,这是否会得出 Momentum 优化器在这种情况下表现最佳的结论?

1个回答

高训练分数并不代表模型性能,高测试分数是。此外,更快地收敛到相同或更好的测试分数是优化器性能的一个指标。

因此,如果 Momentum 优化器更快地达到更好的测试分数,那绝对意味着它是那些经过测试的优化器中最好的。

作为旁注,请注意“分数”的选择,例如对不平衡的类使用“准确度”不是一个好的选择,因为它将具有 100 个成员的类中的 %1 错误等同于具有10名成员。如果类同样重要,即 1% 的错误对所有类同样不利,那么宏 f1 和 AUC 将是更好的替代品。

重要说明:当我们使用分数来选择超参数或优化器时,最终模型会受到影响,因此,该分数将称为验证分数,而不是测试分数。