本申请涉及数据处理领域,具体而言,涉及一种模型训练方法、电子设备和计算机可读存储介质。
背景技术:
1、用户群体分类成为企业和研究机构深入了解市场需求、优化个性化服务的关键。各个行业的用户数据分布在各个厂商,为了更好地保护用户数据隐私,传统的集中式数据处理来实现模型训练的方式不适用这类环境。联邦学习的方式可以在保护用户数据的隐私的情况下,也能够实现得到基于各厂商的用户数据实现模型训练。但是这类训练环境也带来了新的问题,各厂商之间的数据的传输量比较大,所需带宽比较大,这样也影响模型训练的效率。
技术实现思路
1、本申请的目的在于提供一种模型训练方法、电子设备和计算机可读存储介质,能够降低训练数据过程中所需带宽,提高模型训练效率。
2、第一方面,本申请提供了一种模型训练方法,应用于联邦学习系统的参与方设备,所述参与方设备与所述联邦学习系统的中央服务器连接,所述模型训练方法包括:基于第n次模型参数对本地模型的模型参数进行更新,以得到第n+1次本地模型参数,其中,n为正整数,且为满足设定规律的正整数;对所述第n+1次本地模型参数进行分解处理,以得到至少两份第n+1次子模型参数;将至少两份所述第n+1次子模型参数发送给所述中央服务器,以供所述中央服务器对接收到的各个参与方设备上传的模型参数进行聚合处理,得到第n+1次模型参数;接收所述中央服务器发送的所述第n+1次模型参数,并根据所述第n+1次模型参数进行模型训练,得到第n+2次本地模型参数;重复上述步骤,直到所述本地模型收敛或者更新次数大于设定次数阈值。
3、在本申请的上述实施方式中,可以将需要上传给中央服务器的尺寸较大的参数进行分解,分解成相对较小的参数,再上传参数,可以实现通过较小的带宽就能够实现参数的传输,可以降低带宽需求,从而提高参数的有效传输率。
4、在一可选的实施方式中,所述对所述第n+1次本地模型参数进行分解处理,以得到至少两份第n+1次子模型参数,包括:根据所述第n+1次本地模型参数的维度值,确定出用于分解的第n+1次奇异值;根据所述第n+1次奇异值对所述第n+1次本地模型参数进行分解,以得到至少两份第n+1次子模型参数。
5、在一可选的实施方式中,所述根据所述第n+1次本地模型参数的维度值,确定出用于分解的第n+1次奇异值,包括:根据当前训练进度确定出第n+1次能量阈值;根据所述第n+1次能量阈值以及所述第n+1次本地模型参数的维度值,确定出用于分解的第n+1次奇异值。
6、在一可选的实施方式中,所述能量阈值通过以下公式确定:
7、t(t)=t1+(t2-t1)*t:
8、其中,t(t)表示实时能量阈值;t1表示第一设定阈值;t2表示第二设定阈值;t表示基于当前训练进度确定的进度比例;所述进度比例表示当前训练次数与设定总训练次数的比值,所述第一设定阈值与所述第二设定阈值为预先设置的值,所述第二设定阈值大于所述第一设定阈值;t的取值为基于第n+1次训练确定的进度比例时,所述t(t)表示第n+1次能量阈值。
9、在一可选的实施方式中,所述根据所述能量阈值以及所述第n+1次本地模型参数的维度值,确定出用于分解的第n+1次奇异值,包括:根据所述第n+1次本地模型参数、所述第n+1次本地模型参数的维度值以及所述第n+1次能量阈值,构建奇异值不等式;基于所述奇异值不等式,确定出最小取值,将其作为第n+1次奇异值。
10、在一可选的实施方式中,所述根据所述第n+1次本地模型参数、所述第n+1次本地模型参数的维度值以及所述第n+1次能量阈值,构建奇异值不等式通过以下公式确定:
11、
12、其中,k表示奇异值;[σ1,σ2,...,σq]表示第n+1次本地模型参数;q表示所述第n+1次本地模型参数的维度值;t表示所述第n+1次能量阈值。
13、在上述实施方式中,基于能力阈值来选出合适的奇异值,可以实现基于该奇异值分解出来的参数能够更小,且实现更高效率的数据的传输。
14、在一可选的实施方式中,所述本地模型,包括:多个卷积模块、一个或多个注意力机制模块、一个或多个全连接层;其中,所述注意力机制模块设置在相邻两个卷积模块之间;所述多个卷积模块中包含kernel cat卷积核。
15、在上述实施方式中,通过使用kernel cat卷积核可以在更好地保持计算准确度的情况下,提高计算效率,从而提高基于联邦学习实现的模型训练。
16、在一可选的实施方式中,所述基于第n次模型参数对本地模型的模型参数进行更新,以得到第n+1次本地模型参数,包括:使用训练进程,基于第n次模型参数对本地模型的模型参数进行更新,以得到第n+1次本地模型参数;所述对所述第n+1次本地模型参数进行分解处理,以得到至少两份第n+1次子模型参数,包括:使用所述训练进程,对所述第n+1次本地模型参数进行分解处理,以得到至少两份第n+1次子模型参数;所述将至少两份所述第n+1次子模型参数发送给所述中央服务器,包括:使用通信进程,将至少两份所述第n+1次子模型参数发送给所述中央服务器。
17、在本申请的上述实施方式中,可以通过两个进程来实现通信与模型训练,可以使数据的传输与模型的训练并行进行,提高模型训练的效率。
18、在一可选的实施方式中,所述对所述第n+1次本地模型参数进行分解处理,以得到至少两份第n+1次子模型参数,包括:对所述第n+1次本地模型参数进行隐私处理,以得到第n+1次隐私模型参数;对所述第n+1次隐私模型参数进行分解处理,以得到至少两份第n+1次子模型参数。
19、在本申请的上述实施方式中,可以在传输参数之前可以先对其进行隐私处理,可以更好地保护参数的隐私性,提高参数的安全。
20、第二方面,本申请提供了一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述的方法的步骤。
21、第三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的方法的步骤。
22、第四方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述的方法。
1.一种模型训练方法,其特征在于,应用于联邦学习系统的参与方设备,所述参与方设备与所述联邦学习系统的中央服务器连接,所述模型训练方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述第n+1次本地模型参数进行分解处理,以得到至少两份第n+1次子模型参数,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述第n+1次本地模型参数的维度值,确定出用于分解的第n+1次奇异值,包括:
4.根据权利要求3所述的方法,其特征在于,所述能量阈值通过以下公式确定:
5.根据权利要求3所述的方法,其特征在于,所述根据所述能量阈值以及所述第n+1次本地模型参数的维度值,确定出用于分解的第n+1次奇异值,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述第n+1次本地模型参数、所述第n+1次本地模型参数的维度值以及所述第n+1次能量阈值,构建奇异值不等式通过以下公式确定:
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述本地模型,包括:多个卷积模块、一个或多个注意力机制模块、一个或多个全连接层;
8.根据权利要求1-6任意一项所述的方法,其特征在于,所述基于第n次模型参数对本地模型的模型参数进行更新,以得到第n+1次本地模型参数,包括:使用训练进程,基于第n次模型参数对本地模型的模型参数进行更新,以得到第n+1次本地模型参数;
9.根据权利要求1-6任意一项所述的方法,其特征在于,所述对所述第n+1次本地模型参数进行分解处理,以得到至少两份第n+1次子模型参数,包括:
10.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至9任意一项所述的方法的步骤。
11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至9任意一项所述的方法的步骤。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至9任意一项所述的方法。
