结合同态加密和模型水印的人工智能模型联邦学习方法与流程

文档序号:33373256发布日期:2023-03-08 03:04阅读:87来源:国知局
结合同态加密和模型水印的人工智能模型联邦学习方法与流程

1.本发明涉及人工智能模型学习方法领域,具体是一种结合同态加密和模型水印的人工智能模型联邦学习方法。


背景技术:

2.在人工智能的时代,根据需求训练机器学习模型是一项至关重要的任务。建立高质量、高精度的模型需要从不同的数据源收集大量的训练数据。然而现实情况下,数据都分布在不同的组织中(医院、银行和各种研究院)。这些数据中往往包含许多涉及隐私的信息,随着公众对数据安全和隐私保护的日益关注,随意共享他人数据会触犯法律法规,数据共享将被严格限制。这就导致了需要进行数据共享和交换的组织、产业之间的数据信息难以共享,即“数据孤岛”问题,各种数据拥有者之间的数据共享成为一个亟待解决难题。
3.联邦学习为打破不同组织间的“数据孤岛”提供一个有效的解决方案,实现了跨组织的数据共享融合。在不直接共享数据的前提下,扩大样本量、增加数据维度为高精度人工智能模型的构建提供更丰富、高质量的大数据服务。联邦学习的本质是一种分布式机器学习框架,其在保障参与客户数据隐私安全的基础上,实现客户间的数据共享,联合训练模型。它的核心思想是在多个数据源联合参与模型训练时,避免原始数据直接共享的前提下,仅通过交换模型中间参数就能实现模型的来联合训练,即“数据可用不可见”的数据应用模式。
4.然而,一些研究表明,模型中间参数(梯度、权重和偏置)也会泄露客户的隐私,能够反推出用户的原始数据。这就导致了某些不法分子窃取用户传递给中央服务器的数据,从而泄露客户隐私信息。
5.并且在联邦学习框架下参与的客户存在不可信的可能。数据数量极少或者质量极差的不可信客户参与训练无疑导致整体模型精度的下降,同时某些不可信客户私自售卖与其它客户共同训练的模型,这些行为无疑侵害了其它可信客户的利益,降低全局模型的精度和训练速度。
6.中国专利cn114091103a《联邦学习模型的训练方法和调用方法以及联邦学习系统》公开了一种联邦学习模型的训练方法和调用方法以及联邦学习系统。该训练方法包括获取多个参与者中的每个参与者的水印化训练数据集;以及基于多个参与者中的每个参与者的水印化训练数据集进行联邦学习训练,以分别产生每个参与者的作为联邦学习模型的一部分碎片模型。
7.中国专利cn110601814b《联邦学习数据加密方法、装置、设备及可读存储介质》公开了一种联邦学习数据加密方法、装置。在联邦学习过程中,获取本次模型更新的加密参数;根据所述加密参数确定本地训练得到的模型参数更新的待加密部分和明文部分;采用预设加密算法对所述待加密部分进行加密得到所述模型参数更新的密文部分。
8.《联邦学习模型的训练方法和调用方法以及联邦学习系统》该发明并未明确指出所用的同态加密算法或秘密共享算法,且其模型水印的嵌入需要以每个参与者都具有水印
化训练数据为前提,具有一定的局限性。《联邦学习数据加密方法、装置、设备及可读存储介质》该发明协调设备需要获取本次模型更新的加密参数,以确定模型参数更新的待加密和明文部分,并将所述模型参数更新的密文部分和明文部分发送给协调设备。虽然在一定程度上降低了通信压力,但存在隐私泄露的风险。


技术实现要素:

9.为解决现有技术中存在的不足,本发明提供一种结合同态加密和模型水印的人工智能模型联邦学习方法,以解决现有技术人工智能模型联邦学习过程中存在的数据隐私安全性问题和客户不可信的问题。
10.本发明采用如下的技术方案。
11.结合同态加密和模型水印的人工智能模型联邦学习方法,包括以下步骤:
12.步骤1,由中央服务器对多个参与者进行编号和分组,并由中央服务器将目标人工智能模型、相应的编号发送给每个参与者,其中目标人工智能模型的损失函数为通过水印信息及水印对应的投影矩阵构建的正则化器正则化后的损失函数;
13.步骤2,每个参与者分别获取同态加密的密钥;
14.步骤3,每个参与者分别使用本地数据对步骤1获取的目标人工智能模型进行训练得到训练后的本地模型以及模型参数,训练时通过损失函数对模型参数进行更新,由此将水印嵌入至训练后得到的本地模型中;
15.步骤4,由每个参与者使用步骤2得到的密钥对模型参数进行加密;
16.步骤5,由每个参与者将加密后的模型参数发送至中央服务器,由中央服务器将属于同一组的各个参与者发送的模型参数进行聚合;
17.步骤6,中央服务器将聚合的模型参数分别发送给对应组的各个参与者,每个参与者对聚合的模型参数进行解密后,利用解密后的聚合的模型参数更新本地模型;
18.步骤7,重复步骤1-6,对目标人工智能模型进行多轮训练。
19.优选地,步骤1中,以每个参与者的编号作为水印信息得到水印,并基于水印和水印的投影矩阵构建正则化函数,然后通过正则化函数对目标人工智能模型原有的损失函数进行正则化,由此带有正则化器的损失函数在训练过程中对模型参数进行更新时能够将水印嵌入至模型中。
20.所述带有正则化器的损失函数e(ω)定义为:
21.e(ω)=eo(ω)+λer(ω)
22.其中e0(ω)是原始的损失函数,λ是可调参数,ω是模型参数向量,er(ω)是对参数ω施加限制的正则化项。本实施例中er(ω)使用二元交叉熵为正则化器定义损失函数:
[0023][0024]
其中bj为第j位需要嵌入的水印,yj为第j位已经嵌入的水印,将其定义为:
[0025]
yj=σ(∑ix
ji
ωi)
[0026]
其中x
ji
为中央服务器定义的服从标准正态分布的投影矩阵,j对应水印位置,i对应模型参数位置,ωi是为ω参数向量中第i个模型参数,σ(
·
)是sigmoid函数:
[0027][0028]
优选地,步骤2中,采用同态加密中的paillier加密方法来制作密钥。
[0029]
优选地,步骤5中,所述聚合过程如下:
[0030][0031]
其中,wi表示客户端ci本地训练的模型参数;[wi]表示对wi进行加密运算;表示第n组用户按数据量加权聚合的更新模型参数;表示客户端ci更新后的模型参数;表示paillier同态加密的加法同态性;d表示小组成员数据总量;di表示客户端ci的数据量,凭借paillier算法的加法同态性,中央服务器可以在模型参数不可见的情况下,对模型参数进行聚合。
[0032]
优选地,步骤7中,每轮训练时,由参与者感知前一轮训练后的本地模型的精度是否降低,若降低则由参与者向中央服务器申请终止此轮的训练,并由中央服务器登记中途终止训练的参与者的编号,以及对每个参与者中途终止训练的次数进行统计,当某个参与者中途终止的次数达到设定阈值时,由中央服务器将相应参与者逐出整个任务。
[0033]
本发明的有益效果在于,与现有技术相比,本发明结合同态加密和模型水印技术,利用paillier加密技术对参与者与中央服务器之间传递的模型参数进行加密,防止不法分子截获传递的信息,反推出客户的隐私信息,造成客户的隐私安全问题。同时分配参与的客户专属的编号,作为水印嵌入模型参数中,从而实现对客户不可信行为的监督。同时参与者无需准备水印化训练数据,由中央服务器对模型进行初始化后即可进行水印嵌入训练,过程相对简单,避免了高昂的通信代价。
附图说明
[0034]
图1是本发明的一种结合同态加密和模型水印的人工智能模型联邦学习方法联邦学习框架原理图;
[0035]
图2是本发明实施例中水印植入原理图;
[0036]
图3是本发明实施例中水印检测原理图;
[0037]
图4是本发明实施例中水印模型聚合原理图;
[0038]
图5是本发明实施例中模型参数聚合原理图;
[0039]
图6是本发明实施例中不同密钥长度与非同态加密模型精度对照图,其中(a)为未加密模型精度图,(b)为16bits密钥加密模型精度图,(c)为32bits密钥加密模型精度图,(d)为64bits密钥加密精度图;
[0040]
图7是本发明实施例中不同长度密钥对每轮加密解密时间的影响图;
[0041]
图8是本发明实施例中不同长度水印与无水印模型对照图,其中(a)为无水印模型精度图,(b)为64bits水印模型精度图,(c)为128bits水印精度图,(d)为256bits水印精度图;
[0042]
图9是本发明实施例中不同长度水印嵌入情况对比图,其中(a)为64bits水印相似度图,(b)为128bits水印相似度图,(c)为256bits水印相似度图;
[0043]
图10是本发明实施例中可调参数的变化对模型精度和水印相似度的影响对比图,
其中(a)为可调参数对客户端1模型精度和水印相似度的影响对比图,(b)为可调参数对客户端3模型精度和水印相似度的影响对比图;
[0044]
图11是本发明实施例中水印层参数数量变化对水印相似度的影响对比图,其中(a)为水印层参数数量变化对客户端1水印相似度的影响对比图,(b)为水印层参数数量变化对客户端2水印相似度的影响对比图,(c)为水印层参数数量变化对客户端3水印相似度的影响对比图。
具体实施方式
[0045]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述。本技术所描述的实施例仅仅是本发明一部分的实施例,而不是全部实施例。基于本发明精神,本领域普通技术人员在没有作出创造性劳动前提下所获得的有所其它实施例,都属于本发明的保护范围。
[0046]
结合同态加密和模型水印的人工智能模型联邦学习方法,如图1所示,包括以下步骤:
[0047]
步骤1,由中央服务器对多个参与者进行编号和分组,并由中央服务器将目标人工智能模型、相应的编号发送给每个参与者,其中目标人工智能模型的损失函数为通过水印信息及水印对应的投影矩阵构建的正则化器正则化后的损失函数。
[0048]
步骤1中,作为中心节点的中央服务器给每个参与联合训练的客户(即参与者)分别赋予不同的固定编号,并对所有参与者进行随机分组,每组中均包含若干个参与者,分组时可以均分,也可以不均分。
[0049]
中央服务器将共同的目标人工智能模型、相应参与者的编号送给每个参与者。其中目标人工智能模型中的某一层添加了特定的正则化函数,使得目标人工智能模型在训练的同时可将相应参与者的编号作为水印嵌入到这层的模型参数中。
[0050]
具体的,如图2所示,步骤1中,以每个参与者的编号作为水印信息得到水印,并基于水印和水印的投影矩阵构建正则化函数,然后通过正则化函数对目标人工智能模型原有的损失函数进行正则化,由此正则化后的损失函数在训练过程中对模型参数进行更新时能够将水印嵌入至模型中。水印生成植入过程如下:
[0051]
将带有正则化器的损失函数e(ω)定义为:
[0052]
e(ω)=e0(ω)+λer(ω)
ꢀꢀꢀ
(1)
[0053]
其中e0(ω)是原始的损失函数,λ是可调参数,ω是模型参数向量,er(ω)是对参数ω施加限制的正则化项。本实施例中er(ω)使用二元交叉熵为正则化器定义损失函数:
[0054][0055]
其中bj为第j位需要嵌入的水印,yj为第j位已经嵌入的水印,将其定义为:
[0056]
yj=σ(∑ix
ji
ωi)
ꢀꢀꢀꢀꢀ
(3)
[0057]
其中x
ji
为中央服务器定义的服从标准正态分布的投影矩阵,j对应水印位置,i对应模型参数位置,ωi是为ω参数向量中第i个模型参数,σ(
·
)是sigmoid函数:
[0058][0059]
公式(2)在随机梯度下降算法的优化下yj越来越接近bj,这就意味着嵌入到模型中的水印与需要嵌入的目标水印越来越相似。
[0060]
步骤2,通过可靠第三方的密钥管理中心制作同态加密的密钥,并由第三方密钥管理中心将密钥分别分发给各个参与者,其中同一组的各个参与者分发的密钥相同。
[0061]
步骤2中,采用同态加密中的paillier加密方法来制作密钥,过程如下:
[0062]
随机选取两个大质数p和q满足gcd(pq,(p-1)(q-1))=1,以保证两个质数长度相等,其中gcd(
·
)为取最大公约数。然后按照:
[0063]
n=p
·qꢀꢀꢀꢀ
(5)
[0064]
λ=lcm(p-1,q-1)
ꢀꢀꢀꢀꢀꢀꢀ
(6)
[0065]
计算密钥n和λ,其中lcm()表示求取最小公倍数。按照:
[0066]
μ=(l((n+1)
λ
modn2))-1
ꢀꢀꢀꢀ
(7)
[0067]
设计μ,其中l(x)按照:
[0068][0069]
设计。如此得到公钥为n,私钥(λ,μ)。
[0070]
步骤3,每个参与者分别使用本地数据对步骤1获取的目标人工智能模型进行训练得到训练后的本地模型以及模型参数,训练时通过损失函数对模型参数进行更新,由此将水印嵌入至训练后得到的本地模型中。
[0071]
步骤3中,各参与者开始进行本地训练,相较于传统联邦学习客户共享梯度数据,本发明中参与者共享的是模型参数(权重和偏置)。参与者在共享模型参数前可以进行多次本地训练,在一定程度上可对模型参数进行优化,减少数据共享的次数,降低联邦学习的通信成本。在参与者进行本地训练的同时,基于水印及其投影矩阵构建的正则化函数,模型训练过程中也逐渐将参与者对应编号的水印信息嵌入到目标人工智能模型的模型参数中。
[0072]
步骤4,为防止不法分子窃取客户共享的数据从而反推客户隐私信息,由每个参与者使用步骤2得到的密钥对模型参数进行加密。
[0073]
具体的,加密过程如下:
[0074]
c=(1+n
·
m)
·rn
mod n2ꢀꢀꢀ
(9)
[0075]
其中m是明文且满足m∈zn,c是密文,r是任意选取的随机数且满足
[0076]
步骤5,由每个参与者将加密后的模型参数发送至中央服务器,由中央服务器将属于同一组的各个参与者发送的模型参数进行聚合。
[0077]
步骤5中,中央服务器按照同一组中每个参与者发送的数据量占对应组所有参与者数据量的比重,对各个参与者发送的模型参数进行加权平均运算,由此将同一组中各个参与者的模型参数进行聚合。
[0078]
具体的,聚合过程如下:
[0079]
[0080]
其中,如图5所示wi表示客户端ci本地训练的模型参数;[wi]表示对wi进行加密运算;表示第n组用户按数据量加权聚合的更新模型参数;表示客户端ci更新后的模型参数;表示paillier同态加密的加法同态性;d表示小组成员数据总量;di表示客户端ci的数据量,凭借paillier算法的加法同态性,中央服务器可以在模型参数不可见的情况下,对模型参数进行聚合。
[0081]
步骤6,中央服务器将聚合的模型参数分别发送给对应组的各个参与者,每个参与者对聚合的模型参数进行解密后,利用解密后的聚合的模型参数更新本地模型,由此完成目标人工智能模型的一轮学习训练。
[0082]
步骤7,多次按顺序重复步骤1-6,由此对目标人工智能模型进行多轮训练。
[0083]
步骤7中进行新一轮的训练时,考虑到会有数据数量较少或质量较差的不可信客户的参与,从而影响整个训练任务的精度和速度,因此需要减少这些不可信客户的参与。故步骤7采用同组监督的方法降低不可信客户的影响,每轮训练时由参与者感知前一轮训练后的本地模型的精度是否降低,若降低则由参与者向中央服务器申请终止此轮的训练,并由中央服务器登记中途终止训练的参与者的编号,以及对每个参与者中途终止训练的次数进行统计,当某个参与者中途终止的次数达到设定阈值时,由中央服务器将相应参与者逐出整个任务。
[0084]
随着训练轮数的增加,参与者的本地模型精度也会不断提升,参与者在模型达到自己预期时可以向中央服务器申请退出训练过程,同时中央服务器也会对各参与者共享的模型精度等评估数据综合考虑结束本次训练任务。联合训练任务结束后,存在不可信参与者将模型私自售卖进行牟利,这无疑损害了其它参与者的利益。本发明通过提取模型训练过程中嵌入各参与者本地模型的编号水印,可以逆向追踪私售的参与者进行侵权惩罚。
[0085]
实施例1:
[0086]
本实施例使用了mnist数据集,其中包含了60000个训练样本和10000测试样本,选取了三个客户端,它们分别有10000、20000和30000个样本数据。本实施例将其按客户端1、客户端2和客户端3进行标记。此外,实验构造的神经网络模型是由784个单元的输入层,两个卷积层、两个全连接层和一个具有10个输出单元的输出层组成,共计816474个模型参数。
[0087]
本实施例首先进行了未加密联邦学习实验将其作为参照组,在实验中选用了3个客户端作为联邦学习的参与者。每次模型聚合前,各客户端都要进行20轮本地训练。本实施例根据三个客户端每次迭代的模型精度绘制出整个联邦学习过程各客户端的精度折线图。从图6中可以看出,未加密联邦学习实验的精度图符合一般联邦学习训练规律,样本量多的客户端模型收敛更快并且三个客户端的模型精度都趋于一致。
[0088]
然后,尝试在联邦学习过程中添加paillier加密算法,并且分别选取16位、32位和64位密钥长度进行实验。由前文加密正确性证明中可知加密的明文的绝对值需要处于之间,因此本实施例考虑三组实验的密钥长度分别将联邦学习聚合时的模型参数放大103、108和10
16
倍。从图6(b)可以看出三个客户端在模型聚合时出现了精度骤降趋势,然而图(c),图(d)中添加了paillier加密的模型精度折线图和图(a)未添加加密机制的对照组高度相似。因此推断出当密钥为16位并且参数放大103倍,在模型聚合时损失了参数精度,造成三个客户端更新模型后精度下降的问题。从三组图中可以看出在密钥足够长且参
数放大足够时,添加paillier加密算法的安全联邦学习能够达到一般联邦学习的效果。
[0089]
同时,本实施例记录下不同长度密钥进行加密时所需的时间。从图7中可以看出随着密钥长度的增加,加密所需的时间也在大幅度的增加。考虑到需要加密的模型参数的数量对加密时间的影响,本实施例修改了初始模型的结构,将原本816474个参数减少至409434个。从图7中可以看出参数数量对加密时间也有着直接影响。因此当投入使用时需要综合考虑密钥长度和模型参数对加密时间的影响,即综合考虑框架的安全性和模型复杂度以应对实际情况。
[0090]
考虑到在模型中添加水印可能对模型训练产生影响,于是在给联邦学习各参与者分配的初始化模型中选取用于添加水印的水印层,并加入正则化器,将可调参数λ设置为0.01。由图8的(a)、(b)、(c)、(d)四组图可以看出使用投影矩阵的方法为模型嵌入水印并不影响整体模型训练的进程,嵌入水印的模型训练过程与一般联邦学习训练过程几乎一致。事实证明将嵌入水印融入模型训练的过程中,可以在不影响模型精度的前提下保证水印的嵌入。
[0091]
随后,本实施例进行了不同长度的水印嵌入实验。图9中的(a)、(b)、(c)三组分别是嵌入64位、128位和256位长度水印时每轮迭代提取出的水印与需要嵌入的目标水印间相似度。从图中可以看出,64位水印嵌入情况最理想,client3的水印嵌入的速度和相似度也由于其它两个客户端。因此,可以知道水印长度和参与者的样本量都对水印嵌入有很大影响。同时,本实施例也进行了在不嵌入水印的前提下尝试提取水印的实验,从图9中可以看出其中有明显的差异。为了模拟出不嵌入水印也能提取出最相似的水印的情况,本实验例将水印序列都设为1,因此图中未嵌入水印的客户端提取出的水印相似度都在50%上下波动。由此可见,利用投影矩阵和正则化器嵌入水印的方法是可行的。
[0092]
虽然图9中可以明显区分出嵌入与未嵌入水印的客户端,但是当需要嵌入的水印长度增加时水印的嵌入情况变得不太理想。在嵌入256位水印时,样本量最多的client3最终提取的水印相似度仅仅为91%,样本量最少的client1的相似度只有80%。本实施例考虑到调整损失函数的可调参数λ可能对水印嵌入情况有影响,因此进行了关于可调参数λ的变化实验,如图10所示。从(a)可以看出,随着λ的逐渐变大,client1原本比较平滑的模型精度趋势图出现了波动,其提取出的水印相似度有明显的提高。从(b)中可以看出,随着λ的逐渐变大,client3模型精度趋势也出现了较小的波动,然而其提取出的水印相似度却是降低了。由此可以看出,对于样本量较少的参与者可以通过调整可调参数λ的方法改善水印嵌入情况,然而此方法对于样本量相对充足的参与者是无效的。
[0093]
最后,本实施例考虑到本实验的模型无法将长度为256位的水印嵌入其中,导致这三个客户端最终提取水印的相似度都不太理想。因此,本实施例调整了水印层的参数数量,从图11中可以看出将原本水印层2064个参数分别调整至9248个和18496个。(a)、(b)、(c)三组图分别是client1、client2和client3调整水印层参数数量后256位水印的嵌入情况,从图中可以看出三个客户端最终提取的水印相似都有明显的提升。同时,由三组参数数量为9248和18496的水印相似度趋势图可知过多的参数并不能对水印的嵌入起到积极的作用,反而使模型变得更复杂。
[0094]
综上所述,在满足一定的密钥长度和参数精度时,其实现效果等同于一般联邦学习。同时由实验记录的各密钥长度的加密时间可知,当密钥较长且模型参数较多时
paillier加密时间也比较长。因此需要综合考虑实际的安全需求、模型复杂度和时间限制,在平衡这三点的前提下基于paillier加密的安全联邦学习具有较好的可行性。根据实验模型水印的嵌入与水印层参数数量、参与者样本量、水印长度和可调参数息息相关。为了在实践中更好的嵌入水印首先需要考虑目标水印长度和水印参数数量之间的关系,然后调整样本量较少的参与者的可调参数以提高其水印嵌入的速度和效果。
[0095]
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
[0096]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0097]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0098]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0099]
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1