一种基于几何算子的卷积神经网络搭建方法与流程

文档序号:17742767发布日期:2019-05-24 20:19阅读:344来源:国知局
一种基于几何算子的卷积神经网络搭建方法与流程
本发明属于图像处理
技术领域
,特别是涉及一种基于几何算子的卷积神经网络搭建方法。
背景技术
:在cnn之前,传统几何算子已经发展地相当成熟,每种几何算子都是领域知识和先验信息的沉淀。例如,sobel算子是一种离散性差分算子,可以提取图像的边缘信息用于边缘检测;schmid算子是一种各向同性的环状算子,可以提取图像的纹理信息用于人脸识别;hog(histogramoforientedgradients)算子是一种梯度方向的统计量算子,可以提取图像的边缘方向分布用于行人检测等。所有的计算机视觉的任务都和它自身的领域知识和先验信息有关。几何算子能够利用领域知识和先验信息,却无法从数据中学习来改变参数值;卷积神经网络有强大的数据表达能力以及学习能力,却很难利用领域知识。为了更好的数据学习,可以考虑将两者结合起来。自然而然地,我们想到了直接将几何算子作为预处理然后经过卷积神经网络进行数据分类。但是这种方式是通过人为经验选取几何算子参数,然后单独进行卷积神经网络的学习,可以说是一种两阶段的方法,且没有降低卷积神经网络参数的冗余度,很难达到全局最优。卷积神经网络是近几年发展起来的,并引起广泛重视的一种机器学习方法,已成功地应用于诸多领域,但人们对于深度学习网络作用机理的理论理解和有效控制还处于初步阶段。卷积神经网络虽然具有强大的表达能力但总结起来有以下两点不足:1、卷积神经网络是一种很复杂的函数映射,就像一个黑盒,不能充分利用领域知识和先验信息。2、在某个任务上数据量很少时,由于卷积神经网络的参数多,模型大,可能会出现过拟合,从而导致泛化能力不强。由于卷积神经网络的这些缺陷,人们做了很多改造卷积神经网络的研究。为了解决上述问题,本发明提供了一种能够将几何算子直接参数化形成几何算子卷积核,代替一部分原有的普通卷积核,然后集成到卷积神经网络中,从而形成一个新的模型-几何算子卷积神经网络。这种将几何算子卷积化集成到卷积神经网络的方法,能够进行全局参数的学习,模型效果在很多分类任务上表现更好,且能够利用几何算子的性质。技术实现要素:本发明的目的在于提供一种基于几何算子的卷积神经网络搭建方法,通过将几何算子直接参数化形成几何算子卷积核,代替一部分原有的普通卷积核,然后集成到卷积神经网络中,从而形成一个新的模型几何算子卷积神经网络,解决了现有的模型分类效果不佳、卷积神经网络参数冗余度高的问题。为解决上述技术问题,本发明是通过以下技术方案实现的:本发明为一种基于几何算子的卷积神经网络搭建方法,包括如下步骤:步骤s01:将几何算子卷积化;步骤s02:对于给定的大小为n*n*k的卷积核,通过k个不同的几何算子的核函数计算出大小为n*n的核;步骤s03:将k个已经计算出的核在最后一维通过concatenate函数扩充为一个大小为n*n*k的卷积核;步骤s04:将该n*n*k的卷积核替换普通卷积神经网络的第一个卷积层的卷积核;步骤s05:最后再连接普通的卷积层和一个全连接的输出层;其中,所述步骤s05之后,当算子卷积神经网络的反向传播时,loss的梯度传递到卷积核后,由于不同的卷积,几何算子生成的卷积核还需要进一步利用链式求导法则,传递梯度到各个卷积核对应的参数上,然后利用梯度下降进行相应的更新;所述链式求导法则公式为:其中,l为损失函数,w为每个卷积核,pi为生成各个卷积核对应的参数。优选地,所述步骤s01中,几何算子卷积化采用k个不同的几何算子的核函数生成核替换普通卷积层中的卷积核,然后一体化到普通卷积神经网络中,具体的计算公式如下:x′=xcosθ+ysinθy′=-xsinθ+ycosθ;其中,x,y为核的下标值。本发明具有以下有益效果:(1)本发明通过将几何算子直接参数化形成几何算子卷积核,代替一部分原有的普通卷积核,然后集成到卷积神经网络中,从而形成一个新的模型几何算子卷积神经网络,提高了模型分类效果,降低了卷积神经网络参数冗余度,同时减少了对训练样本的依赖度。(2)本发明构建的几何算子卷积神经网络框架具有可定制的多样性,当几何算子在满足一定条件时能够达到普通卷积神经网络相同的逼近精度和泛化误差界。当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的一种基于几何算子的卷积神经网络搭建方法;图2为哺乳动物视网膜神经细胞二维接收区与二维gabor函数的差异;图3为alexnet第一层卷积可视化图;图4为gabor滤波核函数的表现图;图5为gabor算子作用图像的效果图;图6为几何算子卷积神经网络的框架结构示意图;图7为resnet模型结果示意图;图8为模型对cifar-100的效果图图9为t-sne二维可视化图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。请参阅图1、6所示,本发明为一种基于几何算子的卷积神经网络搭建方法,包括如下步骤:步骤s01:将几何算子卷积化;步骤s02:对于给定的大小为n*n*k的卷积核,通过k个不同的几何算子的核函数计算出大小为n*n的核;步骤s03:将k个已经计算出的核在最后一维通过concatenate函数扩充为一个大小为n*n*k的卷积核;步骤s04:将该n*n*k的卷积核替换普通卷积神经网络的第一个卷积层的卷积核;步骤s05:最后再连接普通的卷积层和一个全连接的输出层;其中,步骤s05之后,当算子卷积神经网络的反向传播时,loss的梯度传递到卷积核后,由于不同的卷积,几何算子生成的卷积核还需要进一步利用链式求导法则,传递梯度到各个卷积核对应的参数上,然后利用梯度下降进行相应的更新;链式求导法则公式为:其中,l为损失函数,w为每个卷积核,pi为生成各个卷积核对应的参数。其中,步骤s01中,将几何算子卷积化主要以gabor算子和schmid算子为例子来阐述如何进行卷积化,并一体化到卷积神经网络中,在后续研究中其它的几何算子也是类似的思路;在研究信号在局部范围内的频率特性,dennisgabor于1946年在“theoryofcommunication”一文中提出了著名的“窗口”傅里叶变换(也叫短时fourier变换,stft),即gabor变换,将gabor算子与图像进行卷积即可称之为gabor滤波。发展至今gabor滤波器有很多特性,如下:1、gabor滤波具有兼顾空间域和频域的信号处理优点;gabor滤波实质上一种加了高斯窗的傅里叶变换,对于图像来说,窗函数决定了它在空间域的局部性,所以可以通过移动窗口的中心获取不同位置的空间域信息;此外,由于髙斯函数在经过傅里叶变换以后仍然是高斯函数,这就使得gabor滤波能提取在频域上的局部信息;2、请参阅图2所示,gabor滤波与生物视觉细胞的响应,可能是接近最优的特征提取方式;1985年,daugman将gabor函数扩展为2维形式,并在此基础上构造了2dgabor滤波器,如图2(b)所示;2dgabor滤波器不仅同样可以同时获取时间和频率域的最小不确定性,而且与哺乳动物视网膜神经细胞的接收模型相吻合,如图2(a)所示;3、如图3、4所示,gabor滤波的核与cnn浅层卷积核相似;从alex等提出的alexnet[3]网络中第一层卷积可视化的结果来看,某些卷积核呈现出一种几何性质,这与gabor滤波核函数表现出的几何性质一样;从这一特点也可以说明卷积神经网络存在参数冗余,gabor算子可以卷积化然后集成到cnn中;4、gabor滤波能提取图像的方向相关的纹理特征;如图5所示,有4个尺度8个方向共32个gabor核与图像卷积能得到原始图像不同方向的纹理特征图。正因为gabor算子具有上述四个特性,将gabor算子与cnn结合起来做与图像相关的任务能够得到更好的特征表达;gabor算子与cnn结合作用在图像上,能得到更好的特征表达;主要的结合方式有以下两种:1、先用gabor算子对图像进行预处理,再用cnn提取特征,这种方式属于两阶段的方法,很难达到全局最优而第二种方式一起学习参数更容易达到全局最优;2、将gabor算子进行参数化形成一个卷积层,然后一体化到普通卷积神经网络中;对gabor算子具体的计算公式如下:x′=xcosθ+ysinθy′=-xsinθ+ycosθ;其中,x,y为核的下标值;gabor核函数有5个,这些参数可以通过学习得到然后再生成一个n*n的核,把这个参数化后的gabor核替代普通的卷积核形成一个卷积层;这种方式可以减少卷积层的参数,实现gabor算子进行参数化。在2001年,schmid等提出了一个类gabor滤波器的图像滤波器,即schmid算子;schmid算子如下:其中,x,y为核的下标值;schmid算子的组成与gabor算子核函数类似,所以它能够保留住gabor算子的特性,当schmid核函数有2个参数,这两个参数可以通过学习得到然后生成schmid核替代普通的卷积核形成一个卷积层。请参阅图5所示,将原始图像旋转90度之后与同一个schmid核作用,得到的特征图也仅是旋转90度,即schmid算子具有旋转不变性;基于schmid算子的特性,所以将schmid算子卷积化然后集成到普通卷积神经网络中,能够提高模型对旋转的对抗稳定性和改善图像特征提取的效果。与gabor算子卷积化类似。同样地,对于其他几何算子,也是将它的核函数进行参数化,然后通过核函数生成的算子核替代普通的卷积核形成一个卷积层;由于几何算子具有多种多样,对于几何算子卷积可以替换不同的几何算子,所以几何算子卷积具有定制的多样性;某种几何算子参数化形成了一个几何算子卷积层;由于普通的卷积神经网络只在第一层的卷积核的可视化效果保持某种几何特性,所以本文所提的几何算子卷积神经网络只用几何算子核替换第一层卷积层的卷积核。步骤s02中,计算对应的几何算子参数时,当几何算子的参数中,gaborfilter的参数有5个,schmidfilter的参数有2个,普通卷积可以看做是一个恒等映射,因此卷积核有多大就有多少个参数。本实施例的一个具体应用为:请参阅图7所示,普通物体识别的公开数据集是cifar-10和cifar-100,他们都是三通道的彩色图像,分辨率均为32*32,训练集均有50000个,测试集均有10000个,但是cifar-10是识别10类物体,cifar-100是识别100类物体;这两个公开的数据集分别用基础模型resnet18、resnet34和resnet50表示,实验时采用先四边增加4个0的padding再随机32*32的crop,然后进行上下翻转的数据增强方法,对于测试和训练时均将图像像素标准化到0-1分布;实验所用的几何算子神经网络,是用参数化的gabor核和参数化的schmid核的结合体替换第一层卷积层的卷积核。所有实验的batchsize为128,初始学习率为0.1,学习率分别在60、120和160都下降原来的0.2倍,总共训练200个epoch,所用的优化器是动量为0.9的sgd。请参阅图8所示,从cifar100训练集的损失函数曲线来看几何算子卷积神经网络和普通卷积神经网络的损失函数曲线几乎重合,验证了几何算子卷积神经网络可以达到普通卷积神经网络相同的逼近精度;由cifar100验证集的准确率曲线来看,几何算子卷积神经网络的值比普通卷积神经网络的值高。表1:模型在测试集上的准确率,取了5次实验的平均值由表1可知,几何算子卷积神经网络在cifar-10测试集上的准确率比普通卷积神经网络高0.6%,几何算子卷积神经网络在cifar-100训练集上的准确率比普通卷积神经网络高0.5%,验证了几何算子卷积神经网络能够达到与普通卷积神经网络同样的泛化误差界。通过对模型提取的特征进行可视化效果来说明所提取的特征可分性好坏,是用来评估模型的一种手段,一般采用t-sne[12]或者pca[13]进行可视化;所谓的t-sne可视化,是通过仿射(affinitie)变换将数据点映射到二维或者三维的概率分布上,然后用二维或者三维平面展示,本文采用t-sne可视化(二维平面)对模型提取的cifar-10特征展示。请参阅图9可知,从几何算子卷积神经网络提取的cifar-10特征t-sne二维可视化来看,每个标签对应的特征均分隔开,而从普通卷积神经网络提取的特征可视化来看,每个标签对应的特征都混在一起了。说明几何算子卷积神经网络提取的特征的可分性效果更好,即几何算子卷积神经网络学习的特征更具有区分度易于最后一个全连接层的分类;通过对两种数据集的数值实验结果和图示效果,都可以验证几何算子卷积神经网络,能够达到普通卷积神经网络相同的逼近精度和泛化误差上界,几何算子卷积提取的特征更具有区分度。由于很多实际应用(比如军事、医疗等)的标注数据往往很少,模型针对小数据集的泛化能力就显得无比重要;所谓的泛化能力指的是该方法学习到的模型对未知数据的预测能力。对于公开数据集cifar和mnist,他们的训练集样本均很大测试集样本均很小,在本次数值实验中直接用测试集来训练模型,训练集用来评估模型,即可检测几何算子卷积神经网络和普通卷积神经网络的泛化能力。对于cifar数据集的数值实验,所用的技巧及模型均与4.1小节一样;对于mnist数据集的数值实验,所用的技巧及模型均与4.2小节一样。cifar-10cifar-100mnistcommonresnet1884.96%(94.79%)44.97%(77.06%)--go-resnet1886.21%(95.17%)47.03%(77.59%)--commonresnet3482.33%(95.27%)44.74%(78.26%)--go-resnet3486.36%(95.77%)49.00%(78.72%)--commonresnet5083.86%(94.44%)45.93%(78.45%)--go-resnet5085.64%(94.72%)47.09%(79.50%)--commonlenet----97.75%(99.02%)go-lenet----97.97%(99.07%)表2:几何算子卷积神经网络和普通卷积神经网络在小数据集上的准确率(5次实验的平均值),括号里面表示为训练集扩增5倍的准确率如上表2所示,从mnist和cifar的准确率来看,两种模型在训练集的数据下降5倍之后,普通卷积神经网络准确率比几何算子卷积神经网络下降的快,几何算子卷积神经网络的测试准确率比普通卷积神经网络高,即对未知数据的预测能力比较好,即几何算子卷积神经网络减少了对训练样本量的依赖度。值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属
技术领域
技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1