关于如何选择训练模型中的随机种子

本文探讨了在深度学习中设置随机种子(如torch.manual_seed(3407))的重要性,尽管它有助于模型复现,但模型训练中的其他随机因素(如SGD的随机采样)仍可能导致结果难以完全一致。特别是在预训练模型中,随机种子的设定至关重要。作者尝试了根据文本嵌入调整随机种子以提高部分数据集的精度。
摘要由CSDN通过智能技术生成

寻找办法1:

torch.manual seed(3407) is all you need: On the influence of random seeds in deep learning architectures for computer vision

 参考论文:https://arxiv.org/abs/2109.08203v1

于是设置随机种子为3407,但是并无效果;

寻找办法2:

 参考文章:【调参侠的修炼笔记2】随机种子Seed的讲人话解释 - 知乎

补充知识:

1、随机种子及其作用?

随机种子的作用是固定模型训练过程中所产生的随机数,便于模型在复现的时候可以最大程度地逼近描述效果。

真正的随机数是物理意义上真是产生的,物理意义上的随机数具有独立性和均匀性,而且难以寻找结果产生的规律。对于机器控制的随机过程而言,参与计算的“随机数”,也就是伪随机数,是通过一定规律产生的,即过程可控的,这种规律叫做随机数生成器

 2、为什么固定了随机种子值,但依旧存在难以完全复制效果的情况?

模型训练不只是有随机数这一个随机过程,例如模型使用SGD等优化算法,这些方法本身带有随机性,每次迭代更新都是随机采样batch size个样本的平均梯度来更新全职。虽说随机种子一定程度上降低了随机性,但由于这些方法本身敏感,结果的细微差别依旧难以避免。

3、随机种子如何进行设置?

随机种子的设定对大部分模型不会产生特别大的实质性影响,神经网络更多会和迭代次数、学习率等相关。但对于预训练模型而言,非常依赖参数的随机初始化过程,那么对于这样的场景,随机种子的设定就显得非常重要。

最后还是没有解决掉这个问题,后来采取的方式是,根据文本嵌入的不同调整了随机种子,确实能在部分数据集复现达到原论文精度。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值