CN112819177A - 一种个性化的隐私保护学习方法、装置以及设备 - Google Patents
一种个性化的隐私保护学习方法、装置以及设备 Download PDFInfo
- Publication number
- CN112819177A CN112819177A CN202110106050.8A CN202110106050A CN112819177A CN 112819177 A CN112819177 A CN 112819177A CN 202110106050 A CN202110106050 A CN 202110106050A CN 112819177 A CN112819177 A CN 112819177A
- Authority
- CN
- China
- Prior art keywords
- training
- model
- local
- training result
- participating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例公开了一种个性化的隐私保护学习方法、装置以及设备。方案应用于第一参与端,包括:确定全局模型和第一参与端的局部模型;通过与多个第二参与端进行联邦学习,协同训练全局模型,得到第一训练结果;根据第一参与端的训练数据,训练第一参与端的局部模型,得到第二训练结果;根据第一训练结果和第二训练结果,训练第一参与端的局部模型。
Description
技术领域
本说明书涉及机器学习技术领域,尤其涉及一种个性化的隐私保护学习方法、装置以及设备。
背景技术
联邦学习是近年来逐步被推广以及应用的一种隐私保护机器学习方案,其能有效帮助多个机构在满足用户隐私保护、数据安全和法律法规的要求下,进行数据使用和机器学习建模。
联邦学习在原始数据不出域的情况下,中间方(比如,各参与方共同的选择的可信机构)利用多参与方之间同步训练的中间结果以及梯度信息,实现联合进行模型训练以及预测的目的,训练好的模型会同步给有需要的参与方使用。
基于此,对于参与方而言,在联邦学习的场景下,需要更适用于自己的学习方案。
发明内容
本说明书一个或多个实施例提供个性化的隐私保护学习方法、装置、设备以及存储介质,用以解决如下技术问题:对于参与方而言,在联邦学习的场景下,需要更适用于自己的学习方案。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
本说明书一个或多个实施例提供的一种个性化的隐私保护学习方法,应用于第一参与端,所述方法包括:
确定全局模型和所述第一参与端的局部模型;
通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
本说明书一个或多个实施例提供的一种个性化的隐私保护学习装置,应用于第一参与端,所述装置包括:
模型确定模块,确定全局模型和所述第一参与端的局部模型;
全局训练模块,通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
第一局部训练模块,根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
第二局部训练模块,根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
本说明书一个或多个实施例提供的一种个性化的隐私保护学习设备,应用于第一参与端,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
确定全局模型和所述第一参与端的局部模型;
通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,应用于第一参与端,所述介质存储有计算机可执行指令,所述计算机可执行指令设置为:
确定全局模型和所述第一参与端的局部模型;
通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:使得参与方除了可以使用统一的全局模型以外,还可以根据当前全局模型的协同训练结果,结合当前自己的局部模型的训练结果,进一步训练自己的局部模型,在这种情况下,既得到了其他参与方的数据支持,又无需完全迁就于所有参与方的综合情况,有助于得到更有可靠的而且又适用于自己的模型,同时,又能够实现对自己数据的隐私保护。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提供的一种个性化的隐私保护学习方法的流程示意图;
图2为本说明书一个或多个实施例提供的一种应用场景下,图1中方法的一种详细流程示意图;
图3为本说明书一个或多个实施例提供的一种个性化的隐私保护学习装置的结构示意图;
图4为本说明书一个或多个实施例提供的一种个性化的隐私保护学习设备的结构示意图。
具体实施方式
本说明书实施例提供个性化的隐私保护学习方法、装置、设备以及存储介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
联邦学***均了),从而最后得到的模型对于某些参与方自己而言,未必能够达到较好的效果。
在本说明书一个或多个实施例中,多个参与方提供自己的数据,协同训练全局模型,同时,其中的至少部分参与方又拥有自己的局部模型,在对全局模型迭代训练的过程中,也利用自己的数据对自己的局部模型进行训练,再结合对全局模型和局部模型阶段性的训练结果,对自己的局部模型进一步地训练(可以简称为:结合地训练),从而,相比于训练后的全局模型,训练后的局部模型强化了其所属参与方自己的数据的影响,而且又接受了其他参与方的数据一定程度的影响,因此,对于自己具有更为适配实用的预测能力,有助于得到更准确的预测结果。另外,训练全局模型使用的联邦学习方式还为参与方的数据提供了隐私保护。
下面基于这样的思路,具体进行说明。
图1为本说明书一个或多个实施例提供的一种个性化的隐私保护学习方法的流程示意图。每个参与方分别通过对应的软件和设备(称为参与端),提供自己的数据(比如,训练样本、梯度信息、业务场景信息等),进行协同训练,则该流程的执行主体包括需要训练其局部模型的参与端,将这其中的一个参与端称为第一参与端,将其他参与协同训练的参与端称为第二参与端,以作区分。除了参与方以外,通常还会有中间方,统筹各参与方提供的数据以实现协同训练,该流程的执行主体也可能包括中间方这端,中间方这端比如作为服务端、则各参与端作为客户端。
参与方的业务领域可以是多样的,比如,电子支付领域、电商领域、即时通讯领域、电子游戏领域、新闻门户网站领域等,参与方的业务领域并不影响方案的实施。
假定图1中的流程由第一参与端执行,该流程可以包括以下步骤:
S102:确定全局模型和所述第一参与端的局部模型。
在本说明书一个或多个实施例中,这里的“全局”可以包括全部参与端,全局模型将综合各参与端分别提供的数据进行训练,对于各参与端而言,全局模型是一致的。而“局部”可以指其中的某个参与端,全部参与端中的至少部分参与端分别具有自己的局部模型,局部模型作为其所属的参与端的个性化模型,将要进行个性化训练,对于各参与端而言,训练后的局部模型往往是不一致的。
需要说明的是,全局模型与局部模型初始时的结构未必一致。而在结构一致的情况下,便于训练时共享梯度信息,而无需适应于不同模型结构转换梯度信息再共享使用,有助于提高效率降低成本。为了便于实施,这里的结构是否一致可以选择一些较为典型的结构参数进行判定,比如,模型的层数、层中参数数量、输入输出维度、所使用的卷积核参数等,所选择的结构参数相同的话,则认为模型的结构一致,而未必要模型的全部结构一模一样才认为结构一致,可以根据实际需要来具体选择结构参数,如此有助于提高方案的适用性。
S104:通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果。
在本说明书一个或多个实施例中,联邦学习通常以服务端加多客户端的架构实施,比如,上述的中间方这端作为服务端、第一参与端、各第二参与端分别作为一个客户端,全局模型至少保存于服务端,各客户端向服务端提供隐私保护(比如,同态加密、加密并基于担保定向授权解密密钥等)后的训练样本或者梯度信息等共享数据,服务端综合得到的数据,执行协同训练过程中对全局模型进行更新的步骤。
若客户端上也保存有全局模型,则服务端可以将综合的梯度信息下发给客户端,由客户端自行更新本地的全局模型。从而有助于减轻服务端的压力,而且客户端能够更便利高效地使用全局模型。
在本说明书一个或多个实施例中,第一训练结果包括本次协同训练后的全局模型的至少部分模型权重参数(比如,神经网络节点上下层之间的权重),还可以包括神经网络节点的偏置参数等。基于此,第一训练结果比如为本次协同训练后的全局模型的模型权重参数集合,或者为本次协同训练后的全局模型本身。
S106:根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果。
类似地,第二训练结果比如为本次协同训练后的局部模型的模型权重参数集合,或者为本次协同训练后的局部模型本身。
在本说明书一个或多个实施例中,利用当前的全局模型对一些新的训练样本(比如,由第一参与端自己提供,这些新的训练样本可以是第一参与端的业务场景下一些更具特殊性的样本,对于第二参与端可能没有参考性)进行预测,得到预测失败的一些训练样本,再利用预测失败的训练样本训练所述第一参与端的局部模型,在这种情况下,对于全局模型可以不再利用该预测失败的训练样本进行训练,通过结合两者(全局模型、第一参与端的局部模型)后续训练结果,为后续的局部模型,来尝试获得对该预测失败的训练样本更准确的预测能力,或者尝试保持对该预测失败的训练样本准确的预测能力,如此,还有助于减少这类新的特殊训练样本对全局模型和第二参与端可能带来的不利影响。
S108:根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
在本说明书一个或多个实施例中,结合当前全局模型和局部模型的模型权重参数,更新该局部模型的模型权重参数。
训练过程是迭代进行的,会多次更新模型全局模型,则可以相应地结合上述两者的阶段性训练结果,及时地多次更新第一参与端的局部模型(迭代地执行步骤S104~S108),从而有助于防止局部模型过远地偏离全局情况,影响最终训练效果。
通过图1的方法,使得参与方除了可以使用统一的全局模型以外,还可以根据当前全局模型的协同训练结果,结合当前自己的局部模型的训练结果,进一步训练自己的局部模型,在这种情况下,既得到了其他参与方的数据支持,又无需完全迁就于所有参与方的综合情况,有助于得到更有可靠的而且又适用于自己的模型,同时,又能够实现对自己数据的隐私保护。
基于图1的方法,本说明书还提供了该方法的一些具体实施方案和扩展方案,下面继续进行说明。
在本说明书一个或多个实施例中,获取协同训练全局模型时使用的第一参与端的训练数据,根据获取的训练数据,训练第一参与端的局部模型。在这种情况下,对于当前的全局模型和局部模型,第一参与端自身的贡献是一致(都贡献了自己的同样的训练数据),区别主要在于当前的全局模型还有其他参与端做出了贡献,因此,在接下来结合地训练局部模型时,其他参与端的贡献相对更显著,有助于局部模型更有效地学习其他参与端提供的数据。
在实际应用中,往往会按照训练数据的批次(batch),多轮地迭代训练模型。基于此,以训练数据的批次或者轮次训练为准,相应地多次结合地训练第一参与端的局部模型。在这种方式下,每次依据的全局模型和局部模型是训练告一段落相对稳定的,便于统筹管理,降低成本,有助于抑制对全局模型训练过程的打扰。
例如,采用第一指定批次的训练数据,与多个采用第二指定批次的训练数据的第二参与端进行联邦学习,协同训练全局模型,得到第一训练结果,根据第一参与端的第三指定批次的训练数据(比如,具体为第一指定批次的训练数据、第二指定批次的训练数据,或者下一批次的训练数据等),训练第一参与端的局部模型,得到第二训练结果,再利根据该第一训练结果和第二训练结果,训练第一参与端的局部模型。这里提到的第一指定批次与第二指定批次比如是全局模型的同一轮训练所使用的训练数据,一轮训练中使用一个或者多个批次的训练数据。
结合地训练的具体迭代方式是多样的,未必要按照两者单独训练的轮次或者训练数据批次进行。不同的具体迭代方式能够带来不同的优势。比如,在对全局模型和局部模型分别阶段性地单独训练后,会验证当前两者的训练效果,用一些新的训练样本输入模型进行预测,看预测准确性如何,若两者的预测准确性之间的差距大于设定阈值,或者局部模型的预测准确性低于设定阈值,则结合地对局部模型进行训练,如此,有助于及时纠正局部模型。再比如,根据各参与端向全局模型提供的数据量,数据量越少,则更多次结合地训练参与端的局部模型,基于同样的思路,还可以依据当前的训练效果、信用程度、业务重要程度、协同成本等因素,决策相应的局部模型的训练次数和训练时刻。
在本说明书一个或多个实施例中,对全局模型和局部模型所使用的训练数据进一步地差异化选择,以提高针对性和训练效率。比如,利用一部分样本(比如,由第一参与端提供)在当前的全局模型上进行预测,对于预测失败的样本(往往是一些相对特殊,有难度的样本,属于“硬骨头”),在第一参与端的局部模型上进行训练,而对于预测成功的样本,则无需尝试在第一参与端的局部模型上进行训练,可以依靠后期与全局模型的结合直接学习到相应能力,如此,能够有效提高局部模型的训练效率,而且使得局部模型更专注于啃“硬骨头”。基于同样的思路,若是参与端或者服务端提供的是梯度信息,也相应地差异化使用。
在本说明书一个或多个实施例中,在结合地训练局部模型时,具体可以确定为第一训练结果和第二训练结果分别设置的权重系数,根据第一训练结果和第二训练结果分别的权重系数和包含的模型权重参数,更新第一参与端的局部模型的模型权重参数,从而达到结合训练效果,这种方式效率高,有助于避免诸如计算梯度等一些复杂的计算。
这里的权重参数可以是超参数,根据经验或者实际训练过程进行动态设置,以争取更好的结合训练效果。比如,根据第一训练结果和第二训练结果,验证全局模型和所述第一参与端的局部模型当前的预测效果,根据当前的预测效果,为第一训练结果和所述第二训练结果分别设置差异化的权重系数,若谁的预测效果差一些,则为其设置相对低的权重参数。
在本说明书一个或多个实施例中,阶段性训练(比如,一轮迭代训练作为一个阶段)当前的全局模型后,将其中一个参与端的局部模型发送给服务端,由服务端用该局部模型暂时替换当前的全局模型,作为暂时的全局模型,然后,进入对该全局模型的下一次阶段性训练,之后把该全局模型下发回该参与端,仍作为该参与端的局部模型在本地继续训练,然后换一个参与端的局部模型作为全局模型进行训练,依次类推,至少部分参与端的局部模型分别具有暂时作为全局模型的机会,比如,各参与端的的局部模型可以按照迭代训练的轮次,依次轮流作为全局模型,如此,局部模型得到了更有效的训练,
之后可以按照一定策略,从各局部模型中选择(比如,针对指定样本集,预测准确率最高的局部模型)一个作为最终的全局模型。当然,在迭代训练的过程中,也可以额外维护一个不受局部模型影响的单独的全局模型。
在本说明书一个或多个实施例中,部分参与端可以结合另一局部模型已经更新的结果,迭代更新自己的局部模型,如此,这些参与端本次更新无需直接使用全局模型,减轻了服务端的负担。
在本说明书一个或多个实施例中,参与端选择样本集发送给当前的全局模型进行验证,若验证效果达到预期,则利用全局模型更新自己的局部模型,否则,暂时不更新,等待全局模型下次迭代更新后再尝试。如此,参与方能够适应于自己的实际需求,有偏好地用状态合适的全局模型校正自己的局部模型,而有助于避免反而被全局模型带偏。进一步地,在全局模型训练的前期,模型本身的效果可能还不太好,在这种情况下,验证效果可能也不理想,为了帮助局部模型顺利地借助全局模型更新,可以获取当前的全局模型能够正确识别的样本,然后提取该图像的一些特征(比如,背景、纹理、明暗、颜色等),然后根据这些特征,对自己选择的样本集进行处理,使得样本集中的样本一定程度地向这些能够正确识别的样本趋于更相似,然后再用当前的全局模型来验证处理后的样本集。如此,提高了对当前的全局模型的容忍度,而且也有助于更合理地反映全局模型当前的已有能力(该能力可能尚不充分,但不应给参与端上述的决策带来一些不合理的偏见)。
在本说明书一个或多个实施例中,在协同训练时,在各方允许的前提下,第一参与端合法地主动提供少量标注错误的样本用于协同训练(第二参与端也可以这么做),后续在训练第一参与端的局部模型时,根据该标注错误的样本,进行训练补偿,比如,可以用对应的标注正确的样本对局部模型进行更新,比如,该标注错误的样本会导致参数向大变化,则在训练第一参与端的局部模型时,主动将参数适当地向小调整,以减少第一训练结果给局部模型引入的误差。这种方式增加了第一参与端提供的样本的准确性的不确定性,一定样本泄露,增加了被非法利用的难度。基于同样的思路,比如,每轮可以随机选择第一参与端或者某些第二参与端,由选中参与端主动提供少量标注错误的样本用于协同训练,如此,有助于保护各参与端的隐私安全。
进一步地,若协同训练时,参与端并非直接提供样本,而是提供相应的梯度信息,也是可以应用上一段的方案的,相当于部分参与端主动给提供的梯度信息引入少量误差,以提高自己的隐私性。
在本说明书一个或多个实施例中,上面提到了参与端主动提供标注错误的样本,除了具有上面的特殊用途之外,在实际应用中,也可能有参与端恶意地提供标注错误的样本(比如,提供的样本大量甚至全部都是标注错误的样本),以误导协同训练过程,为了防御这种情况,可以采用依赖于参与端随机监督的方案。具体地,协同端收集到各参与端提供的样本或者梯度信息后,针对各参与端采用差异化的整合方式,比如,假定各参与端提供的是梯度信息,对于某个参与端(一个第一参与端或者一个第二参与端),将该参与端提供的梯度信息(有可能是标注错误的样本对应产生的,在这种情况下,称之为错误梯度信息)放大,其他参与端提供的梯度信息则不变,基于此进行梯度信息整合,将整合后的梯度信息(可以作为上述的第一训练结果)随机下发给一个其他的参与端(也可以按照其他策略下发,比如,按照预定顺序,下发给下一个参与端等等,为了提高可靠性,可以多轮持续给相同的参与端下发,之后再动态调整被下发的参与端),若其他参与端发现异常(比如,发现模型的更新方向明显有偏差甚至反向等)则上报协同端,协同端根据下发的对应关系,进一步核实确定是否有恶意的参与端,类似地,对于各参与端都可以进行这样的处理,从而,各参与端得到的整合后的梯度信息都是差异化的(分别基于其他一个参与端放大的梯度信息整合得到),当有参与端以错误梯度信息作恶时(尤其是作恶程度较高时),容易被对应下发其放大梯度的参与端发现,从而,起到了相互监督的作用,有助于防御协同训练时参与端作恶。
在本说明书一个或多个实施例中,判断第一训练结果与第二训练结果对应的样本预测准确性之间的差距,若差距小于一定程度(在这种情况下,可以反映第一参与端与其他第二参与端提供的***训练数据一致性相对好),则在本轮或者后续若干轮再协同训练全局模型时,第一参与端可以仅提供当前自己识别错误的样本(这部分样本相对而言,可能更能反映出第一参与端区别与第二参与端的一些独特的业务特征和需求,因此,可以重点训练),或者相应的梯度信息,用于协同训练,而若差距未小于一定程度(在这种情况下,可以反映第一参与端与其他第二参与端提供的***训练数据一致性可能不太好),则在本轮或者后续若干轮再协同训练全局模型时,第一参与端可以提供更全面的样本,或者相应的梯度信息,用于协同训练,以提高自己对于全局模型的影响力。
根据上面的说明,本说明书一个或多个实施例提供的一种应用场景下,图1中方法的一种详细流程,如图2所示。在该应用场景下,采用服务端加作为客户端的N个参与端的架构,全局模型部署于服务端,N个参与端协同训练全局模型,全局模型与至少部分参与端的局部模型结构一致。
图2中的流程可以包括以下步骤:
S202:服务端初始化一个全局模型。
S204:N个参与端分别为自己初始化一个局部模型。
S206:N个参与端分别选择自己的一个批次的数据,作为协同数据,通过联邦学习来协同更新全局模型。
S208:N个参与端分别利用传统的机器学习算法,更新自己的局部模型。
S210:以参与端i为例(代表每个参与端),参与端i从服务端获取当前的全局模型。
S212:参与端i更新自己的局部模型LM_i=alpha*GM+(1-alpha)*LM_i。
其中,alpha、1-alpha表示模型的权重系数(模型之间的权重),LM_i表示参与端i的局部模型的模型权重参数,GM表示全局模型的模型权重参数(模型内部的权重)。若该公式对应的全局模型与局部模型结构一致,则有助于取得更可靠的更新效果,否则,可以对该公式进行改进,比如,将GM和/或LM_i转换为相互之间更匹配的参数,之后再结合起来用于更新局部模型。
S214:迭代更新全局模型和局部模型,再根据更新结果继续结合地迭代更新局部模型,直至模型收敛。
在图2的流程中,参与端最终能够得到训练完成的全局模型和自己的局部模型。
基于同样的思路,本说明书一个或多个实施例还提供了上述方法对应的装置和设备,如图3、图4所示。
图3为本说明书一个或多个实施例提供的一种个性化的隐私保护学习装置的结构示意图,虚线方框表示可选的模块,所述装置应用于第一参与端,所述装置包括:
模型确定模块302,确定全局模型和所述第一参与端的局部模型;
全局训练模块304,通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
第一局部训练模块306,根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
第二局部训练模块308,根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
可选地,所述第一局部训练模块306,获取所述协同训练使用的所述第一参与端的训练数据;
根据获取的所述训练数据,训练所述第一参与端的局部模型。
可选地,所述全局训练模块304,采用第一指定批次的训练数据,与多个采用第二指定批次的训练数据的第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
所述第一局部训练模块306,根据所述第一参与端的第三指定批次的训练数据,训练所述第一参与端的局部模型,得到第二训练结果。
可选地,所述第二局部训练模块308,确定为所述第一训练结果和所述第二训练结果分别设置的权重系数;
根据所述第一训练结果和所述第二训练结果分别的所述权重系数和包含的模型权重参数,更新所述第一参与端的局部模型的模型权重参数。
可选地,所述装置还包括:
权重系数设定模块310,在所述第二局部训练模块308确定为所述第一训练结果和所述第二训练结果分别设置的权重系数之前,根据所述第一训练结果和所述第二训练结果,验证所述全局模型和所述第一参与端的局部模型当前的预测效果;
根据所述当前的预测效果,为所述第一训练结果和所述第二训练结果分别设置差异化的权重系数。
可选地,所述全局模型部署于服务端;
所述全局训练模块304,从所述服务端获取所述协同训练后的全局模型;
根据所述协同训练后的全局模型,获取所述模型权重参数。
可选地,所述全局模型与所述第一参与端的局部模型结构一致。
图4为本说明书一个或多个实施例提供的一种个性化的隐私保护学习设备的结构示意图,所述设备应用于第一参与端,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
确定全局模型和所述第一参与端的局部模型;
通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
处理器与存储器之间可以通过总线通信,设备还可以包括与其他设备通信的输入/输出接口。
基于同样的思路,本说明书一个或多个实施例提供了一种非易失性计算机存储介质,应用于第一参与端,所述介质存储有计算机可执行指令,所述计算机可执行指令设置为:
确定全局模型和所述第一参与端的局部模型;
通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、***、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (15)
1.一种个性化的隐私保护学习方法,应用于第一参与端,所述方法包括:
确定全局模型和所述第一参与端的局部模型;
通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
2.如权利要求1所述的方法,所述根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,具体包括:
获取所述协同训练使用的所述第一参与端的训练数据;
根据获取的所述训练数据,训练所述第一参与端的局部模型。
3.如权利要求1所述的方法,所述通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果,具体包括:
采用第一指定批次的训练数据,与多个采用第二指定批次的训练数据的第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
所述根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果,具体包括:
根据所述第一参与端的第三指定批次的训练数据,训练所述第一参与端的局部模型,得到第二训练结果。
4.如权利要求1所述的方法,所述根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型,具体包括:
确定为所述第一训练结果和所述第二训练结果分别设置的权重系数;
根据所述第一训练结果和所述第二训练结果分别的所述权重系数和包含的模型权重参数,更新所述第一参与端的局部模型的模型权重参数。
5.如权利要求4所述的方法,所述确定为所述第一训练结果和所述第二训练结果分别设置的权重系数之前,所述方法还包括:
根据所述第一训练结果和所述第二训练结果,验证所述全局模型和所述第一参与端的局部模型当前的预测效果;
根据所述当前的预测效果,为所述第一训练结果和所述第二训练结果分别设置差异化的权重系数。
6.如权利要求4所述的方法,所述全局模型部署于服务端;
所述得到第一训练结果,具体包括:
从所述服务端获取所述协同训练后的全局模型;
根据所述协同训练后的全局模型,获取所述模型权重参数。
7.如权利要求1~6任一项所述的方法,所述全局模型与所述第一参与端的局部模型结构一致。
8.一种个性化的隐私保护学习装置,应用于第一参与端,所述装置包括:
模型确定模块,确定全局模型和所述第一参与端的局部模型;
全局训练模块,通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
第一局部训练模块,根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
第二局部训练模块,根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
9.如权利要求8所述的装置,所述第一局部训练模块,获取所述协同训练使用的所述第一参与端的训练数据;
根据获取的所述训练数据,训练所述第一参与端的局部模型。
10.如权利要求8所述的装置,所述全局训练模块,采用第一指定批次的训练数据,与多个采用第二指定批次的训练数据的第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
所述第一局部训练模块,根据所述第一参与端的第三指定批次的训练数据,训练所述第一参与端的局部模型,得到第二训练结果。
11.如权利要求8所述的装置,所述第二局部训练模块,确定为所述第一训练结果和所述第二训练结果分别设置的权重系数;
根据所述第一训练结果和所述第二训练结果分别的所述权重系数和包含的模型权重参数,更新所述第一参与端的局部模型的模型权重参数。
12.如权利要求11所述的装置,还包括:
权重系数设定模块,在所述第二局部训练模块确定为所述第一训练结果和所述第二训练结果分别设置的权重系数之前,根据所述第一训练结果和所述第二训练结果,验证所述全局模型和所述第一参与端的局部模型当前的预测效果;
根据所述当前的预测效果,为所述第一训练结果和所述第二训练结果分别设置差异化的权重系数。
13.如权利要求11所述的装置,所述全局模型部署于服务端;
所述全局训练模块,从所述服务端获取所述协同训练后的全局模型;
根据所述协同训练后的全局模型,获取所述模型权重参数。
14.如权利要求8~13任一项所述的装置,所述全局模型与所述第一参与端的局部模型结构一致。
15.一种个性化的隐私保护学习设备,应用于第一参与端,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
确定全局模型和所述第一参与端的局部模型;
通过与多个第二参与端进行联邦学习,协同训练所述全局模型,得到第一训练结果;
根据所述第一参与端的训练数据,训练所述第一参与端的局部模型,得到第二训练结果;
根据所述第一训练结果和所述第二训练结果,训练所述第一参与端的局部模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110106050.8A CN112819177B (zh) | 2021-01-26 | 2021-01-26 | 一种个性化的隐私保护学习方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110106050.8A CN112819177B (zh) | 2021-01-26 | 2021-01-26 | 一种个性化的隐私保护学习方法、装置以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112819177A true CN112819177A (zh) | 2021-05-18 |
CN112819177B CN112819177B (zh) | 2022-07-12 |
Family
ID=75859419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110106050.8A Active CN112819177B (zh) | 2021-01-26 | 2021-01-26 | 一种个性化的隐私保护学习方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112819177B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1975863A1 (en) * | 2007-03-30 | 2008-10-01 | Sap Ag | Tracing of collaborative workflows |
US20160063393A1 (en) * | 2014-08-26 | 2016-03-03 | Google Inc. | Localized learning from a global model |
CN109871702A (zh) * | 2019-02-18 | 2019-06-11 | 深圳前海微众银行股份有限公司 | 联邦模型训练方法、***、设备及计算机可读存储介质 |
US20190340534A1 (en) * | 2016-09-26 | 2019-11-07 | Google Llc | Communication Efficient Federated Learning |
US20200027022A1 (en) * | 2019-09-27 | 2020-01-23 | Satish Chandra Jha | Distributed machine learning in an information centric network |
CN111190487A (zh) * | 2019-12-30 | 2020-05-22 | 中国科学院计算技术研究所 | 一种建立数据分析模型的方法 |
CN111291897A (zh) * | 2020-02-10 | 2020-06-16 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111310938A (zh) * | 2020-02-10 | 2020-06-19 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111460511A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联邦学习、虚拟对象分配方法和装置 |
US20200285980A1 (en) * | 2019-03-08 | 2020-09-10 | NEC Laboratories Europe GmbH | System for secure federated learning |
CN111798002A (zh) * | 2020-05-31 | 2020-10-20 | 北京科技大学 | 一种局部模型占比可控的联邦学习全局模型聚合方法 |
CN111865815A (zh) * | 2020-09-24 | 2020-10-30 | 中国人民解放军国防科技大学 | 一种基于联邦学习的流量分类方法及*** |
CN111915294A (zh) * | 2020-06-03 | 2020-11-10 | 东南大学 | 一种基于区块链技术的安全、隐私保护、可交易的分布式机器学习框架 |
WO2020229684A1 (en) * | 2019-05-16 | 2020-11-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concepts for federated learning, client classification and training data similarity measurement |
CN112015749A (zh) * | 2020-10-27 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护更新业务模型的方法、装置及*** |
CN112257873A (zh) * | 2020-11-11 | 2021-01-22 | 深圳前海微众银行股份有限公司 | 机器学习模型的训练方法、装置、***、设备及存储介质 |
-
2021
- 2021-01-26 CN CN202110106050.8A patent/CN112819177B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1975863A1 (en) * | 2007-03-30 | 2008-10-01 | Sap Ag | Tracing of collaborative workflows |
US20160063393A1 (en) * | 2014-08-26 | 2016-03-03 | Google Inc. | Localized learning from a global model |
US20190340534A1 (en) * | 2016-09-26 | 2019-11-07 | Google Llc | Communication Efficient Federated Learning |
CN109871702A (zh) * | 2019-02-18 | 2019-06-11 | 深圳前海微众银行股份有限公司 | 联邦模型训练方法、***、设备及计算机可读存储介质 |
US20200285980A1 (en) * | 2019-03-08 | 2020-09-10 | NEC Laboratories Europe GmbH | System for secure federated learning |
WO2020229684A1 (en) * | 2019-05-16 | 2020-11-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concepts for federated learning, client classification and training data similarity measurement |
US20200027022A1 (en) * | 2019-09-27 | 2020-01-23 | Satish Chandra Jha | Distributed machine learning in an information centric network |
CN111190487A (zh) * | 2019-12-30 | 2020-05-22 | 中国科学院计算技术研究所 | 一种建立数据分析模型的方法 |
CN111291897A (zh) * | 2020-02-10 | 2020-06-16 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111310938A (zh) * | 2020-02-10 | 2020-06-19 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111460511A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联邦学习、虚拟对象分配方法和装置 |
CN111798002A (zh) * | 2020-05-31 | 2020-10-20 | 北京科技大学 | 一种局部模型占比可控的联邦学习全局模型聚合方法 |
CN111915294A (zh) * | 2020-06-03 | 2020-11-10 | 东南大学 | 一种基于区块链技术的安全、隐私保护、可交易的分布式机器学习框架 |
CN111865815A (zh) * | 2020-09-24 | 2020-10-30 | 中国人民解放军国防科技大学 | 一种基于联邦学习的流量分类方法及*** |
CN112015749A (zh) * | 2020-10-27 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护更新业务模型的方法、装置及*** |
CN112257873A (zh) * | 2020-11-11 | 2021-01-22 | 深圳前海微众银行股份有限公司 | 机器学习模型的训练方法、装置、***、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
MOHAMMAD MOHAMMADI AMIRI等: "Federated Learning With Quantized Global Model Updates", 《COMPUTER SCIENCE》 * |
贾延延等: "联邦学习模型在涉密数据处理中的应用", 《中国电子科学研究院学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112819177B (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457912B (zh) | 数据处理方法、装置和电子设备 | |
CN113297396A (zh) | 基于联邦学习的模型参数更新方法、装置及设备 | |
CN112398838B (zh) | 一种基于隐私保护的认证方法、装置、设备及存储介质 | |
CN110874650B (zh) | 融合公域数据和私有数据的联盟学习方法、装置和*** | |
US20210065011A1 (en) | Training and application method apparatus system and stroage medium of neural network model | |
CN111325444B (zh) | 一种风险防控决策方法、装置、***及设备 | |
CN111401273A (zh) | 一种用于隐私保护的用户特征提取***及设备 | |
US20220335685A1 (en) | Method and apparatus for point cloud completion, network training method and apparatus, device, and storage medium | |
CN117576264B (zh) | 图像生成方法、装置、设备及介质 | |
CN112200132A (zh) | 一种基于隐私保护的数据处理方法、装置及设备 | |
CN114819614A (zh) | 数据处理方法、装置、***及设备 | |
CN116402108A (zh) | 一种模型训练及图数据的处理方法、装置、介质及设备 | |
CN112836829B (zh) | 一种个性化的隐私保护学习方法、装置以及设备 | |
CN116912923B (zh) | 一种图像识别模型训练方法和装置 | |
WO2022096944A1 (en) | Method and apparatus for point cloud completion, network training method and apparatus, device, and storage medium | |
CN113885834A (zh) | 一种基于区块链的随机数生成方法、投票方法及设备 | |
CN113221717A (zh) | 一种基于隐私保护的模型构建方法、装置及设备 | |
CN112819177B (zh) | 一种个性化的隐私保护学习方法、装置以及设备 | |
CN116720214A (zh) | 一种用于隐私保护的模型训练方法及装置 | |
CN114638998A (zh) | 模型更新方法、装置、***及设备 | |
CN116629381A (zh) | 一种联邦迁移学习方法、装置、存储介质及电子设备 | |
CN116975347A (zh) | 图像生成模型训练方法及相关装置 | |
CN115545720A (zh) | 一种模型训练的方法、业务风控的方法及装置 | |
CN115600090A (zh) | 一种模型的所有权验证方法、装置、存储介质及电子设备 | |
CN117972436B (zh) | 大语言模型的训练方法、训练装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |