有许多因素会导致每次运行同一段代码时 ML 模型的结果都不同。一个因素可能是神经网络中权重的不同初始化。
由于结果可能是随机的,研究人员如何知道他们表现最好的模型是什么?我知道可以设置种子以将更多的确定性纳入培训。但是,可能有其他伪随机序列产生稍微更好的结果?
有许多因素会导致每次运行同一段代码时 ML 模型的结果都不同。一个因素可能是神经网络中权重的不同初始化。
由于结果可能是随机的,研究人员如何知道他们表现最好的模型是什么?我知道可以设置种子以将更多的确定性纳入培训。但是,可能有其他伪随机序列产生稍微更好的结果?
我知道可以设置种子以将更多的确定性纳入培训。但是,可能有其他伪随机序列产生稍微更好的结果?
那是对的。如果您通过设计(例如初始化神经网络参数)为本质上具有随机行为的过程修复种子,那么您对模型的了解是,考虑到您选择的超参数和特定的种子,它是最好的模型。有时种子的价值是高度相关的,有时则不那么重要。
由于结果可能是随机的,研究人员如何知道他们表现最好的模型是什么?
通常,与任何测量值可变的实验一样,通过多次运行实验并对结果集进行统计。这将使您更好地了解算法在一般情况下是如何工作的,而与特定种子无关。您仍然可以修复您的 RNG 种子以获得可重复性,但您将需要多组它们。
对于某些目标,例如尽可能制作最好的模型,无论您采用的方法是否“总体上最好”,这都是没有必要的。例如,创造最先进性能的单次运行仍然令人感兴趣。或者,如果您正在创建一个想要在生产中使用的模型,您可能不太关心技术的稳定性(以及“幸运”),而是拥有一个执行任务的高性能代理。