第196章 数据收集完成(1/2)
清晨的阳光透过车间窗户,洒在整齐排列的电脑设备上。陈曦揉了揉布满血丝的眼睛,指尖在键盘上快速敲击,将预处理后的 500 组样本数据导入 tensorflow 算法框架。经过一夜的准备,深度学习模型的训练终于要正式启动了。
“模型参数已经设置完毕,学习率 0.001,迭代次数 100 次,batch size 设为 32。” 陈曦盯着屏幕上的参数配置界面,向团队通报情况,“现在点击训练按钮,模型就会开始自动学习样本特征,预计 6 小时后完成首轮训练。”
林默、苏晚、李萌萌和小王围在电脑旁,眼神中充满了期待。“这 500 组样本我们花了 10 天时间精心收集,数据质量很高,希望模型能不负众望。” 苏晚轻声说道,手中紧紧攥着那份记录着传统手测评分的样本表。
小王则有些迫不及待:“按照之前的测试,只要模型识别精度能稳定在 90% 以上,我们就能进行二次试产了。真想快点看到结果!”
林默拍了拍大家的肩膀:“耐心等待,模型训练是一个循序渐进的过程,我们要相信数据的力量。”
随着陈曦按下 “开始训练” 按钮,电脑屏幕上立刻跳动起训练进度条。损失值从最初的 1.2 逐渐下降,训练集的识别准确率则一步步攀升。2 小时后,损失值降至 0.3,准确率达到 75%;4 小时后,损失值稳定在 0.15 左右,准确率突破 85%;6 小时后,首轮训练结束,屏幕上显示出最终结果:训练集识别准确率 90%,验证集识别准确率 88%。
“太好了!达到预期目标了!” 李萌萌兴奋地拍手欢呼,“训练集准确率 90%,验证集 88%,这个成绩已经很不错了!”
小王也松了口气:“接下来我们用新制作的测试样本验证一下,看看模型的泛化能力怎么样。”
为了测试模型的实际应用效果,苏晚和李萌萌提前制作了 20 组全新的样本,涵盖了所有发酵等级,而且特意增加了临界样本的比例。她们没有将这些样本纳入训练集,目的就是检验模型对未知数据的识别能力。
陈曦将 20 组测试样本的图片和数据输入模型,点击 “预测” 按钮。屏幕上的进度条快速推进,几秒钟后,预测结果出来了 —— 识别准确率仅 65%。
“怎么会这样?” 所有人的笑容瞬间凝固。屏幕上的错误分布表清晰地显示,模型对合格样本的识别准确率仍有 95%,但对 “略不足” 和 “略过度” 的临界样本识别准确率仅 30%,甚至有 3 组 “略过度” 样本被误判为合格,2 组 “略不足” 样本被误判为不足。
“这就是典型的过拟合问题。” 陈曦脸色凝重地解释道,“模型在训练集上表现很好,但对新的测试样本识别精度大幅下降,说明它只是死记硬背了训练数据的特征,没有真正学会举一反三,无法泛化应用到实际生产中。”
林默眉头紧锁:“过拟合?那是什么原因导致的?我们的样本数据不是已经很均衡了吗?”
陈曦打开样本分布统计表,重新仔细核对:“你们看,虽然我们之前统计的临界样本占比达到 40%,但在训练过程中,我发现原始数据中‘合格样本’的实际有效特征占比高达 40%,而其他四个等级的样本各占 15% 左右。模型在训练时会自动偏向样本特征更丰富的类别,导致对合格样本的识别精度很高,但对其他等级样本,尤其是临界样本的识别能力不足。”
苏晚也发现了问题所在:“而且我们的训练样本都是在固定的环境条件下制作的,光线、温度、湿度都相对稳定,但实际生产中环境是变化的,模型没有学习到这些变化带来的特征差异,所以面对新的测试样本时就会出现误判。”
团队刚刚燃起的希望又被浇上了一盆冷水。如果不能解决过拟合问题,模型就无法投入实际应用,之前 10 天的样本收集和 6 小时的训练都将前功尽弃。
“大家别灰心,过拟合是深度学习模型训练中很常见的问题,只要找到正确的解决方法,就能大幅提升模型的泛化能力。” 林默看着沮丧的团队成员,语气坚定地鼓励道,“模型训练本就是一个不断试错、不断优化的过程,每一次失败都是向成功迈进的一步。现在我们要做的,就是分析原因,找到解决方案。”
陈曦点点头,立刻打开电脑,搜索 “深度学习过拟合解决方法”。他快速浏览了多篇专业文献,结合自己的理解,总结出两个核心解决方案:“要解决过拟合问题,一是要优化数据处理,通过数据增强技术增加样本的多样性,同时均衡各等级样本的占比;二是要调整模型结构,加入正则化层,防止模型过度依赖训练数据的特征。”
“我们先从数据处理入手,这是最直接有效的方法。” 林默做出决策,“陈曦负责研究数据增强技术,生成扩展样本;苏晚负责验证增强后样本的有效性,确保数据符合实际情况;小王负责调整样本分布,让各等级样本占比均衡;我负责统筹协调,跟踪优化进度。”
方案确定后,团队立刻投入工作。陈曦选择了三种常用的数据增强技术:图像旋转(0°、90°、180°、270°)、缩放(0.8 倍、1.0 倍、1.2 倍)、亮度调整(±10%、±20%)。他编写了一段 python 脚本,对现有的 500 组样本图片进行处理,每组图片生成 2 组扩展样本,最终得到 1500 组样本数据。
“通过旋转、缩放和亮度调整,能让模型学习到不同角度、不同大小、不同光线条件下的样本特征,从而提升泛化能力。” 陈曦向团队解释道,“比如之前我们担心的光线变化问题,通过亮度调整生成的扩展样本,就能让模型提前适应这种变化,为后续的光线补偿算法打下基础。”
苏晚则仔细对比了原始样本和增强样本的数据差异。她随机抽取了 10 组增强样本,测量它们的湿度、气孔直径等关键数据,发现增强后的样本特征与原始样本基本一致,没有出现失真的情况。“数据增强后的样本仍然符合实际生产中的情况,不会影响模型的学习效果。” 苏晚向团队汇报了验证结果。
接下来是样本均衡化处理。小王将 1500 组样本按照发酵等级重新分类,通过随机筛选的方式,让每个等级的样本数量都保持在 300 组,占比均为 20%。“这样一来,模型在训练时就不会偏向任何一个等级的样本,能够均匀学习到所有等级的特征,尤其是临界样本的特征。” 小王说道。
为了进一步提升模型的泛化能力,陈曦还对样本集进行了重新划分:“我们将 1500 组样本分为训练集(1200 组,占 80%)和验证集(300 组,占 20%),其中验证集全部采用增强后的样本,而且确保验证集中各等级样本的分布与训练集一致。这样在训练过程中,模型就能不断通过验证集进行自我修正,避免过度依赖训练数据。”
本章未完,点击下一页继续阅读。