首页 排行 分类 完本 书单 专题 用户中心 原创专区
小说巴士 > 都市 > 重生学神有系统 > 第267章 数据增广和集成学习

重生学神有系统 第267章 数据增广和集成学习

作者:一碗酸梅汤 分类:都市 更新时间:2025-02-05 21:44:48 来源:小说旗

经过仔细斟酌,江寒确定了“优胜者”模型。

随后,他就开始考虑,如何进一步优化这个网络的性能。

像是网络的主体结构、权重初始化方案、数据正则化的方法、激活函数的选择……

这类关键因素,在之前的第一轮训练中,就已经确定了下来,无需再做调整。

但除此之外,可以优化的地方依然不少。

比如稍微改变一点学习率,少量增加或减少隐藏神经元的个数,微调一下MiniBatch的大小……

这些都有可能对网络的性能,产生微妙的影响。

而且,每一点细微的调整,会产生什么样的效果,不实际训练、测试一番,是无法预估的。

所以接下来,江寒将“优胜者”代码复制了100份。

这样一来,这个“优胜者”就拥有了100多个“双胞胎兄弟”,或者说:分身。

随后又采用不同的方案,对这100多份代码,逐一进行了微调。

等到进行完第二轮训练后,就可以从中再次选出唯一优胜者。

有点类似“养蛊”。

策略已经定下了,但江寒并没有马上开启第二轮训练。

他还打算再做一个比较重要的实验,那就是增广数据。

KAGGLE官方提供了20万条训练数据,理论上说,对于绝大多数机器学习模型,这个数据量已经足够使用了。

但谁会嫌弃数据太多呢?

能提供的数据越多,神经网络的学习效果就越好,训练得越充足,性能自然也就越强。

反正一般来说,不会变得更糟。

所以,何乐而不为?

所谓数据增广,就是在不改变图像类别的前提下,人为地扩充数据。

这样做,常常可以有效地提高模型的泛化能力。

常用的数据增广方式,包括水平翻转、旋转、缩放、平移、裁剪、颜色抖动……

当然,也可以将多种操作组合起来,从而获得更多的数据。

例如,同时做小角度的旋转和随机尺度变换,再微调一下像素在HSV颜色空间中的饱和度、亮度、色调……

江寒很快用Python编写了一份代码,对训练数据集进行了扩充。

原本的18万条训练数据,经过各种运算,足足演变出了将近200万条数据。

这样,第二轮训练终于可以开始了。

江寒将100个“优胜者”分身依次启动。

随后,他琢磨了一下,又将刚才排名前15的模型,全都拉了过来。

包括上次排名第一的“书呆子”、排名第三的“黑马中等生”,以及排位在4~15名的“其他学生”。

反正算力够用,索性再给这些准“优秀生”一次机会,看看它们在增广数据集上,又会有怎样的表现。

当然,在开启第二轮训练之前,第一轮训练出来的权重数据,必须先备份一下……

将这里的事情全部处理利索,时间已经接近中午11点。

江寒当下锁门离开,去接夏雨菲放学。

回家之后,又做了一顿丰盛的午饭。

除了正常的两菜一汤,他还额外加了一道“红烧冰岛红极参”,以慰劳自己操劳过度的大脑。

……

下午和晚上,江寒没有出门。

主要在家看书、找资料,学习各种逆向、破解、黑客知识。

想要继续领悟《数字混淆技术》,比较依赖数学水平和逆向技术。

江寒的数学水平已经很不弱了,知识储备不比一般的数学系本科毕业生少,解决问题的能力犹有过之。

但在逆向和黑客技术上,他距离真正的顶级高手,还有不小的差距。

所以,江寒就决定抓紧时间,尽快补上这一课。

学习之余,一有闲暇,就远程登录一下服务器,关注一下神经网络的训练情况。

13日清晨,第二批114个模型,终于全部训练完成。

江寒又去了一次车库,翻阅了一下训练记录,并在这114个神经网络模型上,逐一加载验证集进行测试。

“优胜者”的那100个分身,表现都很不错,其中成绩最好的一个,在训练集和验证集上,准确率都超过了98%。

说实话,如果不经过特别的训练,一般的人类在这个项目上的表现,差不多也就这样了。

毕竟KAGGLE提供的这些数据里,有一些笔迹实在太潦草了。

比如,有好几个图片,江寒怎么看怎么像7,标签上却硬说是1,这怎么破?

此外,江寒还有一个令人欣喜的发现。

使用了扩充数据集,并进行了更高强度的训练之后,“书呆子”在训练集上,成绩再次提高了少许,识别准确率达到了惊人的99.9%;

而且在验证集上的表现,也有了较大幅度的提高,达到了95%的及格线。

“黑马中等生”和原本排名4~15的“普通学生”,这次也有了长足的进步,成绩不比原本的“优胜者”差到哪里去。

所以说,要想提高神经网络的性能,扩充数据规模才是第一秘诀。

不管是人工收集更多数据,还是用数据增广的办法来伪造数据……

接下来就简单了,只要从“优胜者”的100个分身里,挑选出最强的一个,强化训练一番,再稍微打磨一下,就可以提交上去了。

接近99%的识别正确率,说高不高,说低不低。

去年在imagenet举办的世界机器学习大师赛中,冠军是KNN算法的一个变种。

别看那种算法极其简单,一点也不智能,但作者通过巧妙的构思,赫然将识别失误率压缩到了惊人的0.63%!

但那是顶级大能们的竞技场,这次KAGGLE举办的,只是一场业余级别的比赛,参与的大多是民间爱好者。

所以自己手里的这个“最终优胜者”,多了不敢说,前三还是比较稳的。

至于想要夺得冠军,那就需要拼一点运气了。

除非能进一步提高在陌生数据上的准确率,否则能不能力压群雄,还真有点不好说。

毕竟真正的测试集,谁也没见过,会变态到什么程度,江寒也没法预估。

江寒反复分析、测试着已经训练好的几个模型,包括第二轮的“唯一优胜者”,以及进化后的“书呆子”、“中等生”……

忽然,他又有了一个巧妙的发现。

对于那些容易误测的图片,优胜者、书呆子、中等生……它们的判断往往不尽相同。

同样一个图片,比如这个数字“5”,由于书写不规范,极难识别。

有点像6,又有点像s,甚至就算将其当成0,也不会多么违和。

这种无法妥善处理的数据,一般的做法是当做“噪声”,在训练时加以排除。

免得对网络的训练产生干扰,让网络学到错误的“知识”,导致“越学越懵”。

江寒在分析这类疑难图片时,却忽然有了一个奇妙的发现。

对于这样的图片,优胜者偶尔也会识别错误,但神奇的是,书呆子偶尔却可以识别正确。

有些图片书呆子和优胜者都不认识,中等生或者普通学生,反而往往有独到的见解……

然后,这些结构不同的神经网络,它们识别错误的那部分图片,很少出现交集。

也就是说,这些疑难图片之中,绝大多数都会被部分“学生”正确识别,只是大家意见很难统一。

这就有点意思了。

如果能把这十几个神经网络的识别能力结合到一起,岂不是可以进一步提高准确率?

江寒经过仔细思考、认真分析,最后做出了一个大胆的决定。

那就是:集成学习。

目录
设置
设置
阅读主题
字体风格
雅黑 宋体 楷书 卡通
字体风格
适中 偏大 超大
保存设置
恢复默认
手机
手机阅读
扫码获取链接,使用浏览器打开
书架同步,随时随地,手机阅读
收藏
换源
听书
听书
发声
男声 女生
语速
适中 超快
音量
适中
开始播放
推荐
反馈
章节报错
当前章节
报错内容
提交
加入收藏 < 上一章 章节列表 下一章 > 错误举报