随机种子
在强化学习编程过程中,经常会用到随机种子,下面对随机种子进行简单的介绍。
在认识随机种子之前,要先了解随机数和伪随机数的概念。
随机数:真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等,这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。
伪随机数:真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可见的。我们可以这样认为这个可预见的结果其出现的概率是100%。所以用计算机随机函数所产生的“随机数”并不随机,是伪随机数。
所谓随机数其实是伪随机数,所谓的‘伪’,意思是这些数其实是有规律的,只不过因为算法规律太复杂,很难看出来而已。但是,再厉害的算法,如果没有一个初始值,它也不可能凭空造出一系列随机数来,我们说的种子就是这个初始值。
在进行机器学习的过程中,为了保证每次的初始化都是一样的(如果说每次产生的随机数都不一样,那么实验就没有可重复性了),从而保证实验的可重复性,因此会经常用到随机种子,使用了指定的随机种子之后,其生成的分布是一样的,生成的随机数也一样,算法就有了可重复性,每次产生的随机这样每一次训练出来的结果都会保持一致