CN111340179A - 一种卷积神经网络拓扑方法 - Google Patents
一种卷积神经网络拓扑方法 Download PDFInfo
- Publication number
- CN111340179A CN111340179A CN202010012122.8A CN202010012122A CN111340179A CN 111340179 A CN111340179 A CN 111340179A CN 202010012122 A CN202010012122 A CN 202010012122A CN 111340179 A CN111340179 A CN 111340179A
- Authority
- CN
- China
- Prior art keywords
- neural network
- topology
- convolutional neural
- new
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012549 training Methods 0.000 claims abstract description 39
- 238000012360 testing method Methods 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 23
- 238000013508 migration Methods 0.000 claims description 16
- 230000005012 migration Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 abstract description 17
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种卷积神经网络拓扑方法,利用已训练参数经验对神经网络结构进行拓扑,包括:获取待拓扑的卷积神经网络,对其训练多次,验证并记录其在图像测试集上的准确率;对训练后的卷积神经网络进行一次或多次拓扑得到待拓扑卷积神经网络对应的复杂卷积神经网络,其中,第一次拓扑是从预设的拓扑方式中随机选择一种方式对待拓扑的卷积神经网络进行拓扑操作,从第二次拓扑开始的每次拓扑是从预设的拓扑方式中随机选择一种方式对上一次拓扑后的卷积神经网络进行拓扑操作。本发明适用于图像分类数据集上任何卷积神经网络的结构拓扑,本发明的实现的最终效果是神经网络是功能保持的,尽管网络复杂度有所提升,但是对于同样的输入网络具有同样的输出。
Description
技术领域
本发明涉及计算机信息技术领域,具体地说,涉及计算机神经网络结构设计优化领域,更具体地说,涉及一种卷积神经网络拓扑方法。
背景技术
卷积神经网络仿造生物的视知觉机制构建,在图像分类、目标识别等领域取得了重要的成果。经研究发现,更深层的网络有利于更好地提取和分析图像的特征,具有更好的拟合性。因此,对简单神经网络进行拓扑使其变得复杂成为了一个优化卷积神经网络的关键技术。现有技术中,神经网络结构拓扑的方法主要包括:
遗传算法:通过遗传算法或其他混合数学方法的遗传算法,随机探索隐藏层的节点连接关系和节点个数。
智能优化算法:通过智能优化算法提出的混合粒子群优化算法(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代表随机函数,random sample from表示从集合中随机取样,W(i+1)表示拓扑操作后的新卷积层的参数矩阵,X表示卷积操作的输入,U表示对拓扑后的卷积神经网络进行训练后的卷积层的参数矩阵,card表示对数量的统计,δ表示随机参数;
在拆分的拓扑方式中,拆分后的新卷积层的参数通过如下迁移学习获得:
在加深的拓扑方式中,对增加的新卷积层的参数通过如下迁移学习获得:
其中,U(i+1)表示新增的新卷积层的参数矩阵;
在添加短路连接的拓扑方式中,对增加的新卷积层的参数进行迁移学习,所有的新卷积层权重矩阵U(i+1)初始化为0,卷积操作的输出为:
Operation_output=ReLU(Add(X(i+1),X(i+1)·U(i+1)))
Operation_output代表拓扑操作后的新卷积层的输出,X表示卷积操作的输入,ReLU代表激活函数;
S3、对步骤S2中的复杂卷积神经网络进行后训练至收敛,其中将卷积神经网络训练至收敛是指对卷积神经网络进行多次训练,直到在某次训练后与该次训练前相比,其准确率的变化范围小于等于0.2%,判定该卷积神经网络已训练至收敛。
本发明适用于图像分类数据集上任何卷积神经网络的结构拓扑,本发明的实现的最终效果是神经网络是功能保持的,尽管网络复杂度有所提升,但是对于同样的输入网络具有同样的输出。与其他方式相比,本发明实现速度非常快,通过对参数进行简单的迁移变化实现高效的网络拓扑结构的改变。与其他现有方法相比,本发明没有对卷积神经网络进行任何附加的训练,大大节省计算代价。其次,在结构进行拓扑的过程中,本发明非常高效,通过对参数和结构的迁移变化从而迅速实现基于功能保持的神经网络结构上改变。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的一种卷积神经网络拓扑方法主要流程示意图;
图2为根据本发明实施例的一个示例对应的待拓扑的卷积神经网络结构示意图;
图3为根据本发明实施例的对图2所示示例采用拓宽的方式拓扑后的神经网络结构示意图;
图4为根据本发明实施例的对图2所示示例采用拆分的方式拓扑后的神经网络结构示意图;
图5为根据本发明实施例的对图2所示示例采用加深的方式拓扑后的神经网络结构示意图;
图6为根据本发明实施例的对图2所示示例采用添加短路连接的方式拓扑后的神经网络结构示意图;
图7为根据本发明实施例的对图2所示示例采用添加密集连接的方式拓扑后的神经网络结构示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
根据本发明的一个实施例,如图1所示,本发明的一种卷积神经网络拓扑方法包括步骤P1、P2和/或P3和/或P4,下面结合附图及示例详细说明每一个步骤。
在步骤P1中,获取待拓扑的卷积神经网络,对其训练多次并验证其在图像测试集上的准确率。
根据本发明的一个实施例,对待拓扑的卷积神经网络训练至少50次或在卷积神经网络在图像测试集上的准确率达到80%时停止训练,以先满足一个条件为准。
在步骤P2中,对经步骤P1训练后的卷积神经网络进行一次或多次拓扑得到待拓扑卷积神经网络对应的复杂卷积神经网络,其中,第一次拓扑是从预设的拓扑方式中随机选择一种方式对待拓扑的卷积神经网络进行拓扑操作;从第二次拓扑开始,每次拓扑是从预设的拓扑方式中随机选择一种方式对上一次拓扑后的卷积神经网络进行拓扑操作。
根据本发明的一个实施例,所述预设的拓扑方式包括如下方式中的一种或多种:
拓宽:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,对该卷积层的滤波器进行随机复制,并将复制的滤波器添加到原卷积层中以使原卷积层被拓宽成为新的卷积层;将拓宽后的新卷积层中因复制增加的新滤波器的输入参数设置为原卷积层中被复制的滤波器对应的输入参数,该新卷积层中其他未被复制过的滤波器的输入参数保持不变;将卷积神经网络拓扑后的新卷积层中因复制增加的新滤波器以及被复制的滤波器的输出参数设置为被复制的滤波器原输出参数的1/(x+1),其中x代表该滤波器被复制的次数;
拆分:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,将该卷积层的滤波器进行等分,拆分为滤波器数量相同的两个新卷积层,并对两个新卷积层的输出进行连接操作;将拆分后的两个新卷积层中滤波器的输入参数和输出参数与被拆分前卷积层中对应滤波器的输入参数和输出参数保持一致;
加深:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的新卷积层;并将新卷积层中与原卷积层中直接对应的滤波器间的连接的参数设置为1,其余滤波器间的连接的参数设置为0,使新卷积层的输出与原卷积层的输出保持不变,以将上一层卷积层的输出特征图像在不变的情况下传递给下一卷积层;
添加短路连接:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的且参数为0的新卷积层,并将该卷积层的输出与新卷积层的输出进行叠加操作;
添加密集连接:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的且参数为0的新卷积层,并将该卷积层的输出与新卷积层的输出进行连接操作。
下面结合示例详细说明。
根据本发明的一个示例,如图2所示的一个简单卷积神经网络,该卷积神经网络包括三个卷积层,其中每一个方框代表一个卷积层,方框中的圆圈代表滤波器,每个卷积层有n个滤波器,虚线框中的第二个卷积层代表被随机选择的要进行拓扑操作的卷积层,a、b、c、d用以示意性的表示待拓扑卷积层的初始输入参数,e、f、g、h用以示意性的表示待拓扑卷积层的初始输出参数。每一个卷积层的输入都是经上一个卷积层处理之后的特征图像,每一个卷积层的输入参数和输出参数分别影响该卷积层对输入的特征图像的处理及特征图像的输出。
在拓宽的拓扑方式中,如图3所示,随机复制图2所示的卷积神经网络第二个卷积层中的滤波器,并将复制后的滤波器添加到第二个卷积层,使第二个卷积层被拓宽。其中,将拓宽后的第二个卷积层中因复制增加的新滤波器的输入参数设置为原卷积层中被复制的滤波器对应的输入参数,其他未被复制过的滤波器的输入参数保持不变;将拓宽后的第二个卷积层中因复制增加的新滤波器以及被复制的滤波器的输出参数设置为被复制的滤波器原输出参数的1/(x+1),其中x代表该滤波器被复制的次数,其他滤波器的输出参数设置为被拓宽前的卷积层中对应滤波器的输出参数。例如,如图3所示,第二个卷积层包含n个滤波器,其中第n个滤波器的输入参数为d,输出参数为h,对第n个滤波器复制一次并添加到原卷积层中,使原卷积层拓宽为具有n+1个滤波器的新卷积层,新增的第n+1个滤波器的输入参数设置为与被复制的第n个滤波器的输入参数d保持一致,第n个和第n+1个滤波器的输出参数设置为h/2。例如,假设第二个卷积层的滤波器数量n=128,随机复制其中30个滤波器,拓宽后第二个卷积层变为包含158个滤波器的卷积层,且将其中被复制的30个滤波器和经复制增加的30个滤波器的输出参数设置为被复制的滤波器原输出参数的1/2,以使拓宽后的第二个卷积层的输出保持与原第二个卷积层的输出一致。
在拆分的拓扑方式中,如图4所示,将图2所示的卷积神经网络的第二个卷积层进行等分拆分,拆分为两个新卷积层,拆分为滤波器数量相同的两个新卷积层实现待拓扑卷积层的拆分,并对两个新卷积层的输出进行连接操作;其中,拆分后的两个新卷积层中滤波器的输入参数和输出参数与被拆分前第二个卷积层中对应滤波器的输入参数和输出参数保持一致。例如,如图4所示,第二个卷积层包含n个滤波器,输入参数示意性表示为a、b、c、d,等分拆分后,原卷积层变为两个分别包含n/2个滤波器的新卷积层,且新卷积层中滤波器的参数与被拆分前保持一致,并使两个新卷积层的输出进行叠加以使新卷积层的输出与原卷积层的输出保持不变。经过拆分操作后,进化模块的卷积层发生了变化,在下一次对该进化模块进行拓扑操作时,是在拆分拓扑后的进化模块基础上进行,随机选择进化模块中的一个卷积层进行拓扑操作。例如,假设第二个卷积层的滤波器数量n=128,拆分后,原第二个卷积层的前64个滤波器为新卷积层1,后64个滤波器为新卷积层2,新卷积层1和新卷积层2的滤波器参数与未拆分前第二个卷积层中对应滤波器的参数一致,并对新卷积层1和新卷积层1的输出进行连接操作,64个输出和64个输出进行连接,与原第二个卷积层的128个输出保持不变。
在加深的拓扑方式中,如图5所示,在图2所示的卷积神经网络的第二个卷积层后直接添加一个与第二个卷积层滤波器数量相同的新卷积层,并将新卷积层中与原卷积层中直接对应的滤波器间的连接的参数设置为1,其余滤波器间的连接的参数设置为0,使新卷积层的输出与原卷积层的输出保持不变。例如,如图5所示,第二个卷积层包含n个滤波器,进行加深拓扑是在其后直接添加一个包含n个滤波器的新卷积层,并对新卷积层的参数进行设置使新卷积层的输出与加深前原卷积卷积层的输出一致。例如,假设第二个卷积层的滤波器数量n=128,加深后,第二个卷积层后增加一个具有128个滤波器的新卷积层,将新卷积层中的参数设置为0和1,以将上一层卷积层既第二卷积层的输出在不变的情况下传递给下一卷积层。其中,针对所获得的网络结构,将第二个卷积层与新卷积层中直接对应的滤波器间的连接的训练参数设置为1,将所述两个卷积层中其余的滤波器间的连接的训练参数设置为0,并保持其余训练参数不变,保证将上一层既第二个卷积层的输出在不变的情况下继续向下传递。
在添加短路连接的拓扑方式中,如图6所示,在图2所示的卷积神经网络的第二个卷积层后直接添加一个与第二个卷积层滤波器数量相同的且参数为0的新卷积层,并对该新卷积层的输出与第二个卷积层的输出进行叠加操作后使叠加后的输出与原卷积层的输出保持不变。例如,如图6所示,第二个卷积层包含n个滤波器,进行添加短路连接的拓扑是在其后直接添加一个包含n个滤波器的新卷积层,并将新卷积层的参数设置为0,然后将新卷积层的输出与原卷积层的输出进行叠加并保持与原卷积层的输出一致。例如,第二个卷积层的滤波器数量n=128,添加短路连接的拓扑后,第二个卷积层后增加一个包含128个滤波器的且参数为0的新卷积层,并将第二个卷积层的输出与新卷积层的输出进行叠加操作。在获得的新网络结构中,将第二个卷积层和新卷积层中的各个滤波器间的连接的参数设置为0,将执行所述Add操作对应的连接的训练设置参数为1,并保持其余参数不变,从而使原第二个卷积层的输出与0输出融合,保证第二个卷积层的输出依旧为原输出。
在添加密集连接的拓扑方式中,如图7所示,在图2所示的卷积神经网络的第二个卷积层后直接添加一个与第二个卷积层滤波器数量相同且参数为0的新卷积层,并对该新卷积层的输出与第二个卷积层的输出进行连接操作,将该新卷积层与原卷积层与下一个卷积层做全连接。例如,如图7所示,第二个卷积层包含n个滤波器,进行添加密集连接的拓扑是在其后直接添加一个包含n个滤波器的新卷积层,并将新卷积层的参数设置为0,然后将新卷积层的输出与原卷积层的输出进行叠加并保持与原卷积层的输出一致。例如,假设第二个卷积层的滤波器数量n=128,在添加密集连接的拓扑后,第二个卷积层后增加一个包含128个滤波器的且参数为0的新卷积层,并将第二个卷积层的输出与新卷积层的输出进行连接操作。其中,针对所获得的新网络结构,将所述第二个卷积层和新卷积层中的各个滤波器间的连接的训练参数设置为0,将执行所述连接操作对应的参数设置为1,并保持其余参数不变;第二个卷积层的128个输出与新卷积层的128个输出进行连接操作后,变为256个输出,由于新卷积层的参数为0,从而使原第二个卷积层的输出与0输出相连,保证第二个卷积层输出依旧为原输出。
根据本发明的一个实施例,对卷积神经网络的每次拓扑均采用基于功能保持的方式对卷积神经网络进行拓扑操作,即以本次拓扑前的卷积神经网络为教师网络进行功能保持的迁移学习得到的学生网络为本次拓扑后的卷积神经网络。
其中,功能保持可说明如下:
x代表网络的输入,利用已训练参数经验由教师模型f(x;θ)使用迁移的方法选择一个新的参数集合θ′使网络对于相同输入具有相同的输出,即:
假设将要进行迁移改变的第i个卷积层由形如(k1,k2,c,f)的矩阵W(i)表示,第i个卷积层的卷积操作输入表示为X(i),也就是说,该层的卷积操作可以表示为X(i)·W(i)。
根据本发明的一个实施例,对每种拓扑方式拓扑后的新卷积层进行参数迁移学习,以W(i)=(k1,k2,c,f)表示要进行拓扑改变的第i个卷积层的参数矩阵,其中,卷积核尺寸为k1×k2,c为输入通道数,f为输出特征图数量,W为参数矩阵,X为卷积操作的输入;
在拓宽的拓扑方式中,W(i)随机复制矩阵中最后一维参数,并在W(i+1)中将第三维对应位置参数除以上层相同过滤器数量,从而利用已完成训练的参数实现神经网络的功能保持。注意,若继续训练,为提升结果鲁棒性,一个0至0.05倍的参数随机添加到新参数中W(i+1)以打破新参数的对称性,即添加一个0至0.05倍的随机参数对拓扑后的卷积神经网络进行训练得到新的参数矩阵:
其中,g代表随机函数,random sample from表示从集合中随机取样,W(i+1)表示拓扑操作后的新卷积层的参数矩阵,X表示卷积操作的输入,U表示对拓扑后的卷积神经网络进行训练后的卷积层的参数矩阵,card表示对数量的统计,δ表示随机参数;
在拆分的拓扑方式中,拆分后的新卷积层的参数通过如下迁移学习获得:
在加深的拓扑方式中,对增加的新卷积层的参数通过如下迁移学习获得:
新的卷积核为k1×k2尺寸的卷积积层权重矩阵被初始化为单位矩阵
其中,U(i+1)表示新增的新卷积层的参数矩阵;同时ReLU(x)=max{x,0}满足激活函数σ的约束:
在添加短路连接的拓扑方式中,对增加的新卷积层的参数进行迁移学习,所有的新卷积层权重矩阵U(i+1)初始化为0,卷积操作的输出为:
Operation_output=ReLU(Add(X(i+1),X(i+1)·U(i+1)))
Operation_output代表拓扑操作后的新卷积层的输出,X表示卷积操作的输入,ReLU代表激活函数;
在步骤P3中,在与步骤P1相同的图像测试集上验证复杂卷积神经网络的准确率,以验证对新的复杂卷积神经网络不进行训练,其相对于拓扑前的卷积神经网络,准确率不下降。
在步骤P4中,对步骤P2中的复杂卷积神经网络进行后训练至收敛,其中将卷积神经网络训练至收敛是指对卷积神经网络进行多次训练,直到在某次训练后与该次训练前相比,其准确率的变化范围小于等于0.02%,判定该卷积神经网络已训练至收敛。经过后训练之后的复杂卷积神经网络,其在图像数据集上的准确率和拟合性更好。
本发明适用于图像分类数据集上任何卷积神经网络的结构拓扑,本发明的实现的最终效果是神经网络是功能保持的,尽管网络复杂度有所提升,但是对于同样的输入网络具有同样的输出。与其他方式相比,本发明实现速度非常快,通过对参数进行简单的迁移变化实现高效的网络拓扑结构的改变。与其他现有方法相比,本发明没有对卷积神经网络进行任何附加的训练,大大节省计算代价。其次,在结构进行拓扑的过程中,本发明非常高效,通过对参数和结构的迁移变化从而迅速实现基于功能保持的神经网络结构上改变。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.一种卷积神经网络拓扑方法,其特征在于,包括:
S1、训练待拓扑的卷积神经网络多次,记录其在图像测试集上的准确率;
S2、对经步骤S1训练后的卷积神经网络进行一次或多次拓扑;其中,第一次拓扑是从预设的拓扑方式中随机选择一种方式对待拓扑的卷积神经网络进行拓扑操作;从第二次拓扑开始,每次拓扑是从预设的拓扑方式中随机选择一种方式对上一次拓扑后的卷积神经网络进行拓扑操作。
2.根据权利要求1所述的一种卷积神经网络拓扑方法,其特征在于,
所述步骤S1中,对待拓扑的卷积神经网络训练多次是指对待拓扑的卷积神经网络训练至少50次或在卷积神经网络在图像测试集上的准确率达到80%时停止训练,以先满足的一个条件为准。
3.根据权利要求1至2任一所述的一种卷积神经网络拓扑方法,其特征在于,所述预设的拓扑方式包括如下方式中的一种或多种:
拓宽:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,对该卷积层的滤波器进行随机复制,并将复制的滤波器添加到原卷积层中以使原卷积层被拓宽成为新的卷积层;
拆分:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,将该卷积层的滤波器进行等分,拆分为滤波器数量相同的两个新卷积层,并对两个新卷积层的输出进行连接操作;
加深:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的新卷积层;
添加短路连接:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的且参数为0的新卷积层,并将该卷积层的输出与新卷积层的输出进行叠加操作;
添加密集连接:随机选择待拓扑卷积神经网络中某一卷积层作为拓扑对象,在该卷积层后直接添加一个与该卷积层滤波器数量相同的且参数为0的新卷积层,并将该卷积层的输出与新卷积层的输出进行连接操作。
4.根据权利要求3所述的一种卷积神经网络拓扑方法,其特征在于,
每次拓扑采用基于功能保持的方式对卷积神经网络进行拓扑操作,以本次拓扑前的卷积神经网络为教师网络进行功能保持的迁移学习得到的学生网络为本次拓扑后的卷积神经网络。
5.根据权利要求4所述的一种卷积神经网络拓扑方法,其特征在于,
在拓宽的拓扑方式中,将拓宽后的新卷积层中因复制增加的新滤波器的输入参数设置为原卷积层中被复制的滤波器对应的输入参数,该新卷积层中其他未被复制过的滤波器的输入参数保持不变;将卷积神经网络拓扑后的新卷积层中因复制增加的新滤波器以及被复制的滤波器的输出参数设置为被复制的滤波器原输出参数的1/(x+1),其中x代表该滤波器被复制的次数;
在拆分的拓扑方式中,将拆分后的两个新卷积层中滤波器的输入参数和输出参数与被拆分前卷积层中对应滤波器的输入参数和输出参数保持一致;
在加深的拓扑方式中,并将新卷积层中与原卷积层中直接对应的滤波器间的连接的参数设置为1,其余滤波器间的连接的参数设置为0,使新卷积层的输出与原卷积层的输出保持不变,以将上一层卷积层的输出特征图像在不变的情况下传递给下一卷积层。
6.根据权利要求5所述的一种卷积神经网络拓扑方法,其特征在于,
对每种拓扑方式拓扑后的新卷积层进行参数迁移学习,以W(i)=(k1,k2,c,f)表示要进行拓扑改变的第i个卷积层的参数矩阵,其中,卷积核尺寸为k1×k2,c为输入通道数,f为输出特征图数量,W为参数矩阵,X为卷积操作的输入;
在拓宽的拓扑方式中,添加一个0至0.05倍的随机参数对拓扑后的卷积神经网络进行训练得到新的参数矩阵:
其中,g代表随机函数,random sample from表示从集合中随机取样,W(i+1)表示拓扑操作后的新卷积层的参数矩阵,X表示卷积操作的输入,U表示对拓扑后的卷积神经网络进行训练后的卷积层的参数矩阵,card表示对数量的统计,δ表示随机参数;
在拆分的拓扑方式中,拆分后的新卷积层的参数通过如下迁移学习获得:
在加深的拓扑方式中,对增加的新卷积层的参数通过如下迁移学习获得:
其中,U(i+1)表示新增的新卷积层的参数矩阵;
在添加短路连接的拓扑方式中,对增加的新卷积层的参数进行迁移学习,所有的新卷积层权重矩阵U(i+1)初始化为0,卷积操作的输出为:
Operation_output=ReLU(Add(X(i+1),X(i+1)·U(i+1)))
Operation_output代表拓扑操作后的新卷积层的输出,X表示卷积操作的输入,ReLU代表激活函数;
7.根据权利要求1所述的一种卷积神经网络拓扑方法,其特征在于,还包括:
S3、对步骤S2中的复杂卷积神经网络进行后训练至收敛,其中将卷积神经网络训练至收敛是指对卷积神经网络进行多次训练,直到在某次训练后与该次训练前相比,其准确率的变化范围小于等于0.02%。
8.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以执行权利要求1至7中任一项所述的方法的步骤。
9.一种电子设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的方法的步骤。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019108351403 | 2019-09-05 | ||
CN2019108351390 | 2019-09-05 | ||
CN201910835140 | 2019-09-05 | ||
CN201910835139 | 2019-09-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111340179A true CN111340179A (zh) | 2020-06-26 |
Family
ID=70864847
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010012122.8A Pending CN111340179A (zh) | 2019-09-05 | 2020-01-07 | 一种卷积神经网络拓扑方法 |
CN202010012084.6A Pending CN111242268A (zh) | 2019-09-05 | 2020-01-07 | 一种搜索卷积神经网络的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010012084.6A Pending CN111242268A (zh) | 2019-09-05 | 2020-01-07 | 一种搜索卷积神经网络的方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111340179A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381667A (zh) * | 2020-11-12 | 2021-02-19 | 国网四川省电力公司电力科学研究院 | 一种基于深度学习的配网电气拓扑识别方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113902088A (zh) * | 2020-06-22 | 2022-01-07 | 华为技术有限公司 | 神经网络结构搜索的方法、装置与系统 |
CN113139579B (zh) * | 2021-03-23 | 2024-02-02 | 广东省科学院智能制造研究所 | 一种基于图像特征自适应卷积网络的图像分类方法和系统 |
CN113379034B (zh) * | 2021-06-15 | 2023-10-20 | 南京大学 | 一种基于网络结构搜索技术的神经网络结构优化方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030134278A1 (en) * | 2000-09-07 | 2003-07-17 | Karpen Gary H. | Chromosome inheritance modifiers and their uses |
CN104850890B (zh) * | 2015-04-14 | 2017-09-26 | 西安电子科技大学 | 基于实例学习和Sadowsky分布的卷积神经网络参数调整方法 |
CN106874955A (zh) * | 2017-02-24 | 2017-06-20 | 深圳市唯特视科技有限公司 | 一种基于深度卷积神经网络的三维形状分类方法 |
CN106874956B (zh) * | 2017-02-27 | 2018-10-23 | 陕西师范大学 | 图像分类卷积神经网络结构的构建方法 |
US10339450B2 (en) * | 2017-09-08 | 2019-07-02 | DeepCube LTD. | System and method for efficient evolution of deep convolutional neural networks using filter-wise recombination and propagated mutations |
CN108491923B (zh) * | 2018-04-10 | 2021-09-24 | 吉林大学 | 基于改进狼群算法优化贝叶斯网络的害虫图像识别方法 |
CN108764463A (zh) * | 2018-05-30 | 2018-11-06 | 成都视观天下科技有限公司 | 卷积神经网络知识迁移配对优化方法、设备及存储介质 |
CN109407067B (zh) * | 2018-10-13 | 2023-06-27 | 中国人民解放军海军航空大学 | 基于时频图卷积神经网络的雷达动目标检测与分类一体化方法 |
CN109492674B (zh) * | 2018-10-19 | 2020-11-03 | 北京京东尚科信息技术有限公司 | 用于目标检测的ssd框架的生成方法及装置 |
CN109299142B (zh) * | 2018-11-14 | 2020-10-27 | 中山大学 | 一种基于进化算法的卷积神经网络结构搜索方法及系统 |
CN109658396A (zh) * | 2018-12-06 | 2019-04-19 | 华中科技大学 | 一种基于选择性搜索与cnn的铸件x光图像缺陷识别方法 |
CN109711640A (zh) * | 2019-01-23 | 2019-05-03 | 北京工业大学 | 一种基于模糊c均值交通流量聚类以及误差反馈卷积神经网络的短时交通流预测方法 |
CN110135486B (zh) * | 2019-05-08 | 2023-01-24 | 西安电子科技大学 | 基于自适应卷积神经网络的筷子图像分类方法 |
-
2020
- 2020-01-07 CN CN202010012122.8A patent/CN111340179A/zh active Pending
- 2020-01-07 CN CN202010012084.6A patent/CN111242268A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381667A (zh) * | 2020-11-12 | 2021-02-19 | 国网四川省电力公司电力科学研究院 | 一种基于深度学习的配网电气拓扑识别方法 |
CN112381667B (zh) * | 2020-11-12 | 2023-02-03 | 国网四川省电力公司电力科学研究院 | 一种基于深度学习的配网电气拓扑识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111242268A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Su et al. | Vitas: Vision transformer architecture search | |
CN109816032B (zh) | 基于生成式对抗网络的无偏映射零样本分类方法和装置 | |
CN111340179A (zh) | 一种卷积神经网络拓扑方法 | |
US9619749B2 (en) | Neural network and method of neural network training | |
CN107273936B (zh) | 一种gan图像处理方法及系统 | |
US20160012330A1 (en) | Neural network and method of neural network training | |
JP2018533153A (ja) | 機械学習に基づくネットワークモデル構築方法及び装置 | |
JP7376731B2 (ja) | 画像認識モデル生成方法、装置、コンピュータ機器及び記憶媒体 | |
CN111275107A (zh) | 一种基于迁移学习的多标签场景图像分类方法及装置 | |
EP3542319A1 (en) | Training neural networks using a clustering loss | |
Shuai et al. | Improving fully convolution network for semantic segmentation | |
JP2022502762A (ja) | ニューラルネットワーク捜索方法、装置、プロセッサ、電子機器、記憶媒体及びコンピュータプログラム | |
CN110991621A (zh) | 一种基于通道数搜索卷积神经网络的方法 | |
CN111967271A (zh) | 分析结果的生成方法、装置、设备及可读存储介质 | |
CN111242176B (zh) | 计算机视觉任务的处理方法、装置及电子系统 | |
CN109657784A (zh) | 神经网络创建方法和装置、图像处理方法和电子设备 | |
Shpitser et al. | Parameter and structure learning in nested Markov models | |
CN110135428A (zh) | 图像分割处理方法和装置 | |
US10902312B2 (en) | Tracking axes during model conversion | |
Guo et al. | Efficient convolutional networks learning through irregular convolutional kernels | |
CN113434722B (zh) | 图像分类方法、装置、设备及计算机可读存储介质 | |
CN115761599A (zh) | 一种视频异常检测方法及系统 | |
Xu et al. | Conv-Reluplex: A Verification Framework For Convolution Neural Networks (S). | |
CN116227585B (zh) | 集群任务的并行执行方法、装置、计算机设备和存储介质 | |
CN110866866A (zh) | 图像仿色处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200626 |
|
RJ01 | Rejection of invention patent application after publication |