一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于联邦字典学习数据传输方法、装置、设备及存储介质与流程

2022-11-12 20:04:59 来源:中国专利 TAG:


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.图1为本技术提供的一种云计算集中式数据处理的流程示意图;图2为本技术提供的一种传统联邦学习的流程示意图;图3为本技术提供的一种基于联邦字典学习数据传输方法的应用环境示意图;图4为本技术提供的一种基于联邦字典学习数据传输方法的流程示意图;图5为本技术提供的一种字典构建方法的流程示意图;图6为本技术提供的一种重复迭代全局字典的流程示意图;图7为本技术提供的一种基于联邦字典学习数据传输装置的组成示意图;图8为本技术提供的另一种基于联邦字典学习数据传输装置的组成示意图;图9为本技术提供的一种电子设备的组成示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于
本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.需要说明的是,本技术实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
32.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
33.如背景技术的描述,传统的云计算集中式数据处理的方式,如图1所示,各个终端设备将各自的本地数据上传值云端(云服务器或者中心化服务器),云端进行共享模型的训练以及更新。终端设备需要使用模型时,可以向云端发送服务请求,以得到新模型的返回结果。这种方式难以应用于物联网的大数据量的场景,并且训练模型需要终端设备上传的本地数据中,可能包括有用户隐私信息,集中上传至云端存储用户隐私泄露的风险。因而存在“数据孤岛”的问题。
34.为解决上述“数据孤岛”的问题,相关技术人员提出联邦学习。联邦学习是旨在让物联网场景下所有终端设备在不共享各自本地数据的情况下,协同训练机器学习模型。如图2所示,联邦学习的特点是数据不出本地,所有模型的训练都是在终端设备本地进行。本地模型训练完毕后将得到的模型参数或者下降梯度,经过加密上传至云端,云端模型接收到所有上传的加密后的模型参数或者下降梯度后,结合所有的参数值进行统一的聚合,比如通过加权平均得到新的模型参数或者下降梯度,然后将新的结果再重新下发到本地,本地更新得到一个全新的模型。但是,上述联邦学习传输模型参数或者下降梯度的方式,仍然可能间接导致数据隐私的泄露。
35.基于此,本技术实施例提供一种基于联邦字典学习数据传输方法,该方法通过字典学习的方式对本地数据进行训练,传输时仅仅传输字典索引数据,可以有效防止数据隐私的泄漏。
36.本技术提供的基于联邦字典学习数据传输方法,可以应用于如图3所示的应用环境中。如图3所示,该应用环境可以包括:中心化服务器301和多个终端设备302。中心化服务器301与多个终端设备302连接。其中,中心化服务器301可以应用于服务器中。其中,这里所说的服务器可以是多个服务器组成的服务器集群、或者单个服务器、又或者计算机。中心化服务器301具体可以是服务器中的处理器或处理芯片等。本技术实施例对上述服务器的具体设备形态不作限制。图3中以中心化服务器301应用于单个服务器为例示出。
37.上述终端设备302可以应用于手机终端、服务器、计算机等电子设备中。本技术实施例对终端设备302的具体设备形态也不作限制,图3中以终端设备302为手机终端为例示出。另外,本技术实施例对终端设备302的数量也不作具体限制,本技术实施例以四个手机终端为例示出。
38.需要说明的是,上述终端设备中嵌入有执行本方案的轻量化客户端,后续的终端设备执行的例如发送数据请求的过程,或者执行字典学习的过程,具体为通过该轻量化客户端来执行实现的。该轻量化客户端可以采用java或者c 等编程语言进行编写设计,以安
装在需要执行本方案的终端设备上。为便于描述,下文均直接描述为终端设备直接执行消息的接收或者发送,以及模型训练的过程。
39.作为一种示例,上述应用环境可以是水位检测红外只能终端数据传输场景,在不同的监测点设置终端设备,每个终端设备的本地数据,即终端设备对水位检测的原始数据,例如液位、温度数据。另外,本地数据还可以包括终端设备的信息,例如设备标识、设备地址等。任意终端设备可以通过采用本技术提供的数据传输方法,获取水位监测原始数据,以训练水位监测数据传输字典编截码模型。该模型可以针对水位监测原始数据,在终端侧进行数据字典化编码,实现数据传输过程中的隐私保护,在使用侧(中心化服务器、数据需求方终端)进行字典化数据解码,得到可用数据用于数据统计分析。
40.在另一种示例中,上述应用环境可以是工业金属电解过程监控数据传输场景。工业金属电解(例如工业铝电解)是一个非常复杂的工业过程,其中大量的过程参数由传感器检测,数据量已经到了太字节(terabyte,tb)量级,并且数据具有高度非线性的特点。工业金属电解需要保证工业环境中没有强干扰和大时滞,因此当前数据传输基本采用明文传输,若使用传统加密传输的方案其性能开销大,无法保证数据传输效率,而且会导致工业金属电解质量与产量下降。最主要的是,工业生产过程产生的数据涉及商业机密,一旦泄露将造成重大财产损失,所以数据安全传输需求同样重要。因此,该场景下终端设备侧(即传感器侧)可以通过采用本技术提供的数据传输方法,传输本地数据(例如电解质水平、冰晶石比例、电池电压电流等工业金属电解原始数据)。任意终端设备可以通过采用本技术提供的数据传输方法,获取工业金属电解原始数据,以训练工业金属电解过程监控数据传输字典编截码模型。该模型可以针对工业金属电解过程监控原始数据,在终端侧进行数据字典化编码,实现数据传输过程中的隐私保护,在使用侧(中心化服务器、数据需求方终端)进行字典化数据解码,得到可用数据用于数据统计分析。
41.图4为本技术实施例提供的一种基于联邦字典学习数据传输方法的流程示意图。示例性的,本技术提供的基于联邦字典学习数据传输方法,可以应用于图3所示的应用环境中。
42.如图4所示,本技术提供的基于联邦字典学习数据传输方法具体可以包括以下步骤:s401、数据需求设备向第一终端设备发送数据请求。
43.其中,数据请求用于请求第一终端设备的本地数据。
44.在一些实施例中,数据需求设备在需要使用第一终端设备的本地数据进行机器学习模型训练时,可以向第一终端设备发送数据请求,以请求第一终端设备的本地数据。其中,第一终端设备可以为上述图3中任一终端设备。
45.s402、第一终端设备向数据需求设备发送本地数据在本地字典中对应的字典索引数据。
46.其中,本地数据可以为第一终端设备中存储的原始业务数据(例如第一终端设备自身产生的业务数据)。本地字典用于表征第一终端设备的本地数据经字典学习后的训练数据。
47.由于本地数据是原始业务数据,可能包括有用户隐私的信息。字典学习,是总结出某个知识点的关键信息。结合实际生活来说,字典是前辈们学习总结的精华,当我们需要学
习新的知识点时,不需要学习这个知识点所有的内容,只需要参考前辈们总结的精华,即字典,从字典中查询关键信息即可达到学习这个知识点的需求。字典学习即为上述思想的数字实现过程,将本地数据中用于机器模型训练的关键特征提取出来,而关键特征中隐私部分被切割,可能仅保留隐私部分的个别字符,因此使用字典学习对本地数据进行处理的方式,仅仅保留本地数据的关键特征,可以在一定程度上保证数据泄露不被泄露。因此,本方案采用字典学习的方式,对本地数据进行降维,得到用于表征本地数据经字典学习后的训练数据的本地字典。
48.在一些实施例中,第一终端设备接收数据需求设备发送的数据请求后,响应于该请求,第一终端设备可以向数据需求设备发送本地数据在本地字典中对应的字典索引数据,该字典索引数据可以用于后续获取第一终端设备的训练数据。本地字典和字典索引数据获取的具体过程参见下述字典构建流程,在此不作具体赘述。
49.在另一些实施例中,在数据需求设备为第二终端设备的情况下,第一终端设备还向第二终端设备发送第一终端设备的本地字典,用于第二终端设备后续从该本地字典中获取第一终端设备的训练数据。其中,第二终端设备可以为图3中任一不同于第一终端设备的终端设备,也可以为其他的,在图3所示的应用环境之外的终端设备(未在图3中示出),本技术实施例对此不作具体限制。
50.s403、数据需求设备基于字典索引数据,从第一字典中获取训练数据。
51.在一些实施例中,数据需求设备在接收字典索引数据后,可以基于该字典索引数据,从第一字典中获取训练数据。其中,该第一字典用于表征数据需求设备需要使用的训练数据。
52.示例性的,在数据需求设备为第二终端设备的情况下,上述第一字典为第一终端设备的本地字典。第二终端设备还接收来自第一终端设备发送的本地字典。进一步的,第二终端设备基于字典索引数据,从第一终端设备的本地字典中获取第一终端设备的训练数据。具体的,本地字典为矩阵,字典索引数据也为矩阵,使用字典索引数据从本地字典中获取训练数据的过程为本地字典与字典索引数据进行矩阵相乘,得到代表训练数据的矩阵,以进行后续的机器模型训练流程。
53.需要说明的是,在第二终端设备首次向第一终端设备请求数据时,第一终端设备向第二终端设备发送自身的本地字典,以使得第二终端设备存储第一终端设备的本地字典。第二终端设备在后续请求使用第一终端设备的本地数据时,第一终端设备可以根据数据请求,仅向第二终端设备发送用于本次数据请求对应的字典索引数据,以使得第二终端设备基于该字典索引数据从自身存储的第一终端设备的本地字典中,查询获取相应的训练数据进行机器模型训练。这种仅传输字典索引数据的方式,可以有效地节约网络带宽资源的占用。
54.示例性的,在数据需求设备为中心化服务器情况下,上述第一字典为事先存储在中心化服务器中的全局字典。该全局字典为中心化服务器对其连接的所有终端设备的本地数据进行全局字典学习得到。中心化服务器在接收到第一终端设备发送的字典索引数据后,可以基于该字典索引数据,从全局字典中获取第一终端设备的训练数据。具体的,从全局字典中获取数据的过程也为上述矩阵相乘的方式,使用全局字典与来自第一终端设备的字典索引数据相乘,即可得到第一终端设备的训练数据。
55.需要说明的是,上述示例以中心化服务器需求第一终端设备的本地数据为例进行说明。该第一终端设备可以是一个或多个,例如中心化服务器需求与其连接的所有终端设备的本地数据,则可以针对所有终端设备中每一个终端设备,均执行上述s401-s403,以获得所有终端设备发送的字典索引数据。针对每个字典索引数据,从全局字典中依次获取全部终端设备的训练数据以进行机器学习模型训练。
56.上述s401-s403是对本技术实施例提供的基于联邦字典学习数据传输方法进行的说明。可以理解,上述数据传输方法的实现是建立在第一终端设备中事先存储有本地字典,中心化服务器事先存储有全局字典的前提下。通过字典的传输和查询,在保证数据的私密性和安全性的前提下实现各个设备间数据的交互。
57.以下将结合具体实施例详细阐述本技术实施例提供的本地字典和全局字典的构建方法,如图5所示,具体包括如下s501-s504。该构建方法可以在图4所示的流程之前执行,也可以周期性的自动执行。
58.s501、第一终端设备对所有本地数据进行字典学习,得到本地稀疏字典。
59.其中,本地稀疏字典用于表示本地数据的特征。
60.在一些实施例中,第一终端设备可以对所有本地数据进行字典学习,以进行本地数据的特征提取,得到本地稀疏字典。
61.需要说明的是,第一终端设备是任一终端设备。在本地字典和全局字典构建的过程中,与中心化服务器连接的每个终端设备,均作为第一终端设备执行s501。
62.具体的字典学习过程如下:如前所述,字典学习也可称之为稀疏编码,是一种以稀疏方式从原始数据(即上述本地数据)中提取特征的强大方法。从矩阵分解角度,看字典学习过程。给定原始数据的样本数据集y,y的每一列表示一个样本,字典学习的目标是把y矩阵分解成d、x矩阵,可表示为y≈d
·
x,d即为字典,d的每一列称为为原子。x称之为编码矢量、特征、系数矩阵、稀疏编码等,即为前述实施例中的字典索引数据。上述公式要满足约束条件,x尽可能稀疏。所谓稀疏意思是x在尽可能简单的情况下,尽可能还原全部的原始数据的特征。一般来说,字典学习的任务就是学习一个过完备的字典,即原始数据只需字典中的几个原子就能很好地表示出来。
63.具体采用k-svd 字典学习方法进行本地稀疏字典训练。k-svd是从k-means 方法中概况出来的,k-means方法使用迭代和交替学习方法来优化当前字典中数据的表示,并更新字典的原子以更好地适应数据。在具体训练过程中,字典的原子的更新与稀疏编码的更新可以相结合,从而使得数据加速收敛,得到过完备字典。字典更新阶段和稀疏编码阶段交替进行,直到字典d和稀疏编码x都不再发生变化,即达到收敛。
64.稀疏编码阶段:1、随机初始化字典d。从样本数据集y中随机挑选k个样本,作为d的原子,并且初始化稀疏编码x为0矩阵。2、固定字典,求取每个样本的稀疏编码。编码过程采用如下公式:用如下公式:其中,ε是重构误差所允许的最大值,表示零阶范数,它表示向量中不为0的数
字的个数。
65.字典更新阶段:在字典更新阶段,稀疏编码x是固定的,目标是更新字典d。然而,不可能一次更新整个字典,因此在此过程中,一次只更新字典d的一个原子(即d的一列)。具体的,更新字典d的第k个原子的公式如下所示:其中,dj表示字典d中第j列原子,表示稀疏编码x中第k行向量,ek为误差矩阵。
66.每个终端设备均重复进行上述稀疏编码阶段和字典更新阶段,直到字典d和稀疏编码x都不再发生变化,得到各自的本地稀疏字典。
67.需要说明的是,传统隐私数据传输采用的是加密传输方法,性能开销较大。与此同时传统的联邦学习是在各终端设备上进行模型训练,得到模型参数进行加密传输至中心化服务器进行加权平均,再传输回各终端设备进行模型更新。这种方案同样需要终端设备对模型参数进行加密解密,使得终端设备的性能开销较大。而本技术实施例中采用字典学习的方式,传输的是字典索引数据,不需要加密解密的过程,因而可以节省加解密的性能开销。而且,字典模型较为简洁,对终端设备的性能门槛要求较低,适用于海量异构大规模物联网的场景。
68.s502、第一终端设备向中心化服务器发送本地稀疏字典。
69.在一些实施例中,第一终端设备在得到本地稀疏字典后,可以向中心化服务器发送本地稀疏字典,以后续使得中心化服务器对本地稀疏字典进行整合,进一步提高字典表示的准确性。
70.针对与中心化服务器连接的所有终端设备,均可以执行上述s501-s502,以使得中心化服务器可以获取与其连接的所有终端设备发送的本地稀疏字典。其中,一个终端设备发送的本地稀疏字典用于表示一个终端设备的本地数据的特征。
71.s503、中心化服务器使用每个终端设备的影响因子,分别对每个终端设备的本地稀疏字典进行修正后,联合所有修正后的本地稀疏字典,得到全局字典。
72.中心化服务器在获取与其连接的所有终端设备发送的本地稀疏字典,可以联合所有的本地稀疏字典,以得到表征所有终端设备的本地数据的全局字典。
73.在一些实施例中,中心化服务器可以使用每个终端设备的影响因子,分别对每个终端设备的本地稀疏字典进行修正后,联合所有修正后的本地稀疏字典,得到全局字典。其中,一个终端设备的影响因子为该终端设备的数据量与所有终端设备的数据总量的比值。需要说明的是,每个终端设备可以周期性的自主上报自身的数据量至中心化服务器,中心化服务器会统计每个终端设备的数据量以及所有终端设备的数据总量并存储。
74.上述修正联合的方法可以称为联合字典平均策略,即中心化服务器可以基于所有的本地稀疏字典,采用联合词典平均策略,将所有终端设备的本地稀疏字典整合为全局字典。
75.示例性的,联合词典平均策略的表达式如下:
其中,表示全局字典,表示第i个终端设备的本地稀疏字典。αi表示第i个终端设备的本地节点字典的影响因子,其计算公式为,i=1,2

n,其中为第i个终端设备的本地数据数量,q为所有终端设备的数据总量,表示为。表示第i个终端设备的本地稀疏字典对应的置换矩阵。在字典学习的过程中,存在数据中词组的顺序不同的情况。例如这样一对数据,“咳嗽-发热-感冒”与“发热-咳嗽-感冒”,实质上是表示相同意思的一对数据。但是由于数据中词组顺序不同,导致两组数据的矩阵表示存在不同,在字典学习的过程中徒增计算量,而且导致训练后的字典不够稀疏。因此,上述全局字典的计算公式中通过联合各终端设备的本地稀疏字典,增加置换矩阵的方式对这些重复性的数据进行处理,以获得更为完备的,更能简洁准确表示关键知识点的字典。
76.另外,上述公式中t表示迭代次数。在联合得到全局字典的过程中,中心化服务器可以指定迭代次数,重复迭代全局字典。具体流程如图6所示,每个节点(即上述终端设备)通过本地字典学习得到本地稀疏字典。进一步的,对齐所有的本地稀疏字典计算置换矩阵,采用上述联合词典平均策略的表达式联合字典得到第t次迭代的全局字典。判断t是否等于预设的迭代次数m。若满足,则生成m次迭代后的最终全局字典,可表示为。若不满足,则将全局字典按节点的顺序进行按列分割后,重复执行计算置换矩阵和联合字典的操作,以重复进行迭代的过程。最终全局字典可以是经过一次迭代获取,也可以是经过多次迭代获取,迭代的次数越多,得到的全局字典的模型越好。迭代的次数可以根据实际场景应用而定,本技术实施例对具体迭代的次数不作限制。
77.s504、中心化服务器向与其连接的所有终端设备分别发送本地字典。
78.其中,向一个终端设备发送的本地字典,为全局字典中与该一个终端设备对应的部分。
79.在一些实施例中,中心化服务器在得到全局字典后,可以基于全局字典,向与其连接的每个终端设备分别发送各自的本地字典。具体的,在上述实施例中,全局字典是由所有的终端设备按照终端设备的标识顺序进行累加得到的。进一步的,中心化服务器可以对全局字典,按照终端设备的标识顺序进行按列分割,得到每个终端设备对应的本地字典,并分别向每个终端设备发送本地字典,使得每个终端设备获得经全局字典更新后的本地字典并存储,用于后续的图4中的数据传输过程。
80.需要说明的是,上述字典学习的过程s501-s504,可以在数据传输过程(即上述s401-s403)之前完成,也可以在第一终端设备接收到数据请求之后,即s401之后完成。也可以在指定周期内重复执行,以不断更新本地字典和全局字典,更为切合实际情况下本地数据不断新增的情况。本技术实施例对字典学习过程的具体执行的时机不作限制。
81.例如,以下结合具体的实例数据对字典学习在本方案中起到的保证隐私不泄露的功能进行说明。本地数据可以是代表智能终端设备信息、运行工况和监测数据等,以水位检测红外智能终端的数据为例,一组本地数据可以表示为:“设备标识(identity,id):
deviceid_001,终端互联网协议地址(internet protocol address,ip):192.168.0.1,用户:zhangsan,权限:admin,液位:9厘米,温度:20摄氏度”。对该本地隐私学习经过字典学习后,该组数据的稀疏字典可以表示为[1,1,3,1,9,20],其对应的字典索引可以表示为[100,105,117,97,119,116]。其中,字典索引中每个数字表示字母对应的ascii码,分别对应设备、ip、用户、权限、液位和温度的英文中某一个关键字母。稀疏字典和字典索引的结合使用,还原得到的训练数据可以表示为“d:1,i:1,u:3,a:1,w:9,t:20”。可以看出,上述训练数据相比较原始的本地隐私数据,在还原关键特征以满足机器模型训练的同时,还对隐私数据进行了一定程度的降维,从而避免本地隐私数据的泄露。
[0082]
以下对本技术实施例提供的基于联邦字典学习数据传输方法进行综合说明。首先设计构建可嵌入物联网终端设备内的轻量化客户端,进行针对各终端设备的本地数据(或称为本地隐私业务数据)的本地字典学习,生成表征本地隐私业务数据的特征的本地稀疏字典。各个终端客户端将训练生成的本地稀疏字典发送至中心化服务器,中心化服务器基于各个终端的本地稀疏字典进行全局字典学习,生成代表全局隐私业务数据的全局字典,中心化服务器向每个终端客户端发送全局字典对应各终端的部分,终端客户端根据全局字典更新本地稀疏字典为本地字典。物联网终端在向中心化服务器传输隐私业务数据时,通过终端客户端进行,并且不传输原始隐私业务数据,只传输字典索引数据,中心化服务器基于全局字典和字典索引数据进行字典查询,以还原数据后进行使用。在物联网终端之间进行隐私业务数据传输时,数据需求方终端首先向目标终端(即前述实施例中的第一终端设备)发送本地字典数据获取请求,目标终端接到请求后首先将自身经过全局训练更新后的本地字典发送给需求方终端(即前述实施例中的数据需求设备),之后目标终端向需求方终端传输隐私数据,同样仅传输字典索引数据,需求方终端根据获取的目标终端本地字典,进行数据还原使用。
[0083]
上述实施例提供的技术方案至少带来以下有益效果,本技术实施例提供的基于联邦字典学习数据传输方法,在数据需求设备需要第一终端设备的本地数据时,第一终端设备向数据需求设备发送字典索引数据,数据需求设备可以基于字典索引数据获取本地数据经字典学习后的训练数据。本方案提供的数据传输方法,是对本地数据进行字典学习,过滤本地数据中隐私信息得到训练数据,以便于在传输数据时,仅传输用于查询训练数据的字典索引数据,以防止数据隐私泄露的问题。
[0084]
进一步的,本方案数据传输主要传输字典索引数据,而不是传统联邦学习中将模型参数进行加密后传输,可以有效节省传统联邦学习中各设备加解密数据的性能开销。另外,字典学习模型十分完善,且模型简洁,在保证数据的私密性和安全性的同时,还可以大大减小对终端设备的性能门槛要求,可以应用于大部分的终端设备。而且,该方案传输的字典是经过数据降维后的关键信息,在进行数据传输时对网络带宽资源的需求很小,可以适用于海量异构大规模的物联网场景。
[0085]
在示例性的实施例中,本技术还提供一种基于联邦字典学习数据传输装置,可以应用于上述第一终端设备。该基于联邦字典学习数据传输装置可以包括一个或多个功能模块,用于实现以上方法实施例的基于联邦字典学习数据传输方法。
[0086]
例如,图7为本技术实施例提供的一种基于联邦字典学习数据传输装置的组成示意图。如图7所示,该基于联邦字典学习数据传输装置包括:接收模块701和发送模块702。接
收模块701和发送模块702之间互相连接。
[0087]
接收模块701用于,接收数据需求设备发送的数据请求;数据请求用于请求第一终端设备的本地数据。
[0088]
发送模块702用于,向数据需求设备发送本地数据在本地字典中对应的字典索引数据;本地字典用于表征第一终端设备的本地数据经字典学习后的训练数据。
[0089]
在一些实施例中,数据需求设备为第二终端设备。发送模块702还用于,向第二终端设备发送本地字典。
[0090]
在一些实施例中,上述装置还包括:处理模块703。
[0091]
处理模块703用于,对所有本地数据进行字典学习,得到本地稀疏字典;本地稀疏字典用于表示本地数据的特征;发送模块702还用于,向中心化服务器发送本地稀疏字典。
[0092]
接收模块701还用于,接收中心化服务器发送的本地字典,本地字典为中心化服务器对其连接的所有终端设备的本地稀疏字典进行全局字典学习得到的全局字典中,与第一终端设备对应的部分。
[0093]
在一些实施例中,字典索引数据为稀疏编码。
[0094]
在示例性的实施例中,本技术还提供另一种基于联邦字典学习数据传输装置,可以应用于上述数据需求设备。该基于联邦字典学习数据传输装置可以包括一个或多个功能模块,用于实现以上方法实施例的基于联邦字典学习数据传输方法。
[0095]
例如,图8为本技术实施例提供的另一种基于联邦字典学习数据传输装置的组成示意图。如图8所示,该基于联邦字典学习数据传输装置包括:发送模块801、接收模块802和获取模块803。发送模块801、接收模块802和获取模块803之间互相连接。
[0096]
发送模块801用于,向第一终端设备发送数据请求;数据请求用于请求第一终端设备的本地数据。
[0097]
接收模块802用于,接收第一终端设备发送的本地数据在第一字典中对应的字典索引数据。
[0098]
获取模块803用于,基于字典索引数据,从第一字典中获取训练数据;训练数据为本地数据经字典学习后的数据。
[0099]
在一些实施例中,数据需求设备为第二终端设备;第一字典为第一终端设备的本地字典;本地字典用于表征第一终端设备的本地数据经字典学习后的训练数据;接收模块802还用于,接收第一终端设备发送的本地字典。
[0100]
在一些实施例中,数据需求设备是中心化服务器,第一字典为全局字典;全局字典为中心化服务器对其连接的所有终端设备的本地数据进行全局字典学习得到。
[0101]
在一些实施例中,上述装置还包括:处理模块804。
[0102]
获取模块803还用于,获取与其连接的所有终端设备发送的本地稀疏字典;一个终端设备发送的本地稀疏字典用于表示一个终端设备的本地数据的特征。
[0103]
处理模块804用于,使用每个终端设备的影响因子,分别对每个终端设备的本地稀疏字典进行修正后,联合所有修正后的本地稀疏字典,得到全局字典。一个终端设备的影响因子为该终端设备的数据量与所有终端设备的数据总量的比值;发送模块801还用于,向所有终端设备分别发送本地字典;向一个终端设备发送的
本地字典,为全局字典中与一个终端设备对应的部分。
[0104]
在采用硬件的形式实现上述集成的模块的功能的情况下,本技术实施例提供了一种电子设备可能的结构示意图。该电子设备可以是上述基于联邦字典学习数据传输装置。如图9所示,该电子设备900包括:处理器902,通信接口903,总线904。可选的,该电子设备还可以包括存储器901。
[0105]
处理器902,可以是实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器902可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器902也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0106]
通信接口903,用于与其他设备通过通信网络连接。该通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,wlan)等。
[0107]
存储器901,可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0108]
作为一种可能的实现方式,存储器901可以独立于处理器902存在,存储器901可以通过总线904与处理器902相连接,用于存储指令或者程序代码。处理器902调用并执行存储器901中存储的指令或程序代码时,能够实现本技术实施例提供的基于联邦字典学习数据传输方法。
[0109]
另一种可能的实现方式中,存储器901也可以和处理器902集成在一起。
[0110]
总线904,可以是扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0111]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将基于联邦字典学习数据传输装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0112]
本技术实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机指令来指示相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的或内存。上述计算机可读存储介质也可以是上述基于联邦字典学习数据传输装置的外部存储设备,例如上述基于联邦字典学习数据传输装置上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述基于联邦字典学习数据传输装置的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储
上述计算机程序以及上述基于联邦字典学习数据传输装置所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0113]
本技术实施例还提供一种计算机程序产品,该计算机产品包含计算机程序,当该计算机程序产品在计算机上运行时,使得该计算机执行上述实施例中所提供的任一项基于联邦字典学习数据传输方法。
[0114]
尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0115]
尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
[0116]
以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献