1.一种具有隐私保护的个性化联邦学习方法,其特征在于,包括:步骤1:将计算服务器拆分为两个不相互勾结的计算服务器,并利用算术秘密共享技术在训练过程中对私密数据进行秘密共享;
通过计算服务器发布联邦学习任务,将全局模型发送给客户端,客户端接收到全局模型进行更新,并根据本地平均梯度算法获取本地梯度向量;
所述本地平均梯度算法具体如下:
第 个客户端对全局模型进行迭代更新,执行梯度下降更新,得到本地模型最后一层的梯度 ,并将梯度 累加到得到 ,根据 计算平均梯度 ,其中 表示本地更新周期,如果当前交互轮数等于总的交互轮数减一,则将平均梯度 返回给计算服务器;
将更新完成的本地模型上传给计算服务器进行聚合,得到聚合后的全局模型 ,聚合方式如下:,
表示参与训练的客户端总的数量, 表示第 个客户端本地模型参数;
在交互结束后,客户端在本地计算个性化梯度,客户端上的梯度计算为:,
其中, 表示第 个客户端在第 次迭代中最后一层的梯度值, 表示平均后的梯度,根据所有客户端本地梯度建立本地梯度向量 ;
步骤2:将所有客户端作为一个客户端集群,通过聚类算法根据本地梯度向量将客户端集群分为两个子节点客户端集群;
步骤3:将各个子节点客户端集群通过个性化本地训练算法训练,并将在总通信轮数下的所有子节点客户端集群的模型准确率返回到梯度聚类算法中;
梯度聚类算法比较当前最新划分的子节点客户端集群与其父客户端集群准确率是否小于准确率阈值 ,迭代步骤3直至所有子节点客户端集群准确率与其父客户端集群准确率的差均小于阈值 ;
所述个性化本地训练算法训练过程具体如下:获取子节点客户端集群的总通信轮数 ,集群大小 ,计算服务器初始化全局模型;
对客户端集群进行 次迭代更新,其中每个客户端在迭代更新中需要计算服务器发送全局模型给客户端;
然后客户端使用接收到的全局模型进行本地模型更新操作;
更新操作过程如下:
通过一下公式计算平均嵌入向量 ,
,
其中, 表示包含第 类所有训练样本的数据子集, 表示为样本 的嵌入向量;
根据本地损失函数 ,对本地模型进行迭代更新,迭代完成后,返回第 个客户端在 次迭代的本地模型参数 ;
通过以下公式更新本次迭代的全局模型 ,,
其中, 表示集群大小,迭代结束后客户端根据本地测试集获取本地模型准确率 ,并将其发送至计算服务器;
计算服务器计算得到准确率 ,并将其与当前的客户端集群的本地模型返回给客户端,本地损失函数如下: ,
其中, 表示本地模型的神经网络结构的输出结果, 表示对应的标签, 表示超参数, 表示第 个类别的嵌入向量;为了使嵌入向量 能够接近平均嵌入向量 并最小化预测误差损失,在本地损失中添加一个正则化项;
步骤4:取准确率最高的那一次迭代中的客户端集群划分方式,通过个性化本地训练算法为每个客户端集群训练个性化学习模型;
步骤5:计算服务器获取每个客户端集群训练完成的个性化学习模型,处理当前任务。
2.根据权利要求1所述的具有隐私保护的个性化联邦学习方法,其特征在于,所述聚类算法为梯度聚类算法根据本地梯度向量将客户端集群分为两个子节点客户端集群,具体如下:取所有客户端或上一次迭代客户端集群作为父节点客户端集群 ,并设定准确率阈值和总通信轮数 ,始化子节点客户群集 ;
通过本地平均梯度算法计算父节点客户端集群 在总通信轮数 下的准确率 ;
;
使用二元聚类算法将父节点客户端集合 划分为两个子节点客户端群集 ,使用个性化本地训练算法计算子节点客户端群集 在总通信轮数 下的准确率和 ,如果 且 ,则停止对当前客户集群进行分组,并返回当前子节点客户集群,否则,继续调用梯度聚类算法进行进一步分组;
所述总通信轮数 通过一下方式计算:
,其中,其中T表示允许模型达到完全收敛所需的最小通信轮数。
3.根据权利要求2所述的具有隐私保护的个性化联邦学习方法,其特征在于,所述二元聚类算法中使用余弦距离定义两客户端梯度数据,所述余弦距离计算公式如下:,
其中, 、 表示任意两客户端梯度数据, 表示 和 之间的内积, 表示的向量 范数, 表示 的向量 范数。
4.根据权利要求1所述的具有隐私保护的个性化联邦学习方法,其特征在于,还包括本地平均梯度算法和个性化的本地训练算法的隐私保护,具体方式如下:客户端使用可加性秘密共享对模型参数进行分割,通过安全通道将分割的秘密份额传输给两个计算服务器,计算服务器使用安全聚合协议完成模型参数聚合,完成模型聚合后,计算服务器向全局添加高斯噪声,并将其发送给客户端。
5.根据权利要求4所述的具有隐私保护的个性化联邦学习方法,其特征在于,所述计算服务器使用安全聚合协议完成模型参数聚合,具体方式如下:在客户端上传模型参数值前,配对映射将模型参数从实数域映射到 , 表示模 的整数环, 为一个大整数;
客户端生成一个随机数 作为第一个秘密份额 ,配对计算第二个秘密份额,其中, 表示第 个客户端本地的模型参数,表示一个随机整数,客户端将 、 分别发送到两个计算服务器 、 ,计算服务器从不同客户端接收秘密份额并执行安全聚合协议,两个计算服务器分别聚合各自的秘密份额 和 ,其中 , , 将 发送给 ,用于获取全局聚合模型 , 。
6.根据权利要求5所述的具有隐私保护的个性化联邦学习方法,其特征在于,所述聚类算法为安全二进制聚类算法,具体方式如下:在执行客户端聚类前,客户端对梯度 进行归一化处理得到梯度 ,具体公式如下:客户端通过加法秘密共享将梯度 拆分为两个秘密份额,将秘密份额上传给计算服务器 、 ,计算服务器 、 使用安全二进制聚类算法实现客户端聚类;
所述安全二进制聚类算法,具体方式如下:通过梯度聚类算法将一个父节点客户端集群生成两个子节点客户端集群,计算服务器 生成两个向量 和 ,分别为单位向量 和 的第一个秘密共享, 生成两个向量 和 ,分别为单位向量 和 的第二个秘密共享;
计算服务器 、 请求标量积协议计算客户端的梯度与聚类中心之间的标量积,使用标量积计算余弦距离,计算服务器 根据余弦距离确定客户端属于客户端集群,在所有梯度都被分配到两个客户端集群后,计算服务器 、 根据以下公式计算两个新的聚类中心:, ,
其中, 表示当前客户端集群梯度的平均值, 表示第 个客户端的梯度;
对客户端集群 进行安全计算,安全地计算当前客户端集群 中梯度的平均值;
计算服务器 、 继续迭代这个过程,直到聚类中心不再发生变化,并获得客户的最终聚类结果。
7.根据权利要求6所述的具有隐私保护的个性化联邦学习方法,其特征在于,所述标量积协议如下:计算服务器 持有 和 ,分别为向量 的第一个秘密份额, 表示整数值是 维的模 的整数环,计算服务器 持有 和 ,分别为向量 的第二个秘密份额;
协议生成 , 给计算服务器 ,生成以及 , 给计算服务器,并满足 , 、 表示整数值是 维的模 的整数环中的向量, 、 表示模 的整数环中的数值;
客户端向量 进行归一化,使用定点表示将 从实数域映射到 ,计算标量积,具体过程如下:计算服务器 发送 到计算服务器 ,计算服务器 收到 并计算,计算服务器 发送 给计算服务器 ,计算服务器 收到 计算 ;
计算服务器 向计算服务器 发送 ,计算服务器 收到 并计算,计算服务器 发送 给计算服务器 ,计算服务器 收到 计算 ;
计算服务器 计算第一个部分的标量积 ,计算服务器 计算第二个部分的标量积 ;
计算服务器 将 发送给计算服务器 ,计算服务器 将标量积与标量积 相加得到标量积 。
8.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至7任一项所述的具有隐私保护的个性化联邦学习方法。