首页 > 解决方案 > 你应该在张量流中的超参数搜索期间设置随机种子数吗?

问题描述

鉴于像神经网络这样的算法是随机的,你应该在运行超参数搜索之前设置一个随机种子吗?如果在搜索最佳超参数时不设置随机种子,如何确保在训练模型时能够得到与具有最佳超参数的场景相同的结果?

有人说在 GPU 上运行时,无论如何我们都无法获得可重复的结果,但是在 CPU 上运行训练呢?

标签: machine-learningdeep-learninghyperparameters

解决方案


“你应该在运行超参数搜索之前设置一个随机种子吗?”: 超参数搜索策略有很多,包括随机搜索、网格搜索、随机和网格的混合称为“从粗到细”、贝叶斯方法等。从图片的角度来看,这些策略广泛地探索了可行可能性的空间,其中一些然后尝试在较早的实验过程中发现的附近“好的”超参数组合。

“如果在搜索最佳超参数时不设置随机种子,如何确保在训练模型时能够获得与具有最佳超参数的场景相同的结果?” 您应该跟踪您探索的不同超参数组合(在上面的策略部分中描述),即使它们最初是在程序员设置的实际范围内随机选择的。我建议首先考虑随机性作为一种策略,然后单独考虑如何实现可重复性。是的,如果您一遍又一遍地应用相同的超参数,您可能会得到不同的结果,但从理论上讲,这应该比您在最初探索潜在超参数组合时发现的最差超参数集要好得多。


推荐阅读