首页> 中国专利> 通过划分网络空间计算单隐层ReLU神经网络全局最优解的图像分类方法

通过划分网络空间计算单隐层ReLU神经网络全局最优解的图像分类方法

摘要

通过划分网络空间计算单隐层ReLU神经网络全局最优解的图像分类方法属于深度学习领域。对神经网络最优解的计算,考虑梯度下降等方法在优化神经网络时容易陷入到局部最优,存在优化失败可能性的问题,本发明使用一种由ReLU函数非光滑的性质使得通过该函数是否激活的若干个样本点可以将神经网络的神经元权值空间划分为若干个可微区间的方法来精准地求解神经网络的全局最优解。通过计算每个区间中的损失函数值,来确定权值空间的全局最优解。随着样本的增多,由样本划分的权值空间的数量也随之增加,加重了实验的复杂度。发明引入了局部敏感哈希原理对数据集进行优化筛选,从而降低了神经网络空间中区间的数量,提高了算法的执行效率。

著录项

  • 公开/公告号CN112819086A

    专利类型发明专利

  • 公开/公告日2021-05-18

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN202110184449.8

  • 发明设计人 刘波;包文强;

    申请日2021-02-10

  • 分类号G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11203 北京思海天达知识产权代理有限公司;

  • 代理人刘萍

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2023-06-19 11:02:01

说明书

技术领域

本发明属于人工智能领域,更具体来说深度学习方向的一种通过划分网络空间计算单隐层ReLU神经网络全局最优解的图像分类方法。

背景技术

近年来人工智能的长足进步离不开深度学习的快速发展,而深度学习的核心问题就是对深度神经网络的不断研究。深度神经网络可以用来实现在图像等各种领域的分类任务。深度神经网络之所以能够实现对图像的精准分类,就是因为通过对已知标签的样本的不断训练,利用算法对网络空间权重参数值的不断调整来达到实现对该类图像的精准预测。所以,能够求解出深度神经网络的神经元权值参数值的最优解,是深度学习领域研究的重要问题之一。

对于一个深度神经网络,只有精准地找到网络的全局最优解才能够保证该神经网络具有最好的预测能力和泛化能力,则说明在人工智能领域里该神经网络能够更好的为人们发挥更大的效益。

由于神经网络中存在大量的局部极小值和鞍点,所以利用常用的例如梯度下降、模拟退火等局部搜索的优化方法求解神经网络最优解的过程是存在使得网络参数陷入局部极小点或者鞍点导致优化失败的可能性。了解损失函数的全局形状,特别是局部极小值和鞍点是否存在,以及它们的数量和位置,将有助于解决这个难题。在此基础上,如果能够设计出对初始权值不敏感的搜索算法,保证有效地避开所有的局部极小值和鞍点,成功地搜索到网络的全局最优解是当今我们应该深入思考的问题。

以人脸识别为例,为加强防范意识,校园门口设立了以深度神经网络为核心的人脸识别装置,考虑到真实人脸的遮挡性、光线或人脸角度等因素的影响,使用传统的方法求解出来的神经网络最优解有可能是网络的局部最优解,利用这样的神经网络来实现人脸识别会大概率的出现误判的可能,进而会对防范措施造成一定的影响。

受上述问题的启发,本专利从研究单隐层ReLU神经网络出发,由于ReLU函数的非光滑性,可以将神经网络的权值空间分为可微区域和不可微区域。从这一角度出发,神经网络的权值空间就会因为样本是否被ReLU函数激活抽象地“想象成”权值空间被若干个样本划分为若干可微单元格。只要遍历每个单元格,求出单元格中的神经网络的权值最优解,就可以精准的求出单隐层ReLU神经网络的全局最优解,不会存在优化失败的情况。为防止随着样本的增多导致单元格的“爆炸性”增加,本专利利用局部敏感哈希原理设计了一系列哈希函数,可将每个输入样本的维度降至1维再挑选被哈希函数映射倒同一个“哈希桶”中的样本,将这些更具有代表性的样本作为神经网络的输入样本,可大为减少单元格的数量,提升算法的执行效率。

所以,为了更加精准的求出深度神经网络的全局最优解,本发明提出了一种通过划分网络空间计算单隐层ReLU神经网络全局最优解的图像分类方法。

发明内容

本发明要解决的问题是:对于单隐层ReLU神经网络,使用传统的例如梯度下降法等局部优化方法求解神经网络全局最优解时往往会在训练的过程中陷入局部最优,最终可能会导致优化失败。针对此问题,本发明提出了一种通过划分网络空间计算单隐层ReLU神经网络全局最优解的图像分类方法。本方法从ReLU激活函数所引入的非光滑性的角度出发,神经网络的权值参数空间就会因为样本是否被ReLU函数激活抽象地“想象成”权值空间被若干个样本划分为若干可微的“单元格”。只要遍历每个单元格,求出单元格中的神经网络的参数最优解,即为神经网络的全局最优解。

本发明专利总体分为三大部分:

(1)对于MNIST数据集,使用局部敏感哈希原理定义哈希函数将数据集进行降维,再使用哈希分桶的方法对数据进行筛选,提取部分更具有代表性的样本点作为神经网络的输入样本。

(2)搭建具有d个输入神经元、K个ReLU激活的隐藏层神经元和1个输出神经元的单隐层神经网络。

(3)为便于计算神经网络的全局最优解,在2维空间中,使用线排列和双向链接边表的数据结构将样本将参数空间划分出来的单元格可视化呈现出来。

本发明提出的方法具体技术方案如下:

1.数据集的准备。这里使用经过线性判别分析(LDA)将原始的MNIST手写数字数据集降至2维后的数据集和原始的MNIST手写数字数据集,分别用于对低维和高维这两种情况下的深度神经网络全局最优解的计算。

2.使用局部敏感哈希原理对数据进行预处理。使用一系列的哈希函数将读取到的MNIST数据集映射至1维,因为降维后的每张图片会以一个很高的概率保存其原始高维状态下的性质。所以,定义另外一种哈希函数对降维后的样本进行“哈希分桶”,经过一系列的哈希函数映射后,均落入到同一个哈希桶中的两个样本点则表明其在原始高维状态下依然比较接近。取相同哈希桶中的样本作为输入样本并且舍弃其余样本。这样就使得在接下来的步骤中大大的减少了由样本点划分出的单元格的数量,很明显地提高了搜索神经网络全局最优解的效率。

3.单隐层ReLU神经网络的搭建。本发明使用具有d个输入神经元、K个ReLU单隐层神经元和1个输出神经元的神经网络。由于ReLU函数的非光滑性,被ReLU函数激活与非激活的若干个输入样本可以将网络权值空间划分为若干个凸的可微单元格。有关定理已经证明了在凸的可微单元格中神经网络的局部最优解即为该单元格中的全局最优解,借助该定理可以假设损失函数为例如均方误差损失的凸函数。为方便后序局部最优解的计算,可以将损失函数中输入层到隐藏层的神经元权值参数和隐藏层到输出层的神经元权值参数进行积分。

4.计算损失函数的解并判断处在某一单元格中的局部最优解的解是否唯一。根据凸单元格中的所有局部最优解就是全局最优解的定理,利用权值空间的解向量矩阵的秩等一些概念求解每个单元格中的局部最优解。由于损失函数的解所对应的矩阵的秩的不同、隐藏神经元个数的不同和样本数量的不同,这些因素将会导致处在某一单元格中损失函数的解可能是唯一的、可能是连续的也可能是不存在的。

5.在2维空间中将单元格可视化呈现。由于样本将神经网络参数空间划分出单元格的过程是抽象的。本步骤则利用计算几何中线排列的相关理论,构建双向链接边表,使用C++中的CGAL模块中的函数可以将抽象的单元格可视化呈现。原始MNIST数据集是784维的高维数据,则无法使用2维的双向链接边表可视化呈现。

本发明提出了一种通过划分网络空间计算单隐层ReLU神经网络全局最优解的图像分类方法,这是一种可以精准并且快速地找到神经网络全局最优解的方法。该方法不仅不会出现例如梯度下降、模拟退火等局部优化方法导致优化过程陷入局部最优最后优化失败的情况,而且使用局部敏感哈希原理检索出更具有代表性的样本点,还会极大地提高算法的执行效率。利用本专利发明的方法将会更精准、更快捷地计算神经网络的全局最优解。

附图说明

图1、本发明方法的流程图;

图2、神经网络参数空间划分单元格示意图;

图3、对使用局部敏感哈希降维后的数据范围直方图;

图4、部分数据将神经网络参数空间划分出的部分单元格示意图;

具体实施方式:

本发明提出的基于一种通过划分网络空间计算单隐层ReLU神经网络全局最优解的图像分类方法的实验,运行在Windows 10系统下,利用python 3.6和PyTorch 1.2.0框架实现、利用C++11和其函数库CGAL中的函数、利用型号为TITAN X的GPU为深度神经网络的求解全局最小值加速。

具体实施步骤如下:

步骤1:数据集的准备

本发明专利使用的是经过线性判别分析(LDA)将原始的MNIST手写数字数据集降至2维后的数据集和原始784维度的MNIST手写数字数据集,分别用于对低维和高维这两种情况下的深度神经网络全局最优解的计算。

由于MNIST手写数字数据集中的数据并不是按照从0-9的标签顺序存放的,所以为执行下述的局部敏感哈希方法,首先将MNSIT数据集按照0-9标签的顺序存到一个新的文件中。由于MNIST数据集的训练样本是55000个并且这10类数据并不是等分的,本发明规定,每个不同标签的数据均等量挑选。

步骤2:使用局部敏感哈希原理对数据进行预处理。

本发明是利用局部敏感哈希(LSH)对数据做进一步的处理,局部敏感哈希主要用于高维海量数据的快速近似查找,近似查找便是比较数据点之间的距离或者是相似度。定义两种不同的哈希函数分别用于数据的降维和哈希分桶。检索出相近的数据摒弃偏离样本分布的数据后,将相似的数据作为输入样本可以大为降低后续步骤中算法的时间复杂度。

局部敏感哈希的主要思想是,高维空间的两点若距离很近,那么设计一种哈希函数对这两点进行哈希值计算,使得这两个样本点经过哈希函数映射降低维度后也会以一个很大的概率依旧保持其高维中的距离。反之,如果两个样本点在高维中距离很远,使用哈希函数降维后,依旧会以一个很大的概率保持较远的距离。局部敏感哈希所得到的是一个近似的结果,因为在相似度匹配中并不需非常高的精确度。即使是近似解,时候几乎和其精准解一致。

在本发明专利中,使用局部敏感哈希会使得相邻的数据落入到同一个“哈希桶”中,收集通过一系列的哈希函数映射后均落入到同一个哈希桶中的数据作为最终的样本数据。

将步骤1中的MNIST数据集按照标签0-9的顺序重新存储到一个新的列表中并保证不同标签的数据集个数相等。

本专利发明了如下公式,可将MNIST数据集中的降至1维,公式如下:

h(v)=v·x

其中,矩阵v代表的是一个(N,784)的MNIST数据集向量,N为挑选的MNIST数据集的个数,x代表的是一个(784,1)用作降维的向量,则任意一个通过上述哈希函数的计算可将高维的MNIST手写数字图片进行降维,降维后的样本点依旧会以一个很高的概率保持其原有高维时的性质。

将N个相同标签的数据数据集通过上述公式运算后映射为1维的点,即映射结果为(N,1)的向量。每个不同标签的数据集均上述方法。

下面将降维好的样本进行哈希分桶挑选数据集,本专利发明了下述哈希函数:

其中v是(N,784)的原始MNIST数据集向量,x代表的是一个(784,1)用作降维的向量,w是哈希分桶的宽度,b是0到w间的一个均匀分布,为避免分桶边界固化。而且映射操作会导致部分距离信息的丢失出现误判相近点的情况,本发明采用了m个哈希函数同时进行分桶,同时掉进m哈希函数的同一个桶中的若干个点,其相似度最大。这样的哈希分桶就会导致同一个桶中相似的样本点的概率最大,出现误判的可能性大为降低。

随着样本数量的增多,步骤3所阐述的单元格数量会呈现“爆炸性增长”,使用局部敏感哈希则可以很好的解决数据样本过多的问题,进而很好的降低了算法的时间复杂度。

步骤3:单隐层ReLU激活的神经网络的参数搭建。

本发明使用具有d个输入神经元、K个ReLU激活的单隐层神经元和1个输出神经元的深度神经网络。本发明定义[N]来表示{1,2,3…,N}的缩写,即神经网络的输入样本个数是N。定义[K]来表示{1,2,3…,K}的缩写,表示神经网络隐藏神经元的个数为K。其中输入样本用(x

其中z={z

为简化损失函数,引入变量I

其中,L(R)表示神经网络的损失函数。

对于单隐层ReLU神经网络,样本向量x是参数空间w中的超平面。样本(x

上述单元格的划分示意图2所示。

步骤4:根据凸单元格中的所有局部极小值就是全局最小值的定理来计算单元格中局部最小值。

因为有关理论已经证明了如果损失函数L是凸的,那么在每个单元格中所有可微局部极小值都是全局的。为方便得到解析解,可将步骤3中的损失函数定义为均方误差损失,则损失函数的解析解是下述公式:

其中R

通过上式可求得神经网络权值的线性解可由下述公式表征:

定义I

其中

其中

矩阵的最优解R

(1)R

(2)R

处在单元格中的最优解或者是唯一的或者是连续的,为了得到这些最优解即损失函数最小值,可将矩阵的解R

其中,其中

在上述矩阵的解向量中,涵盖输入样本向量x和ReLU函数的取值I

步骤5:在2维空间中,利用计算几何领域里线排列中的双向链接边表结构体来可视化上述步骤中的可微单元格,神经网络损失函数最小值就处在某一个双向链接边表中。

在计算几何中存在双向链接边表的结构体,利用每个双向链接边表来表示每个不同的单元格并且双向链接边表的每一条边的里边和外边分别代表顺时针和逆时针这两个不同的方向,显然时针转向相同的边必然能够表征凸的单元格。通过应用该结构体可以将参数空间中的单元格可视化呈现出来。

对于2维的输入样本,使用2维空间的点来表示数据样本,使用2维空间中的直线来表示由ReLU函数将神经网络参数空间划分出来的单元格,使用2维空间中的平面表示整个神经网络的权值空间。因为在整个平面空间的计算过程中,需要一个有限的范围将样本划分出来的单元格包围起来,可以利用计算几何中线排列的相关理论来构造整个外围的包围框。随着样本的不断增多,使用递增式算法逐一增加与神经网络参数空间相对应的双向链接边表,并通过遍历双向链接边表从每一个划分的区域中的样本点来计算步骤4中的I

计算出来I

步骤6:实验过程和结果评价

本发明实验由两个实验构成,分别是低维和高维两种情况下的神经网络的全局最优解的求解。这两个实验在本发明的前两个步骤中是相同的。

每个不同标签的MNIST数据集选取的相同个数在本步骤中选取的是4900个。图3表示的标签为0的MNIST数据是在一次哈希映射后将784维的数据映射至1维后的统计。显然,降维后的样本在25-40范围内的数据所占比例是最大的。所以,本发明采用20次哈希映射后的数据均处在25-40内的相对应的原始数据作为最后的神经网络的输入样本。

通过步骤2中的方法,使用局部敏感哈希将不同标签的MNIST数据集依次筛选后所得到的从标签0-9的数据个数依次为:976,1833,376,274,1168,522,1031,426,261,923个,总计为7790个。

对于2维数据的情况:神经网络的构造是2个输入神经元,2个ReLU单隐层神经元和1个输出神经元。输入样本为使用局部敏感哈希挑选后再经过线性判别分析降维至2维的MNSIT数据集。经实验分析,7790个样本将单隐层ReLU神经网络参数空间划分为60687996个单元格,并且通过本发明中的方法进行计算,求出了神经网络的权值最优解。由于样本将网络空间划分的单元格过于庞大,本专利只取了部分样本的部分区域进行展示,如图4所示,黑色包围框中的单元格表示的就是由部分样本划分出的神经网络权值空间的单元格。

经统计,在2维情况下,由样本将神经网络权值空间划分出来的60687996个单元格中,损失函数形状为一条直线、不存在、任意值和一个点这4种情况。下表表示2维空间下每种情况所对应的损失函数形状和损失函数的取值范围。

通过对上表的分析,对这60687996个单元格逐一遍历。可以看到对于7790个2维样本,2个输入神经元,2个ReLU隐藏神经元和1个输出神经元的神经网络的损失函数最小值是0.032。

对于784维高维MNSIT数据集的实验情况:

定义具有784个输入神经元,2个ReLU单隐层神经元和1个输出神经元。由于高维实验无法使用双向链接边表表示,所以直接计算经过局部敏感哈希挑选后的7790个MNIST数据集。高维实验神经网络损失函数的全局最优解的结果为:0.498。与采用梯度下降计算神经网络最优解的实验进行对比,可得到如下表格:

由此可以看出,对于具有784个输入神经元、2个ReLU隐藏神经元和1个输出神经元的神经网络,使用本专利中提出的通过神经网络权值空间划分单元格的方法求解的网络最优解对MNIST数据集的分类准确率要高于使用梯度下降求解神经网络最优解的方法。这可以证明本发明方法的确能够更加精准的计算神经网络的全局最优解。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号