分类模型的训练方法、系统、计算机设备及存储介质
技术领域
本发明实施例涉及互联网技术领域,尤其涉及一种分类模型的训练方法、装置、设备和存储介质。
背景技术
互联网的飞速发展以及广泛普及对网络安全维护提出了更高的要求。验证码(CAPTCHA,Completely Automated Public Turing test to tell Computers and HumansApart)是一种广泛使用的安全防御机制,服务提供者可以利用验证码来确定与系统交互的实体是人还是机器人。现有验证码一般可分为两类:随机验证码和行为验证码。目前,行为验证码由于其可操作性和简单性近年来受到了广泛的关注。而且,行为验证码对人的行为进行了大量的分析,然后通过算法对人或机器进行识别。与随机验证码相比,行为验证码更不易受到攻击。
随着机器学习和深度学习的发展,技术人员已成功将监督学习方法应用于行为验证码识别领域,以对人或机器人进行识别,在一定程度上提高了验证码的检测精度。但是,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:采用监督学习方法需要大量的标签数据集,需要花费大量的时间手工标记未标记的数据集,而且现有的训练样本比较少。更重要的是,简单的标记数据集被认为是过时的,从而导致监督学习技术的准确性在新类型的攻击下急剧下降。
发明内容
本发明实施例提供了一种分类模型的训练方法、装置、设备及存储介质,以解决现有技术中手工标记未标记的数据集花费时间多,以及简单的标记数据集使得模型训练准确性差等技术问题,提供分类模型的识别精度。
第一方面,本发明实施例提供了一种分类模型的训练方法,该方法包括:
使用已标注多视图样本对元模型进行训练,得到分类模型,其中所述已标注多视图样本预先标注有样本类型;
将待标注多视图样本输入至所述分类模型中,根据输出结果构建与所述待标注多视图样本对应的多视图概率矩阵,其中,所述多视图概率矩阵中的元素包括与每个待标注多视图样本的每个视图对应的模型输出概率;
基于所述多视图概率矩阵以及每个视图的视图权重构建损失函数,根据所述损失函数确定多个所述待标注多视图样本中的高置信度多视图样本,根据所述高置信度多视图样本生成新的已标注多视图样本;
将所述新的已标注多视图样本与已有的已标注多视图样本进行合并,使用合并后的已标注多视图样本继续对所述分类模型进行训练,直至满足设定结束训练条件。
第二方面,本发明实施例还提供了一种分类模型的训练装置,该装置包括:
分类模型生成模块,用于使用已标注多视图样本对元模型进行训练,得到分类模型,其中所述已标注多视图样本预先标注有样本类型;
概率矩阵构建模块,用于将待标注多视图样本输入至所述分类模型中,根据输出结果构建与所述待标注多视图样本对应的多视图概率矩阵,其中,所述多视图概率矩阵中的元素包括与每个待标注多视图样本的每个视图对应的模型输出概率;
新标注样本生成模块,用于基于所述多视图概率矩阵以及每个视图的视图权重构建损失函数,根据所述损失函数确定多个所述待标注多视图样本中的高置信度多视图样本,根据所述高置信度多视图样本生成新的已标注多视图样本;
循环训练模块,用于将所述新的已标注多视图样本与已有的已标注多视图样本进行合并,使用合并后的已标注多视图样本继续对所述分类模型进行训练,直至满足设定结束训练条件。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例中所述的分类模型的训练方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任一实施例中所述的分类模型的训练方法。
本发明实施例的技术方案,通过半监督式模型训练方法对分类模型进行训练,能够通过对待标注样本进行识别并标注后增加原有的训练样本集,解决了现有技术中手工标记未标记的数据集花费时间多的技术问题,减少人工标注时间成本,同时能够扩增样本数量,提高模型的识别精度;而且通过与所述待标注多视图样本对应的多视图概率矩阵以及每个视图的视图权重构建损失函数构建多视图概率矩阵,根据所述损失函数确定出多个所述待标注多视图样本中的高置信度多视图样本,即能够通过动态加权的方式筛选出戴白科技多视图样本中具有高置信度的样本,进而基于高置信度多视图样本继续对模型进行训练,能够解决简单的标记数据集使得模型训练准确性差等技术问题,进一步提供分类模型的识别精度。
附图说明
图1A是本发明实施例一所提供的一种分类模型的训练方法的流程示意图;
图1B是本发明实施例一所提供的一种分类模型的半监督式训练方法的可选实例的流程示意图;
图2A是本发明实施例二所提供的一种分类模型的训练方法的流程示意图;
图2B是是本发明实施例一所提供的一种分类模型的训练方法中确定高置信度多视图样本的可选实例的流程示意图;
图2C是本发明实施例二所提供的一种基于第一待标记多视图样本集训练得到的分类模型的测试结果的示意图;
图2D是本发明实施例二所提供的一种基于第二待标记多视图样本集训练得到的分类模型的测试结果的示意图;
图3是本发明实施例三提供的一种分类模型的训练装置的结构示意图;
图4是本发明实施例四所提供的一种设备的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1A为本发明实施例一所提供的一种分类模型的训练方法的流程示意图,本实施例尤其适用于需要对机器行为和用户行为进行识别的情况,该方法可以由分类模型的训练装置来执行,该装置可以通过软件和/或硬件的方式来实现,并且一般可独立配置于终端或服务器中实现本实施例的方法。
如图1A所示,本实施例的方法具体可包括:
S110、使用已标注多视图样本对元模型进行训练,得到分类模型。
在本实施例中,提出了一种半监督式的模型训练方法,也即,首先使用标注有样本类型的已标注多视图样本对元模型进行训练,生成分类模型,之后基于该分类模型,完成对未标注样本的样本类型进行识别,而后生成新的已标注多视图样本继续对分类模型进行训练的过程。其中,分类模型可基于分类算法实现,具体地,分类算法可包括逻辑回归、决策树、轻量级梯度提升机(Light Gradient Boosting Machine,LightGBM)等。其中,已标注多视图样本可以理解为一个已标注多视图样本包括两个及两个以上视角所提取的视图。
如背景技术所述,本发明实施例的方法主要基于在现有用于识别行为轨迹是否为人为轨迹或者说人用户行为的分类模型中使用的训练样本比较少,而人工标注训练样本的标注时间周期长,准确率得不到保证这一技术问题而提出的。相应的,本发明实施例的方法的分类模型尤其适用于对行为轨迹的识别分类。
典型地,所述已标注多视图样本和所述待标注多视图样本均可包括基于行为式验证码在历史验证过程中的历史运动轨迹图所提取出与所述历史运动轨迹图对应的视图。由于行为式验证码是一个运动轨迹图,在预设坐标系中则包括一系列坐标轴点。因此可以从横坐标与运动时间视角、纵坐标与运动时间视角、横纵坐标与运动时间视角等多个视角,对所述运动轨迹图进行出一系列的特征提取。如速度、角度、加速度,以及运动轨迹与目标终点的关系等。
其中,所述已标注多视图样本预先标注有样本类型。样本类型包括至少两种。考虑到标注的便捷性,可以采用简单的数字、字母或符号等来标注样本。示例性地,样本类型为两种时,可以用0、1分别来表示不同的类型。
S120、将待标注多视图样本输入至所述分类模型中,根据输出结果构建与所述待标注多视图样本对应的多视图概率矩阵。
在本实施例中,考虑到最终需要将待标注多视图样本转换为已标注多视图样本以完成对排序模型的训练,一般所选取的待标注多视图样本需要尽可能的具有多样性。
类似地,待标注多视图样本也可包括两个及两个以上视角所提取的视图,将待标注多视图样本的各个视图输入至所述分类模型中,对每个视图进行概率预测,会分别得到与每个待标注多视图样本的每个视图所对应的模型输出概率。即,所述多视图概率矩阵中的元素可包括与每个待标注多视图样本的每个视图对应的模型输出概率。
需要说明的是,本实施例中分类模型对每个视图的输出概率的数目与样本类型的数目相同,每个视图的输出概率分别用于表征该视图属于某个样本类型的概率。而且,同一个待标注多视图样本的各个视图与各个类型对应的概率的和为1。
例如,样本类型包括用户行为和机器行为,这两种类型分别用0和1表示,则每个视图的输出概率包括两个概率,且这两个概率值的和为1。假设每个视图的输出概率为0.2和0.8,则可用于表示该视图偏向于0的概率为0.2,偏向于1的概率为0.8;或者,用于表示该视图偏向于1的概率为0.2,偏向于0的概率为0.8。
为了寻找待标记多视图样本中的高置信度的样本,本发明实施例根据分类模型对待标注多视图样本的输出结果构建了一个多视图概率矩阵,以便于对代表及多视图样本中的高置信度的样本进行筛选。
S130、基于所述多视图概率矩阵以及每个视图的视图权重构建损失函数,根据所述损失函数确定多个所述待标注多视图样本中的高置信度多视图样本,根据所述高置信度多视图样本生成新的已标注多视图样本。
传统的半监督学习在解决验证码识别问题上,没有动态的从多个视角收集信息,很难解决对抗过程中出现新攻击的问题,而且在半监督学习的每次迭代中,传统的多视角算法会带来噪音,降低了视图的作用。
在本发明实施例中,基于所述多视图概率矩阵以及每个视图的视图权重构建损失函数,寻找高置信度多视图样本,即要使得构建的损失函数最小,也就需要寻找使得损失函数最小的参数,也就是最优的参数。该方法通过赋予每个视图不同的权重,尽可能多地从多个视图中吸收有用的信息,从而减轻了视图在迭代过程中对错误信息的吸收。在本发明实施中,可以通过对多视图概率矩阵进行聚类,得到预设聚类数目的类簇,分别计算出每个类簇的聚类中心,根据所述聚类中心以及每个视图的视图权重构建损失函数。
S140、将所述新的已标注多视图样本与已有的已标注多视图样本进行合并,使用合并后的已标注多视图样本继续对所述分类模型进行训练,直至满足设定结束训练条件。
在本实施例中,在将所述待标注多视图样本进行标注之后,可以扩充已标注多视图样本的数量,进而可以使用新的已标注多视图样本与现有的已标注样本一起完成对分类模型的训练;更特殊的,可以使用该新的已标注多视图样本与现有标注的已标注多视图样本进行合并后,重新返回S110,继续完成对未标注样本的标注,这样设置的好处是:在满足一定的训练结束条件后,将分类模型作为最终的分类模型,以提高分类模型的训练效率以及识别的准确性。
本实施例的技术方案,通过半监督式模型训练方法对分类模型进行训练,能够通过对待标注样本进行识别并标注后增加原有的训练样本集,解决了现有技术中手工标记未标记的数据集花费时间多的技术问题,减少人工标注时间成本,同时能够扩增样本数量,提高模型的识别精度;而且通过与所述待标注多视图样本对应的多视图概率矩阵以及每个视图的视图权重构建损失函数构建多视图概率矩阵,根据所述损失函数确定出多个所述待标注多视图样本中的高置信度多视图样本,即能够通过动态加权的方式筛选出待标注多视图样本中具有高置信度的样本,进而基于高置信度多视图样本继续对模型进行训练,能够解决简单的标记数据集使得模型训练准确性差等技术问题,进一步提供分类模型的识别精度。
另外,在本发明实施例所提供得技术方案的基础上,分类模型的训练方法还可以包括:基于测试多视图样本对所述分类模型进行测试。
图1B为本实施例所提供的一种分类模型的半监督式训练方法的可选实例的流程示意图。首先,将训练多视图样本、待标记多视图样本以及测试多视图样本分别输入到多视图特征提取模块,进行每个部分的特征提取,分别得到训练多视图样本集、待标记多视图样本集以及测试多视图样本集。其中,训练多视图样本包括现有的已标注多视图样本,还可以包括基于待标注多视图样本得到的新的已标注多视图样本。
基于训练多视图样本集训练元模型得到分类模型,进而将待标记多视图样本集输入至分类模型分别得到未标记多视图数据集中的每个视图的输出概率,并每个视图的输出概率根据构建多视图概率矩阵。然后,基于所述多视图概率矩阵以及每个视图的视图权重构建损失函数,根据所述损失函数确定多个所述待标注多视图样本中的高置信度多视图样本Tlow和Thigh,根据所述高置信度多视图样本生成新的已标注多视图样本,并将这些新的已标注多视图样本分别放入训练多视图样本集继续对分类模型进行训练,不断地迭代更新。可选地,可以在每一次迭代过程中,采用测试多视图样本集对分了模型的性能进行预测,输出测试集的性能,以供用户根据测试结果对分类模型进行优化,直至达到预设结束训练条件。其中,达到结束训练条件可以是达到预设的迭代训练次数,或者达到预期的测试结果,又或者是分类模型的评价函数收敛等。
实施例二
图2A为本发明实施例二所提供的一种分类模型的训练方法的流程示意图,本实施例在上述各实施例的基础上,可选是所述基于所述多视图概率矩阵以及每个视图的视图权重构建损失函数,包括:依据预设聚类算法和预设聚类数目对所述多视图概率矩阵进行模糊聚类,得到所述预设聚类数目的类簇,分别计算出每个类簇的聚类中心;确定出所述多视图概率矩阵中与每个待标注多视图样本的对应的多视图概率向量,并构建出每个所述多视图概率向量对每个类簇的隶属度矩阵;基于所述多视图概率矩阵、所述隶属度矩阵、所述聚类中心以及每个视图的视图权重构建损失函数。
在上述技术方案的基础上,可选地,根据所述损失函数确定多个所述待标注多视图样本中的高置信度多视图样本,包括:根据所述损失函数确定更新所述聚类中心,根据所述聚类中心确定出多个所述待标注多视图样本中的高置信度多视图样本。
如图2A所示,本实施例的分类模型的训练方法具体可包括:
S210、使用已标注多视图样本对元模型进行训练,得到分类模型。
S220、将待标注多视图样本输入至所述分类模型中,根据输出结果构建与所述待标注多视图样本对应的多视图概率矩阵。
示例性地,多视图概率矩阵的行向量的各个元素可以用于表示同一个待标注多视图样本的各个视图对应的输出概率,多视图概率矩阵的列向量的各个元素可以用于表示不同的待标注多视图样本的同一个视图对应的输出概率。其中,同一个视图可以理解为基于同一特征提取方式得到的视图。
S230、依据预设聚类算法和预设聚类数目对所述多视图概率矩阵进行模糊聚类,得到所述预设聚类数目的类簇,分别计算出每个类簇的聚类中心。
在本实施例中,可选地,对多视图概率矩阵进行聚类的预设聚类算法可以采用模糊聚类算法。典型地,可采用模糊c均值聚类(Fuzzy c-means,FCM)),该算法是基于对目标函数的优化基础上的一种无监督的数据聚类方法。聚类结果是每一个数据点对聚类中心的隶属程度,该隶属程度用一个数值来表示。FCM算法是一种基于划分的聚类算,能够将对象之间相似度最大的对象被划分到同一类簇,使得不同类簇的各个对象之间的相似度最小。
S240、确定出所述多视图概率矩阵中与每个待标注多视图样本的对应的多视图概率向量,并构建出每个所述多视图概率向量对每个类簇的隶属度矩阵。
如前所述,可确定出所述多视图概率矩阵中与每个待标注多视图样本的对应的多视图概率矩阵的各个行向量作为多视图概率向量,并构建出每个所述多视图概率向量对每个类簇的隶属度矩阵。
在聚类的问题中,可以把聚类生成的类簇看成模糊集合,因此,每个样本点隶属于每个类簇的隶属度就是[0,1]区间里面的值。其中,隶属度矩阵可以根据隶属函数来确定,而隶属函数的确定方法有多种,用户可实际需要进行构建。例如,可以根据实际经验给出模糊信息的处理算式或相应权系数值来确定隶属函数。在许多情况下,可以初步确定粗略的隶属函数,然后再根据实际效果检验来逐步地调整和完善隶属函数。当然,还可以通过模糊统计的方式或者基于二元对比排序法等方法来确定隶属度矩阵。
S250、基于所述多视图概率矩阵、所述隶属度矩阵、所述聚类中心以及每个视图的视图权重构建损失函数。
作为本发明实施例一种可选的实施方式,可分别计算出所述聚类中心和所述多视图概率向量的之间欧式距离,并基于每个视图的视图权重对所述欧氏距离进行加权,根据所述隶属度矩阵、所述聚类中心以及加权后的欧氏距离构建损失函数。其中,欧氏距离指在m维空间中两个点之间的真实距离,或者向量的自然长度,即该点到原点的距离,在二维和三维空间中的欧氏距离就是两点之间的实际距离。
示例性地,所述损失函数可包括如下公式:
其中,K表示预设聚类数目的总数,k表示第k个聚类中心,且k满足
T表示待标注多视图样本的样本数量的总数,t表示第t个待标注多视图样本,且t满足
V表示每个待标注多视图样本的视图总数,v表示每个待标注多视图样本的第v个视图,且v满足
y
t表示第t个样本的多视图概率向量;μ
kt表示y
t属于k类概率的隶属度矩阵,p表示预设聚类算法的模糊系数;ω
v表示第v个视图的权值,q表示稀疏调整参数;
是第v个视图的第k个聚类中心和第t个样本的第v个视图的多视图概率向量之间的欧式距离。
S260、根据所述损失函数确定更新所述聚类中心,根据所述聚类中心确定出多个所述待标注多视图样本中的高置信度多视图样本,根据所述高置信度多视图样本生成新的已标注多视图样本。
可选地,根据所述损失函数确定更新所述聚类中心可分为两个阶段进行,先固定隶属度矩阵和聚类中心,更新视图权重;在第二阶段,通过固定视图权重,来更新隶属矩阵和聚类中心。
具体地,所述根据所述损失函数确定更新所述聚类中心,可包括:基于所述隶属度矩阵的初始值与所述聚类中心的初始值确定出以所述损失函数以每个视图的视图权重为未知量的第一损失函数;基于所述第一损失函数及第一约束极值函数构建第一拉格朗日公式,通过所述第一拉格朗日公式的约束极值更新每个视图的视图权重。
示例性地,所述第一拉格朗日公式可包括:
其中,L(ω)表示以ω为未知量的拉格朗日函数;F(ω)表示以ω为未知量的第一损失函数,β表示第一拉格朗日乘数。
具体地,当q>1时,可以对ω进行求导,公式如下所示:
进而得出,
在上面的公式中,参数q可以帮助视图权重ω调整稀疏,在一定范围内可以改善结果。值得提醒的是,对输入数据的先验知识的应用有利于找到一个更优的值。
进一步地,基于更新后的每个视图的视图权重确定出以所述隶属度矩阵与所述聚类中心为未知量的第二损失函数;基于所述第二损失函数以及第二约束极值函数构建第二拉格朗日公式,通过更新后的每个视图的视图权重以及所述第二拉格朗日公式的约束极值更新所述隶属度矩阵与所述聚类中心;重复执行上述更新每个视图的视图权重以及更新所述隶属度矩阵与所述聚类中心的操作,直至满足预设更新结束条件。其中,更新结束条件可以是达到预设的迭代次数或者损失函数收敛等。
类似地,所述第二拉格朗日公式可包括:
其中,L(μ,λ,c)表示以μ和c为未知量的拉格朗日函数;F(μ,c)表示以μ和c为未知量的第二损失函数,λ表示第二拉格朗日乘数。
进一步地,当p>1时,对隶属度矩阵μ求导,可以得到如下公式:
进而得出,
其中,参数p表示FCM算法的模糊系数。
然后,根据上述公式更新聚类中心c。类似地,可对c求导,然后设置
得到如下的公式:
进而得出,
综上,该部分主要描述了动态加权多视角机制,通过构造损失函数,通过上述参数求解的过程,得到更新后的视图权重ω,以及参数隶属矩阵μ和聚类中心c。
在此基础上,可选是根据更新后的聚类中心确定出多个所述待标注多视图样本中的高置信度多视图样本,包括:根据预设超参数确定阈值条件,将更新后的聚类中心的值满足所述阈值条件的待标注多视图样本确定为高置信度多视图样本。
示例性地,可以将待标记多视图样本分为三组,可分别用Tlow,Tmid,Thigh。具体可以是,当待标记多视图样本所在||ck||<ε的范围内,则其中的待标记多视图本属于Tlow,其中,ck是第k个类簇的聚类中心,ε是一个超参数。当待标记多视图样本的概率权重在||ck||>1-ε的范围内,则其中的待标记多视图样本属于Thigh。其他的待标记多视图则属于Tmid。其中,进而可以将Tlow和Thigh内的待标记多视图样本作为高置信度多视图样本。
图2B是是本发明实施例一所提供的一种分类模型的训练方法中确定高置信度多视图样本的可选实例的流程示意图。如图2B所示,首先对待标注多视图样本从多个视角提取样本特征,构建多视图特征提取模块,其中,多视图样本特征提取模块包括视图1、视图2,……,视图n,n为正整数,进一步地,每个视图都可以速度、角度、加速度以及距离关系等方面提取特征;然后,通过输入分类模型,如LightGBM或逻辑回归等,得到输出结果,根据输出结果构建多视图概率矩阵;接着,通过我们提出的动态加权多视图机制,构建损失函数F(x),也可以表示为F(μ,c,ω),进而更新视图权重参数,以及聚类中心参数和隶属矩阵参数;最后,得到待标记样本中的高置信度多视图样本Tlow和Thigh。
S270、将所述新的已标注多视图样本与已有的已标注多视图样本进行合并,使用合并后的已标注多视图样本继续对所述分类模型进行训练,直至满足设定结束训练条件。
本实施例的技术方案,通过动态更新各个视图的权重,不断地将待标记多视图样本中的高置信度多视图样本加入训练集,再次更新多视图概率矩阵,从而迭代更新视图权重、聚类中心以及隶属度矩阵等参数,从多个角度提取隐藏模式,动态更新视图权重,能够不断检测新的攻击手段,从而通过不断迭代更新算法,不断地提高分类模型的准确性。
在本发明实施例任意一个技术方案的基础上,分类模型的训练方法还可以包括:获取行为式验证码在当前验证过程中的运动轨迹图,并提取出与所述运动轨迹图对应的多个视图;将所述多个视图输入训练完成的分类模型中,得到与所述运动轨迹图对应的验证类型,根据所述视图类型确定所述行为式验证码的验证结果。其中,验证类型可以是用户行为或机器行为等。示例性地,验证结果可包括验证成功或者验证失败。
采用本发明实施例的分类模型对行为验证码的验证行为的验证类型进行判定准确性高,进而保证了验证结果的准确性,对预防恶意的系统攻击,保障系统安全有重要意义。
为了评估本发明实施例的分类模型的训练方法在行为验证码识别任务上的性能,我们选择了两种未标记的数据集对模型进行训练,然后分别对测试数据集进行预测。
图2C是本实施例所提供的一种基于第一待标记多视图样本集训练得到的分类模型的测试结果的示意图,该待标记多视图样本集中的样本主要面对简单的攻击手段,使用LightGBM作为分类算法,总迭代次数为20次。基于测试多视图样本集对训练完成的分类模型的测试结果用F1-score来表示。图2C是本实施例所提供的一种基于第二待标记多视图样本集训练得到的分类模型的测试结果的示意图,该待标记多视图样本集中的样本主要面更复杂的攻击手段,类似地,也使用LightGBM作为分类算法,总迭代次数为20次。
在本发明实施例中,将本发明实施例的分类模型的训练方法与具有代表性的半监督学习方法(Self-training、Tri-training、Co-forest)进行了比较,为了公平比较,在实验中将这些基线同样采用LightGBM作为分类算法,设置为总迭代20次。
如图2C所示,所有方法均采用LightGBM作为分类算法。可以发现,本发明实施例的分类模型的训练方法在加入越来越多的迭代时,比其他基线有显著的优势,并且性能比其他基线更好。如图2D所示,随着迭代次数的增加,本发明实施例的分类模型的训练方法的f1-score优于其他基线,且具有显著的优势,且峰值高于其他基线。总体而言,本发明实施例的分类模型的训练方法在面对更复杂的攻击手段时表现优于其他基线,能够获得具有竞争力的性能,有助于在对抗中检测到新的攻击手段。
实施例三
图3为本发明实施例三所提供的一种分类模型的训练装置的结构示意图,本实施例的分类模型的训练装置尤其适用于需要对机器行为和用户行为进行识别的情况,该装置可以通过软件和/或硬件的方式来实现,并且一般可独立配置于终端或服务器中实现本发明实施例的分类模型的训练方法。如图3所示,本实施例所提供的分类模型的训练装置可包括:分类模型生成模块310、概率矩阵构建模块320、新标注样本生成模块330和循环训练模块340。
其中,分类模型生成模块310,用于使用已标注多视图样本对元模型进行训练,得到分类模型,其中所述已标注多视图样本预先标注有样本类型;概率矩阵构建模块320,用于将待标注多视图样本输入至所述分类模型中,根据输出结果构建与所述待标注多视图样本对应的多视图概率矩阵,其中,所述多视图概率矩阵中的元素包括与每个待标注多视图样本的每个视图对应的模型输出概率;新标注样本生成模块330,用于基于所述多视图概率矩阵以及每个视图的视图权重构建损失函数,根据所述损失函数确定多个所述待标注多视图样本中的高置信度多视图样本,根据所述高置信度多视图样本生成新的已标注多视图样本;循环训练模块340,用于将所述新的已标注多视图样本与已有的已标注多视图样本进行合并,使用合并后的已标注多视图样本继续对所述分类模型进行训练,直至满足设定结束训练条件。
本实施例的技术方案,通过半监督式模型训练方法对分类模型进行训练,能够通过对待标注样本进行识别并标注后增加原有的训练样本集,解决了现有技术中手工标记未标记的数据集花费时间多的技术问题,减少人工标注时间成本,同时能够扩增样本数量,提高模型的识别精度;而且通过与所述待标注多视图样本对应的多视图概率矩阵以及每个视图的视图权重构建损失函数构建多视图概率矩阵,根据所述损失函数确定出多个所述待标注多视图样本中的高置信度多视图样本,即能够通过动态加权的方式筛选出戴白科技多视图样本中具有高置信度的样本,进而基于高置信度多视图样本继续对模型进行训练,能够解决简单的标记数据集使得模型训练准确性差等技术问题,进一步提供分类模型的识别精度。
在上述技术方案的基础上,所述新标注样本生成模块330可包括:聚类中心计算单元、隶属度矩阵计算单元和损失函数构建单元。
其中,聚类中心计算单元,用于依据预设聚类算法和预设聚类数目对所述多视图概率矩阵进行模糊聚类,得到所述预设聚类数目的类簇,分别计算出每个类簇的聚类中心;隶属度矩阵计算单元,用于确定出所述多视图概率矩阵中与每个待标注多视图样本的对应的多视图概率向量,并构建出每个所述多视图概率向量对每个类簇的隶属度矩阵;损失函数构建单元,用于基于所述多视图概率矩阵、所述隶属度矩阵、所述聚类中心以及每个视图的视图权重构建损失函数。
在上述各技术方案的基础上,所述损失函数构建单元可用于:
分别计算出所述聚类中心和所述多视图概率向量的之间欧式距离,并基于每个视图的视图权重对所述欧氏距离进行加权,根据所述隶属度矩阵、所述聚类中心以及加权后的欧氏距离构建损失函数。
在上述各技术方案的基础上,所述新标注样本生成模块可包括:
高置信度多视图样本确定单元,用于根据所述损失函数确定更新所述聚类中心,根据所述聚类中心确定出多个所述待标注多视图样本中的高置信度多视图样本。
在上述各技术方案的基础上,所述高置信度多视图样本确定单元可用于:
基于所述隶属度矩阵的初始值与所述聚类中心的初始值确定出以所述损失函数以每个视图的视图权重为未知量的第一损失函数;
基于所述第一损失函数及第一约束极值函数构建第一拉格朗日公式,通过所述第一拉格朗日公式的约束极值更新每个视图的视图权重;
基于更新后的每个视图的视图权重确定出以所述隶属度矩阵与所述聚类中心为未知量的第二损失函数;
基于所述第二损失函数以及第二约束极值函数构建第二拉格朗日公式,通过更新后的每个视图的视图权重以及所述第二拉格朗日公式的约束极值更新所述隶属度矩阵与所述聚类中心;
重复执行上述更新每个视图的视图权重以及更新所述隶属度矩阵与所述聚类中心的操作,直至满足预设更新结束条件。
在上述各技术方案的基础上,所述高置信度多视图样本确定单元可用于:
根据预设超参数确定阈值条件,将更新后的聚类中心的值满足所述阈值条件的待标注多视图样本确定为高置信度多视图样本。
在上述各技术方案的基础上,可选地,所述损失函数可包括如下公式:
其中,K表示预设聚类数目的总数,k表示第k个聚类中心,且k满足
T表示待标注多视图样本的样本数量的总数,t表示第t个待标注多视图样本,且t满足
V表示每个待标注多视图样本的视图总数,v表示每个待标注多视图样本的第v个视图,且v满足
yt表示第t个样本的多视图概率向量;
μkt表示yt属于k类概率的隶属度矩阵,p表示预设聚类算法的模糊系数;
ωv表示第v个视图的权值,q表示稀疏调整参数;
是第v个视图的第k个聚类中心和第t个样本的第v个视图的多视图概率向量之间的欧式距离。
在上述各技术方案的基础上,可选地,所述第一拉格朗日公式包括:
其中,L(ω)表示以ω为未知量的拉格朗日函数;F(ω)表示以ω为未知量的第一损失函数,β表示第一拉格朗日乘数。
在上述各技术方案的基础上,可选地,所述第二拉格朗日公式包括:
其中,L(μ,λ,c)表示以μ和c为未知量的拉格朗日函数;F(μ,c)表示以μ和c为未知量的第二损失函数,λ表示第二拉格朗日乘数。
在上述各技术方案的基础上,可选地,所述已标注多视图样本和所述待标注多视图样本均包括基于行为式验证码在历史验证过程中的历史运动轨迹图所提取出与所述历史运动轨迹图对应的视图。
在上述各技术方案的基础上,本发明实施例所提供的分类模型的训练装置还可包括:视图提取模块和验证结果确定模块。
其中,视图提取模块,用于获取行为式验证码在当前验证过程中的运动轨迹图,并提取出与所述运动轨迹图对应的多个视图;验证结果确定模块,用于将所述多个视图输入训练完成的分类模型中,得到与所述运动轨迹图对应的验证类型,根据所述视图类型确定所述行为式验证码的验证结果。
上述分类模型的训练装置可执行本发明任意实施例所提供的分类模型的训练方法,具备执行分类模型的训练方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四所提供的一种设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性设备412的框图。图4显示的设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,设备412以通用计算设备的形式表现。设备412的组件可以包括但不限于:一个或者多个处理器或者处理器416,存储装置428,用于存储一个或多个程序,连接不同系统组件(包括存储装置428和处理器416)的总线418。当所述一个或多个程序被所述一个或多个处理器416执行,使得所述一个或多个处理器416实现本发明任意实施例所述的性能分析方法。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该设备412交互的设备通信,和/或与使得该设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与设备412的其它模块通信。应当明白,尽管图中未示出,可以结合设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在存储装置428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的分类模型的训练方法。
另外,本发明实施例还提供了一种包含计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种分类模型的训练方法,该方法包括:使用已标注多视图样本对元模型进行训练,得到分类模型,其中所述已标注多视图样本预先标注有样本类型;将待标注多视图样本输入至所述分类模型中,根据输出结果构建与所述待标注多视图样本对应的多视图概率矩阵,其中,所述多视图概率矩阵中的元素包括与每个待标注多视图样本的每个视图对应的模型输出概率;基于所述多视图概率矩阵以及每个视图的视图权重构建损失函数,根据所述损失函数确定多个所述待标注多视图样本中的高置信度多视图样本,根据所述高置信度多视图样本生成新的已标注多视图样本;将所述新的已标注多视图样本与已有的已标注多视图样本进行合并,使用合并后的已标注多视图样本继续对所述分类模型进行训练,直至满足设定结束训练条件。
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的分类模型的训练方法的技术方案。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。