论深度学习训练过程中数据集打乱的重要性

浅浅记录一下今天遇到的一个很有意思的问题:

今天在重新训练一个之前跑过的模型时候,突然发现训练损失一直居高不下,一直保持在0.6左右,就感觉很奇怪,为什么之前训练的时候没有问题,之前训练的时候loss是正常下降的,为什么今天重新把代码拉出来跑的时候,就出现loss不下降的问题呢?带着这个问题,我就狠狠调试,发现代码逻辑啥的都没有问题,为此调试了一整天,然后刚刚坐在实验室的时候,突然想着要不把中间结果输出看看,然后我就单独挑了几例数据训练一下,结果一看,发现我的每一个epoch加载的数据顺序是一样的,也就是说,我的DataLoader中的shuffle这个参数是False,按理来说,shuffle设置为False,也就是数据集的加载顺序不变,这应该不会影响模型的训练,确实,对于自然图像来说,由于训练集中的每张图像都是独立,所以即使数据集的加载顺序不变,也不影响模型的训练,但是,由于我研究的领域是医学图像,主要是脑肿瘤的MRI图像,一般MRI图像都是3D数据,我会把这个3D数据中沿着轴向面提取slice,这样一来,数据集之间是有内在关联的,即前后两张图片是极为相似的,所以如果此时再将shuffle设置为False的话,就会严重影响模型的训练,在我将shuffle改为True后,我的模型有可以正常训练了!

目前以上说法只是我对于这个问题的一个猜想,不确定是否正确,但是实验观察的现象确实是将shuffle改为True以后,模型就可以正常训练了。

相关推荐
星纵物联几秒前
高精度人数统计传感器揭秘
人工智能·物联网·lora·智慧城市·lorawan
空白诗1 分钟前
昇腾 NPU 落地 Llama3-8B:模型获取到数学解题推理的全流程实战
人工智能·ai·语言模型·npu
Coovally AI模型快速验证1 分钟前
深度学习驱动的视频异常检测(VAD),AI如何让监控更智能?
人工智能·深度学习·目标检测·机器学习·自动驾驶·无人机
西西弗Sisyphus8 分钟前
最基础的神经网络可视化 包括源码
人工智能·深度学习·神经网络·mlp
建群新人小猿18 分钟前
陀螺匠企业助手 运行环境
java·大数据·人工智能·docker·php
renhongxia119 分钟前
基于多智能体深度强化学习的高炮反无人机算法
图像处理·人工智能·深度学习·无人机
wearegogog12322 分钟前
压缩感知和稀疏表示恢复算法中的L1同伦算法
人工智能·算法
阿水实证通24 分钟前
DoubleML+FLAML实现双重机器学习超参数的自动调优(python实现路径)
人工智能·python·机器学习·实证分析
容智信息26 分钟前
容智信息加入大模型产业联盟,Hyper Agent推动企业级智能体规模化落地
大数据·人工智能·自然语言处理·自动驾驶
core51227 分钟前
决策树 (Decision Tree):像“猜猜看”游戏一样的AI算法
人工智能·算法·决策树