一种基于多通道竞争卷积神经网络参数优化方法与流程

文档序号:12906542阅读:350来源:国知局

本发明涉及一种机器学习、神经网络、计算机视觉、大尺度图像识别领域,特别是涉及一种适用于任何神经网络的训练过程,基于多通道竞争卷积神经网络参数优化方法。



背景技术:

近年来,深度卷积网络已经成为大尺度视觉识别最有力的武器。沿着深度学习技术,研究者们从网络结构以及网络深度的角度不断提出新的网络,并且取得了很好的性能。这些方法都遵循同一个流程:从输入图像开始,每一层都接收前一层的输入,然后经过一个非线性单元,再输入到下一层网络,直至输出层。整个过程采用反向传播的方式计算梯度,利用随机梯度下降法端对端地学习网络的参数。所以它们在训练过程中存在以下几个缺点:

1、一旦随机初始化参数固定,极有可能陷入局部最优值,从而造成对性能的影响;

2、每次迭代网络的所有权值系数都要调整,存在损失曲线稳定性及训练效率等问题;

3、目标函数的损失是固定的,不能在训练过程中进行相应的调整和改变。

进一步,我们从人脑的工作方式看:

1、人脑的学习是多向性发散的,人可以在很复杂、各种干扰的环境中去学习知识并且辨识目标,而现有网络在训练过程中往往选取单一的参数初始化设定方式;

2、人脑对外界环境具有很强的自我调整能力;人脑神经元在收到外界的激励,在给予相应响应的同时,还会奖励当前的神经元,从而抑制周围的其他神经元;在学习的过程中不断调整学习策略,以便做出更好的判决和奖励。而现有网络在训练过程中并没有进行相应的自我调整。

3、人脑在学习过程中具有很强的灵活性;不仅能够学习新知识,还能遗忘无用的冗余信息;既能采取“自下而上”的途径,还能通过“自上而下”的途径;采用自下而上的方式,人们可以从部件到区域不断抽象的方式辨识对象。而现有网络往往只采取端对端地“自下而上”的训练方法,忽略了“自上而下”的针对不同对象的注意力。

以上这些因素反映了现有卷积神经网络的局限性,在训练过程中进而影响到卷积神经网络的性能。传统的网络训练方法只通过一种随机化初始参数策略,然后端对端地更新单一网络的参数,网络的性能无法得到进一步提升。

因此,本专利基于“优胜劣汰”的思想,提出一种多通道竞争卷积神经网络,模拟了人脑神经网络中神经元的激励、奖励与抑制的机制,对卷积网络进行训练。在训练每次迭代过程中,我们按照最终的网络输出,选取最好结果的网络通道作为优胜者,指导下一次迭代的训练。适用于任何神经网络,在不同的平台具有很好的扩展性。



技术实现要素:

本发明要解决的技术问题是提供一种卷积神经网络性能更高的,基于多通道竞争卷积神经网络参数优化方法。

现有卷积神经网络参数优化方法存在现有网络单一的参数初始化方式容易陷入局部最优的问题缺陷,和每次迭代网络的所有参数都根据损失调整存在稳定性及训练效率等问题缺陷。

本发明采用的技术方案如下:一种基于多通道竞争卷积神经网络参数优化方法,具体方法为:构建一个卷积神经子网络,将所构建的子网络复制n份,作为n个通道构建多通道卷积神经网络;所述n为大于等于2的自然数。

还包括对各个子网络进行优化的方法,具体方法步骤为:

一、对子网络进行参数初始化和学习率设定;

二、将训练样本输入到每个子网络中进行训练,找到网络性能最好的一个子网络,和网络性能最差的两个子网络;

三、对于网络性能最好的一个子网络,将所有学习到的参数保持不变,对于网络性能最差的两个子网络,首先从网络性能最好的一个子网络中每个滤波器中随机选取设定比例的滤波器系数,然后将网络性能最差的两个子网络中对应位置的参数替换为从网络性能最好的一个子网络中挑选出来的系数;

四、将参数替代后的各个子网络进行训练并得到其网络性能,对参数替代后的子网络和参数替代前的子网络的网络性能进行比较,如果参数替代后的网络网络性能比参数替代前的网络网络性能好,则用参数替代后的网络替换参数替代前的网络;如果参数替代后的网络网络性能比参数替代前的网络网络性能差,则保留参数替代前的网络;

五、循环步骤二到步骤四,并判断循环迭代次数是否达到循环迭代次数阈值,如果否,则继续循环骤二到步骤四的过程;如果是,则停止循环,选取训练网络性能最好的各个子网络作为最终的网络。

所述步骤二中,将训练样本输入到每个子网络中进行训练的具体方法为:将训练样本按照设定的批的大小随机分批,将每批样本输入到每个子网络中进行训练。

所述步骤二中,找到网络性能最好的一个子网络,和网络性能最差的两个子网络的具体方法为:迭代训练设定次数后,得到各个子网络及他们的损失误差,根据损失误差确定网络性能最好的一个子网络和网络性能最差的两个子网络;子网络的损失误差越小,则网络性能越好。

所述步骤三中所述随机选取设定比例的滤波器系数为随机选取50%的滤波器系数。

与现有技术相比,本发明的有益效果是:基于“优胜劣汰”的思想,模拟了人脑神经网络中神经元的激励、奖励与抑制的机制,对卷积网络进行训练;在训练每次迭代过程中,我们按照最终的网络输出,选取最好结果的网络通道作为优胜者,指导下一次迭代的训练。弥补了现有技术卷积神经网络只通过一种随机化初始参数策略,然后端对端地更新单一网络参数的方法,网络的性能得到了进一步提升。

附图说明

图1为本发明其中一实施例的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

具体实施例1

一种基于多通道竞争卷积神经网络参数优化方法,具体方法为:构建一个卷积神经子网络,将所构建的子网络复制n份,作为n个通道构建多通道卷积神经网络;所述n为大于等于2的自然数。

基于多通道竞争卷积神经网络参数优化,模拟了人脑神经网络中神经元的激励、奖励与抑制的机制,解决了现有网络单一的参数初始化方式容易陷入局部最优的问题。

类似现有卷积神经网络,将卷积层、池化层和非线性单元依次连接,作为一个模块;然后将该模块复制三份,串联在一起。最后一个模块后接两个全连接层。这样构建一个卷积神经子网络。

为了减少训练复杂度,在本具体实施例中,n小于等于5。其中,卷积层:滤波器大小为滤波器移动步长卷积谱个数为m。式中n表示第n个子网络通道,l表示子网络的第l层(l<=m)。这里,我们设定第一个模块设定为m=256,第二个和第三个模块设置为m=512。池化层:池化层将小邻域内的特征点聚集得到新的特征。池化方法有(最大值池化max-pooling、平均池化average-pooling)。平均池化,即对邻域内特征点只求平均;最大值池化,即对邻域内特征点取最大。在本具体实施例中,采用最大值池化的池化方法,设定全连接层:可看做滤波器大小为1*1,移动步长为1的卷积层。

在每个子网络通道后添加损失层,目标函数采用softmaxloss形式。

具体实施例2

在具体实施例1的基础上,还包括对各个子网络进行优化的方法,具体方法步骤为:

一、对子网络进行参数初始化和学习率设定;

二、将训练样本输入到每个子网络中进行训练,找到网络性能最好的一个子网络,和网络性能最差的两个子网络;

三、对于网络性能最好的一个子网络,将所有学习到的参数保持不变,对于网络性能最差的两个子网络,首先从网络性能最好的一个子网络中每个滤波器中随机选取设定比例的滤波器系数,然后将网络性能最差的两个子网络中对应位置的参数替换为从网络性能最好的一个子网络中挑选出来的系数;

四、将参数替代后的各个子网络进行训练并得到其网络性能,对参数替代后的子网络和参数替代前的子网络的网络性能进行比较,如果参数替代后的网络网络性能比参数替代前的网络网络性能好,则用参数替代后的网络替换参数替代前的网络;如果参数替代后的网络网络性能比参数替代前的网络网络性能差,则保留参数替代前的网络;

五、循环步骤二到步骤四,并判断循环迭代次数是否达到循环迭代次数阈值,如果否,则继续循环骤二到步骤四的过程;如果是,则停止循环,选取网络性能最好的各个子网络作为最终的网络。

通过将“优胜劣汰”的竞争思想用于网络参数的更新提升卷积神经网络的特征表达能力,提升网络性能。

所述步骤一中,构建卷积滤波器参数初始化方法集:{xavier,gaussian,msra},每一个子网络随机选取一种参数初始化方式,每个子网络的学习率设定为αn。

具体实施例3

在具体实施例2的基础上,所述步骤二中,将训练样本输入到每个子网络中进行训练的具体方法为:将训练样本按照设定的批的大小(在本具体实施例中批大小设定为256)随机分批,将每批样本输入到每个子网络中进行训练。

具体实施例4

在具体实施例2或3的基础上,所述步骤二中,找到网络性能最好的一个子网络,和网络性能最差的两个子网络的具体方法为:迭代训练设定次数后,得到各个子网络及他们的误差,根据损失误差确定网络性能最好的一个子网络和网络性能最差的两个子网络;子网络的损失误差越小,则网络性能越好。

具体实施例5

在具体实施例2到4之一的基础上,所述步骤三中所述随机选取设定比例的滤波器系数为随机选取50%的滤波器系数。

具体实施例6

在具体实施例2到5之一的基础上,如图1所示,在本具体实施例中,将得到的各个子网络记为损失误差记为δn,n=1,...,n。δn越小,说明该子网络的网络性能越好。将各个子网络的损失按照从小到大的顺序排序,选取最前面的1个子网络作为优胜的网络,记为选取最后面2个子网络作为性能较差的网络,记为对于将所有学习到的参数保持不变;对于首先分别从网络中的每个滤波器中随机选取50%的滤波器系数,然后将中对应位置的参数替换为从中挑选出来的系数。

对修改之后的所有子网络进行训练,待所有子网络的分类损失误差达到平稳状态,就暂停当前阶段的训练。然后存储修改之后的网络参数比较中各个子网络的损失误差。如果参数替换后的网络性能比优化前的网络性能好,这样就用优化后的网络替换优化前的网络如果参数替换后的网络性能比优化前的网络性能差,这样就丢弃优化后的网络保留优化前的网络继续挑选优胜的子网络。经过m(本具体实施例中为10)次迭代,然后将所有更新后的子网络进行训练。待训练结束,选取训练性能最好的子网络作为最终的网络。

用修改之后的网络进行训练,训练一定次数后,对比修改后和修改前的网络产生的误差大小,判断先前参数更新是否有效,保留性能好的网络用于后面的训练。通过不断地重复这个过程,最终可以训练出一个性能优异的网络,该网络的特征表达能力比传统方法训练的网络要有所提升。

alexnet网络作为经典的图像分类网络,对随后各种网络的设计都具有十分重要的影响。此处以alexnet解决cifar-100数据库图像分类问题为例,阐述本发明的有效性。

首先将alexnet作为单个子网络,构建5个同alexnet结构的多通道网络。网络初始学习率设置为0.001,最大迭代次数30万次,批大小设置为256。

网络每经过5000次,按照损失误差排名,选取优胜的子网络,利用优胜的子网络参数部分替换性能较差的子网络参数,进一步训练到10000次,保留训练结果较好的网络,多次迭代直至选取最终输出的优胜子网络。

初步预判,经过本发明提出的算法训练之后的网络性能,比使用传统优化算法训练的网络性能要高出2%~3%。这样的结果证明了本发明的有效性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1