一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分类模型的训练方法,装置和计算机可读存储介质与流程

2022-09-04 05:40:30 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,特别涉及一种分类模型的训练方法,装置和计算机可读存储介质。


背景技术:

2.基于深度学习的分类算法近些年来发展迅速,已经逐渐被应用到了人们生活、工作、学习的各个行业,例如人脸识别、姿态分类、医学图像分析、无人驾驶的障碍检测、网页分类、音频分类等等。然而,由于深度分类模型参数量较多,在训练前通常需要对模型参数进行合适的初始化,才能通过梯度下降算法进行优化,获得收敛且稳定的分类模型。
3.然而,因为现实应用场景的不同,分类数据集的也不尽相同,对某个数据集合适的初始化参数在变换后的数据集上可能不再适合。因此,深度分类网络领域提出了基于学习的初始化的问题,即如何通过学习优化的方式快速、高效地寻找到最优的初始化参数。
4.相关方法中基于初始优化区域曲率来优化初始化参数,通过计算分类模型函数在初始参数处的曲率来评价初始化参数的好坏。曲率反映了随着优化的进行,参数梯度的变化程度。一般初始化参数的梯度在优化过程中变化越小,即曲率越小,对应着更稳定、更易训练的优化环境,即更好的初始化。


技术实现要素:

5.发明人发现:相关方法中基于初始优化区域曲率来优化初始化参数,在计算时涉及到参数的二阶梯度,而在优化过程中还需要计算三阶梯度,这个过程非常消耗计算资源,并且无法在指定数据集的情况下高效地捕捉适用于该数据集的信息进行初始化参数的优化。此外,该方法没有考虑模型的分类误差,无法保证模型的分类准确性。
6.本公开所要解决的一个技术问题是:如何提高分类模型的初始化参数优化的效率,节省计算资源并提高分类准确率。
7.根据本公开的一些实施例,提供的一种分类模型的训练方法,包括:将用于训练的样本划分为多个子批,其中,每个子批包括一个或多个样本;将每个子批的样本输入分类模型,确定每个子批对应的分类误差相对于分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与分类模型的分类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整分类模型的初始化参数;直至目标函数的值达到最大值,将分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的分类模型进行训练。
8.在一些实施例中,目标函数包括第一子函数和第二子函数中至少一个,根据每个子批对应的梯度向量,确定目标函数的值包括以下至少一项:根据每个子批对应的梯度向量,确定每个子批对应的梯度向量的模长,根据每个子批对应的梯度向量的模长确定第一子函数的值;根据每个子批对应的梯度向量,确定每两个子批对应的梯度向量的相似度,根据每两个子批对应的梯度向量的相似度确定第二子函数的值。
9.在一些实施例中,根据每个子批对应的梯度向量的模长确定第一子函数的值包括:根据每个子批对应的梯度向量的模长确定平均模长,作为第一子函数的值。
10.在一些实施例中,根据每个子批对应的梯度向量,确定每两个子批对应的梯度向量的相似度,根据每两个子批对应的梯度向量的相似度确定第二子函数的值包括:根据每个子批对应的梯度向量,确定每两个子批对应的梯度向量的余弦相似度;根据每两个子批对应的梯度向量的余弦相似度确定平均余弦相似度,作为第二子函数的值。
11.在一些实施例中,目标函数还包括每个子批对应的梯度向量的模长中的最大模长不超过预设值的条件。
12.在一些实施例中,目标函数采用以下方法确定:对分类模型的分类损失函数进行优化曲面分析,确定评价指标函数,其中,评价指标函数为确定分类模型的分类损失的上限的函数;根据评价指标函数确定目标函数。
13.在一些实施例中,评价指标函数包括确定每个子批对应梯度向量的模长的最大模长的第三子函数,确定每两个子批对应的梯度向量之间的相似度的第四子函数,以及确定每个子批对应的优化后的初始化参数的最大模长和最小模长的比值的第五子函数,根据评价指标函数确定目标函数包括:根据第三子函数确定目标函数中每个子批对应的梯度向量的模长中的最大模长不超过预设值的条件;根据第四子函数确定第二子函数;通过利用初始化参数的一阶梯度和每个子批对应的梯度向量来逼近每个子批对应的优化后的初始化参数,将第五子函数转换为第一子函数。
14.在一些实施例中,每两个子批对应的梯度向量的余弦相似度为每两个子批对应的梯度向量的点乘与每两个子批对应的梯度向量的模长的比值。
15.在一些实施例中,根据目标函数调整分类模型的初始化参数包括:确定目标函数相对于上一周期的调整向量的梯度值;根据上一周期的调整向量,梯度值和学习率,确定当前周期的调整向量;根据当前周期的调整向量与上一周期分类模型的初始化参数,确定当前周期分类模型的初始化参数。
16.在一些实施例中,将当前周期的调整向量与上一周期分类模型的初始化参数的乘积,作为当前周期分类模型的初始化参数。
17.在一些实施例中,将每个子批中每个样本对应的分类误差相对于分类模型的初始化参数的梯度向量的平均梯度向量,作为每个子批对应的分类误差相对于分类模型的初始化参数的梯度向量。
18.在一些实施例中,将用于训练的样本划分为多个子批包括:根据样本的数量、子批的个数、以及子批之间的重叠率,确定每个子批中样本的数量。
19.在一些实施例中,对具有优化后的初始化参数的分类模型进行训练包括:将样本输入具有优化后的初始化参数的分类模型,得到分类结果;根据分类结果和训练样本的标注信息,确定分类损失;根据分类损失以及分类损失函数,调整分类模型的参数,直至完成训练。
20.在一些实施例中,分类模型为图像分类模型,将用于训练的样本图像划分为多个子批,其中,每个子批包括一个或多个样本图像;将每个子批的样本图像输入图像分类模型,确定每个子批对应的图像分类误差相对于图像分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与图像分类模型的图像分
类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整图像分类模型的初始化参数;直至目标函数的值达到最大值,将图像分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的图像分类模型进行训练。
21.在一些实施例中,分类模型为文本分类模型,将用于训练的样本文本划分为多个子批,其中,每个子批包括一个或多个样本文本;将每个子批的样本文本输入文本分类模型,确定每个子批对应的文本分类误差相对于文本分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与文本分类模型的文本分类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整文本分类模型的初始化参数;直至目标函数的值达到最大值,将文本分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的文本分类模型进行训练。
22.在一些实施例中,分类模型为音频分类模型,将用于训练的样本音频划分为多个子批,其中,每个子批包括一个或多个样本音频;将每个子批的样本音频输入音频分类模型,确定每个子批对应的音频分类误差相对于音频分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与音频分类模型的音频分类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整音频分类模型的初始化参数;直至目标函数的值达到最大值,将音频分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的音频分类模型进行训练。
23.在一些实施例中,分类模型为视频分类模型,将用于训练的样本视频划分为多个子批,其中,每个子批包括一个或多个样本视频;将每个子批的样本视频输入视频分类模型,确定每个子批对应的视频分类误差相对于视频分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与视频分类模型的视频分类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整视频分类模型的初始化参数;直至目标函数的值达到最大值,将视频分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的视频分类模型进行训练。
24.在一些实施例中,该方法还包括:将待分类对象输入训练完成的分类模型,得到待分类对象的类别;其中,待分类的对象包括:图像、文本、视频或音频。
25.根据本公开的另一些实施例,提供的一种分类模型的训练装置,包括:划分模块,用于将用于训练的样本划分为多个子批,其中,每个子批包括一个或多个样本;第一确定模块,用于将每个子批的样本输入分类模型,确定每个子批对应的分类误差相对于分类模型的初始化参数的梯度向量;第二确定模块,用于根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与分类模型的分类损失负相关;调整模块,用于在目标函数的值未达到最大值的情况下,根据目标函数调整分类模型的初始化参数;训练模块,用于直至目标函数的值达到最大值,将分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的分类模型进行训练。
26.根据本公开的又一些实施例,提供的一种分类模型的训练装置,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行如前述任意实施例的分类模型的训练方法。
27.根据本公开的再一些实施例,提供的一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意实施例的分类模型的训练方
法。
28.本公开的分类模型的训练方法中,将样本划分为对各子批,针对每个子批,确定该子批对应的分类误差相对于分类模型的初始化参数的梯度向量,根据每个子批对应的梯度向量,确定目标函数的值,进而根据目标函数的值调整分类模型的初始化参数,从而得到优化后的初始化参数,再对分类模型进行训练。由于目标函数的值是根据每个子批对应的梯度向量确定的,只涉及一阶导数计算,可以提高分类模型的初始化参数优化的效率,节省计算资源。并且目标函数与分类模型的分类损失负相关,通过调整目标函数的值达到最大值可以使分类损失最小化。从而对具有优化后的初始化参数的分类模型进行训练后可以提高分类模型的准确率。
29.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
30.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1示出本公开的一些实施例的分类模型的训练方法的流程示意图。
32.图2示出本公开的另一些实施例的分类模型的训练方法的流程示意图。
33.图3示出本公开的一些实施例的分类模型的训练装置的结构示意图。
34.图4示出本公开的另一些实施例的分类模型的训练装置的结构示意图。
35.图5示出本公开的又一些实施例的分类模型的训练装置的结构示意图。
具体实施方式
36.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
37.本公开提出一种分类模型的训练方法,下面结合图1~2进行描述。
38.图1为本公开分类模型的训练方法一些实施例的流程图。如图1所示,该实施例的方法包括:步骤s102~s110。
39.在步骤s102中,将用于训练的样本划分为多个子批。
40.每个子批包括一个或多个样本。在用于训练的样本被划分为多批(batch)的情况下,可以将每批样本划分为多个子批(mini-batch)。在每个子批包括多个样本的情况下,可以节省后续目标函数计算时的资源消耗,提高效率,后续过程将进行详细描述。
41.在一些实施例中,根据样本的数量、子批的个数、以及子批之间的重叠率,确定每个子批中样本的数量。例如,将样本的数量除以子批的个数与子批之间的重叠率的差值,得到比值向下取整作为每个子批中样本的数量。通过在连续的子批间设置样本重叠,可以稳
定优化过程。
42.例如,将每一批样本s=(xi,yi)
i∈[b]
分成d个子批,设置子批重叠率为r,从而对于样本数为b的一批输入,可以得到的每个子批中样本数为并且每个子批中所对应的样本编号可以写成下面的形式:
[0043]
sd=(xi,yi)
i=n(d-1)(1-r),

,n(d-1)(1-r) n
ꢀꢀꢀꢀ
(1)
[0044]
其中,d=1,...,d。当设置d=b,r=0时,每个子批中样本的数量n=1。通过减少子批的个数d,并相应的增加重叠率r,能够有效地提升模型计算梯度的效率,而不影响最终的找到的初始化参数的质量。
[0045]
在步骤s104中,将每个子批的样本输入分类模型,确定每个子批对应的分类误差相对于分类模型的初始化参数的梯度向量。
[0046]
初始化参数可以是随机生成的。针对每个子批,将该子批的样本输入分类模型后可以得到每个样本对应的分类误差相对于分类模型的初始化参数的梯度向量。将每个子批中每个样本对应的分类误差相对于分类模型的初始化参数的梯度向量的平均梯度向量,作为每个子批对应的分类误差相对于分类模型的初始化参数的梯度向量,即每个子批对应的梯度向量。
[0047]
例如,对于第i个子批对应的梯度向量gi,可以采用以下公式计算。
[0048][0049]
其中,xj表示样本j的数据,yj表示样本j的标注数据,f
θ
(
·
)为分类模型的表示函数,l(
·
)表示损失函数,θ0表示初始化参数,表示在样本j对应的分类误差相对于分类模型的初始化参数的梯度向量。
[0050]
在步骤s106中,根据每个子批对应的梯度向量,确定目标函数的值。
[0051]
目标函数与分类模型的分类损失负相关。本领域技术人员根据梯度的计算方式或公式(2)可以理解,每个子批对应的梯度向量是基于分类模型的初始化参数和每个子批的样本的数据计算的。根据每个子批对应的梯度向量,可以确定目标函数的值,即目标函数也是基于分类模型的初始化参数和每个子批的样本的数据确定的。目标函数以每个子批的样本的数据和初始化参数为变量。在样本确定的情况下,通过调整初始化参数可以调整目标函数的值。
[0052]
在一些实施例中,目标函数包括第一子函数和第二子函数中至少一个。进一步,目标函数还可以包括每个子批对应的梯度向量的模长中的最大模长不超过预设值的条件。在目标函数包括第一子函数和第二子函数的情况下,目标函数可以表示为第一子函数与第二子函数的和。
[0053]
在一些实施例中,根据每个子批对应的梯度向量,确定每个子批对应的梯度向量的模长,根据每个子批对应的梯度向量的模长确定第一子函数的值;根据每个子批对应的梯度向量,确定每两个子批对应的梯度向量的相似度,根据每两个子批对应的梯度向量的相似度确定第二子函数的值。
[0054]
进一步,在一些实施例中,根据每个子批对应的梯度向量的模长确定平均模长,作为第一子函数的值。根据每个子批对应的梯度向量,确定每两个子批对应的梯度向量的余
弦相似度;根据每两个子批对应的梯度向量的余弦相似度确定平均余弦相似度,作为第二子函数的值。每两个子批对应的梯度向量的相似度可以采用余弦相似度计算,也可以采用其他计算方式,例如,欧式距离等,不限于所举示例,但是采用余弦相似度对于提高分类准确性效果更好。
[0055]
例如,第一子函数为确定每个子批对应的梯度向量的模长的平均模长的函数。例如,对于每一批s,在初始参数θ0的基础上,第一子函数gradnorm可以采用以下公式确定。
[0056][0057]
例如,第二子函数为确定每两个子批对应的梯度向量的相似度的平均相似度的函数。相似度例如为余弦相似度。每两个子批对应的梯度向量的余弦相似度为每两个子批对应的梯度向量的点乘与每两个子批对应的梯度向量的模长的比值。例如,第i个子批对应的梯度向量和第j个子批对应的梯度向量之间的余弦相似度可以采用以下公式确定。
[0058][0059]
进一步,对于每一批s,在初始参数θ0的基础上,第二子函数gradcosine可以采用以下公式确定。
[0060][0061]
目标函数还可以包括每个子批对应的梯度向量的模长中的最大模长不超过预设值的条件,可以采用以下公式表示。
[0062][0063]
其中,γ是固定的梯度上界即预设值。
[0064]
对于初始化参数θ0=[w1,...,wm],对应的调整向量记为m=[ω1,...,ωm],调整后的初始化参数记为θm=[ω1w1,...,ωmwm]。采用这样的方式调整初始化参数,可以达到优化初始化参数的整体方差的效果。通过调整m可以实现初始化参数的优化。因此,在优化初始化参数的过程中m作为变量。在可变初始化参数θm的基础上,对于第i个子批对应的梯度向量gi,可以采用以下公式计算。
[0065][0066]
在可变初始化参数θm的基础上,第一子函数gradnorm可以采用以下公式确定。
[0067][0068]
在可变初始化参数θm的基础上,第二子函数gradcosine可以采用以下公式确定。
[0069][0070]
目标函数可以包括第一子函数或第二子函数,例如,在目标函数包括第一子函数的情况下,目标函数可以采用以下公式表示。
[0071][0072]
其中,gc(s,θm)=gradcosine(s,θm)。
[0073]
在目标函数包括第一子函数和第二子函数的情况下,目标函数可以采用以下公式表示。
[0074][0075]
其中,gc(s,θm)=gradcosine(s,θm),gn(s,θm)=gradnorm(s,θm),可以参考公式(8)和(9)。
[0076]
通过公式(10)和(11)可以看出,目标函数以样本的数据和调整向量为变量,在样本固定的情况下,通过调整向量的改变可以改变目标函数的值,以使目标函数达到最大值。
[0077]
对于规模较大的数据集,如果计算每两个样本对应的梯度向量之间的相似度,所消耗的时间和资源是算法无法承受的。为了更加高效的计算,将每一批样本分成若干子批,将不同的子批看成单个样本,从而减少梯度gi的计算次数,提高初始化参数优化的效率。
[0078]
在步骤s108中,在目标函数的值未达到最大值的情况下,根据目标函数调整分类模型的初始化参数。
[0079]
可以通过一个或多个周期,根据目标函数采用梯度下降方法对初始化参数进行优化。在一些实施例中,确定目标函数相对于上一周期的调整向量的梯度值;根据上一周期的调整向量,梯度值和学习率,确定当前周期的调整向量;根据当前周期的调整向量与上一周期分类模型的初始化参数,确定当前周期分类模型的初始化参数。如前述实施例中,将当前周期的调整向量与上一周期分类模型的初始化参数的乘积,作为当前周期分类模型的初始化参数。
[0080]
在步骤s110中,直至目标函数的值达到最大值,将分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的分类模型进行训练。
[0081]
在一些实施例中,将样本输入具有优化后的初始化参数的分类模型,得到分类结果;根据分类结果和训练样本的标注信息,确定分类损失;根据分类损失以及分类损失函数,调整分类模型的参数,直至完成训练。训练过程可以采用现有的方法,在此不再赘述。
[0082]
初始化参数的优化过程例如为:
[0083]
(1)将当前周期用于训练的样本划分为多个子批,其中,每个子批包括一个或多个样本;
[0084]
(2)将当前周期每个子批的样本输入分类模型,确定当前周期每个子批对应的分类误差相对于当前周期的初始化参数的梯度向量;
[0085]
(3)根据当前周期每个子批对应的梯度向量,确定当前周期目标函数的值,其中,目标函数与分类模型的分类损失负相关;
[0086]
(4)在当前周期目标函数的值未达到最大值的情况下,根据当前周期目标函数调整分类模型的初始化参数,得到分类模型的下一周期的初始化参数,并进入下一周期返回步骤(1)重新开始执行;
[0087]
(5)在当前周期目标函数的值达到最大值的情况下,将分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的分类模型进行训练。
[0088]
下面描述本公开中目标函数的理论基础以及如何得到目标函数。
[0089]
在一些实施例中,对分类模型的损失函数进行优化曲面分析,确定评价指标函数,
其中,评价指标函数为确定分类模型的分类损失的上限的函数;根据评价指标函数确定目标函数。
[0090]
对深度学习分类模型的损失函数进行优化曲面分析,得到以下评价指标函数,该评价指标函数用于表示训练或测试(泛化)分类误差的上限,也就是如果该评价指标函数的值越小,则训练或测试(泛化)分类误差越小。
[0091][0092]
其中等式左边表示,使用作为初始化参数初始化的深度学习分类模型f,在训练数据集s=(xi,yj)
i∈[n]
和损失函数l情况下,所计算得到的初始化指标θ。等式右边表示指标的计算方式,主要包括:
[0093]
a.固定常数,包括平滑上界a.固定常数,包括平滑上界模型学习率η;输入样本量n以及固定参数和c2。这些常数不会受初始化参数θ0的影响,因此在优化时可以忽略,不用单独计算。
[0094]
b.待优化梯度,包括每一批输入样本中各个子批对应梯度向量的模长的最大值以及不同子批对应的梯度向量之间的余弦相似度cos(gi,gj)。其中gi表示第i个子批所对应的梯度向量,会受到初始化参数θ0的影响,同时gi的计算方式还会受每一批中不同子批的划分方式所影响。
[0095]
c.待优化参数模长其中α和β分别表示每个子批对应的优化后的初始化参数的最大和最小模长。即的最大和最小模长。即由于需要通过分类模型的完全训练才能得到,无法使用初始化参数θ0表示,因此通过θ0的一阶梯度近似来逼近。
[0096]
可以理论证明,指标与模型的训练动态(收敛速度和稳定性)和最终分类表现密切相关。具体来说,指标θ越小,则对应着更小的分类误差,以及更优的训练动态。
[0097]
根据上述评价指标函数中待优化项可以构建目标函数。例如,目标函数包括确定各个子批对应梯度向量的模长的最大模长的第三子函数,确定每两个子批对应的梯度向量之间的余弦相似度的第四子函数,以及确定每个子批对应的优化后的初始化参数的最大和最小模长的比值的第五子函数。
[0098]
进一步,在一些实施例中,根据第三子函数确定目标函数中每个子批对应的梯度向量的模长中的最大模长不超过预设值的条件;根据第四子函数确定第二子函数;通过利用初始化参数的一阶梯度和每个子批对应的梯度向量来逼近每个子批对应的优化后的初始化参数,将第五子函数转换为第一子函数。
[0099]
确定针对各个子批对应梯度向量的模长的最大模长的第三子函数,通过约束最大模长小于一个给定上界γ,可以有效减小最大模长,得到目标函数中每个子批对应的梯度
向量的模长中的最大模长不超过预设值的条件。针对确定每两个子批对应的梯度向量之间的余弦相似度的第四子函数,可以根据公式(9)进行计算。
[0100]
针对确定每个子批对应的优化后的初始化参数的最大和最小模长的比值的第五函数,由于需要通过分类模型的完全训练才能得到,无法使用初始化参数θ0表示,因此通过θ0的一阶梯度近似来逼近,如以下公式。
[0101][0102]
其中,η表示参数学习率,gi为第i个子批对应的梯度向量。在一阶近似的基础上,的模长可以一定程度上由gi的模长表示。进一步,因为注意到通过约束所有gi的模长都接近γ,从而使α≈β,进而使尽可能的小,理想情况下达到最小值1。由于已经约束了最大梯度模长小于γ,因此为了让所有gi的模长都接近γ,只需要再添加一项条件,即在最大梯度模长小于γ的约束下,同时最大化所有gi的模长,即最大化公式(8)表示的函数即可。
[0103]
上述实施例的分类模型的训练方法中,将样本划分为对各子批,针对每个子批,确定该子批对应的分类误差相对于分类模型的初始化参数的梯度向量,根据每个子批对应的梯度向量,确定目标函数的值,进而根据目标函数的值调整分类模型的初始化参数,从而得到优化后的初始化参数,再对分类模型进行训练。由于目标函数的值是根据每个子批对应的梯度向量确定的,只涉及一阶导数计算,可以提高分类模型的初始化参数优化的效率,节省计算资源。并且目标函数与分类模型的分类损失负相关,通过调整目标函数的值达到最大值可以使分类损失最小化。从而对具有优化后的初始化参数的分类模型进行训练后可以提高分类模型的准确率。
[0104]
本公开的方法可以应用于图像分类、文本分类、音频分类或视频分类等场景。
[0105]
在一些实施例中,样本为样本图像,分类模型为图像分类模型。步骤s102~s110可以替换为将用于训练的样本图像划分为多个子批,其中,每个子批包括一个或多个样本图像;将每个子批的样本图像输入图像分类模型,确定每个子批对应的图像分类误差相对于图像分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与图像分类模型的图像分类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整图像分类模型的初始化参数;直至目标函数的值达到最大值,将图像分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的图像分类模型进行训练。
[0106]
基于上述实施例的方法对图像分类模型的初始化参数进行优化,在每一个步骤中,图像分类模型的参数都是基于样本图像的数据得到的,最终得到的优化后的初始化参数也是与样本图像的数据密切相关的。在对具有优化后的初始化参数的图像分类模型进行训练过程中,可以提高图像分类模型的训练效率,并提高最终图像分类的准确性。
[0107]
在一些实施例中,样本为样本文本,分类模型为文本分类模型。步骤s102~s110可以替换为将用于训练的样本文本划分为多个子批,其中,每个子批包括一个或多个样本文本;将每个子批的样本文本输入文本分类模型,确定每个子批对应的文本分类误差相对于
文本分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与文本分类模型的文本分类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整文本分类模型的初始化参数;直至目标函数的值达到最大值,将文本分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的文本分类模型进行训练。
[0108]
基于上述实施例的方法对文本分类模型的初始化参数进行优化,在每一个步骤中,文本分类模型的参数都是基于样本文本的数据得到的,最终得到的优化后的初始化参数也是与样本文本的数据密切相关的。在对具有优化后的初始化参数的文本分类模型进行训练过程中,可以提高文本分类模型的训练效率,并提高最终文本分类的准确性。
[0109]
在一些实施例中,样本为样本音频,分类模型为音频分类模型。步骤s102~s110可以替换为将用于训练的样本音频划分为多个子批,其中,每个子批包括一个或多个样本音频;将每个子批的样本音频输入音频分类模型,确定每个子批对应的音频分类误差相对于音频分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与音频分类模型的音频分类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整音频分类模型的初始化参数;直至目标函数的值达到最大值,将音频分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的音频分类模型进行训练。
[0110]
基于上述实施例的方法对音频分类模型的初始化参数进行优化,在每一个步骤中,音频分类模型的参数都是基于样本音频的数据得到的,最终得到的优化后的初始化参数也是与样本音频的数据密切相关的。在对具有优化后的初始化参数的音频分类模型进行训练过程中,可以提高音频分类模型的训练效率,并提高最终音频分类的准确性。
[0111]
在一些实施例中,样本为样本视频,分类模型为视频分类模型。步骤s102~s110可以替换为将用于训练的样本视频划分为多个子批,其中,每个子批包括一个或多个样本视频;将每个子批的样本视频输入视频分类模型,确定每个子批对应的视频分类误差相对于视频分类模型的初始化参数的梯度向量;根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与视频分类模型的视频分类损失负相关;在目标函数的值未达到最大值的情况下,根据目标函数调整视频分类模型的初始化参数;直至目标函数的值达到最大值,将视频分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的视频分类模型进行训练。
[0112]
基于上述实施例的方法对视频分类模型的初始化参数进行优化,在每一个步骤中,视频分类模型的参数都是基于样本视频的数据得到的,最终得到的优化后的初始化参数也是与样本视频的数据密切相关的。在对具有优化后的初始化参数的视频分类模型进行训练过程中,可以提高视频分类模型的训练效率,并提高最终视频分类的准确性。
[0113]
由于图像分类模型和视频分类模型更加复杂、参数数量更多,本公开的方案在针对图像分类、视频分类领域效果更加显著。
[0114]
本公开的方法在计算机的处理器执行时,可以提高处理器的处理速度和效率。在一些实施例中,处理器将用于训练的样本划分为多个子批,其中,每个子批包括一个或多个样本;处理器将每个子批的样本输入分类模型,确定每个子批对应的分类误差相对于分类模型的初始化参数的梯度向量;处理器根据每个子批对应的梯度向量,确定目标函数的值,
其中,目标函数与分类模型的分类损失负相关;处理器在目标函数的值未达到最大值的情况下,根据目标函数调整分类模型的初始化参数;直至目标函数的值达到最大值,处理器将分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的分类模型进行训练,从而提高处理器的处理速度和效率。
[0115]
下面结合图2描述本公开分类模型的训练方法的一些应用例。如图2所示,首先随机初始化分类模型的参数,得到初始化参数。将每一批训练数据划分为多个子批。计算各个子批的梯度,进而计算各个子批的梯度模长,以及每两个子批的梯度的余弦相似度。根据目标函数进行梯度模长的优化,余弦相似度优化和参数模长优化,最终得到最优的初始化参数。
[0116]
本公开的方案利用了深度学习分类模型的损失函数的优化曲面分析,推导出可以同时反应模型训练动态和最终分类表现的评价指标函数。根据该评价指标函数确定目标函数,该目标函数只涉及一阶导数计算,同时对于初始化参数可导,因此适用于后续的优化算法。根据目标函数调整初始化参数,从而得到最有利于模型训练和测试的初始化参数。
[0117]
首先将待训练的数据集中的样本,按批输入到分类模型中。每批样本会先进行子批划分,然后对于每个子批样本计算分类误差,并计算分类误差相对于初始化参数的梯度。接着根据子批梯度,分别计算梯度向量模长,以及不同子批之间的梯度向量的相似度,以并最终输出目标函数的值。进一步,根据目标函数通过梯度下降算法调整模型初始化参数,例如,主要通过梯度模长优化、余弦相似度优化和参数模长优化,以使目标函数达到最大值,从而得到对应于更好的训练动态以及更优的训练结果的初始化参数。
[0118]
本公开中通过评价指标函数有效地反应模型的训练动态和最终分类结果的好坏。将评价指标函数转换为目标函数后,具体优化过程主要利用了一阶近似,并与约束优化问题相结合,通过优化目标和优化约束的设置,解决了评价指标函数中部分量不可计算的问题。从而实现对评价指标函数的高效优化,以更方便高效的方式找到模型的最优初始化参数。
[0119]
本公开还提供一种分类模型的训练装置,下面结合图3进行描述。
[0120]
图3为本公开分类模型的训练装置的一些实施例的结构图。如图3所示,该实施例的装置30包括:划分模块310,第一确定模块320,第二确定模块330,调整模块340,训练模块350。
[0121]
划分模块310用于将用于训练的样本划分为多个子批,其中,每个子批包括一个或多个样本。
[0122]
在一些实施例中,划分模块310用于根据样本的数量、子批的个数、以及子批之间的重叠率,确定每个子批中样本的数量。
[0123]
第一确定模块320用于将每个子批的样本输入分类模型,确定每个子批对应的分类误差相对于分类模型的初始化参数的梯度向量。
[0124]
在一些实施例中,第一确定模块320用于将每个子批中每个样本对应的分类误差相对于分类模型的初始化参数的梯度向量的平均梯度向量,作为每个子批对应的分类误差相对于分类模型的初始化参数的梯度向量。
[0125]
第二确定模块330用于根据每个子批对应的梯度向量,确定目标函数的值,其中,目标函数与分类模型的分类损失负相关。
[0126]
在一些实施例中,目标函数包括第一子函数和第二子函数中至少一个,第二确定模块330用于执行以下至少一项:根据每个子批对应的梯度向量,确定每个子批对应的梯度向量的模长,根据每个子批对应的梯度向量的模长确定第一子函数的值;根据每个子批对应的梯度向量,确定每两个子批对应的梯度向量的相似度,根据每两个子批对应的梯度向量的相似度确定第二子函数的值。
[0127]
在一些实施例中,第二确定模块330用于根据每个子批对应的梯度向量的模长确定平均模长,作为第一子函数的值。
[0128]
在一些实施例中,第二确定模块330用于根据每个子批对应的梯度向量,确定每两个子批对应的梯度向量的余弦相似度;根据每两个子批对应的梯度向量的余弦相似度确定平均余弦相似度,作为第二子函数的值。
[0129]
在一些实施例中,每两个子批对应的梯度向量的余弦相似度为每两个子批对应的梯度向量的点乘与每两个子批对应的梯度向量的模长的比值。
[0130]
在一些实施例中,目标函数还包括每个子批对应的梯度向量的模长中的最大模长不超过预设值的条件。
[0131]
在一些实施例中,第二确定模块330用于对分类模型的分类损失函数进行优化曲面分析,确定评价指标函数,其中,评价指标函数为确定分类模型的分类损失的上限的函数;根据评价指标函数确定目标函数。
[0132]
在一些实施例中,评价指标函数包括确定每个子批对应梯度向量的模长的最大模长的第三子函数,确定每两个子批对应的梯度向量之间的相似度的第四子函数,以及确定每个子批对应的优化后的初始化参数的最大模长和最小模长的比值的第五子函数,第二确定模块330用于根据第三子函数确定目标函数中每个子批对应的梯度向量的模长中的最大模长不超过预设值的条件;根据第四子函数确定第二子函数;通过利用初始化参数的一阶梯度和每个子批对应的梯度向量来逼近每个子批对应的优化后的初始化参数,将第五子函数转换为第一子函数。
[0133]
调整模块340用于在目标函数的值未达到最大值的情况下,根据目标函数调整分类模型的初始化参数。
[0134]
在一些实施例中,调整模块340用于确定目标函数相对于上一周期的调整向量的梯度值;根据上一周期的调整向量,梯度值和学习率,确定当前周期的调整向量;根据当前周期的调整向量与上一周期分类模型的初始化参数,确定当前周期分类模型的初始化参数。
[0135]
在一些实施例中,将当前周期的调整向量与上一周期分类模型的初始化参数的乘积,作为当前周期分类模型的初始化参数。
[0136]
训练模块350用于直至目标函数的值达到最大值,将分类模型的初始化参数作为优化后的初始化参数,并对具有优化后的初始化参数的分类模型进行训练。
[0137]
在一些实施例中,训练模块350用于将样本输入具有优化后的初始化参数的分类模型,得到分类结果;根据分类结果和训练样本的标注信息,确定分类损失;根据分类损失以及分类损失函数,调整分类模型的参数,直至完成训练。
[0138]
在一些实施例中,装置30还包括:分类模块360,用于将待分类对象输入训练完成的分类模型,得到待分类对象的类别;其中,待分类的对象包括:图像、文本、视频或音频。
[0139]
本公开的实施例中的分类模型的训练装置可各由各种计算设备或计算机系统来实现,下面结合图4以及图5进行描述。
[0140]
图4为本公开分类模型的训练装置的一些实施例的结构图。如图4所示,该实施例的装置40包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行本公开中任意一些实施例中的分类模型的训练方法。
[0141]
其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)、数据库以及其他程序等。
[0142]
图5为本公开分类模型的训练装置的另一些实施例的结构图。如图5所示,该实施例的装置50包括:存储器510以及处理器520,分别与存储器410以及处理器420类似。还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530,540,550以及存储器510和处理器520之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口550为sd卡、u盘等外置存储设备提供连接接口。
[0143]
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0144]
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0145]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0146]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0147]
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献