一种卷积神经网络拓扑方法技术

技术编号:24686578 阅读:59 留言:0更新日期:2020-06-27 08:49
本发明专利技术提供一种卷积神经网络拓扑方法,利用已训练参数经验对神经网络结构进行拓扑,包括:获取待拓扑的卷积神经网络,对其训练多次,验证并记录其在图像测试集上的准确率;对训练后的卷积神经网络进行一次或多次拓扑得到待拓扑卷积神经网络对应的复杂卷积神经网络,其中,第一次拓扑是从预设的拓扑方式中随机选择一种方式对待拓扑的卷积神经网络进行拓扑操作,从第二次拓扑开始的每次拓扑是从预设的拓扑方式中随机选择一种方式对上一次拓扑后的卷积神经网络进行拓扑操作。本发明专利技术适用于图像分类数据集上任何卷积神经网络的结构拓扑,本发明专利技术的实现的最终效果是神经网络是功能保持的,尽管网络复杂度有所提升,但是对于同样的输入网络具有同样的输出。

A topological method of convolution neural network

【技术实现步骤摘要】
一种卷积神经网络拓扑方法
本专利技术涉及计算机信息
,具体地说,涉及计算机神经网络结构设计优化领域,更具体地说,涉及一种卷积神经网络拓扑方法。
技术介绍
卷积神经网络仿造生物的视知觉机制构建,在图像分类、目标识别等领域取得了重要的成果。经研究发现,更深层的网络有利于更好地提取和分析图像的特征,具有更好的拟合性。因此,对简单神经网络进行拓扑使其变得复杂成为了一个优化卷积神经网络的关键技术。现有技术中,神经网络结构拓扑的方法主要包括:遗传算法:通过遗传算法或其他混合数学方法的遗传算法,随机探索隐藏层的节点连接关系和节点个数。智能优化算法:通过智能优化算法提出的混合粒子群优化算法(PSO)可以自动搜索神经网络隐藏层层数和节点数。知识蒸馏:通过已有的效果较好的教师网络,指导生成新的学生网络。但是,现有技术中普遍的拓扑变化速度慢且计算代价高,这主要是由于拓扑过程中已训练的参数没有充分利用,并且在每次随机搜索时重复进行参数从初始化再训练的过程,再训练的过程使得拓扑变化速度变慢且计算代价的必然升高。
技术实现思路
因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种卷积神经网络拓扑方法,包括:S1、训练待拓扑的卷积神经网络多次,记录其在图像测试集上的准确率;在本专利技术的一些实施例中,对待拓扑的卷积神经网络训练多次是指对待拓扑的卷积神经网络训练至少50次或在卷积神经网络在图像测试集上的准确率达到80%时停止训练,以先满足的一个条件为准。S2、对经步骤S1训练后的卷积神经网络进行一次或多次拓扑;其中,第一次拓扑是从预设的拓扑方式中随机选择一种方式对待拓扑的卷积神经网络进行拓扑操作;从第二次拓扑开始,每次拓扑是从预设的拓扑方式中随机选择一种方式对上一次拓扑后的卷积神经网络进行拓扑操作。其中,所述预设的拓扑方式包括如下方式中的一种或多种:拓宽:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,对该卷积层的滤波器进行随机复制,并将复制的滤波器添加到原卷积层中以使原卷积层被拓宽成为新的卷积层;将拓宽后的新卷积层中因复制增加的新滤波器的输入参数设置为原卷积层中被复制的滤波器对应的输入参数,该新卷积层中其他未被复制过的滤波器的输入参数保持不变;将卷积神经网络拓扑后的新卷积层中因复制增加的新滤波器以及被复制的滤波器的输出参数设置为被复制的滤波器原输出参数的1/(x+1),其中x代表该滤波器被复制的次数;拆分:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,将该卷积层的滤波器进行等分,拆分为滤波器数量相同的两个新卷积层,并对两个新卷积层的输出进行连接操作;将拆分后的两个新卷积层中滤波器的输入参数和输出参数与被拆分前卷积层中对应滤波器的输入参数和输出参数保持一致;加深:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的新卷积层;并将新卷积层中与原卷积层中直接对应的滤波器间的连接的参数设置为1,其余滤波器间的连接的参数设置为0,使新卷积层的输出与原卷积层的输出保持不变,以将上一层卷积层的输出特征图像在不变的情况下传递给下一卷积层;添加短路连接:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的且参数为0的新卷积层,并将该卷积层的输出与新卷积层的输出进行叠加操作;添加密集连接:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的且参数为0的新卷积层,并将该卷积层的输出与新卷积层的输出进行连接操作。优选的,每次拓扑采用基于功能保持的方式对卷积神经网络进行拓扑操作,以本次拓扑前的卷积神经网络为教师网络进行功能保持的迁移学习得到的学生网络为本次拓扑后的卷积神经网络。优选的,对每种拓扑方式拓扑后的新卷积层进行参数迁移学习,以W(i)=(k1,k2,c,f)表示要进行拓扑改变的第i个卷积层的参数矩阵,其中,卷积核尺寸为k1×k2,c为输入通道数,f为输出特征图数量,W为参数矩阵,X为卷积操作的输入;在拓宽的拓扑方式中,添加一个0至0.05倍的随机参数对拓扑后的卷积神经网络进行训练得到新的参数矩阵:其中,g代表随机函数,randomsamplefrom表示从集合中随机取样,W(i+1)表示拓扑操作后的新卷积层的参数矩阵,X表示卷积操作的输入,U表示对拓扑后的卷积神经网络进行训练后的卷积层的参数矩阵,card表示对数量的统计,δ表示随机参数;在拆分的拓扑方式中,拆分后的新卷积层的参数通过如下迁移学习获得:其中,U和V分别代表拆分后的两个新卷积层的参数矩阵,Operation_output代表拓扑操作后的新卷积层的输出,Concatenate代表连接操作,代表中间经过的归一化和激活操作;在加深的拓扑方式中,对增加的新卷积层的参数通过如下迁移学习获得:其中,U(i+1)表示新增的新卷积层的参数矩阵;在添加短路连接的拓扑方式中,对增加的新卷积层的参数进行迁移学习,所有的新卷积层权重矩阵U(i+1)初始化为0,卷积操作的输出为:Operation_output=ReLU(Add(X(i+1),X(i+1)·U(i+1)))Operation_output代表拓扑操作后的新卷积层的输出,X表示卷积操作的输入,ReLU代表激活函数;在添加密集连接的拓扑方式中,对增加的新卷积层的参数进行迁移学习,将所有的新卷积层权重矩阵U(i+1)初始化为0,归一化等层的处理用表示,卷积操作的输出为:Operation_output代表拓扑操作后的新卷积层的输出,X表示卷积操作的输入,代表卷积中间经过的归一化和激活操作。S3、对步骤S2中的复杂卷积神经网络进行后训练至收敛,其中将卷积神经网络训练至收敛是指对卷积神经网络进行多次训练,直到在某次训练后与该次训练前相比,其准确率的变化范围小于等于0.2%,判定该卷积神经网络已训练至收敛。本专利技术适用于图像分类数据集上任何卷积神经网络的结构拓扑,本专利技术的实现的最终效果是神经网络是功能保持的,尽管网络复杂度有所提升,但是对于同样的输入网络具有同样的输出。与其他方式相比,本专利技术实现速度非常快,通过对参数进行简单的迁移变化实现高效的网络拓扑结构的改变。与其他现有方法相比,本专利技术没有对卷积神经网络进行任何附加的训练,大大节省计算代价。其次,在结构进行拓扑的过程中,本专利技术非常高效,通过对参数和结构的迁移变化从而迅速实现基于功能保持的神经网络结构上改变。附图说明以下参照附图对本专利技术实施例作进一步说明,其中:图1为根据本专利技术实施例的一种卷积神经网络拓扑方法主要流程示意图;图2为根据本专利技术实施例的一个示例对应的待拓扑的卷积神经网络结构示意图;图3为根据本专利技术实施例的对图2所示示例采用拓宽的方式拓扑后的神经网络结构本文档来自技高网...

【技术保护点】
1.一种卷积神经网络拓扑方法,其特征在于,包括:/nS1、训练待拓扑的卷积神经网络多次,记录其在图像测试集上的准确率;/nS2、对经步骤S1训练后的卷积神经网络进行一次或多次拓扑;其中,第一次拓扑是从预设的拓扑方式中随机选择一种方式对待拓扑的卷积神经网络进行拓扑操作;从第二次拓扑开始,每次拓扑是从预设的拓扑方式中随机选择一种方式对上一次拓扑后的卷积神经网络进行拓扑操作。/n

【技术特征摘要】
20190905 CN 2019108351403;20190905 CN 2019108351391.一种卷积神经网络拓扑方法,其特征在于,包括:
S1、训练待拓扑的卷积神经网络多次,记录其在图像测试集上的准确率;
S2、对经步骤S1训练后的卷积神经网络进行一次或多次拓扑;其中,第一次拓扑是从预设的拓扑方式中随机选择一种方式对待拓扑的卷积神经网络进行拓扑操作;从第二次拓扑开始,每次拓扑是从预设的拓扑方式中随机选择一种方式对上一次拓扑后的卷积神经网络进行拓扑操作。


2.根据权利要求1所述的一种卷积神经网络拓扑方法,其特征在于,
所述步骤S1中,对待拓扑的卷积神经网络训练多次是指对待拓扑的卷积神经网络训练至少50次或在卷积神经网络在图像测试集上的准确率达到80%时停止训练,以先满足的一个条件为准。


3.根据权利要求1至2任一所述的一种卷积神经网络拓扑方法,其特征在于,所述预设的拓扑方式包括如下方式中的一种或多种:
拓宽:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,对该卷积层的滤波器进行随机复制,并将复制的滤波器添加到原卷积层中以使原卷积层被拓宽成为新的卷积层;
拆分:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,将该卷积层的滤波器进行等分,拆分为滤波器数量相同的两个新卷积层,并对两个新卷积层的输出进行连接操作;
加深:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的新卷积层;
添加短路连接:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的且参数为0的新卷积层,并将该卷积层的输出与新卷积层的输出进行叠加操作;
添加密集连接:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的且参数为0的新卷积层,并将该卷积层的输出与新卷积层的输出进行连接操作。


4.根据权利要求3所述的一种卷积神经网络拓扑方法,其特征在于,
每次拓扑采用基于功能保持的方式对卷积神经网络进行拓扑操作,以本次拓扑前的卷积神经网络为教师网络进行功能保持的迁移学习得到的学生网络为本次拓扑后的卷积神经网络。


5.根据权利要求4所述的一种卷积神经网络拓扑方法,其特征在于,
在拓宽的拓扑方式中,将拓宽后的新卷积层中因复制增加的新滤波器的输入参数设置为原卷积层中被复制的滤波器对应的输入参数,该新卷积层中其他未被复制过的滤波器的输入参数保持不变;将卷积神经网络拓扑后的新卷积层中因复制增加的新滤波器以及被复制的滤波器的输出参数设置为被复制的滤波器原输出参数的1/(x+1),其中x代表该滤波器被复制的次数;
在拆分的拓扑方式中,将拆分后的两个新卷积层中滤波器的输入参数和输出参数与被拆分前卷积层中对应滤波器的输入参数和输出参数保持一致;
在加深的拓扑方式中,并将新卷积层中与原卷积...

【专利技术属性】
技术研发人员:朱徽徐勇军安竹林杨传广赵二虎
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1