清晨的阳光透过车间窗户,洒在整齐排列的电脑设备上。陈曦揉了揉布满血丝的眼睛,指尖在键盘上快速敲击,将预处理后的 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%),其中验证集全部采用增强后的样本,而且确保验证集中各等级样本的分布与训练集一致。这样在训练过程中,模型就能不断通过验证集进行自我修正,避免过度依赖训练数据。”
一切准备就绪后,陈曦启动了第二轮模型训练。这次他还在模型中加入了 L2 正则化层,进一步防止过拟合。“正则化层能给模型的权重参数加上约束,避免某些参数过大,从而防止模型过度拟合训练数据的细节特征。” 陈曦解释道。
团队成员们没有离开车间,而是守在电脑旁,实时关注着训练进度。随着迭代次数的增加,训练集和验证集的识别准确率都在稳步提升,而且两者之间的差距越来越小 —— 这意味着过拟合问题正在得到缓解。
“你们看,训练到 50 次迭代时,训练集准确率 92%,验证集准确率 91%,差距只有 1%!” 李萌萌兴奋地喊道,“这比第一次训练时的差距小多了,说明数据增强和正则化起到了作用!”
苏晚则重点关注临界样本的识别情况。她从验证集中抽取了 50 组临界样本,跟踪模型的识别准确率。当训练进行到 80 次迭代时,临界样本的识别准确率已经从之前的 30% 提升到了 75%,有了质的飞跃。
“太好了!临界样本的识别精度提升很明显!” 苏晚激动地说道,“这说明我们的样本增强和均衡化处理是有效的,模型已经开始学会区分那些细微的临界差异了。”
林默看着屏幕上不断攀升的准确率曲线,心中十分欣慰:“这就是团队协作的力量!遇到问题不可怕,只要我们团结一心,积极寻找解决方案,就没有克服不了的困难。”
6 小时后,第二轮模型训练结束。最终结果显示:训练集识别准确率 94%,验证集识别准确率 93%,两者差距仅 1%,过拟合问题得到了有效解决。
“现在我们用之前的 20 组测试样本再验证一次!” 小王迫不及待地说道。
陈曦将 20 组测试样本输入模型,点击 “预测”。这一次,屏幕上显示的识别准确率达到了 88%,其中临界样本的识别准确率提升至 80%,只有 1 组 “略过度” 样本被误判为合格,没有出现严重的误判情况。
“成功了!我们成功解决了过拟合问题!” 团队成员们欢呼雀跃,疲惫的脸上洋溢着胜利的笑容。
苏晚在分析测试结果时,突然发现了一个重要的现象:“你们看,模型对测试样本的识别结果中,湿度数据与图片识别结果的匹配度达到了 85%。比如所有湿度在 62%-68% 之间的样本,模型都正确识别为合格或略不足;湿度低于 60% 的样本,都被正确识别为略过度或过度。”
这个发现让苏晚眼前一亮,她再次想到了之前的双检测方案:“如果我们将湿度数据作为模型识别的辅助特征,与图片特征结合起来,形成‘视觉识别 + 湿度检测’的双检测模型,识别精度肯定能进一步提升!比如当模型对某个临界样本的识别结果不确定时,就可以参考湿度数据进行二次判断,从而降低误判率。”
“这个想法非常好!” 林默立刻表示支持,“湿度数据是发酵程度的直接物理指标,与视觉特征结合起来,能让模型的判断更全面、更精准。接下来我们可以尝试将湿度数据融入模型,进一步优化识别精度。”
陈曦也点点头:“将湿度数据作为输入特征之一,重新训练模型,应该能让识别准确率再提升几个百分点。而且这也能解决一些极端情况下的误判问题,比如某些面团外观特征不明显,但湿度数据差异很大,模型就能通过湿度数据做出正确判断。”
小王则已经开始思考具体的实现方案:“我们可以修改模型的输入层,将湿度数据与图片的像素数据结合起来,作为模型的输入特征。这样模型在训练时,就能同时学习视觉特征和物理指标特征,形成多维度的判断逻辑。”
团队的热情再次被点燃。虽然第二轮训练已经取得了不错的成果,但他们并没有满足,而是朝着更高的目标迈进。
当天晚上,陈曦开始修改模型的输入层结构,将湿度数据融入模型;苏晚则整理了所有样本的湿度数据,确保数据格式符合模型输入要求;小王编写了数据融合的程序,将图片数据和湿度数据关联起来;林默则制定了第三轮训练的计划,目标是将模型识别准确率提升至 95% 以上。
远在盐城的老周听说模型训练取得了重大突破,特意给林默打来了电话:“林总,恭喜你们!我就知道你们一定能成功。等设备量产了,我们一定要第一时间去现场看看,亲眼见证我们种的糯米,通过智能设备变成美味的糕点。”
“一定!” 林默笑着回应,“周叔,这也离不开你们提供的优质糯米。等‘糕小默 2.0’量产成功,我们第一时间给你们寄样品,让你们尝尝自己种的糯米做出来的糕点。”
夜色渐深,车间里的灯光依然明亮。团队成员们还在忙碌地准备第三轮模型训练,他们的脸上虽然带着疲惫,但眼神中却充满了坚定和期待。
苏晚看着那份记录着传统手测评分的样本表,心中感慨万千。从最初的样本收集难题,到现在的过拟合问题解决,团队一路走来,遇到了无数挑战,但每一次都能凭借团结协作和创新思维攻克难关。而 “视觉识别 + 湿度检测” 的双检测方案,也在这个过程中逐渐清晰,即将成为 “糕小默 2.0” 的核心技术亮点。
她相信,只要坚持将传统工艺经验与现代科技相结合,不断优化模型,“糕小默 2.0” 一定能达到甚至超过人工识别的精度,成为林记传承非遗手艺、实现规模化生产的重要支撑。而陈曦之前提出的光线补偿算法,也将在后续的优化中与双检测方案相结合,让 “糕小默 2.0” 的视觉识别系统更加完善,适应各种复杂的生产环境。