掌桥专利:专业的专利平台
掌桥专利
首页

识别异常客户端的方法、装置、计算机设备和存储介质

文献发布时间:2024-01-17 01:21:27


识别异常客户端的方法、装置、计算机设备和存储介质

技术领域

本申请涉及信息安全技术领域,特别是涉及一种识别异常客户端的方法、装置、计算机设备和存储介质。

背景技术

由于模型训练过程中参与联合训练的客户端数量上千,且客户端异构性较大,所以对模型训练过程中异常客户端检测来说较难区分出受攻击和未受攻击的模型,且很难准确找出异常客户端。因此如何准确找出异常客户端是当前研究的重点。

传统识别异常客户端的方法是通过人工检测参与训练的每个客户端发送的训练数据是否存在异常,并将存在异常的训练数据对应的客户端,作为异常客户端。但是攻击者控制的客户端不一定每次都被选中参与训练,且客户端数量过多,人力成本较大,且通过人工判断易存在检测失误的情况。从而导致异常客户端的识别精准度较低。

发明内容

基于此,有必要针对上述技术问题,提供一种识别异常客户端的方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种识别异常客户端的方法。所述方法包括:

获取多个客户端的模型训练数据;所述模型训练数据为模型在历史时段的所有模型训练参数;

根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合;

对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合;

基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合;

将所述第一客户端集合、所述第二客户端集合和所述第三客户端集合共同包含的客户端作为异常客户端。

可选的,所述获取多个客户端的模型训练数据,包括:

将模型发送至各所述客户端,并通过各所述客户端对所述模型进行训练;

在满足预设时间段的情况下,采集每个客户端对所述模型进行训练的模型训练参数;

针对每个客户端,将所述客户端在历史时段采集的所述模型的所有模型训练参数,作为所述客户端的模型训练数据。

可选的,所述相似度条件包括第一相似度条件、以及第二相似度条件,所述根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合,包括:

针对每个客户端,根据所述客户端的每个模型训练参数,获取所述客户端的每个模型训练参数的模型训练特征信息,并基于所述客户端的每个模型训练参数的模型训练特征信息,计算所述客户端的各模型训练参数的相似度;

基于所述客户端的各模型训练参数的相似度,按照时间顺序,比对所述客户端的各相邻时间的模型训练参数的相似性,得到所述客户端的第一相似特征,并基于各所述客户端的模型训练数据,分别比对各所述客户端在相同时间点的模型训练参数之间的相似性,得到各所述客户端的第二相似特征;

在各所述客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。

可选的,所述基于所述客户端的各模型训练参数的相似度,按照时间顺序,比对所述客户端的各相邻时间的模型训练参数的相似性,得到所述客户端的第一相似特征,包括:

针对每个客户端,按照时间顺序,将所述客户端的各模型训练参数的相似度进行排列处理,得到所述各模型训练参数的相似度序列;

基于所述相似度序列,识别相邻时间的各所述模型训练参数之间的相似性,并根据各所述模型训练参数之间的相似性,确定所述客户端的模型训练数据的第一变化情况;

将所述客户端的第一变化情况,作为所述客户端的第一相似特征。

可选的,所述基于各所述客户端的模型训练数据,分别比对各所述客户端在相同时间点的模型训练参数之间的相似性,得到各所述客户端的第二相似特征,包括:

计算各所述客户端在相同时间点的模型训练参数之间的客户端相似度;

针对每个客户端,基于所述客户端与其他每个客户端在相同时间点的模型训练参数之间的客户端相似度,分析所述客户端与其他每个客户端的相似性的第二变化情况,并将所述客户端与其他所有客户端的相似性的第二变化情况,作为所述客户端的第二相似特征。

可选的,所述在各所述客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合,包括:

针对每个客户端,在所述客户端的第一变化情况表征不变的情况下,确定所述客户端的第一相似特征满足第一相似度条件;

在存在所述客户端与其他客户端的第二变化情况表征不变的情况下,确定所述客户端的第二相似特征满足第二相似度条件;

将第一相似特征满足第一相似度条件、且第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。

可选的,所述对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合,包括:

通过梯度算法,计算每个客户端的所有模型训练参数的梯度平均值、以及每个所述客户端的模型训练数据的梯度值;

分别计算每个客户端的梯度值到所述梯度平均值的马氏距离,作为各所述客户端的异常值,并在各所述客户端中筛选异常值大于预设异常阈值的客户端,作为第二标记客户端,得到第二客户端集合。

可选的,所述基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合,包括:

基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,计算各客户端的聚类值;

在各所述客户端中,将低于聚类阈值的聚类值对应的客户端,进行聚类处理得到标记客户端组,并将所述标记客户端组中的所有客户端,作为第三标记客户端,得到第三客户端集合;所述聚类阈值基于所述客户端的数目确定。

第二方面,本申请还提供了一种识别异常客户端的装置。所述装置包括:

获取模块,用于获取多个客户端的模型训练数据;所述模型训练数据为模型在历史时段的所有模型训练参数;

第一标记模块,用于根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合;

第二标记模块,用于对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合;

第三标记模块,用于基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合;

筛选模块,用于将所述第一客户端集合、所述第二客户端集合和所述第三客户端集合共同包含的客户端作为异常客户端。

可选的,所述获取模块,具体用于:

将模型发送至各所述客户端,并通过各所述客户端对所述模型进行训练;

在满足预设时间段的情况下,采集每个客户端对所述模型进行训练的模型训练参数;

针对每个客户端,将所述客户端在历史时段采集的所述模型的所有模型训练参数,作为所述客户端的模型训练数据。

可选的,所述相似度条件包括第一相似度条件、以及第二相似度条件,所述第一标记模块,具体用于:

针对每个客户端,根据所述客户端的每个模型训练参数,获取所述客户端的每个模型训练参数的模型训练特征信息,并基于所述客户端的每个模型训练参数的模型训练特征信息,计算所述客户端的各模型训练参数的相似度;

基于所述客户端的各模型训练参数的相似度,按照时间顺序,比对所述客户端的各相邻时间的模型训练参数的相似性,得到所述客户端的第一相似特征,并基于各所述客户端的模型训练数据,分别比对各所述客户端在相同时间点的模型训练参数之间的相似性,得到各所述客户端的第二相似特征;

在各所述客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。

可选的,所述第一标记模块,具体用于:

针对每个客户端,按照时间顺序,将所述客户端的各模型训练参数的相似度进行排列处理,得到所述各模型训练参数的相似度序列;

基于所述相似度序列,识别相邻时间的各所述模型训练参数之间的相似性,并根据各所述模型训练参数之间的相似性,确定所述客户端的模型训练数据的第一变化情况;

将所述客户端的第一变化情况,作为所述客户端的第一相似特征。

可选的,所述第一标记模块,具体用于:

计算各所述客户端在相同时间点的模型训练参数之间的客户端相似度;

针对每个客户端,基于所述客户端与其他每个客户端在相同时间点的模型训练参数之间的客户端相似度,分析所述客户端与其他每个客户端的相似性的第二变化情况,并将所述客户端与其他所有客户端的相似性的第二变化情况,作为所述客户端的第二相似特征。

可选的,所述第一标记模块,具体用于:

针对每个客户端,在所述客户端的第一变化情况表征不变的情况下,确定所述客户端的第一相似特征满足第一相似度条件;

在存在所述客户端与其他客户端的第二变化情况表征不变的情况下,确定所述客户端的第二相似特征满足第二相似度条件;

将第一相似特征满足第一相似度条件、且第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。

可选的,所述第二标记模块,具体用于:

通过梯度算法,计算每个客户端的所有模型训练参数的梯度平均值、以及每个所述客户端的模型训练数据的梯度值;

分别计算每个客户端的梯度值到所述梯度平均值的马氏距离,作为各所述客户端的异常值,并在各所述客户端中筛选异常值大于预设异常阈值的客户端,作为第二标记客户端,得到第二客户端集合。

可选的,所述第三标记模块,具体用于:

基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,计算各客户端的聚类值;

在各所述客户端中,将低于聚类阈值的聚类值对应的客户端,进行聚类处理得到标记客户端组,并将所述标记客户端组中的所有客户端,作为第三标记客户端,得到第三客户端集合;所述聚类阈值基于所述客户端的数目确定。

第三方面,本申请提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质。其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。

第五方面,本申请提供了一种计算机程序产品。所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。上述识别异常客户端的方法、装置、计算机设备和存储介质,通过获取多个客户端的模型训练数据;所述模型训练数据为模型在历史时段的所有模型训练参数;根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合;对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合;基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合;将所述第一客户端集合、所述第二客户端集合和所述第三客户端集合共同包含的客户端作为异常客户端。通过针对每个客户端的模型训练数据,进行相似性识别处理、异常值判断处理、以及聚类处理,并同时被三种处理方式标记的客户端,作为异常客户端,避免了人工判断存在的检测失误的情况,从而提升了异常客户端的识别精度。

附图说明

图1为一个实施例中识别异常客户端的方法的流程示意图;

图2为一个实施例中标记第一异常客户端的步骤的流程示意图;

图3为一个实施例中识别异常客户端的示例的流程示意图;

图4为一个实施例中识别异常客户端的装置的结构框图;

图5为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的识别异常客户端的方法,可以应用于终端中,也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,终端可以包括但不限于是各种个人计算机、笔记本电脑、平板电脑等。该终端通过针对每个客户端的模型训练数据,以相似度识别程序、异常相似性评价程序、以及动态聚类算法这三种判断方式,分别对每个客户端进行异常判断并标记,并将同时被三种判断方式皆标记的客户端,作为异常客户端,避免了人工判断存在的检测失误的情况,从而提升了异常客户端的识别精度。

在一个实施例中,如图1所示,提供了一种识别异常客户端的方法,以该方法应用于终端为例进行说明,包括以下步骤:

步骤S101,获取多个客户端的模型训练数据。

其中,模型训练数据为模型在历史时段的所有模型训练参数。

本实施例中,终端中可以预先存储有预设的时间段。在满足该时间段的情况下,从各客户端中按时间排列的先后顺序,分别采集每个客户端对模型在各个时间点反馈的模型训练参数,直到得到历史时段内,每个客户端对模型的所有模型训练参数,终端将每个客户端对模型的所有训练参数,作为每个客户端的模型训练数据。其中模型训练参数用于表征当前模型的训练情况、以及当前模型的训练进展信息。例如,模型训练参数可以但不限于是模型训练进展50%、模型适应度30%、获取参数能力30%等,该模型训练参数还包括了上述比例所对应的模型当前具体内容信息。

步骤S102,根据各客户端的模型训练数据进行相似性识别,得到各模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合。

本实施例中,终端计算各客户端的模型训练数据的相似度。终端中可以预先存储有预设相似度条件,并将满足预设相似度条件的模型训练数据对应的客户端,作为第一标记客户端,得到第一客户端集合。其中相似性识别程序为包括余弦相似性算法的异常客户端识别程序,具体的计算过程后续将详细说明。

步骤S103,对各客户端进行评价处理,得到各客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合。

本实施例中,终端对每个客户端进行异常评价,得到每个客户端的异常值。终端预设异常值条件,并将满足异常值条件的客户端,作为第二标记客户端,得到第二客户端集合。其中异常相似性评价程序为包括马氏距离相似性算法的异常客户端识别程序,具体的计算过程后续将详细说明。

步骤S104,基于各客户端的模型训练数据的相似度,通过动态聚类算法,对各客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合。

本实施例中,终端基于通过步骤S102得到的每个客户端的模型训练数据的相似度,通过动态聚类算法,对各客户端进行聚类处理,得到多个客户端组。终端预设聚类条件,并将不满足预设聚类条件的客户端组中的所有客户端,标记为第三标记客户端,得到第三客户端集合。其中,动态聚类算法包括但不限于是可以实现上述聚类操作的动态聚类算法,例如,动态聚类算法HDBSCAN(Hierarchical Density-Based Spatial Clustering ofApplications with Noise,机器学习聚类算法),具体的聚类过程后续将详细说明。

步骤S105,将第一客户端集合、第二客户端集合和第三客户端集合共同包含的客户端作为异常客户端。

本实施例中,终端在各客户端中,筛选第一客户端集合、第二客户端集合和第三客户端集合共同包含的客户端,并将该客户端作为异常客户端。

基于上述方案,通过针对每个客户端的模型训练数据,以余弦相似度识别程序、异常相似性评价程序、以及动态聚类算法这三种判断方式,分别对每个客户端进行异常判断并标记,并将同时被三种判断方式皆标记的客户端,作为异常客户端,避免了人工判断存在的检测失误的情况,从而提升了异常客户端的识别精度。

可选的,获取多个客户端的模型训练数据,包括:将模型发送至各客户端,并通过各客户端对模型进行训练;在满足预设时间段的情况下,采集每个客户端对模型进行训练的模型训练参数;针对每个客户端,将客户端在历史时段采集的模型的所有模型训练参数,作为客户端的模型训练数据。

本实施例中,终端在获取每个客户端的模型训练数据之前,先在多个客户端中选取需要对模型进行训练的客户端,并将该模型分别发送至每个客户端。终端通过每个客户端对该模型分别进行训练,并预设时间段。在满足预设时间段的情况下,终端针对每个客户端,分别采集在该时间段中客户端对该模型进行训练得到的模型训练参数。同样的通过上述方式,终端得到在历史时段中,每个预设时间段的模型训练参数。终端将该客户端在历史时段采集的模型的所有模型训练数据,作为该客户端的模型训练数据。

基于上述方案,通过预设时间段,采集每个客户端的中各预设时间段的模型训练参数,避免单次采集导致的对客户端的异常判断不准确的情况,提升了对该客户端的数据收集的全面性。

可选的,如图2所示,相似度条件包括第一相似度条件、以及第二相似度条件,根据各客户端的模型训练数据进行相似性识别,得到各模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合,包括:

步骤S201,针对每个客户端,根据客户端的每个模型训练参数,获取客户端的每个模型训练参数的模型训练特征信息,并基于客户端的每个模型训练参数的模型训练特征信息,计算客户端的各模型训练参数的相似度。

本实施例中,终端针对每个客户端,根据终端在该客户端采集的每个模型训练参数,通过特征提取网络,提取该客户端的每个模型训练参数的模型训练特征信息。其中,该模型训练特征信息可以但不限于是在单个预设时间段中与模型的正确性相关或异常客户端对应的攻击方式相关的重要性最高的特征信息,在该客户端为正常客户端的情况下,终端提取的模型训练特征信息中只包含与模型的正确性相关的重要性最高的特征信息。终端基于该客户端的各模型训练参数的模型训练特征信息,通过余弦相似性识别处理,计算该客户端的各模型训练参数之间的余弦相似度。其中各模型训练参数之间的余弦相似度为每两个模型训练参数的模型训练特征信息之间的余弦相似度。

步骤S202,基于客户端的各模型训练参数的相似度,按照时间顺序,比对客户端的各相邻时间的模型训练参数的相似性,得到客户端的第一相似特征,并基于各客户端的模型训练数据,分别比对各客户端在相同时间点的模型训练参数之间的相似性,得到各客户端的第二相似特征。

本实施例中,终端按照时间顺序,将客户端的各模型训练参数的余弦相似度进行排列,并比对相邻模型训练参数序列的模型训练参数的相似性,得到该客户端的第一相似特征。其中,模型训练参数按照每个模型训练参数的采集时间的先后顺序进行排序,得到模型训练参数序列。相临时间序列的模型训练参数的相似性如果基本保持不变的情况下,确定该客户端为异常客户端的概率高;相邻时间的模型训练参数的相似性如果逐渐递减的情况下,确定该客户端为正常客户端的概率高。其中,第一相似特征代表该客户端中各模型训练参数的相似度变化情况。具体的,第一相似特征的获取过程,后续将详细说明。

终端在不同时间点,同时采集各客户端的模型训练参数,得到每个客户端的各相同时间点的模型训练参数。终端通过余弦相似度算法,计算每两个客户端在相同时间点的模型训练参数之间的相似度,得到每两个客户端的各模型训练参数之间相似度,终端基于每两个客户端的各模型训练参数之间相似度,分析两个客户端之间的相似性,并基于所有两个客户端之间的相似性,确定每个客户端的第二相似特征。其中,两个客户端的相似度变化情况如果基本不变的情况下,确定两个客户端为同类客户端,两个客户端的相似度变化情况如果逐渐见效的情况下,确定两个客户端为异类客户端,在一个客户端与其他所有客户端的相似度均不变的情况下,确定该客户端为正常客户端的概率较高,在一个客户端与其他客户端的相似度存在逐渐减小的情况吓,确定该客户端为异常客户端的概率较高。其中,第二相似特征代表该客户端与各客户端的相似度变化情况。具体的,第二相似特征的获取过程,后续将详细说明。

步骤S203,在各客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。

本实施例中,终端预设第一相似度条件、以及第二相似度条件,并在各客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,并将该客户端作为第一标记客户端,得到第一客户端集合。

基于上述方案,分析客户端的各模型训练参数的相似度变化情况、以及客户端与各客户端的相似度变化情况,识别异常客户端,提升了异常客户端的识别精确度。

可选的,按照时间顺序,基于客户端的各模型训练参数的相似度,比对客户端的各相邻时间的模型训练参数的相似性,得到客户端的第一相似特征,包括:针对每个客户端,按照时间顺序,将客户端的各模型训练参数的相似度进行排列处理,得到各模型训练参数的相似度序列;基于相似度序列,识别相邻时间的各模型训练参数之间的相似性,并根据各模型训练参数之间的相似性,确定客户端的模型训练数据的第一变化情况;将客户端的第一变化情况,作为客户端的第一相似特征。

本实施例中,终端针对每个客户端,按照采集每个模型训练参数的时间先后顺序,将该客户端的各模型训练参数的余弦相似度进行排列处理,得到该客户端的各模型训练参数的余弦相似度序列。终端基于该余弦相似度序列,分别判断每两个相邻时间的模型训练参数的余弦相似度之间是否有变化。在两个相邻时间的模型训练参数的余弦相似度之间是否有变化的情况下,终端分析这两个模型训练参数的变化情况。在两个相邻时间的模型训练参数的余弦相似度之间没有有变化的情况下,终端确定这两个模型训练参数的变化情况为无变化(即识别相邻时间的各模型训练参数之间的相似性)。终端将该客户端的所有模型训练参数的相似度之间的变化情况,作为该客户端的第一变化情况,并将该客户端的第一变化情况作为该客户端的第一相似特征。其中,异常客户端的各模型训练参数之间的相似性基本不变,正常客户端的各模型训练参数之间的相似性变化较大。例如A客户端的模型训练数据包括:M1、M2、M3、M4、M5、M6(其中,M1-M6为按照时间先后顺序进行排序的模型训练参数),终端通过余弦相似度算法分别计算两个相邻时间的模型训练参数的相似度,得到M1与M2的相似度a1,M2与M3的相似度a2,M3与M4的相似度a3,M4与M5的相似度a4,M5与M6的相似度a5。终端判断a1、a2、a3、a4、a5是否有变化,终端将a1、a2、a3、a4、a5的变化情况,作为A客户端的第一变化情况。

基于上述方案,通过相邻时间的各模型训练参数的相似度,确定客户端的模型训练数据的第一变化情况,提升了判断客户端的第一变化情况的精准度。

可选的,基于各客户端的模型训练数据,分别比对各客户端在相同时间点的模型训练参数之间的相似性,得到各客户端的第二相似特征,包括:计算各客户端在相同时间点的模型训练参数之间的客户端相似度;针对每个客户端,基于客户端与其他每个客户端在相同时间点的模型训练参数之间的客户端相似度,分析客户端与其他每个客户端的相似性的第二变化情况,并将客户端与其他所有客户端的相似性的第二变化情况,作为客户端的第二相似特征。

本实施例中,终端通过余弦相似性识别处理中的余弦相似度算法,分别计算每两个客户端在相同时间点的模型训练参数之间的客户端相似度。终端预设变化范围,并针对每个客户端,基于该客户端与其他每个客户端在相同时间点的模型训练参数之间的客户端相似度,判断是否存在模型训练参数之间的客户端相似度的变化大于预设变化范围。在存在模型训练参数之间的客户端相似度的变化大于预设变化范围的情况下,终端统计该客户端与客户端相似度的变化大于预设变化范围的客户端之间的客户端相似度变化情况。在存在模型训练参数之间的客户端相似度的变化大于预设变化范围的情况下,终端确定该客户端与其他各客户端的相似度变化情况为无变化(即分析客户端与其他每个客户端的相似性的第二变化情况)。终端将该客户端与所有客户端的变化情况作为该客户端与其他所有客户端的相似性的第二变化情况,并将该客户端的第二变化情况,作为客户端的第二相似特征。其中,正常客户端与异常客户端的第二变化情况为正常客户端与异常客户端的相似度变化情况为逐渐减小,异常客户端与异常客户端、或正常客户端与正常客户端的相似度变化情况为基本不变。

例如,终端获取的客户端包括A客户端、B客户端、C客户端、D客户端,每个客户端的模型训练参数按照时间先后顺序进行排序为i1,i2,i3,i4,i5(其中i代表客户端的编号,例如A客户端的第一个模型训练参数为A1)。终端两两计算不同客户端的i1之间的相似度j1、不同客户端的i2之间的相似度j2、不同客户端的i3之间的相似度j3、不同客户端的i4之间的相似度j4、不同客户端的i5之间的相似度j5(其中,j代表两两计算相似度的客户端的编号,例如A客户端和B客户端的j为AB,则A客户端和B客户端之间的j1,j2,j3,j4,j5为,AB1,AB2,AB3,AB4,AB5),终端针对A客户端,确定A客户端与各客户端之间j1,j2,j3,j4,j5之间的变化情况,并将A客户端与各客户端之间j1,j2,j3,j4,j5之间的变化情况,作为A客户端的第二变化情况。

基于上述方案,通过余弦相似性识别处理计算每个客户端在相同时间点的模型训练参数之间的客户端相似度,从而量化分析客户端与其他每个客户端的相似性的第二变化情况,提升了客户端的相似性的第二变化情况的分析精准度。

可选的,在各客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,包括:针对每个客户端,在客户端的第一变化情况表征不变的情况下,确定客户端的第一相似特征满足第一相似度条件;判断是否存在客户端与其他客户端的第二变化情况表征不变,并在存在客户端与其他客户端的第二变化情况表征不变的情况下,确定客户端的第二相似特征满足第二相似度条件;将第一相似特征满足第一相似度条件、且第二相似特征满足第二相似度条件的客户端,作为第一标记客户端。

本实施例中,终端针对每个客户端,判断该客户端的第一变化情况是否不变,并在客户端的第一变化情况表征不变的情况下,确定客户端的第一相似特征满足第一相似度条件。其中,第一相似度条件为第一相似特征中的第一变化情况表征不变。

终端判断是否存在客户端与其他客户端的第二变化情况表征不变,并在存在客户端与其他客户端的第二变化情况表征不变的情况下,确定该第二变化情况表征不变得到客户端的第二相似特征满足第二相似度条件。其中,第二相似度条件为第二相似特征中的第一变化情况表征不变。

终端将既满足第一相似特征满足第一相似度条件、且满足第二相似特征满足第二相似度条件的客户端,作为第一标记客户端。

基于上述方案,通过筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,从而确定第一标记客户端,提升了确定第一标记客户端的精确度。

可选的,对各客户端进行评价处理,得到各客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合,包括:通过梯度算法,计算每个客户端的所有模型训练参数的梯度平均值、以及每个客户端的模型训练数据的梯度值;分别计算每个客户端的梯度值到梯度平均值的马氏距离,作为各客户端的异常值,并在各客户端中筛选异常值大于预设异常阈值的客户端,作为第二标记客户端,得到第二客户端集合。

本实施例中,终端通过梯度算法,计算所有客户端的所有模型训练参数的梯度平均值。终端通过梯度算法,计算每个客户端的模型训练数据的梯度值。终端分别计算每个客户端的梯度值到梯度平均值的马氏距离,得到各客户端对应的马氏距离,终端预设马氏距离阈值,并在各客户端中筛选马氏距离大于预设马氏距离阈值的客户端,作为第二标记客户端,得到第二客户端集合。其中,梯度算法为任意一种能够实现上述操作的梯度算法。马氏距离的算法为马氏距离相似度算法。

基于上述方案,通过马氏距离相似算法判断客户端中的异常客户端,提升了异常客户端的判断精确度。

可选的,基于各客户端的模型训练数据的相似度,通过动态聚类算法,对各客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合,包括:基于各客户端的模型训练数据的相似度,通过动态聚类算法,计算各客户端的聚类值;在各客户端中,将低于聚类阈值的聚类值对应的客户端,进行聚类处理得到标记客户端组,并将标记客户端组中的所有客户端,作为第三标记客户端,得到第三客户端集合;聚类阈值基于客户端的数目确定。

本实施例中,终端基于各客户端的模型训练数据的相似度,通过动态聚类算法,计算每个客户端的聚类值。其中该聚类值为该客户端与所有客户端的模型训练数据的相似度的平均值。终端基于所有客户端的数目,设定客户端组的聚类阈值,并将低于该聚类阈值的客户端,聚类为标记客户端组,将高于该聚类阈值的客户端,按照聚类值的大小进行聚类处理,得到多个数据组。终端将标记客户端中所有客户端,作为第三标记客户端。其中聚类阈值可以但不限于是按照所有客户端的比例来进行划分的阈值。例如,聚类阈值为70%,则终端判断每个客户端组中的客户端数量是否低于所有客户端数量的70%,并将低于所有客户端数量的70%的客户端组中的所有客户端,均标记为第三标记客户端,得到第三客户端集合。

基于上述方案,通过动态聚类方法对所有客户端进行聚类处理,从而最大程度排除了离群的客户端(即异常客户端),提升了异常客户端的识别效率。

本申请还提供了一种识别异常客户端的示例,如图3所示,具体处理过程包括以下步骤:

步骤S301,将模型发送至各客户端,并通过各客户端对模型进行训练。

步骤S302,在满足预设时间段的情况下,采集每个客户端对模型进行训练的模型训练参数。

步骤S303,针对每个客户端,将客户端在历史时段采集的模型的所有模型训练参数,作为客户端的模型训练数据。

步骤S304,针对每个客户端,根据客户端的每个模型训练参数,获取客户端的每个模型训练参数的模型训练特征信息,并基于客户端的每个模型训练参数的模型训练特征信息,计算客户端的各模型训练参数的相似度。

步骤S305,针对每个客户端,按照时间顺序,将客户端的各模型训练参数的相似度进行排列处理,得到各模型训练参数的相似度序列。

步骤S306,基于相似度序列,识别相邻时间的各模型训练参数之间的相似性,并根据各模型训练参数之间的相似性,确定客户端的模型训练数据的第一变化情况。

步骤S307,将客户端的第一变化情况,作为客户端的第一相似特征。

步骤S308,计算各客户端在相同时间点的模型训练参数之间的客户端相似度。

步骤S309,针对每个客户端,基于客户端与其他每个客户端在相同时间点的模型训练参数之间的客户端相似度,分析客户端与其他每个客户端的相似性的第二变化情况,并将客户端与其他所有客户端的相似性的第二变化情况,作为客户端的第二相似特征。

步骤S310,针对每个客户端,在客户端的第一变化情况表征不变的情况下,确定客户端的第一相似特征满足第一相似度条件。

步骤S311,在存在客户端与其他客户端的第二变化情况表征不变的情况下,确定客户端的第二相似特征满足第二相似度条件。

步骤S312,将第一相似特征满足第一相似度条件、且第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。

步骤S313,通过梯度算法,计算每个客户端的所有模型训练参数的梯度平均值、以及每个客户端的模型训练数据的梯度值。

步骤S314,分别计算每个客户端的梯度值到梯度平均值的马氏距离,作为各客户端的异常值,并在各客户端中筛选异常值大于预设异常阈值的客户端,作为第二标记客户端,得到第二客户端集合。

步骤S315,基于各客户端的模型训练数据的相似度,通过动态聚类算法,计算各客户端的聚类值。

步骤S316,在各客户端中,将低于聚类阈值的聚类值对应的客户端,进行聚类处理得到标记客户端组,并将标记客户端组中的所有客户端,作为第三标记客户端,得到第三客户端集合。

步骤S317,将第一客户端集合、第二客户端集合和第三客户端集合共同包含的客户端作为异常客户端。

应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的识别异常客户端的方法的识别异常客户端的装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个识别异常客户端的装置实施例中的具体限定可以参见上文中对于识别异常客户端的方法的限定,在此不再赘述。

在一个实施例中,如图4所示,提供了一种识别异常客户端的装置,包括:获取模块410、第一标记模块420、第二标记模块430、第三标记模块440和筛选模块450,其中:

获取模块410,用于获取多个客户端的模型训练数据;所述模型训练数据为模型在历史时段的所有模型训练参数;

第一标记模块420,用于根据各所述客户端的模型训练数据进行相似性识别,得到各所述模型训练数据的相似度,并将满足预设相似度条件的模型训练数据对应的客户端作为第一标记客户端,得到第一客户端集合;

第二标记模块430,用于对各所述客户端进行评价处理,得到各所述客户端的异常值,并将满足异常值条件的客户端作为第二标记客户端,得到第二客户端集合;

第三标记模块440,用于基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,对各所述客户端进行聚类处理,得到多个客户端组,并将不满足预设聚类条件的客户端组中的所有客户端作为第三标记客户端,得到第三客户端集合;

筛选模块450,用于将所述第一客户端集合、所述第二客户端集合和所述第三客户端集合共同包含的客户端作为异常客户端。

可选的,所述获取模块410,具体用于:

将模型发送至各所述客户端,并通过各所述客户端对所述模型进行训练;

在满足预设时间段的情况下,采集每个客户端对所述模型进行训练的模型训练参数;

针对每个客户端,将所述客户端在历史时段采集的所述模型的所有模型训练参数,作为所述客户端的模型训练数据。

可选的,所述相似度条件包括第一相似度条件、以及第二相似度条件,所述第一标记模块420,具体用于:

针对每个客户端,根据所述客户端的每个模型训练参数,获取所述客户端的每个模型训练参数的模型训练特征信息,并基于所述客户端的每个模型训练参数的模型训练特征信息,计算所述客户端的各模型训练参数的相似度;

基于所述客户端的各模型训练参数的相似度,按照时间顺序,比对所述客户端的各相邻时间的模型训练参数的相似性,得到所述客户端的第一相似特征,并基于各所述客户端的模型训练数据,分别比对各所述客户端在相同时间点的模型训练参数之间的相似性,得到各所述客户端的第二相似特征;

在各所述客户端中,筛选第一相似特征满足第一相似度条件、以及第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。

可选的,所述第一标记模块420,具体用于:

针对每个客户端,按照时间顺序,将所述客户端的各模型训练参数的相似度进行排列处理,得到所述各模型训练参数的相似度序列;

基于所述相似度序列,识别相邻时间的各所述模型训练参数之间的相似性,并根据各所述模型训练参数之间的相似性,确定所述客户端的模型训练数据的第一变化情况;

将所述客户端的第一变化情况,作为所述客户端的第一相似特征。

可选的,所述第一标记模块420,具体用于:

计算各所述客户端在相同时间点的模型训练参数之间的客户端相似度;

针对每个客户端,基于所述客户端与其他每个客户端在相同时间点的模型训练参数之间的客户端相似度,分析所述客户端与其他每个客户端的相似性的第二变化情况,并将所述客户端与其他所有客户端的相似性的第二变化情况,作为所述客户端的第二相似特征。

可选的,所述第一标记模块420,具体用于:

针对每个客户端,在所述客户端的第一变化情况表征不变的情况下,确定所述客户端的第一相似特征满足第一相似度条件;

在存在所述客户端与其他客户端的第二变化情况表征不变的情况下,确定所述客户端的第二相似特征满足第二相似度条件;

将第一相似特征满足第一相似度条件、且第二相似特征满足第二相似度条件的客户端,作为第一标记客户端,得到第一客户端集合。

可选的,所述第二标记模块430,具体用于:

通过梯度算法,计算每个客户端的所有模型训练参数的梯度平均值、以及每个所述客户端的模型训练数据的梯度值;

分别计算每个客户端的梯度值到所述梯度平均值的马氏距离,作为各所述客户端的异常值,并在各所述客户端中筛选异常值大于预设异常阈值的客户端,作为第二标记客户端,得到第二客户端集合。

可选的,所述第三标记模块440,具体用于:

基于各所述客户端的模型训练数据的相似度,通过动态聚类算法,计算各客户端的聚类值;

在各所述客户端中,将低于聚类阈值的聚类值对应的客户端,进行聚类处理得到标记客户端组,并将所述标记客户端组中的所有客户端,作为第三标记客户端,得到第三客户端集合;所述聚类阈值基于所述客户端的数目确定。

上述识别异常客户端的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种识别异常客户端的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现第一方面中任一项所述的方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

技术分类

06120116158136