standard download
(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

PDF文档 专利 一种基于联邦学习的软件缺陷预测隐私保护方法

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于联邦学习的软件缺陷预测隐私保护方法 第 1 页 专利 一种基于联邦学习的软件缺陷预测隐私保护方法 第 2 页 专利 一种基于联邦学习的软件缺陷预测隐私保护方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:34:37上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。