如果每次运行代码产生不同的结果,研究人员将如何确定最佳深度学习模型?

人工智能 深度学习 强化学习 dqn
2021-11-17 17:46:56

有许多因素会导致每次运行同一段代码时 ML 模型的结果都不同。一个因素可能是神经网络中权重的不同初始化。

由于结果可能是随机的,研究人员如何知道他们表现最好的模型是什么?我知道可以设置种子以将更多的确定性纳入培训。但是,可能有其他伪随机序列产生稍微更好的结果?

1个回答

我知道可以设置种子以将更多的确定性纳入培训。但是,可能有其他伪随机序列产生稍微更好的结果?

那是对的。如果您通过设计(例如初始化神经网络参数)为本质上具有随机行为的过程修复种子,那么您对模型的了解是,考虑到您选择的超参数和特定的种子,它是最好的模型。有时种子的价值是高度相关的,有时则不那么重要。

由于结果可能是随机的,研究人员如何知道他们表现最好的模型是什么?

通常,与任何测量值可变的实验一样,通过多次运行实验并对结果集进行统计。这将使您更好地了解算法在一般情况下是如何工作的,而与特定种子无关。您仍然可以修复您的 RNG 种子以获得可重复性,但您将需要多组它们。

对于某些目标,例如尽可能制作最好的模型,无论您采用的方法是否“总体上最好”,这都是没有必要的。例如,创造最先进性能的单次运行仍然令人感兴趣。或者,如果您正在创建一个想要在生产中使用的模型,您可能不太关心技术的稳定性(以及“幸运”),而是拥有一个执行任务的高性能代理。