- · 《种子科技》栏目设置[05/29]
- · 《种子科技》收稿方向[05/29]
- · 《种子科技》投稿方式[05/29]
- · 《种子科技》征稿要求[05/29]
- · 《种子科技》刊物宗旨[05/29]
基于卷积神经网络的花生种子筛选识别算法(2)
作者:网站采编关键词:
摘要:筛选准确率 将所建立的CNN在硬件平台上训练花生种子图像库,在迭代60次后训练集准确率稳定达到95.21%,测试60次后测试集准确率为87.05%,网络准确率结果如
筛选准确率
将所建立的CNN在硬件平台上训练花生种子图像库,在迭代60次后训练集准确率稳定达到95.21%,测试60次后测试集准确率为87.05%,网络准确率结果如图3所示。
表1 CNN的参数层数层类型卷积核个数及大小特征图与神经元步长1卷积层20个5×5的卷积核20个28×28的特征图12池化层2×2的卷积核20个12×12的特征图23卷积层40个5×5的卷积核40个12×12的特征图14池化层2×2的卷积核40个7×7的特征图25全连接层1×1的卷积核1024维向量16全连接层1×1的核3维向量1
图2 CNN的结构图
图3 表1和图2图像训练测试结果
3 基于CNN的花生种子筛选及应用优化
为了进一步提高CNN对花生种子筛选的准确率,提高收敛速度以满足快速性,让最终优化网络简单可行,并且这种优化策略可以进一步扩展到相关的其他网络学习算法中,故需要在两个卷积层的基础上对所建立的CNN进行优化[11]。
3.1 线性修正单元(ReLU)
因为线性模型对网络表达的力度不足,激活函数通常需非线性函数,故本文加入非线性因素[12]。函数的选择主要有以下3种。
Singoid函数:
Tanh函数:
ReLU函数:
y=max(0,x)
由于ReLU函数较另外两个函数具有更快的收敛速度,可以缓解梯度下降问题,并加速训练,且ReLU函数max(0,x)中的x取极大值时不会饱和,有助于网络持续学习,因此本文CNN结构中激活函数采用ReLU[13]。
3.2 L2 regularization
overfitting是指当图像模型过分复杂时,可以很好地“记忆”每一个训练图像中随机的部分但忘记去“学习”训练图像中通用的趋势。为了避免overfitting且提高泛化能力,本文采用L2 regularization的方法,其原理是在损失的函数中加入刻画图像模型复杂程度的指标[14]。L2 regularization就是在代价函数后面再加上1个正则化项:
式(6)中:C0代表原始的代价函数;式中第2项是L2 regularization项,表示所有参数ω平方的和除以训练集的样本大小n;λ是正则项参数,权衡正则项与C0项的比重;另外一个系数1/2是为了简化结果,因为后面那一项求导后会产生一个2,故与1/2相乘刚好凑整。L2 regularization能避免overfitting,推导如下。
可见L2 regularization项对b的更新没有影响,但是对于ω的更新有影响:
在不使用L2 regularization时,结果中ω前面的系数为1;现在ω前面的系数为因为η、λ、n都是正的,所以小于1,可知,L2 regularization的基本思想是限制权值向量ω的大小[15]。证明网络的复杂度越低,对数据的拟合效果越好,即所谓的奥卡姆剃刀法。本文优化结果得训练集96.76%的准确率,如图4所示。
图4 ReLU+L2 regularization优化前后准确率对比
3.3 拓展数据集
简单方法是拓展训练集数据时将每个训练图像由一个像素来替代,不论是上一个像素,还是下一个像素,或者左右的像素都适用;其他的方法是改变亮度、改变分辨率、旋转图片、位移图片、扭曲图片等。本文把700张花生图像人为增加到1500张花生图像(好坏数目均匀),使用3.2中一样的CNN进行训练,因为我们是在训练原来的2.14倍的数据,所以进一步减少了overfitting的风险。训练结果为97.83%的准确率,如图5所示。
3.4 插入额外的全连接层
因拓展后的网络帮助还是不够理想,需进一步插入1个额外的全连接层进行优化。插入额外的全连接层获得98.37%的训练准确率,训练结果如图6所示。
图5 拓展数据集优化前后准确率对比
图6 插入额外的全连接层优化前后准确率对比
3.5 Dropout
加入Dropout的CNN识别率高,本文采用这种方法可以有效地防止过拟合并提高网络的泛化能力[16]。
Dropout的原理是在对网络进行训练时能随机地移除单独的激活值,让训练模型对于个别损失更强大些,因此较少依赖训练数据的性质。Dropout是一种非常有效的提高泛化能力、降低过拟合的方法,执行Dropout 较容易,并且通常能带来更快的学习。本文取0.5的默认值,在测试阶段,Dropout应该被关闭,权重要调整到相应大小,只需要对1个模型进行Dropout优化以降低误差[17]。结果得训练集98.85%的准确率,如图7所示。
实验数据结果表明:加入Dropout的CNN模型的筛选准确率高于原CNN的筛选准确率。
图7 Dropout优化前后准确率对比
3.6 组合网络
组合网络与随机森林或者adaboost的集成方法类似,可利用这个方法创建神经网络;组合网络仿真实验可以验证在组合网络环境下能否解决干扰问题及控制问题,能够准确分析网络控制参数,能有效提高组合网络的控制能力和筛选的准确率[18]。
文章来源:《种子科技》 网址: http://www.zzkjzz.cn/qikandaodu/2020/1008/663.html