1.本发明涉及计算机视觉与数字图像处理领域,具体地,涉及一种基于神经正切核与神经网络的图像分类方法、终端及介质。
背景技术:
2.图像分类始终是计算机视觉领域的热点问题之一。对于有监督的图像分类问题,其目的在于能够从训练图像数据中学到有效的信息,并对未知的图象进行准确的预测。
3.近些年来,以深度神经网络为代表的深度学习在各种不同的图像分类任务上都取得了非常出色的表现,使之成为了主流的图像分类方法。然而,如何针对目标问题设计和训练神经网络却始终是一个开放性的问题。为了使深度神经网络针对目标分类任务获得最优的学习效果,神经网络超参数的选取显得至关重要,而神经网络的学习率是最重要的超参数之一。对于主流的图像分类任务而言,神经网络的学习率的选取和调整主要基于神经网络训练的优化器选取和学习率衰减机制。
4.一方面,自适应的优化方法是一种调整学习率的主流手段。它们选取一个较大的初始学习率,并在训练过程中跟据历史梯度信息来对参数的个体学习率进行调整。现有技术中,有人提出了适用于稀疏梯度的adagrad自适应优化方法;针对在线学习的场景,有人提出了rmsprop自适应优化方法;针对随机目标函数,有人综合前两者的优点,设计了一种基于低阶矩的自适应的一阶梯度优化方法——adam。该方法能够根据训练过程中梯度的一阶信息和二阶信息计算各个时刻不同参数的个体学习率。上述优化方法的变体广泛地用于针对图像分类任务的神经网络的实际训练。
5.另一方面,学习率衰减机制长期以来一直是提高神经网络泛化性能的常用技巧。该机制采用较大的初始学习率,然后在预定义的训练轮次中将学习率以特定的因子衰减。当前主流的深度神经网络,如resnet等,都是通过随机梯度下降和学习率衰减机制训练的。根据实际的观察,学习率衰减机制对神经网络的训练效率和最终的图像分类准确率都有帮助。
6.事实上,以上方法仅关注了训练过程中的学习率,而忽视了初始的学习率。这一定程度上增加了网络训练过程的时间开销,并限制了进一步提升分类准确率的空间。
技术实现要素:
7.针对现有技术中的缺陷,本发明的目的是提供一种基于神经正切核与神经网络的图像分类方法、终端及介质。
8.根据本发明的一个方面,提供一种基于神经正切核与神经网络的图像分类方法,包括:
9.针对目标分类任务,构建并初始化神经网络;
10.通过多个超步,学习所述神经网络基于神经正切核的逐层初始学习率;
11.基于所述逐层初始学习率对所述神经网络进行训练,获得图像分类模型;
12.利用所述图像分类模型进行图像分类。
13.优选地,所述通过多个超步,学习神经网络基于神经正切核的逐层初始学习率,包括:
14.每个超步中,从训练图片中随机采样,得到训练集和验证集;
15.每个超步中,计算所述训练集上含有逐层权重项的神经正切核;
16.每个超步中,生成所述神经正切核的预测器;
17.每个超步中,并使用所述预测器预测所述验证集标签;
18.每个超步中,基于所述验证集标签,依据自选的损失函数计算逐层权重项的梯度,并使用梯度下降更新所述逐层权重项;
19.对训练后的逐层权重项进行放缩和归一化处理;
20.所述处理后的逐层权重项作为逐层初始学习率。
21.优选地,所述随机采样包括独立的和非独立的、平衡的和非平衡的采样方法;所述训练集和验证集的数量保持比例r。
22.优选地,所述计算训练集上含有逐层权重项的神经正切核,包括:
23.定义神经网络的参数为θ,神经网络的两个训练图片xi和xj,所述神经网络的预测为f(θ,xi)和f(θ,xj);所述神经网络第l层的神经正切核在θ
l
xi和xj上的取值:
[0024][0025]
其中:表示f(θ,xi)在θ
p
上的偏导数;
[0026]
令逐层的权重项a
l
对应于逐层的神经正切核θ
l
;
[0027]
含逐层权重项的神经正切核a在xi和xj上的取值为:
[0028][0029]
其中,l表示神经网络的总层数,逐层权重项a
l
为变量。
[0030]
优选地,所述生成含有逐层权重项的神经正切核的预测器,包括:
[0031]
所述预测器包括两部分操作:将输入图片经过函数投影到高维空间;对高维空间中的投影进行预测;
[0032]
所述预测器对于含逐层权重项的神经正切核a的依赖性关系为:
[0033][0034]
核岭回归预测器f
*
可被描述为:
[0035]f*
(x)=a(x,x)
t
(a(x,x))-1
y.
[0036]
其中,x为一张验证集中的图片,x为所有训练图片,y为所有训练图片标签,f
*
(x)即为预测器对图片x的推断。
[0037]
优选地,所述基于验证集标签,依据自选的损失函数计算逐层权重项的梯度,并使用梯度下降更新逐层权重项,包括:
[0038][0039]
其中:m表示损失函数,p表示基于含逐层权重项神经正切核的预测器,(xv,yv)表示
验证集的图像及标签;
[0040]
若以均方差为损失函数,根据含逐层权重项的神经正切核和预测器f
*
的定义,权重项a
l
的梯度为:
[0041][0042]
其中av表示在训练集x
t
和验证集xv之间的加权泛化神经正切核,且:
[0043][0044]
优选地,所述权重项在初始化时可以依据不同的概率分布生成;
[0045]
所述梯度包括:由自动梯度求导计算得到的梯度或由解析形式得到的梯度。
[0046]
优选地,所述神经网络的逐层初始学习率的选择取决于经过学习的逐层权重项。
[0047]
根据本发明的第二个方面,提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时可用于执行所述的方法。
[0048]
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时可用于执行所述的方法。
[0049]
与现有技术相比,本发明具有如下的有益效果:
[0050]
本发明实施例提出的基于神经正切核与神经网络的图像分类方法,能够减少训练的时间开销,同时更加稳健准确地对未知图像进行分类。
[0051]
本发明实施例提出的基于神经正切核与神经网络的图像分类方法,包含一个针对图像分类任务的神经网络模型和一个基于神经正切核针对神经网络初始学习率的预训练,引入了逐层神经正切核对应的逐层权重项作为变量,从核方法的角度建立了逐层权重项和逐层初始学习率的联系,能够以更少的神经网络训练轮次得到图像分类模型,有较大的应用前景。
附图说明
[0052]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0053]
图1为本发明提供的实施例基于神经正切核与神经网络的图像分类方法流程图;
[0054]
图2和图3为常规训练得到的神经网络与本发明所提出的图像分类方法的性能比较。
具体实施方式
[0055]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0056]
针对现有技术中的局限性,神经正切核可以作为一个好的切入口。神经正切核作
为一种核方法,它对应了一个从训练样本到(使用这个样本训练的)神经网络的输出对于每个参数变量的雅可比矩阵的投影。在无限宽度假设下,该核能够渐近地描述使用梯度下降训练神经网络的过程;而在实际的训练中,该核也可以较好地涵盖前数个训练轮次的梯度信息。因此,本发明提供一个实施例,一种基于神经正切核与神经网络的图像分类方法,包括:
[0057]
s100,针对目标分类任务,构建并初始化神经网络;
[0058]
s200,通过多个超步,学习所述神经网络基于神经正切核的逐层初始学习率;
[0059]
s300,基于所述逐层初始学习率对所述神经网络进行训练,获得图像分类模型;
[0060]
s400,利用所述图像分类模型进行图像分类。
[0061]
如图1所示,为本发明提供的一个优选实施例的基于神经正切核与神经网络的图像分类方法流程图,包括:
[0062]
s1、针对目标图像分类任务构建合适的神经网络模型,并对其参数进行初始化;
[0063]
s2、在每个超步中,随机采样一定数量的原始训练图片作为该超步中后续使用到的新的训练集和验证集;
[0064]
s3、在每个超步中,对新的训练集计算逐层的神经正切核;引入逐层的权重项作为变量,求和得到含逐层权重项的神经正切核;并由此构建基于含逐层权重项神经正切核的预测器,推断验证集的标签;
[0065]
s4、在每个超步中,基于上述预测器对验证集标签的推断,依据自选的损失函数计算逐层权重项的梯度,并使用梯度下降更新逐层权重项;
[0066]
s5、判断是否到达终止条件。若达到,继续以下步骤;若未达到,返回s2继续执行;
[0067]
s6、对训练后的权重项进行放缩和归一化处理,并使用处理后的权重项作为初始逐层学习率训练得到图像分类模型;
[0068]
s7、使用上述图像分类模型预测测试图片的标签。
[0069]
本发明提供一个实施例执行s1。假定经过初始化的神经网络可以表示为f(θ,xi),其中θ统称神经网络的所有可训练的参数,xi代表神经网络的一个训练图片。
[0070]
进一步,本实施例的目的为处理cifar-10子数据集的二分类任务,包括airplane/automobile,bird/cat等常用于机器学习方法的训练和评估的标准图像数据集;使用一个五层的vanilla卷积神经网络,包括了四个卷积层和一个全连接层。其隐藏层的通道数为64,激活函数采用tanh,并使用d5=1的全连接层作为输出层;在输出层,该神经网络的输出结果会乘上一个小的常数0.05;该网络使用xavier高斯分布初始化。
[0071]
本发明提供一个优选实施例执行s2,原始训练图片被随机采样并划分为一个训练集(x
t
,y
t
)和一个验证集(xv,yv),令验证集图片数量与训练集图片数量之间的比率为r,即:
[0072][0073]
随机采样方法包括了独立的和非独立的、平衡的和非平衡的采样方法等。
[0074]
此处,独立且平衡的采样方法广泛适用于一般的图像分类任务,而有针对性的非独立的或非平衡的采样方法可以在处理特定的图像分类任务时,如超大训练集情况或者非平衡数据集情况,能带来计算效率和性能上的提升。
[0075]
新的训练集和验证集的大小应当视实际的训练设备确定。本实施例中,比率r选择
为0.2。随机采样方法为首先平衡地随机采样1000个的样本,随后在这些样本中独立且平衡地随机采样每个超步使用到的训练集和验证集。随机采样方法的使用用于减少后续推断过程和梯度下降的时间和空间开销。
[0076]
本发明提供一个优选实施例执行s3。本实施例使用含逐层权重项的神经正切核被用来构建预测器。该预测器隐形地包含了两部分操作:将输入图片经过函数投影到高维空间和对高维空间中的投影进行预测。
[0077]
该预测器对于含逐层权重项的神经正切核a的依赖性具体体现在:
[0078][0079]
进一步的,含逐层权重项的神经正切核所对应的核岭回归预测器与原神经网络的存在等价性。所以,在本实施例中,权重项在初始化时由均匀采样得到a
l
~uniform[0,1],预测器采用核岭回归,且该核岭回归中的正则项为1。
[0080]
该预测器f
*
可以被闭式地描述如下:
[0081]f*
(x)=a(x,x)
t
(a(x,x))-1
y.
[0082]
其中,x为一张验证集中的图片,x为所有训练图片,y为所有训练图片标签,f
*
(x)即为预测器对图片x的推断。
[0083]
本实施例同时适用于其他类型的预测器,如支持向量机等。本实施例没有使用批归一化、dropout、数据增强等技巧,广泛地适用于一般的神经网络。
[0084]
基于上述实施例s3,本发明提供一个优选实施例执行s4。预测器f
*
在验证集(xv,yv)上的梯度计算方法包括:由自动梯度求导计算得到的梯度,由解析形式得到的梯度;具体地,根据含逐层权重项的神经正切核和预测器f
*
的定义,权重项a
l
的梯度可由下式给出:
[0085][0086]
其中a
ν
表示在x
t
和x
ν
之间的加权泛化神经正切核,且:
[0087][0088]
理论计算得到的梯度的解析形式避免了使用自动梯度计算来生成逐层梯度。
[0089]
本实施例使用梯度下降更新逐层权重项,学习率ηa=0.01。
[0090]
自选的损失函数用于反映预测器f
*
在验证集(xv,yv)上的图像分类性能,可行的损失函数包括而不限于均方差损失函数等。具体地,本实施例使用梯度下降的方法解决以下优化问题:
[0091][0092]
其中:m表示损失函数,p表示基于含逐层权重项神经正切核的预测器,(xv,yv)表示验证集的训练图片及其标签。由解析形式得到的梯度,如核岭回归预测器的梯度,可以明显地减少的计算和存储开销。
[0093]
本发明提供一个优选实施例执行s5,终止条件可以取决于验证集上的图像分类评价指标,也可以设定为独立的指标。一般地,在处理大数据时,终止条件应选取独立的指标,如超步次数限制等,因为s1中的随机采样过程增加了验证集上的图像分类评价指标的不稳定性,因此,本实施例中,终止条件为训练轮次超过100。
[0094]
本发明提供一个优选实施例施行s6。对训练后的权重项进行放缩和归一化处理,并使用处理后的权重项作为初始逐层学习率训练得到图像分类模型。本实施例中,图像分类模型通过随机梯度下降训练500轮次得到;通过放缩和归一化处理,逐层初始学习率的均值为η=0.001,各层初始学习率之间的比率等于逐层权重项之间的比率。本实施例相对于常规训练得到的神经网络,明显减少了神经网络训练的时间开销。本实施例的具体训练加速效果见以下实验部分。
[0095]
此外,通过结合本发明和现有的一些网络训练方法,如自适应优化方法或者学习率衰减机制等,图像分类任务的神经网络训练效率和泛化性能都可以得到更进一步地提升。
[0096]
基于上述实施例,本发明提供一个实施例执行s7。使用上述图像分类模型预测测试图片的标签。得益于神经正切核预训练的优越性,本实施例相对于常规训练得到的神经网络,明显提升了图像分类的准确性。本实施例的具体分类效果见以下实验部分。
[0097]
1.实验条件
[0098]
所有实验均在linux系统下完成,使用了型号为nvidia rtx2080ti的gpu显卡进行异构加速计算;本实验的代码使用python语言编写并主要依赖于tensorflow深度学习库和cupy异构加速库。
[0099]
2.实验内容
[0100]
本实施从泛化性能和神经网络训练速度两个角度对本实施例所提出的一种基于神经正切核与神经网络的图像分类方法进行评估。
[0101]
3.实验结果
[0102]
3.1泛化性能的提升
[0103]
本实验对本实施例所提出的图像分类方法在多个cifar-10子数据集的二分类任务上的泛化性能进行了评估。实验结果在表格1中展示,其中nn列代表通过采用常规梯度下降训练的神经网络图像分类准确率,nn_adj列代表使用本实施例所涉及的图像分类方法的准确率。神经网络的训练轮次为500;训练图像数据和测试图像数据均使用全量的数据,大小分别为10000和2000;评价指标为测试集准确率;优化器为随机梯度下降,学习率η=0.001。在所有对照组中,nn_adj列都普遍优于nn列。这说明了本实施例所提出的图像分类方法相对于常规训练得到的神经网络有更高的图像分类准确性。
[0104]
3.2神经网络训练速度的提升
[0105]
本实验对本实施例所提出的图像分类方法在两个二分类任务airplane/automobile和bird/cat上的训练过程进行了仔细的观察,实验结果在图2和图3中展示。图2和图3分别是以随机梯度下降作为优化器的神经网络在训练图像数据和测试图像数据上的学习曲线,每个大图中的四张子图分别表示了在处理不同图像分类任务时神经网络在训练图像数据或测试图像数据上损失函数和准确率的变化。在每张子图中,浅色线代表常规训练得到的神经网络,其随机梯度下降的初始学习率设置为η=0.001;而深色线代表本实施
例所提出的图像分类方法,其随机梯度下降的初始学习率等于ηa
processed
。
[0106]
图2和图3的实验结果表明,本实施例所提出的图像分类方法显著加快了训练阶段的收敛,具体表现为训练图像数据和测试图像数据上损失函数下降更快,评价指标提升更快。同时,该实验也侧面反映了本实施例所提出的图像分类方法提升了神经网络的泛化性能,这与表1中说明的内容是一致的。在过度拟合发生之前,本实施例所提出的图像分类方法相比常规训练得到的神经网络的测试集准确率提高了0.01~0.02。
[0107]
表1cifar-10子数据集的二分类任务准确率比较
[0108]
数据集nnnn_adjair/auto84.62
±
0.9584.94
±
0.79cat/bird71.57
±
1.9373.51
±
1.15cat/deer70.15
±
1.4873.67
±
1.20deer/dog69.84
±
2.4374.29
±
2.12
[0109]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
技术特征:
1.一种基于神经正切核与神经网络的图像分类方法,其特征在于,包括:针对目标分类任务,构建并初始化神经网络;通过多个超步,学习所述神经网络基于神经正切核的逐层初始学习率;基于所述逐层初始学习率对所述神经网络进行训练,获得图像分类模型;利用所述图像分类模型进行图像分类。2.根据权利要求1所述的基于神经正切核与神经网络的图像分类方法,其特征在于,所述通过多个超步,学习神经网络基于神经正切核的逐层初始学习率,包括:每个超步中,从训练图片中随机采样,得到训练集和验证集;每个超步中,计算所述训练集上含有逐层权重项的神经正切核;每个超步中,生成所述神经正切核的预测器;每个超步中,并使用所述预测器预测所述验证集标签;每个超步中,基于所述验证集标签,依据自选的损失函数计算逐层权重项的梯度,并使用梯度下降更新所述逐层权重项;对训练后的逐层权重项进行放缩和归一化处理;所述处理后的逐层权重项作为逐层初始学习率。3.根据权利要求2所述的基于神经正切核与神经网络的图像分类方法,其特征在于,所述随机采样包括独立的和非独立的、平衡的和非平衡的采样方法;所述训练集和验证集的数量保持比例r。4.根据权利要求2所述的基于神经正切核与神经网络的图像分类方法,其特征在于,所述计算训练集上含有逐层权重项的神经正切核,包括:定义神经网络的参数为θ,神经网络的两个训练图片x
i
和x
j
,所述神经网络的预测为f(θ,x
i
)和f(θ,x
j
);所述神经网络第l层的神经正切核在θ
l
x
i
和x
j
上的取值:其中:表示f(θ,x
i
)在θ
p
上的偏导数;令逐层的权重项a
l
对应于逐层的神经正切核θ
l
;含逐层权重项的神经正切核a在x
i
和x
j
上的取值为:其中,l表示神经网络的总层数,逐层权重项a
l
为变量。5.根据权利要求4所述的基于神经正切核与神经网络的图像分类方法,其特征在于,所述生成含有逐层权重项的神经正切核的预测器,包括:所述预测器包括两部分操作:将输入图片经过函数投影到高维空间;对高维空间中的投影进行预测;所述预测器对于含逐层权重项的神经正切核a的依赖性关系为:核岭回归预测器f
*
可被描述为:
f
*
(x)=a(x,x)
t
(a(x,x))-1
y.其中,x为一张验证集中的图片,x为所有训练图片,y为所有训练图片标签,f
*
(x)即为预测器对图片x的推断。6.根据权要求5所述的基于神经正切核与神经网络的图像分类方法,其特征在于,所述基于验证集标签,依据自选的损失函数计算逐层权重项的梯度,并使用梯度下降更新逐层权重项,包括:其中:m表示损失函数,p表示基于含逐层权重项神经正切核的预测器,(x
v
,y
v
)表示验证集的图像及标签;若以均方差为损失函数,根据含逐层权重项的神经正切核和预测器f
*
的定义,权重项a
l
的梯度为:其中a
v
表示在训练集x
t
和验证集x
v
之间的加权泛化神经正切核,且:7.根据权要求5所述的基于神经正切核与神经网络的图像分类方法,其特征在于,所述权重项在初始化时依据不同的概率分布生成;所述梯度包括:由自动梯度求导计算得到的梯度或由解析形式得到的梯度。8.根据权利要求2所述的基于神经正切核与神经网络的图像分类方法,其特征在于,所述神经网络的逐层初始学习率的选择取决于经过学习的逐层权重项。9.一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时可用于执行权利要求1-8中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时可用于执行权利要求1-8中任一项所述的方法。
技术总结
本发明提供一种基于神经正切核与神经网络的图像分类方法,包括:针对目标分类任务,构建并初始化神经网络;通过多个超步,学习所述神经网络基于神经正切核的逐层初始学习率;基于所述逐层初始学习率对所述神经网络进行训练,获得图像分类模型;利用所述图像分类模型进行图像分类。本发明能够减少训练的时间开销,同时更加稳健准确地对未知图像进行分类。同时更加稳健准确地对未知图像进行分类。同时更加稳健准确地对未知图像进行分类。
技术研发人员:谭雷 吴枢同 黄晓霖 杨杰
受保护的技术使用者:上海交通大学
技术研发日:2022.02.09
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-21133.html