请教下机器学习PAI用easyrec组件化实现模型,加载下来用相同的样本输入多次,得到不同的输出,但是差距不大,是有什么随机过程吗?内置模型没发现相同问题,用组件化搭了一个模型出来,训练好了然后加载出来,用同一条样本去测试,多次打分的结果不一致,千分位万分位的差异,就是没法用一条样本复现相同的打分
机器学习PAI用easyrec组件化实现模型,加载下来用相同的样本输入多次,是有什么随机过程吗?[阿里云机器学习PAI]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
我理解影响应该不大,此回答整理自钉群“【EasyRec】推荐算法交流群”
您好!这种情况可能是由于EasyRec组件化模型中的随机过程导致的。在EasyRec的组件化模型中,使用了多个组件块组成的有向无环图(DAG),这个DAG的输出节点由concat_blocks配置项定义,各输出组件块的输出tensor拼接之后输入给一个可选的顶部MLP层,或者直接链接到最终的预测层。这其中可能包含一些随机初始化的过程,例如某些层的权重初始化或者Dropout等操作,这些都可能引入随机性。因此,当您用相同的样本去测试时,可能会得到略微不同的结果。
此外,如果您在训练过程中设置了随机种子,那么每次运行时得到的结果应该是相同的。但是如果没有设置随机种子,那么每次运行时得到的结果可能会有所不同。
是的,即使对于相同的输入样本,每次运行时模型输出的结果也可能不同,这是因为大多数机器学习模型都包含一些随机元素。具体来说,主要有以下两个原因: