[发明专利]一种用于视网膜病变分类的卷积神经网络权值优化方法有效
申请号: | 201911127264.2 | 申请日: | 2019-11-18 |
公开(公告)号: | CN110929775B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 丁卫平;任龙杰;孙颖;鞠恒荣;丁帅荣;曹金鑫;张毅;冯志豪;李铭;文万志;胡彬;赵理莉 | 申请(专利权)人: | 南通大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06V10/764;G06V10/82;G06N3/04;G06N3/00;G06T7/00 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 朱小兵 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 视网膜 病变 分类 卷积 神经网络 优化 方法 | ||
1.一种用于视网膜病变分类的卷积神经网络权值优化方法,其特征在于,包括以下步骤:
步骤1、输入眼底图像训练集和标签,训练集为X=(x1,x2,…,xn),n=1,2,3…,标签为B=(b1,b2,…,bn),n=1,2,3…,将眼底图像对应的标签bi进行one-hot编码得到真实值y_truei;
步骤2、对卷积神经网络权值参数进行初始化,采用标准正态分布生成m只青蛙,按适应值排序,找出最优蛙fb和最差蛙fw,不断更新最差蛙的位置并重新排序,直至单种群蛙跳算法符合收敛条件,得到全局最优蛙fq,将fq作为卷积神经网络的初始权值;具体步骤如下:
步骤2.1、确定青蛙数量m,采用标准正态分布生成所有青蛙,标准正态分布公式为:
公式(1)中,μ表示位置参数,σ为尺度参数,x为随机变量,每只青蛙f包含网络中的所有权值参数;
步骤2.2、构建一个卷积神经网络前向传播计算模型,从眼底图像训练集中随机选取少量w张眼底图像作为参照图像;
步骤2.3、将未计算损失值的青蛙带入卷积神经网络前向传播计算模型中,计算青蛙的损失值,这里的损失值计算函数即为单种群蛙跳算法的适应度函数,损失计算公式为:
公式(2)中,p表示网络输出值,t表示真实值,s表示每组病变标签的维度,b表示需要同时检测的视网膜病变种类数,根据适应度函数对所有青蛙进行升序排序,得出最优蛙fb和最差蛙fw;
步骤2.4、通过位置更新函数对最差蛙的位置进行更新,位置更新函数如下:
D=(fb+fp-fw)×Rand(0,1.2) (3)
fnew=fw+D (4)
公式(3)中,fp表示偏移量,其维度与每只青蛙的维度相同;公式(4)中,fnew表示更新后的青蛙;公式(5)中,fpi表示fp中第i个维度上的值;
步骤2.5、判断单种群蛙跳算法是否满足收敛条件,如果满足,则停止算法,将最优蛙的值作为卷积神经网络的初始权值,否则转到步骤2.3;
步骤3、将训练集中第j张眼底图像输入卷积神经网络前向传播计算模型,卷积神经网络前向传播计算模型包括卷积层、池化层和全连接层,通过多层的卷积、池化,最后进行两层全连接计算,输出得到第j次预测值y_predictj;
步骤4、将第j次真实值y_truej与第j次预测值y_predictj,进行softmax计算softmax(y_predictj),进行交叉熵损失计算,得到第j次损失值lossj;
步骤5、判断第j次损失值lossj是否异常,如果判定为异常权值,则采用单种群蛙跳算法对异常权值进行纠正,将纠正后的权值作为网络的新权值,否则,则继续执行下一步;
步骤6、判断网络是否达到结束条件,如果达到结束条件,则将以网络最终权值作为初始蛙,围绕初始蛙生成蛙群,进行蛙跳寻优,得到全局最优青蛙fqb,即为算法最终训练完成的权值参数;
步骤7、将训练完成的权值参数带入网络中,输入眼底图像,通过多层的卷积、池化,最后进行两层全连接计算,输出视网膜中对于多种病变检测的预测值yr。
2.根据权利要求1所述的用于视网膜病变分类的卷积神经网络权值优化方法,其特征在于,所述步骤5的具体步骤如下:
步骤5.1、判断第j-1次计算的损失值lossj-1与第j次计算的损失值lossj的差的绝对值|lossj-1-lossj|是否大于阈值ε,如果大于阈值ε,则执行下一步,否则,不执行本次蛙跳计算;
步骤5.2、将第j-1次网络中的权值作为初始蛙wb,围绕wb生成蛙群,生成公式如下:
wij=wbj+0.0001×Rand(-1,1)(1i≤c-1) (6)
公式(6)中,wij表示生成的第i只青蛙的第j个维度上的值,c表示青蛙总数;
步骤5.3、构建一个卷积神经网络前向传播计算模型,从训练图像库中随机选取少量w张眼底图像作为参照图像;
步骤5.4、将未计算损失值的青蛙带入卷积神经网络前向传播计算模型中,计算青蛙的损失值并对青蛙进行排序;
步骤5.5、更新最差蛙的位置,并计算更新后的损失值,将蛙群重新排序;
步骤5.6、判断单种群蛙跳算法是否符合收敛条件,如果符合,则结束蛙跳计算,将全局最优蛙fqb作为纠正后的新权值带入网络,否则,转至步骤5.4。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911127264.2/1.html,转载请声明来源钻瓜专利网。