基于联邦学习的特征提取方法和装置、电子设备、介质与流程

文档序号:28491662发布日期:2022-01-15 02:52阅读:239来源:国知局
基于联邦学习的特征提取方法和装置、电子设备、介质与流程

1.本发明涉及机器学习技术领域,尤其涉及基于联邦学习的特征提取方法和装置、电子设备和介质。


背景技术:

2.联邦学习是一种带有隐私保护、安全加密技术的分布式机器学习框架,可以实现让分散的各参与方在满足不向其他参与者披露隐私数据的前提下,协作进行机器学习的模型训练。联邦学习主要应用于建模。在实际建模的应用场景中,由于特征量较多,特征质量参差不齐,从而导致模型训练速率较慢且效果不好。因此,如何提供一种提高多个特征提取的准确性,成为亟待解决的技术问题。


技术实现要素:

3.本公开实施例的主要目的在于提出一种基于联邦学习的特征提取方法和装置、电子设备和介质,以提高多个特征提取的准确性。
4.为实现上述目的,本公开实施例的第一方面提出了一种基于联邦学习的特征提取方法,包括:
5.与第二参与方相互发送己方的原始特征数据;
6.根据特征数据集的特征维度从所述特征数据集提取出目标特征;其中,所述特征数据集包括己方的原始特征数据和第二参与方发送的原始特征数据;
7.根据所述目标特征和原始本地模型的模型参数计算出所述原始本地模型的预测值;
8.对己方的预测值进行加密处理得到加密目标梯度,并与所述第二参与方相互发送己方的加密目标梯度;
9.根据所述第二参与方发送的加密目标梯度计算目标损失;
10.根据己方的目标损失计算共线性量化因子;
11.根据己方计算的共线性量化因子将相应的目标特征确定为待分析的最终特征。
12.在一些实施例,所述对己方的预测值进行加密处理得到加密目标梯度,并与所述第二参与方相互发送己方的加密目标梯度,包括:
13.对己方的预测值进行同态加密处理,得到加密梯度;
14.与所述第二参与方相互发送己方的加密梯度;
15.根据己方的预测值和所述第二参与方发送的加密梯度,计算目标梯度;
16.与所述第二参与方相互发送己方的目标梯度;
17.根据所述第二参与方发送的目标梯度和己方的目标特征计算出所述加密目标梯度;
18.与所述第二参与方相互发送己方的加密目标梯度。
19.在一些实施例,所述对己方的预测值进行加密处理得到加密目标梯度,并与所述
第二参与方相互发送己方的加密目标梯度,还包括:
20.获取所述第二参与方发送的公钥;
21.根据所述第二参与方发送的公钥对己方的预测值进行同态加密处理得到加密掩码;
22.将己方的加密掩码添加到己方的加密目标梯度中,得到加密掩码梯度,并将己方的加密掩码梯度作为己方的加密目标梯度。
23.在一些实施例,所述根据所述第二参与方发送的加密目标梯度计算目标损失,包括:
24.根据己方的私钥对己方的加密目标梯度进行解密,得到目标梯度,并与所述第二参与方相互发送解密得到的目标梯度;
25.根据己方解密得到的目标梯度计算出第一损失,并与所述第二参与方相互发送第一损失;
26.根据己方计算出的第一损失与所述第二参与方发送的第一损失计算出目标损失。
27.在一些实施例,所述根据己方计算出的第一损失与所述第二参与方发送的第一损失计算出目标损失,包括:
28.对己方计算出的第一损失进行加密,得到第一加密损失,并与所述第二参与方相互发送所述第一加密损失;
29.根据第二参与方发送的加密梯度,得到第二损失;其中,己方的加密梯度由己方的预测值进行同态加密处理得到,所述第二损失不包括正则项;
30.根据己方的第一损失、第二参与方发送的第一损失、己方的第二损失,计算出目标加密损失;
31.根据己方的私钥对己方计算的目标加密损失进行解密,得到第三损失;
32.根据根据己方的正则项、己方得到的第三损失,计算出目标损失。
33.在一些实施例,所述根据所述目标损失计算共线性量化因子,包括:
34.获取所述第二参与方发送的预测值;
35.若根据己方计算的目标损失确定己方的原始本地模型拟合,则根据己方的预测值和第二参与方发送的预测值计算拟合值;
36.根据己方计算的拟合值和己方的真实值计算残差平方和,并根据己方的真实值、己方的真实值的平均值计算总离差平方和;
37.计算己方的总离差平方和和己方的残差平方和之间的比值,将己方计算的比值作为己方的共线性量化因子。
38.在一些实施例,所述根据所述共线性量化因子将相应的目标特征确定为待分析的最终特征,包括:
39.比较己方计算的共线性量化因子与预设值之间的大小关系;
40.根据己方计算的共线性量化因子与预设值之间的大小关系将相应的目标特征确定为待分析的最终特征。
41.为实现上述目的,本公开的第二方面提出了一种基于联邦学习的特征提取装置,包括:
42.原始特征数据发送模块,用于与第二参与方相互发送己方的原始特征数据;
43.目标特征提取模块,用于根据特征数据集的特征维度从所述特征数据集提取出目标特征;其中,所述特征数据集包括己方的原始特征数据和第二参与方发送的原始特征数据;
44.预测值计算模块,用于根据所述目标特征和原始本地模型的模型参数计算出所述原始本地模型的预测值;
45.加密处理模块,用于对所述预测值进行加密处理得到加密目标梯度,并与所述第二参与方相互发送己方的加密目标梯度;
46.损失计算模块,用于根据所述第二参与方发送的加密目标梯度计算目标损失;
47.共线性量化因子计算模块,用于根据己方的目标损失计算共线性量化因子;
48.特征确定模块,用于根据己方计算的共线性量化因子将相应的目标特征确定为待分析的最终特征。
49.为实现上述目的,本公开的第三方面提出了一种电子设备,包括:
50.至少一个存储器;
51.至少一个处理器;
52.至少一个程序;
53.所述程序被存储在存储器中,处理器执行所述至少一个程序以实现本公开如上述第一方面所述的方法。
54.为实现上述目的,本公开的第四方面提出了一种存储介质,该存储介质是计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
55.如上述第一方面所述的方法。
56.本公开实施例提出的基于联邦学习的特征提取方法和装置、电子设备、介质,通过与第二参与方相互发送己方的原始特征数据;根据特征数据集的特征维度从特征数据集提取出目标特征;其中,特征数据集包括己方的原始特征数据和第二参与方发送的原始特征数据;根据目标特征和原始本地模型的模型参数计算出原始本地模型的预测值;对预测值进行加密处理得到加密目标梯度,并与第二参与方相互发送己方的加密目标梯度;根据第二参与方发送的加密目标梯度计算目标损失;根据己方的目标损失计算共线性量化因子;根据己方计算的共线性量化因子将相应的目标特征确定为待分析的最终特征,通过本公开实施例的技术方案,可以对多个参与方(包括己方和第二参与方)的特征数据集中的多个目标特征一一进行提取、以针对性地提取有效的特征,并根据共线性量化因子将相应的目标特征确定为最终特征,提高多个特征提取的准确性和效率,为后续的模型训练提升训练速度、提高模型的准确率。
附图说明
57.图1是本公开实施例提供的基于联邦学习的特征提取方法的流程图。
58.图2是图1中的步骤104的流程图。
59.图3是图1中的步骤104的另一流程图。
60.图4是图1中的步骤105的部分流程图。
61.图5是图1中的步骤106的流程图。
62.图6是本公开实施例提供的基于联邦学习的特征提取装置的功能模块图。
63.图7是本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
64.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
65.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
66.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
67.首先,对本技术中涉及的若干名词进行解析:
68.人工智能(artificial intelligence,ai):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
69.联邦学习:是一种带有隐私保护、安全加密技术的分布式机器学习框架,旨在让分散的各参与方在满足不向其他参与者披露隐私数据的前提下,协作进行机器学习的模型训练。联邦学习是一种隐私保护技术,能够保证数据在不出本地的前提下,有效联合各方数据进行模型训练。
70.方差膨胀因子(variance inflation factor,vif),也叫方差扩大因子,是表征自变量观察值之间复共线性程度的数值,可以用于用于衡量多元线性回归模型中复(多重)共线性严重程度。方差扩大(膨胀)因子法是通过考察给定的解释变量被方程中其他所有解释变量所解释的程度,以此来判断是否存在多重共线性的一种方法。方程中的每一个解释变量都有一个方差扩大(膨胀)因子,它反映的是多重共线性在多大程度上增大估计系数方差的指标。
71.线性回归:线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析;如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
72.同态加密(homomorphic encryption):同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其
结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
73.常见的正则项有三种:l0、l1和l2正则。其中,l0正则是向量的0范数,指向量中元素的个数;l0正则化的值是模型l0中非零参数的个数;l0正则化可以实现参数的稀疏化,然而l0正则化是个np难题,很难求解,一般使用l1正则实现参数的稀疏化。l1正则是向量的1范数,指向量各个元素绝对值的和;l1正则可以使参数更多的等于0,故可以实现参数的稀疏,也叫做lasso回归;l2正则是向量的2范数,指向量的內积,是所有元素的平方和再求平方根;l2正则可以使参数都趋于0,故可以实现参数的平滑,也叫做ridge回归。
74.sse(sum of squares due to error):sse也叫残差平方和、和方差、或者误差平方和。sse用于计算的是拟合数据和原始数据对应点的误差的平方和,sse越接近于0,说明模型选择和拟合更好,数据预测也越成功,yi表示真实观测值,y
′i表示拟合值。
75.sst(total sum of squares):sst是总离差平方和,是原始数据和均值之差的平方和,其中yi表示真实观测值,表示真实观测值的平均值。
76.联邦学习主要针对建模的部分,但在实际过程中,由于数据特征量多,特征质量参差不齐导致模型训练速率较慢且效果不好。针对这一情况,传统的方法是在建模前对特征进行分析,在选取了有效的特征后再去进行建模可以拥有提升训练速率,提高模型准确率。单变量分析虽然也常用于分析特征是否有效,且计算简单易于实现,但在实际业务中的模型,变量之间的关联更为常见,因此需要多变量分析的方法。然而常规的多变量分析方法不能直接用于联邦学习中,原因在于联邦学习中的需要分析的特征是在不同的客户端上,直接传输数据或者标签会违背联邦学习的隐私保护初衷。
77.基于此,本公开实施例提供一种基于联邦学习的特征提取方法和装置、电子设备、存储介质,可以针对性地提取特征,提高多个特征提取的准确性和效率,为后续的模型训练提升训练速度、提高模型的准确率。
78.本公开实施例提供基于联邦学习的特征提取方法和装置、电子设备、存储介质,具体通过如下实施例进行说明,首先描述本公开实施例中的基于联邦学习的特征提取方法。
79.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
80.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
81.本公开实施例提供的基于联邦学习的特征提取方法,涉及机器学习技术领域。本公开实施例提供的基于联邦学习的特征提取方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供
云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现基于联邦学习的特征提取方法的应用等,但并不局限于以上形式。
82.在一联邦学习的应用场景中,该基于联邦学习的特征提取方法可以应用于联邦学习的参与方之间进行联邦建模;以该基于联邦学习的特征提取方法应用于第一参与方为例进行说明,该联邦学习场景中还包括多个第二参与方,第一参与方与每一第二参与方还持有样本用户的真实值。举例来说,在金融领域,电商平台可以作为第一参与方(可以作为数据提供方),而银行可以作为第二参与方(可以作为模型发起方);样本用户可以是电商平台和银行所共有的用户,例如小微企业等;电商平台可以持有样本用户的交易数据(例如相关的订单数据等),并根据交易数据提取出相应的目标投融资;银行可以持有样本用户的企业数据(例如企业成立年限、企业规模等)或者样本用户的贷款数据(例如贷款金额等),可以从企业数据或者贷款数据提取出相应的目标特征。此外,银行还可以持有样本用户的真实值(例如是否存在金融诈骗行为等)。
83.图1是本公开实施例提供的基于联邦学习的特征提取方法的一个可选的流程图,图1中的方法,应用于第一参与方,该方法可以包括但不限于包括步骤101至步骤107。
84.步骤101、与第二参与方相互发送己方的原始特征数据;
85.步骤102、根据特征数据集的特征维度从特征数据集提取出目标特征;其中,特征数据集包括己方的原始特征数据和第二参与方发送的原始特征数据;
86.步骤103、根据目标特征和原始本地模型的模型参数计算出原始本地模型的预测值;
87.步骤104、对预测值进行加密处理得到加密目标梯度,并与第二参与方相互发送己方的加密目标梯度;
88.步骤105、根据第二参与方发送的加密目标梯度计算目标损失;
89.步骤106、根据己方的目标损失计算共线性量化因子;
90.步骤107、根据己方计算的共线性量化因子将相应的目标特征确定为待分析的最终特征。
91.本公开实施例提供的基于联邦学习的特征提取方法,应用于联邦学习的参与方之间进行联邦建模。图1所示的方法应用于第一参与方,可以是模型发起方;第一参与方可以与多个第二参与方进行联邦建模,其中第二参与方可以指数据提供方,第二参与方可以是联邦学习中的多个参与方中的任意一方。
92.在一些实施例的步骤101中,第一参与方与第二参与方相互发送己方的原始特征数据;其中,第一参与方的原始特征数据可以称为第一参与方的己方的原始特征数据;以此类推,第二参与方的原始特征数据可以称为第二参与方的己方的原始特征数据。原始特征数据包括了多个特征,特征维度可以用于表征原始特征数据的特征数量。
93.在一些实施例的步骤102中,特征数据集包括己方的原始特征数据和获取到的第二参与方发送的原始特征数据;特征数据集的特征维度包括第一维度和第二维度,其中第一维度是己方的原始特征数据的维度,第二维度是第二参与方发送的原始特征数据的维度。根据特征数据集的特征维度从特征数据集提取出目标特征,具体包括:根据特征维度依次从己方的原始特征数据和第二参与方发送的原始特征数据提取出目标特征。在一具体应
用场景,以两个参与方a和b为例进行说明,即第一参与方为参与方b,第二参与方为参与方a,第一参与方b的特征维度表示为f_dimb,第二参与方a的特征维度表示为f_dima。参与方a的原始特征数据表示为根据特征维度依次从参与方a的原始特征数据提取出目标特征的过程为:可以从原始特征数据中按照顺序从第一个特征至第n个特征依次将相应的特征作为目标特征,例如目标特征y可以表示为其中y为目标特征,n表示参与方a的原始特征数据的特征数量,t表示第t个特征,也就是说,目标特征y是参与方a的原始数据中第t个特征数据。
94.在执行步骤103之前,基于联邦学习的特征提取方法,还包括:
95.生成秘钥对;其中秘钥对包括公钥和私钥;
96.与第二参与方相互发送己方的公钥。
97.在一些实施例的步骤103中,第一参与方与第二参与方均有自己的原始本地模型,即己方的原始本地模型;原始本地模型包括模型参数;第一参与方与第二参与方用于计算己方的样本用户的预测值;具体地,步骤103包括:
98.将目标特征的特征值和模型参数进行内积计算,得到原始本地模型的预测值。更详细地,原始本地模型的预测值即为向前梯度。以参与方b为例进行说明,参与方b计算向前梯度fb=wbxb,其中,nb为参与方b的目标特征的特征值,wb为模型参数,也是模型权重。
99.本实施例中,参与方a计算己方的预测值,也即己方的向前梯度fa=wax
a-y。其中,y是目标特征,是参与方a的原始数据中第t个特征数据。
100.在一些实施例,第一参与方与第二参与方均持有样本用户的真实值。
101.举例来说,在金融领域,电商平台可以作为第一参与方(可以作为数据提供方),即参与方a;而银行可以作为第二参与方(可以作为模型发起方),即参与方b;样本用户可以是电商平台和银行所共有的用户,例如小微企业等;电商平台可以持有样本用户的交易数据(例如相关的订单数据等),并根据交易数据提取出相应的目标投融资;银行可以持有样本用户的企业数据(例如企业成立年限、企业规模等)或者样本用户的贷款数据(例如贷款金额等),可以从企业数据或者贷款数据提取出相应的目标特征。此外,银行还可以持有样本用户的真实值(例如是否存在金融诈骗行为等)。
102.由于在模型训练过程中,参与方之间都无法直接获取对方发送的明文数据,但可以在加密条件下进行模型的相关计算,以完成模型参数的更新。
103.请参阅图2,步骤104可以包括但不限于包括步骤201至步骤206:
104.步骤201、对己方的预测值进行同态加密处理,得到加密梯度;
105.步骤202、与第二参与方相互发送己方的加密梯度;
106.步骤203、根据己方的预测值和第二参与方发送的加密梯度,计算目标梯度;
107.步骤204、与第二参与方相互发送己方的目标梯度;
108.步骤205、根据第二参与方发送的目标梯度和己方的目标特征计算出加密目标梯度。具体地,步骤205包括:将第二参与方发送的目标梯度和己方的目标特征进行内积计算,得到加密目标梯度。
109.步骤206、与第二参与方相互发送己方的加密目标梯度。
110.具体地,步骤201中,根据己方的公钥对己方的预测值进行同态加密处理,得到加密梯度。
111.应理解,同态加密原理为:一对公私密钥(pk,sk),用[
·
]表征用pkh进行加密后的同态加密,例如m为明文,[m]=enc
pk
(m)则为同态加密后的密文,本公开实施例,采用乘法同态的同态加密算法,即[m1]+[m2]=[m1+m2]和c[m]=[cm],其中c为正整数常数。
[0112]
具体地,请参阅图3,为了提高数据安全性,防止参与方在任务的任何阶段猜测得到对方的信息,步骤104还包括:添加随机掩码,具体包括:
[0113]
步骤301、获取第二参与方发送的公钥;
[0114]
步骤302、根据第二参与方发送的公钥对预测值进行同态加密处理得到加密掩码;
[0115]
步骤303、将己方的加密掩码添加到己方的加密目标梯度中,得到加密掩码梯度,并将己方的加密掩码梯度作为己方的加密目标梯度。
[0116]
在一具体应用场景,以两个参与方a和b为例进行说明,步骤104的原理为:
[0117]
参与方a和b各自根据己方的公钥对预测值进行同态加密处理,得到加密梯度;例如参与方b在计算出己方的预测值,也即己方的向前梯度(fb=wbxb)之后,根据用己方的公钥pkb进行同态加密己方的预测值fb,得到己方的加密梯度encb(fb),并将己方的加密梯度encb(fb)发送给参与方a。同理,参与方a在计算出己方的预测值,也即己方的向前梯度(fa=wax
a-y)之后,根据用己方的公钥pka进行同态加密己方的fa,得到己方的加密梯度enca(fa),并将己方的加密梯度enca(fa)发送给参与方b。
[0118]
然后,参与方a和b各自根据其他参与方发送的加密梯度和己方的预测值计算出目标梯度,并互相发送己方计算出的目标梯度;例如,参与方b根据参与方a发送的加密梯度enca(fa)和己方的预测值fb计算得到目标梯度enca(fa)+fb,并将己方的目标梯度enca(fa)+fb发送给参与方a。同理,参与方a根据参与方b发送的加密梯度encb(fb)和己方的预测值fa计算得到目标梯度encb(fb)+fa,并将目标梯度encb(fb)+fa发送给参与方b。
[0119]
接着,参与方a和b各自根据其他参与方发送的目标梯度和己方的目标特征计算出加密目标梯度;例如,参与方b根据参与方a发送的目标梯度encb(fb)+fa和己方的目标特征xb计算出加密目标梯度enca(gb)=(ehca(fa)+fb)xb。同理,参与方a根据参与方b发送的目标梯度enca(fa)+fb和己方的目标特征xa计算出加密目标梯度encb(ga)=(fa+encb(fb))xa。其中,gb为参与方b的梯度,ga为参与方a的梯度。
[0120]
并且,为了提高数据安全性,防止参与方在任务的任何阶段猜测得到对方的信息,还需添加随机掩码,具体原理为:参与方a和b各自根据其他参与方发送的公钥对己方的预测值进行同态加密处理得到加密掩码;例如,参与方b根据参与方a发送的公钥pka对预测值进行同态加密处理得到加密掩码rb,其中rb是一种向量,rb的维度与gb的维度相同;同理,参与方a根据参与方b发送的公钥pkb对预测值进行同态加密处理得到加密掩码ra,其中ra是一种向量,ra的维度与ga的维度相同。因此,参与方b最终计算得到的加密掩码梯度为enca(gb+rb),并发送给参与方a;参与方a最终计算得到的加密掩码梯度为enca(ga+ra),并发送给参与方b。
[0121]
在一些实施例的步骤105中,根据第二参与方发送的加密目标梯度计算目标损失,可以包括但不限于包括:
[0122]
根据己方的私钥对己方的加密目标梯度进行解密,得到目标梯度,并与第二参与
方相互发送解密得到的目标梯度;
[0123]
根据己方解密得到的目标梯度计算出第一损失,并与第二参与方相互发送第一损失;
[0124]
根据己方计算出的第一损失与第二参与方发送的第一损失计算出目标损失。
[0125]
具体地,请参阅图4,根据己方计算出的第一损失与第二参与方发送的第一损失计算出目标损失,可以包括但不限于包括步骤401至步骤405:
[0126]
步骤401、对己方计算出的第一损失进行加密,得到第一加密损失,并与第二参与方相互发送第一加密损失;
[0127]
步骤402、根据第二参与方发送的加密梯度,得到第二损失;其中,己方的加密梯度由己方的预测值进行同态加密处理得到,第二损失不包括正则项;
[0128]
步骤403、根据己方的第一损失、第二参与方发送的第一加密损失、己方的第二损失,计算出目标加密损失;
[0129]
步骤404、根据己方的私钥对己方计算的目标加密损失进行解密,得到第三损失;
[0130]
步骤405、根据己方得到的第二损失、己方得到的第三损失,计算出目标损失。
[0131]
为了防止过拟合,在己方的目标加密损失中添加加密正则项。其中,加密正则项由第二参与方发送的正则项进行加密得到。
[0132]
在一具体应用场景,以两个参与方a和b为例进行说明,步骤105的原理为:
[0133]
参与方b根据己方解密得到的目标梯度计算出第一损失参与方a根据己方解密得到的目标梯度计算出第一损失
[0134]
步骤401中,参与方b对己方计算出的第一损失进行加密,得到第一加密损失并将第一加密损失发送给参与方a。同理,参与方a根据己方解密得到的目标梯度计算出第一损失并将第一加密损失发送给参与方b。
[0135]
步骤402中,参与方a根据参与方b方发送的加密梯度encb(fb),得到第二损失其中,加密梯度encb(fb)由预测值fb进行同态加密处理得到,第二损失不包括正则项。
[0136]
步骤403中,参与方a根据己方的第一损失参与方b发送的第一加密损失己方的第二损失计算出目标加密损失计算出目标加密损失
[0137]
为了防止过拟合,目标加密损失中添加加密正则项,即目标加密损失其中为添加的加密正则项。应理解,在损失(即损失函数)中加入正则项相当于加入了对参数的先验分布,因而能防止过拟合。
[0138]
步骤404中,参与方b根据己方的私钥skb对目标加密损失encb(l)进行解密,得到第三损失;由于目标加密损失encb(l)中添加加密正则项因此,对目标加密损失
encb(l)进行解密得到的第三损失包括了正则项因此其中,加密正则项由参与方a发送的正则项进行加密得到。为参与方a的权重的l2正则。
[0139]
步骤405中,参与方b根据己方的正则项己方得到的第三损失计算出目标损失为参与方b的权重的l2正则。
[0140]
应理解,l0正则是向量的0范数,指向量中元素的个数,l0正则化可以实现参数的稀疏化;一般使用l1正则实现参数的稀疏化,l1正则是向量的1范数,指向量各个元素绝对值的和;l1正则可以使参数更多的等于0,故可以实现参数的稀疏,也叫做lasso回归;l2正则是向量的2范数,指向量的內积,是所有元素的平方和再求平方根;l2正则可以使参数都趋于0,故可以实现参数的平滑,也叫做ridge回归。
[0141]
该目标损失用于判断原始本地模型是否拟合。若根据目标损失判断原始本地模型未拟合,则重复执行步骤103至步骤105,以使参与方在本地进行梯度优化,更新原始本地模型的模型权重,直到原始本地模型满足要求,判断原始本地模型是否满足要求,可以通过设置拟合标记或者最大迭代次数,若拟合标记标记为true或者达到最大迭代次数,则说明原始本地模型满足要求;若拟合标记标记为false或者未达到最大迭代次数,则说明原始本地模型不满足要求。具体地,在一应用场景,参与方b判断原始本地模型是否拟合,发送目标损失l
total
和拟合标记(true或者false)给参与方a;参与方b和参与方a两方在本地进行梯度优化,更新原始本地模型的模型权重,直到拟合标记标记为true或者达到最大迭代次数,则说明原始本地模型满足要求。若原始本地模型满足要求,则执行步骤106,以计算共线性量化因子。本公开实施例的步骤103至步骤105中,采用梯度下降算法,计算相应的梯度,并不断迭代,直到原始本地模型拟合。
[0142]
在一些实施例,以共线性量化因子为方差膨胀因子(vif)为例进行说明。
[0143]
请参阅图5,在一些实施例的步骤106中,根据目标损失计算共线性量化因子,可以包括但不限于包括:
[0144]
步骤501、获取第二参与方发送的预测值;
[0145]
步骤502、若根据己方计算的目标损失确定己方的原始本地模型拟合,则根据己方的预测值和第二参与方发送的预测值计算拟合值;其中,拟合值为y
′i。
[0146]
步骤503、根据己方计算的拟合值和己方的真实值计算残差平方和,并根据己方的真实值、己方的真实值的平均值计算总离差平方和;其中,残差平方和为sse,真实值为yi,真实值的平均值为
[0147]
步骤504、计算己方的总离差平方和和己方的残差平方和之间的比值,将己方计算的比值作为己方的共线性量化因子。其中,共线性量化因子为vif(方差膨胀因子)。
[0148]
具体地,在一应用场景,考虑参与方a需要进行特征提取的情况(参与方b进行特征提取的的方案是类似)。参与方b计算的预测值为wbxb,wbxb为参与方b的部分预测值,参与方b将计算出的预测值wbxb发送参与方a,从而参与方a可以获取到参与方b发送的预测值wbxb。在步骤105中根据目标损失确定原始本地模型拟合,则参与方a根据己方的预测值waxa和第二参与方发送的预测值wbxb计算拟合值y
′i=waxa+wbxb。步骤503中,参与方a根据拟合值y
′i和真实值yi计算残差平方和并根据真实值yi、真实值yi的平均值计算总离差平方和步骤504中,计算总离差平方和sst和残差平方和sse之间的比值并将比值作为参与方a的共线性量化因子vifa,即其中,当前y为参与方b的特征,则参与方b计算出vifa后需要发送给参与方a。
[0149]
若所有特征变量都经过了提取(本应用场景先依次分析参与方a的所有特征,再依次分析参与方b的所有特征,从而总共需要进行f_dima+f_dimb次提取),则流程结束。若有至少一个特征变量未提取完,则按照上述步骤原理进行提取。
[0150]
在一些实施例的步骤107,以共线性量化因子为方差膨胀因子(vif)为例进行说明,步骤107可以包括但不限于包括:
[0151]
比较己方计算的共线性量化因子与预设值之间的大小关系;
[0152]
根据己方计算的共线性量化因子与预设值之间的大小关系将相应的目标特征确定为待分析的最终特征。优选地,若共线性量化因子大于预设值,则将相应的目标特征确定为待分析的最终特征。
[0153]
具体地,以共线性量化因子为方差膨胀因子为例进行说明,在不存在多重共线性的情况下,方差膨胀因子接近于1,多重共线性越强,方差膨胀因子越大。在实际应用场景中,数据之间总是存在或多或少的多重共线性,因此将方差膨胀因子等于1作为评价共线性的标准是不现实的。通常,可根据实际应用场景,预设一预设值,本公开实施例中,预设值可取值为8,判断该目标特征y的方差膨胀因子是否大于8,若该该目标特征y的方差膨胀因子大于8,则确定该该目标特征y与其他特征之间具有较强的共线性,将该目标特征y从原始特征数据提取出来,作为待分析的最终特征。
[0154]
本公开实施例提出一个新的隐私保护的联邦学习的多特征变量提取方案,可以对多个参与方(包括己方和第二参与方)的特征数据集中的多个目标特征一一进行提取,在保护数据隐私的情况下实现联合的多个特征变量进行提取,相比于单变量的提取,考虑了特征变量与特征变量之间的同线性关联,根据分析结果可以针对性地提取有效的特征(即最终特征),为后续的模型训练提升训练速度,提高模型准确率。
[0155]
本公开实施例利用联邦线性回归计算特征变量间的关系,且采用梯度下降算法;由于最小二乘法需要矩阵求逆且设计多个方程的方程组求解,且部分操作例如求逆难以通过联邦方式实现,因此采用梯度下降算法,梯度下降则可以通过参数调整来实现快速求解同时也可以较为容易的进行隐私保护的分布式实现,从而达到不容易陷入局部最优的技术效果。
[0156]
本公开实施例实现了隐私保护的纵向联邦多变量分析,参与方不需要透露自己的数据联合完成特征分析,根据分析结果可以针对性地提取有效特征,提高多个特征提取的准确性和效率,为后续的模型训练提升训练速度、提高模型的准确率。
[0157]
本公开实施例主要涉及三个阶段:第一阶段是特征提取阶段,第一阶段包括步骤101至步骤102,用于提取出己方和参与方的目标特征;第二阶段是线性回归阶段,第二阶段包括步骤103至步骤105,应用了梯度下降算法进行线性回归;第三阶段是vif计算阶段,第三阶段包括步骤106,用于计算共线性量化因子,以根据共线性量化因子将对应的目标特征确定为待分析的最终特征,该最终特征可以用于后续模型训练。本公开实施例以两个参与
方a和b为例进行说明,参与方a和参与方b各自拥有一部分数据想要进行纵向联合建模,即参与方a有数据部分特征xa,参与方b有部分特征xb,在该应用场景,考虑参与方a需要进行特征提取的情况(参与方b进行特征提取的的方案是类似)。在线性回归阶段,采用梯度下降算法;由于最小二乘法需要矩阵求逆且设计多个方程的方程组求解,且部分操作例如求逆难以通过联邦方式实现,因此采用梯度下降算法,梯度下降则可以通过参数调整来实现快速求解同时也可以较为容易的进行隐私保护的分布式实现,从而达到不容易陷入局部最优的技术效果。具体地,三个阶段详细说明如下:
[0158]
在特征提取的第一阶段,参与方需要选取需要分析的特征,参与方可以先沟通特征的数量再选取相应的特征进行接下来的分析。在特征提取阶段,参与方a和参与方b首先需要选取需要分析的特征,参与方a和b双方可以先沟通特征的数量再选取相应的特征进行接下来的分析,具体地:参与方b的特征维度表示为f_dimb,参与方a的特征维度表示为f_dima。参与方a的原始数据表示为其中y为目标特征,n表示参与方a的原始特征数据的特征数量,t表示第t个特征,也就是说,目标特征y是参与方a的原始数据中第t个特征数据。从而,在特征提取的第一阶段,参与方a需要进行特征提取的目标特征为y,
[0159]
在线性回归的第二阶段,参与方b计算向前梯度fb=wbxb(也即己方的预测值),参与方a计算己方的预测值,也即己方的向前梯度fa=wax
a-y;参与方b在计算出己方的预测值,也即己方的向前梯度(fb=wbxb)之后,根据用己方的公钥pkb进行同态加密己方的预测值fb,得到己方的加密梯度encb(fb),并将己方的加密梯度encb(fb)发送给参与方a;同理,参与方a在计算出己方的预测值,也即己方的向前梯度(fa=wax
a-y)之后,根据用己方的公钥pka进行同态加密己方的fa,得到己方的加密梯度enca(fa),并将己方的加密梯度enca(fa)发送给参与方b。
[0160]
然后,参与方a和b各自根据其他参与方发送的加密梯度和己方的预测值计算出目标梯度,并互相发送己方计算出的目标梯度;具体地,参与方b根据参与方a发送的加密梯度enca(fa)和己方的预测值fb计算得到目标梯度enca(fa)+fb,并将目标梯度enca(fa)+fb发送给参与方a。同理,参与方a根据参与方b发送的加密梯度encb(fb)和己方的预测值fa计算得到目标梯度encb(fb)+fa,并将目标梯度encb(fb)+fa发送给参与方b。
[0161]
接着,参与方a和b各自根据其他参与方发送的目标梯度和己方的目标特征计算出加密目标梯度;具体地,参与方b根据参与方a发送的目标梯度encb(fb)+fa和己方的目标特征xb计算出加密目标梯度enca(gb)=(enca(fa)+fb)xb;同理,参与方a根据参与方b发送的目标梯度enca(fa)+fb和己方的目标特征xa计算出加密目标梯度encb(ga)=(fa+encb(fb))xa。其中,gb为参与方b的梯度,ga为参与方a的梯度。
[0162]
并且,为了提高数据安全性,防止参与方在任务的任何阶段猜测得到对方的信息,还需添加随机掩码,具体地:参与方b根据参与方a发送的公钥pka对预测值进行同态加密处理得到加密掩码rb,rb的维度与gb的维度相同;同理,参与方a根据参与方b发送的公钥pkb对预测值进行同态加密处理得到加密掩码ra,ra的维度与ga的维度相同。因此,参与方b最终计算得到的加密掩码梯度为enca(gb+rb),并发送给参与方a;参与方a最终计算得到的加密掩码梯度为encb(ga+ra),并发送给参与方b。
[0163]
然后,参与方b根据己方解密得到的目标梯度计算出第一损失同理,参与方a根据己方解密得到的目标梯度计算出第一损失
[0164]
参与方b对己方计算出的第一损失进行加密,得到第一加密损失并将第一加密损失发送给参与方a。同理,参与方a根据己方解密得到的目标梯度计算出第一损失并将第一加密损失发送给参与方b。
[0165]
参与方a根据参与方b方发送的加密梯度encb(fb),得到第二损失其中,加密梯度encb(fb)由预测值fb进行同态加密处理得到,第二损失不包括正则项。
[0166]
参与方a根据己方的第一损失参与方b发送的第一加密损失己方的第二损失计算出目标加密损失计算出目标加密损失
[0167]
为了防止过拟合,目标加密损失中添加加密正则项,即目标加密损失其中为添加的加密正则项。
[0168]
参与方b根据己方的私钥skb对目标加密损失encb(l)进行解密,得到第三损失;由于目标加密损失encb(l)中添加加密正则项因此,对目标加密损失encb(l)进行解密得到的第三损失包括了正则项因此其中,加密正则项由参与方a发送的正则项进行加密得到。为参与方a的权重的l2正则。
[0169]
参与方b根据己方的正则项己方得到的第三损失计算出目标损失为参与方b的权重的l2正则。
[0170]
该目标损失用于判断原始本地模型是否拟合。若根据目标损失判断原始本地模型未拟合,则重复执行步骤103至步骤105,以使参与方在本地进行梯度优化,更新原始本地模型的模型权重,直到原始本地模型满足要求,判断原始本地模型是否满足要求,可以通过设置拟合标记或者最大迭代次数,若拟合标记标记为true或者达到最大迭代次数,则说明原始本地模型满足要求;若拟合标记标记为false或者未达到最大迭代次数,则说明原始本地模型不满足要求。具体地,在一应用场景,参与方b判断原始本地模型是否拟合,发送目标损失l
total
和拟合标记(true或者false)给参与方a;参与方b和参与方a两方在本地进行梯度优化,更新原始本地模型的模型权重,直到拟合标记标记为true或者达到最大迭代次数,则说明原始本地模型满足要求。若原始本地模型满足要求,则执行步骤106,以计算共线性量化因子。
[0171]
在vif计算的第三阶段,参与方b计算的预测值为wbxb,wbxb为参与方b的部分预测值,参与方b将计算出的预测值wbxr发送参与方a,从而参与方a可以获取到参与方b发送的预测值wbxb;然后参与方a根据己方的预测值waxa和第二参与方发送的预测值wbxb计算拟合值y
′i=waxa+wbxb;接着,参与方a根据拟合值yi和真实值yi计算残差平方和并根据真实值yi、真实值yi的平均值计算总离差平方和计算总离差平方和最后,计算总离差平方和sst和残差平方和sse之间的比值并将比值作为参与方a的共线性量化因子vifa,即该应用场景中,当前y为参与方b的特征,则参与方b计算出vifa后需要发送给参与方a。
[0172]
本公开实施例,通过与第二参与方相互发送己方的原始特征数据;根据原始特征数据的特征维度从原始特征数据提取出目标特征;根据目标特征和原始本地模型的模型参数计算出原始本地模型的预测值;对预测值进行加密处理得到加密目标梯度,并与第二参与方相互发送己方的加密目标梯度;根据第二参与方发送的加密目标梯度计算目标损失;根据目标损失计算共线性量化因子;根据共线性量化因子将相应的目标特征确定为待分析的最终特征。并且,为了提高数据安全性,防止参与方在任务的任何阶段猜测得到对方的信息,在加密目标梯度中还添加随机掩码;此外,为了防止过拟合,目标加密损失中添加加密正则项。本公开实施例是一个新的隐私保护的联邦学习的多特征变量提取方案,在保护数据隐私的情况下实现联合的多变量分析,相比于单变量分析,考虑了特征变量与特征变量之间的关联,根据分析结果可以针对性地提取有效特征,提升训练速度,提高模型准确率。本公开实施例还采用梯度下降算法,从而可以通过参数调整来实现快速求解同时也可以较为容易的进行隐私保护的分布式实现,从而达到不容易陷入局部最优的技术效果。本公开实施例实现了隐私保护的纵向联邦多变量分析,参与方不需要透露自己的数据联合完成特征分析,根据分析结果可以针对性地提取有效特征,提高多个特征提取的准确性和效率,为后续的模型训练提升训练速度、提高模型的准确率。
[0173]
请参阅图6,本公开实施例还提供一种基于联邦学习的特征提取装置,可以实现上述基于联邦学习的特征提取方法,该装置包括:
[0174]
原始特征数据发送模块,用于与第二参与方相互发送己方的原始特征数据;
[0175]
目标特征提取模块,用于根据原始特征数据的特征维度从原始特征数据提取出目标特征;
[0176]
预测值计算模块,用于根据目标特征和原始本地模型的模型参数计算出原始本地模型的预测值;
[0177]
加密处理模块,用于对预测值进行加密处理得到加密目标梯度,并与第二参与方相互发送己方的加密目标梯度;
[0178]
损失计算模块,用于根据第二参与方发送的加密目标梯度计算目标损失;
[0179]
共线性量化因子计算模块,用于根据目标损失计算共线性量化因子;
[0180]
特征确定模块,用于根据共线性量化因子将相应的目标特征确定为待分析的最终特征。
[0181]
本公开实施例提供的基于联邦学习的特征提取装置的具体实施方式与上述基于
联邦学习的特征提取方法的具体实施例基本相同,在此不再赘述。
[0182]
本公开实施例还提供了一种电子设备,包括:
[0183]
至少一个存储器;
[0184]
至少一个处理器;
[0185]
至少一个程序;
[0186]
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现本公开实施上述的基于联邦学习的特征提取方法。该电子设备可以为包括手机、平板电脑、个人数字助理(personal digital assistant,简称pda)、车载电脑等任意智能终端。
[0187]
请参阅图7,图7示意了另一实施例的电子设备的硬件结构,电子设备包括:
[0188]
处理器601,可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
[0189]
存储器602,可以采用rom(readonlymemory,只读存储器)、静态存储设备、动态存储设备或者ram(randomaccessmemory,随机存取存储器)等形式实现。存储器602可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器602中,并由处理器601来调用执行本公开实施例的基于联邦学习的特征提取方法;
[0190]
输入/输出接口603,用于实现信息输入及输出;
[0191]
通信接口604,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;和
[0192]
总线605,在设备的各个组件(例如处理器601、存储器602、输入/输出接口603和通信接口604)之间传输信息;
[0193]
其中处理器601、存储器602、输入/输出接口603和通信接口604通过总线605实现彼此之间在设备内部的通信连接。
[0194]
本公开实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述基于联邦学习的特征提取方法。
[0195]
本公开实施例提出的基于联邦学习的特征提取方法、基于联邦学习的特征提取装置、电子设备、存储介质,与第二参与方相互发送己方的原始特征数据;根据原始特征数据的特征维度从原始特征数据提取出目标特征;根据目标特征和原始本地模型的模型参数计算出原始本地模型的预测值;对预测值进行加密处理得到加密目标梯度,并与第二参与方相互发送己方的加密目标梯度;根据第二参与方发送的加密目标梯度计算目标损失;根据目标损失计算共线性量化因子;根据共线性量化因子将相应的目标特征确定为待分析的最终特征。并且,为了提高数据安全性,防止参与方在任务的任何阶段猜测得到对方的信息,在加密目标梯度中还添加随机掩码;此外,为了防止过拟合,目标加密损失中添加加密正则项。本公开实施例是一个新的隐私保护的联邦学习的多特征变量提取方案,在保护数据隐私的情况下实现联合的多变量分析,相比于单变量分析,考虑了特征变量与特征变量之间的关联,根据分析结果可以针对性地提取有效特征,提升训练速度,提高模型准确率。本公开实施例还采用梯度下降算法,从而可以通过参数调整来实现快速求解同时也可以较为容
易的进行隐私保护的分布式实现,从而达到不容易陷入局部最优的技术效果。本公开实施例实现了隐私保护的纵向联邦多变量分析,参与方不需要透露自己的数据联合完成特征分析,根据分析结果可以针对性地提取有效特征,为后续的模型训练提升训练速度、提高模型的准确率。
[0196]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0197]
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
[0198]
本领域技术人员可以理解的是,图1-5中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
[0199]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0200]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
[0201]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0202]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0203]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通
信连接,可以是电性,机械或其它的形式。
[0204]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0205]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0206]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
[0207]
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1