(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210959874.4
(22)申请日 2022.08.11
(71)申请人 南京工业大 学
地址 210009 江苏省南京市 鼓楼区新模范
马路5号
(72)发明人 蔡奇龙 岳野 刘望舒 邵允学
(74)专利代理 机构 江苏什新 律师事务所 326 57
专利代理师 朱少华
(51)Int.Cl.
G06F 11/36(2006.01)
G06F 21/62(2013.01)
G06K 9/62(2022.01)
G06N 20/20(2019.01)
G06N 5/00(2006.01)
(54)发明名称
一种基于联邦学习的软件缺陷预测隐私保
护方法
(57)摘要
本发明涉及一种基于联邦学习的软件缺陷
预测隐私保护方法, 基于决策树构建的随机森 林
模型进行软件缺陷预测, 解决了依赖集中存储企
业私有数据进行模型训练的隐私泄露问题。 首
先, 构建软件缺陷预测模型, 分解成对数据集进
行预处理, 采用Bootstrap采样策略为每个决策
树创建训练集和基于这些决策树组成随机森林
模型部分; 其次, 利用 构建的模型在内部各个部
门上进行预测和训练, 计算损失和局部梯度; 然
后, 对局部梯度进行梯度剪裁并加入本地差分隐
私技术, 得到受保护的梯度, 上传服务器; 最后,
由服务器聚合梯度, 更新全局模 型参数并分发给
各个部门。 本发明以一种隐私保护的方式, 利用
大量数据进行模 型训练, 训练出准确无偏的软件
缺陷预测模型。
权利要求书2页 说明书6页 附图2页
CN 115309647 A
2022.11.08
CN 115309647 A
1.一种基于联邦学习的软件缺陷预测隐私保护方法, 其特征在于: 包括软件缺陷预测
模型构建方法, 以及应用联邦学习技术对所述的软件缺陷预测模型进行训练, 针对部门数
据, 实现缺陷预测; 其包括如下步骤:
步骤A.选择一组由企业各部门组成的客户端, 参与模型协作训练; 每次训练随机选择
客户端中的部门, 该部门输入本地存 储的源代码数据, 然后进入步骤B;
步骤B.在部门本地设备中, 对输入的源代码进行预处理, 采用Bootstrap采样策略为每
个决策树创建训练集, 基于决策树分类器生成的随机森林算法, 构建软件缺陷预测模型, 然
后进入步骤C;
步骤C.根据部门本地数据, 进行软件缺陷预测和 模型训练, 得到预测结果yi, 计算样本
标签被预测为1的概率P1, 训练得到二分类交叉熵损失L(u), 根据损失计 算局部模型梯度Gu,
然后进入步骤D;
步骤D.对局部模型梯度Gu进行梯度剪裁, 然后应用本地差分隐私技术, 得到受保护的梯
度
然后进入步骤E;
步骤E.大量部门客户端将 受保护的模型梯度
上传到服务器, 利用联邦学习技术, 由
服务器聚合所有上传的模型梯度, 得到聚合梯度
使用聚合梯度更新服务器中维护的全
局模型参数w, 然后将更新的全局模型分发给部门设备, 以更新其局部模型参数; 重复此过
程, 直到模型训练收敛。
2.根据权利要求1所述的一种基于联邦学习的软件缺陷预测隐私保护方法, 其特征在
于: 所述步骤B中, 基于决策树分类器生 成的随机森林算法, 构建软件缺陷预测模 型, 按如下
步骤B1至步骤B3进行, 得到软件缺陷预测模型;
步骤B1.对输入的源代码进行预处理; 预处理主要包括两个步骤: 分别是对少数实例进
行过采样和对连续特 征进行离 散化;
按如下步骤B1.1至步骤B1.2进行, 获得 预处理后的数据集:
步骤B1.1使用SMOTE算法对少数实例进行过采样; 首先, 对于少数类中每一个样本i, 以
欧氏距离为标准计算它到少数类样本集中所有样本的距离, 得到其k近邻; 然后, 根据样本
不平衡比例设置一个采样比例以确定采样倍率N, 对于每一个少数类样本i, 从其k近邻中随
机选择若 干个样本, 假设选择的近邻为in; 最后, 对 于每一个随机选出的近邻in, 按照如下的
公式构建新的样本:
inew=i+rand(0,1)*|i ‑in|
其中, rand函数用于随机 选择列表序列中的一个元 素输出, 然后进入步骤B1.2;
步骤B1.2使用基于熵的特征离散化方法; 首先, 将连续特征划分为两部分, 分别计算两
部分的熵的和, 在熵最小的地方划分, 最后对熵最大的部 分重复步骤B1.2, 当熵的值小于给
定阈值时, 停止划分; 熵的计算公式如下:
E=‑∑Pxlog2Px
其中Px表示第x类在数据区间中出现的概 率, 然后进入步骤B2;
步骤B2.采用Bootstrap采样策略为每个决策树创建训练集; 首先, 将数据集随机划分
为两部分, 然后采用Bootstr ap采样策略, 从数据集采样产生多组不同的数据集, 基于每个
数据集, 构建决策树分类 器, 然后进入步骤B3;权 利 要 求 书 1/2 页
2
CN 115309647 A
2步骤B3.将生成的多个决策树分类器生成随机森林算法, 构建软件缺陷预测模型, 按多
个树分类 器投票决定最终分类结果。
3.根据权利要求1所述的一种基于联邦学习的软件缺陷预测隐私保护方法, 其特征在
于, 所述步骤C包括 步骤C1至步骤C 3如下:
步骤C1.对输入数据进行 预测: 样本真实标签yi被预测有缺陷, 即取值 为1的概率为:
P1=P(yi=1|xi,w)
其中, 样本i由特 征向量xi和权重向量w组成的预测函数, 然后进入步骤C2;
步骤C2.利用二分类交叉熵损失进行训练, 对于m个样本的数据集, 在全部样本上的损
失函数为:
其中, u表示选 定的部门, m表示数据集中样本的个数, 然后进入步骤C 3;
步骤C3.根据损失函数计算模型梯度。 得到的局部模型梯度为:
其中, w表示当前模型参数。
4.根据权利要求1所述的一种基于联邦学习的软件缺陷预测隐私保护方法, 其特征在
于, 所述步骤D包括 步骤D1至步骤D2如下:
步骤D1.对梯度进行剪 裁, 剪裁函数如下:
clip(Gu, μ )
其中, μ是一个限制梯度范围的参数, 然后进入步骤D2;
步骤D2.在 梯度剪裁中, 使用本地差分隐私技 术, 得到受保护的梯度
其中, M(·)是一个随机算法, n是拉普拉斯噪声, 参数 λ可以控制拉普拉斯噪声的强度。
5.根据权利要求1所述的一种基于联邦学习的软件缺陷预测隐私保护方法, 其特征在
于: 所述步骤E包括 步骤E1至步骤E2如下:
步骤E1.服 务器聚合所有上传的受到保护的梯度, 得到聚合梯度
其中, u表示本轮学习过程选择的部门集, 然后进入步骤E2;
步骤E2.服务器使用聚合梯度
更新服务器中维护的全局模型参数w, 然后分发给部门
设备, 以更新 其局部模型:
其中, η是 学习率; 重复此 过程, 直到模型训练收敛。权 利 要 求 书 2/2 页
3
CN 115309647 A
3
专利 一种基于联邦学习的软件缺陷预测隐私保护方法
文档预览
中文文档
11 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:34:37上传分享