CN116011552A - 模型训练方法、推理方法、装置、系统、设备及存储介质 - Google Patents
模型训练方法、推理方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116011552A CN116011552A CN202310297930.7A CN202310297930A CN116011552A CN 116011552 A CN116011552 A CN 116011552A CN 202310297930 A CN202310297930 A CN 202310297930A CN 116011552 A CN116011552 A CN 116011552A
- Authority
- CN
- China
- Prior art keywords
- model
- ciphertext
- data
- layer
- training
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 260
- 238000000034 method Methods 0.000 title claims abstract description 168
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000013528 artificial neural network Methods 0.000 claims description 47
- 238000005457 optimization Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 abstract description 21
- 238000013135 deep learning Methods 0.000 abstract description 16
- 238000013136 deep learning model Methods 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 230000006854 communication Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000004821 distillation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例涉及深度学习技术领域,公开了一种模型训练方法、推理方法、装置、系统、设备及存储介质,其中,模型训练方法包括:获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;基于所述第一组模型参数将所述目标学习模型部署到模型部署平台。可以保证计算过程数据和模型参数安全性,从而可以在训练过程中杜绝了数据偷取攻击的可能性,也减少了存储模型参数的系统中受到攻击被盗取模型参数的风险。
Description
技术领域
本申请涉及但不限于深度学习技术领域,尤其涉及一种模型训练方法、推理方法、装置、系统、设备及存储介质。
背景技术
深度学习是当前比较流行的机器学习范式。深度学习模型已应用于大量生产性机器学习系统中。
深度学习模型的训练与部署通常有如下过程:数据采集;数据存储与预处理;模型训练;模型优化与部署准备;针对部署平台的模型部署。深度学习的模型训练和推理过程中会面临数据被盗取的风险。另外,训练得到的模型参数数据在部署平台上也会面临模型盗取的风险。因此目前的深度学习数据平台面临较多数据风险。
传统对称加密技术只能对训练推理数据以及模型参数数据进行加密,由于通过对通信过程和存储系统进行加密,不能保证模型训练、模型推理、模型优化等涉及到数据计算的过程中数据的安全性。
发明内容
有鉴于此,本申请实施例至少提供一种模型训练方法、推理方法、装置、系统、设备及存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种模型训练方法,所述方法包括:
获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;基于所述第一组模型参数将所述目标学习模型部署到模型部署平台。
第二方面,本申请实施例提供一种模型推理方法,所述方法包括:
接收用户的推理请求;其中,所述推理请求携带利用第二公钥加密的密文推理数据;通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果;其中,所述目标学习模型为利用第一方面所述的模型训练方法得到的。
第三方面,本申请实施例提供一种模型训练装置,所述装置包括:
获取模块,用于获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;
训练模块,用于利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;
部署模块,用于基于所述第一组模型参数将所述目标学习模型部署到模型部署平台。
第四方面,本申请实施例提供一种模型推理装置,所述装置包括:
接收模块,用于接收用户的推理请求;其中,所述推理请求携带利用第二公钥加密的密文推理数据;
推理模块,用于通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果;其中,所述目标学习模型为利用第一方面所述的模型训练方法得到的。
第五方面,本申请实施例提供一种模型服务部署系统,包括数据存储中心和模型部署平台,其中:
所述数据存储中心,用于获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;基于所述第一组模型参数将所述目标学习模型部署到所述模型部署平台;
所述模型部署平台,用于接收用户的推理请求;其中,所述推理请求携带利用第二公钥加密的密文推理数据;通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果。
第六方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面方法中的部分或全部步骤;或者实现上述第二方面方法中的部分或全部步骤。
第七方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面方法中的部分或全部步骤;或者实现上述第二方面方法中的部分或全部步骤。
本申请实施例中,首先获取经过同态加密的密文训练数据;然后在数据存储中心利用密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;最后基于所述第一组模型参数将所述目标学习模型部署到模型部署平台;如此,通过使用同态加密技术对数据采集过程、模型训练过程等计算过程进行加密,基于密文空间标识的第一组模型参数将目标学习模型部署到模型部署平台。这样,可以保证计算过程数据和模型参数安全性,从而可以在训练过程中杜绝了数据偷取攻击的可能性,也减少了存储模型参数的系统中受到攻击被盗取模型参数的风险。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为相关技术提供的深度学习模型的训练与部署流程示意图;
图2为相关技术提供的加密后的深度学习训练与部署系统的示意图;
图3为本申请实施例提供的模型训练方法的可选的流程示意图;
图4为本申请实施例提供的模型推理方法的可选的流程示意图;
图5本申请实施例提供的模型服务部署系统的示意图;
图6A为本申请实施例提供的深度学习模型的训练与部署方法的示意图;
图6B为本申请实施例提供的深度学习模型的训练与部署方法的逻辑流程图;
图7为本申请实施例提供的一种模型训练装置的组成结构示意图;
图8为本申请实施例提供的一种模型推理装置的组成结构示意图;
图9为本申请实施例提供的一种计算机设备的硬件实体示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本申请的技术方案进一步详细阐述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请的目的,不是旨在限制本申请。
在对本申请实施例进行进一步详细说明之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
深度学习是当前比较流行的机器学习范式。深度学习模型已应用于大量生产性机器学习系统中。深度学习模型的训练与部署流程通常有如下步骤:数据采集;数据存储与预处理;模型训练;模型优化与部署准备;针对部署平台的模型部署。图1为相关技术提供的深度学习模型的训练与部署流程示意图,如图1所示,数据采集11部分采集的明文数据101存储到数据存储中心12,模型训练13部分再从数据存储中心12中获取明文数据101进行训练,得到明文模型参数102,通过模型优化14部分再对上一过程训练得到的模型进行参数优化,得到新的明文模型参数103并存储到云/边缘模型部署平台15,后续利用用户发送的明文推理数据104可以进行模型推理。该方案在数据采集11到数据存储中心12的数据传输过程中和从数据存储中心12获取明文数据101的过程中存在隐私数据盗取的风险,同时云/边缘模型部署平台15上也面临模型资产盗取和隐私数据盗取的风险。
需要说明的是,在整个生产过程中有两类重要的数据类型:一类为训练与推理数据,通常为图片/文字/语音等结构化或非结构化数据;另一类为模型参数数据,通常为一组由浮点数或整形数表示张量,记录了深度学习模型所需的模型参数。在整个生产过程中,这两类数据均使用明文存储和交换。
深度学习模型训练和部署流程引起涉及到需要第一类数据在训练过程中会面临数据盗取的风险。攻击者可能拦截从数据采集模块到数据存储中心的数据传输或直接从数据存储中心盗取数据。第一类数据在部署平台进行模型推理的过程中也面临数据盗取的风险。第二类数据在部署平台上会面临模型盗取的风险。攻击者可能从部署平台上盗取具有商业价值的模型参数数据。因此目前的深度学习数据平台面临较多数据风险。
深度学习系统常常需要处理包含个人信息,隐私信息或涉密信息的训练以及推理数据,同时具有商业价值的模型数据也具有较高的保护价值。因此,数据安全保护是深度学习训练和部署系统的重要功能。目前主要的保护方案为对第一类数据和第二类数据进行加密。加密使用传统对称加密算法,如AES-256bit, AES-128 bit等。加密算法通常使用1份保密存储的密钥对上述的第一类数据和第二类数据进行加密,加密后的深度学习训练与部署系统如图2所示,数据采集21部分采集到原始数据后,通过对称加密算法的加密模块22对原始数据进行加密,得到密文数据201并存储到数据存储中心23中,在需要使用时再从数据存储中心23中获取到密文数据201送入到对称加密算法的解密模块24进行解密,利用解密后的数据在模型训练25部分进行训练,得到明文模型参数202,通过模型优化26部分进行参数优化后再通过对称加密算法的加密模块27进行加密,从而将加密的优化模型参数通过加密模型传输28部分传输到明文空间,经过对称加密算法的解密模块29解密得到明文的优化模型参数并存储到云/边缘模型部署平台30中,以备后续接收到用户的明文推理数据203时进行模型推理。也就是说,存储数据的过程和数据传输的过程均在密文空间,其它过程在明文空间。
该方案可以对第一类数据和第二类数据进行加密。但传统加密技术只能对通信过程和存储系统进行加密,因此只能消除第一类数据传输到数据存储中心或部署平台时被拦截的数据盗取风险和第二类数据从数据存储中心到部署平台传输时的模型盗取风险。在涉及到计算的过程中,图2所示系统仍需将所有数据进行解密,将第一类数据和第二类数据返还到明文空间使用。这些过程有1)模型训练;2)模型优化;3)模型推理。模型训练和模型优化均在数据存储中心执行,模型推理在部署平台执行。因为数据在这些过程中均以明文形式表示,因此这些数据仍面临数据盗取的风险。而传统对称加密技术无法对上述过程提供数据安全保护。
本申请实施例提供一种模型训练方法,该方法可以由计算机设备的处理器执行。其中,计算机设备指的可以是服务器、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、移动设备(例如移动电话、便携式视频播放器、个人数字助理、专用消息设备、便携式游戏设备)等具备模型训练能力的设备。图3为本申请实施例提供的模型训练方法的可选的流程示意图,如图3所示,该方法包括如下步骤S310至步骤S330:
步骤S310,获取密文训练数据。
这里,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的。在一些实施方式中密文训练数据直接存储在模型训练装置中。在一些实施方式中,密文训练数据是预先存储到数据存储中心的。在数据存储中心中,密文训练数据可以表示为一系列浮点数表示的数据,通常包含数据本身和数据标签两部分。
本申请实施例首先对数据采集过程进行同态加密保护,将采集到的明文数据以密文形式保存。同时,加密过程使用的一对密钥单独保存在可信的数据中心存储系统中。
在实施中,可以利用明文空间的数据采集装置进行数据采集,得到用于训练模型的明文数据,其中根据待训练模型的任务类型采集合适的模型训练数据,数据采集装置可以摄像头、车载摄像头、视觉机器人等,本申请实施例对此不作限定。
需要说明的是,同态加密(Homomorphic Encryption)是指将原始数据经过同态加密后,对得到的密文进行特定的运算,然后将计算结果再进行同态解密后得到的明文等价于原始明文数据直接进行相同计算所得到的数据结果。
与一般加密方案关注数据存储安全不同,同态加密的关注点则是数据处理安全,同态加密提供了一种对加密数据进行处理的功能。也就是说其他人可以对加密后的数据进行处理,在这个过程中不会泄露任何原始的内容,在数据处理完成之后再进行解密,得到的正是对原始数据进行相同处理后的结果。在一些实施方式中,可以根据随机数种子生成一对密钥包括公钥和私钥,其中,公钥用于加密明文数据,私钥用于加密后的密文数据进行解密。
步骤S320,利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数。
这里,模型训练过程可以分解为一系列的代数运算过程,可以直接在密文空间内进行深度学习模型训练,训练结果为以第一组模型参数表示的目标学习模型,且第一组模型参数表示为密文形式。对于一个具有N层网络的深度学习模型,所述第一组模型参数包括N层网络中每一层的模型参数,每一模型参数可以表示为一系列浮点数。
因此,在训练过程中杜绝了数据偷取攻击的可能性,也避免了存储模型参数的系统中受到攻击被盗取模型参数的风险。
在实施中,将待训练的深度学习模型的每一层模型参数初始化,并对至少一层模型参数使用与密文训练数据相同的公钥进行加密,再将密文训练数据输入到待训练的深度学习模型中,逐层运行模型,得到模型最终输出的预测结果后与同一公钥加密的数据标签计算学习损失,使用反向传播算法计算每一层模型参数的梯度,通过梯度进行参数更新,直到训练过程结束,得到训练好的第一组模型参数。
步骤S330,基于所述第一组模型参数将所述目标学习模型部署到模型部署平台。
这里,所述模型部署平台为云平台或边缘平台,用于部署大量模型及每一模型对应的模型参数,后续接收到推理数据时,直接利用训练好的目标学习模型进行推理,得到推理结果。
本申请实施例中,首先获取经过同态加密的密文训练数据;然后在数据存储中心利用密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;最后基于所述第一组模型参数将所述目标学习模型部署到模型部署平台;如此,通过使用同态加密技术对数据采集过程、模型训练过程等计算过程进行加密,基于密文空间标识的第一组模型参数将目标学习模型部署到模型部署平台。这样,可以保证计算过程数据和模型参数安全性,从而可以在训练过程中杜绝了数据偷取攻击的可能性,也减少了存储模型参数的系统中受到攻击被盗取模型参数的风险。
在一些实施例中,所述模型训练方法应用于数据存储中心,所述密文训练数据和所述第一公钥分别存储于所述数据存储中心。从而将模型训练数据以密文形式即密文训练数据保存在数据存储中心中,在训练过程中杜绝了数据偷取攻击的可能性的同时减少模型训练装置的存储计算压力。同时,将密文训练数据的加密过程中使用的第一公钥单独存储在数据存储中,减少数据泄露风险。
在一些实施例中,所述密文训练数据是利用生成的第一公钥对所述采集的明文数据加密得到的;上述步骤S320“利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数”可以包括如下步骤S321至步骤S324:
步骤S321,通过第一神经网络对所述密文训练数据进行逐层处理,得到对所述密文训练数据的预测结果。
这里,所述第一神经网络中至少一层的模型参数为利用所述第一公钥进行加密的密文参数。
在一些实施方式中,利用第一公钥对第一神经网络中至少一层的模型参数加密一次,同时将对明文数据进行加密一次的密文训练数据输入到第一神经网络中进行逐层运算,将最后一层输出的结果作为密文训练数据的预测结果。
在一些实施方式中,利用第一公钥对第一神经网络中第i层的模型参数加密i次,同时将加密一次的密文训练数据输入到第1层进行运算,再将第1层输出的中间结果重新进行加密并输入到第2层进行运算,依次类推,直至最后一层输出的结果不再进行加密,直接作为密文训练数据的预测结果。也就是说,第i层输出的中间结果在第i重加密空间中。
步骤S322,根据所述密文训练数据的预测结果和所述密文训练数据的初始标签,确定学习损失。
这里,根据损失结果的类型确定相应的学习损失,如交叉熵损失、二分类损失、多分类损失等,本申请实施例对学习损失的形式不作限定。
在一些实施方式中,在获得密文训练数据的预测结果的过程中未逐层对上一层输出的中间结果进行重新加密,则直接利用学习损失的表达式对预测结果和加密的初始标签进行计算得到损失值。
在一些实施方式中,所述第一神经网络包括N层网络;所述N层网络中第i层的输入数据为对第i-1层输出的中间结果加密得到的;其中,i为2至N中任一自然数;利用所述第一公钥对所述密文训练数据的初始标签进行N次加密,得到目标标签;根据所述密文训练数据的预测结果和所述目标标签,确定所述学习损失。这样,这里对每一层的输出重新进行加密的原因是为了控制同态加密算法中的噪声水平防止出现无法解密的情况。
步骤S323,利用所述学习损失更新所述第一神经网络中每一层的模型参数。
在一些实施方式中,所述利用所述学习损失更新所述第一神经网络中每一层的模型参数,包括:确定所述学习损失对于所述第一神经网络中每一层的模型参数的梯度值;根据所述每一层的模型参数的梯度值对同一层的模型参数进行参数更新。这样,通过反向传播算法计算每一层参数的梯度并进行梯度下降即可实现同一层模型参数的更新,使模型快速收敛完成训练过程。
在一些实施方式中,所述确定所述学习损失对于所述第一神经网络中每一层的模型参数的梯度值,包括:根据所述第i层的输出数据的偏导和所述第i密文参数,确定所述第i层的输入偏导结果;其中,第N层的输出数据的偏导为所述学习损失的导数;利用所述第一公钥对对应的第一私钥进行加密,得到私钥密文;利用所述私钥密文对所述第i层的输入偏导结果进行解密,得到第i-1层的输出数据的偏导;根据所述第i-1层的输出数据的偏导和第i-2层的密文结果,确定所述第i-1层的模型参数的梯度值。
这里,第i-2层的密文结果为利用第一公钥对第i-2层输出的中间结果进行加密得到的,作为第i-1层的输入数据。第i-2层的密文结果和第i密文参数均是在前向运算过程中进行计算的,本步骤无需重复计算。
在实施中,先对上一步骤得到的学习损失求导,得到第N层的输出数据的偏导,再结合第N密文参数确定出第N层的输入偏导结果,利用加密的第一私钥对第N层的输入偏导结果进行解密,得到第N-1层的输出数据的偏导,依次类推,直到计算出第2层的输出数据的偏导,同时在逐层计算出当前层的输出数据的偏导后结合上一层的密文结果,计算出当前层的模型参数的梯度值,进而实现对该层的模型参数进行下降调整。
需要说明的是,本部分中解密步骤使用可信计算平台执行,保证整个模型训练过程不会出现明文数据。
步骤S324,在满足预设训练停止条件的情况下,得到所述目标学习模型的第一组模型参数。
这里,所述预设训练停止条件包括但不限于迭代次数达到预设次数、训练时间满足预设时长或者损失值低于预设阈值等。其中,所述预设次数为经验值,例如为30万次或5千万次等,也就是说重复步骤S321至步骤S323的过程,直至预设次数后认为完成训练过程,得到目标学习模型的第一组模型参数。
在上述实施例中,通过对第一神经网络中至少一层的模型参数用密文训练数据的加密公钥进行加密得到密文参数,并将密文训练数据输入到第一神经网络中进行前向计算得到学习损失后再使用反向传播算法更新每一层的模型参数,从而实现模型训练过程,这样,以同态加密算法为基础构建深度学习训练和部署平台,实现了机器学习训练和部署平台的高安全性与易用性。当训练用的加密私钥没有泄漏,则训练得到的目标学习模型及第一组模型参数数据仍处于密文空间,不会被泄漏。
在一些实施例中,上述步骤321可以通过以下步骤3211至步骤S3215实施:
步骤3211,在所述N层网络中第1层对所述密文训练数据进行处理,得到所述第1层输出的中间结果。
步骤3212,利用第一公钥对所述N层网络中第i层的模型参数进行i次加密,得到第i密文参数。
这里,i为2至N中的自然数,第i密文参数为i重加密空间的模型参数。示例的,第1层的模型参数加密一次得到第1密文参数,第2层的模型参数加密2次得到第2密文参数,依次类推,第N层的模型参数加密N次得到第N密文参数。
值得注意的是,第一公钥为密文训练数据加密时使用的公钥,使用同一公钥对每一层的输入数据和每一层的模型参数进行加密,实现以同态加密算法为基础构建深度学习训练过程。
步骤3213,利用所述第一公钥对所述N层网络中第i-1层输出的中间结果进行加密,得到所述第i-1层的密文结果。
这里,第i-1层输出的中间结果处于第i重加密空间中,本申请实施例对每一层的输出重新进行加密的原因是为了控制同态加密算法中的噪声水平防止出现无法解密的情况。
步骤3214,根据所述第i密文参数和所述第i-1层的密文结果,确定所述第i层输出的中间结果。
这里,所述第i密文参数在第i重加密空间,在第i层对输入的第i-1层的密文结果进行运算,得到第i层输出的中间结果也在第i重加密空间。
步骤3215,在逐层迭代至i为N的情况下,将第N层的中间结果作为所述密文训练数据的预测结果。
在上述实施例中,利用第一公钥对每一层的输入数据进行加密,同时结合每一层各自的密文参数计算当前层输出的中间结果,并逐层迭代至最后一层输出密文训练数据的预测结果。这样,通过同态加密算法实现逐层加密的前行计算过程,从而可以确保每一层输出的中间结果均在密文空间,且可以减少由于噪声产生的无法解密的问题。
在一些实施例中,上述步骤S320还可以实施为以下过程:利用所述密文训练数据对第一神经网络进行模型训练,得到初始学习模型的第二组模型参数;利用所述第二组模型参数对所述初始学习模型进行模型优化,得到所述目标学习模型的第一组模型参数。
在一些实施例中,训练结束后得到的模型处于加密空间中,可以对其进行优化。优化的方式包括模型剪枝、模型量化、模型蒸馏等。本申请实施例以模型蒸馏为例说明实现同态加密下的多层深度学习模型优化,在其他实施例中也可以运用本领域常用量化技术或剪枝技术对训练得到的模型进行优化。
上述步骤“利用所述第二组模型参数对所述初始学习模型进行模型优化,得到所述目标学习模型的第一组模型参数”可以进一步通过以下步骤实施:构建第二神经网络;其中,所述第二神经网络的模型参数量小于所述第一神经网络的模型参数量;通过所述初始学习模型和所述第二组模型参数预测所述密文训练数据,并将预测的结果作为新的数据标签;利用所述密文训练数据和所述新的数据标签训练所述第二神经网络,得到所述目标学习模型的第一组模型参数。
这里,第二神经网络的层数可以与第一神经网络的层数一致,均为N层,也可以小于N层,第二神经网络为N层的情况下设计每一层的参数量少于第一神经网络对应层的参数量。
上述实施例中,首先设计一个模型参数量较小的第二神经网络,利用经过初步模型训练得到初始学习模型预测出密文训练数据的结果并作为新的数据标签,再利用密文训练数据和所述新的数据标签训练第二神经网络,得到优化后的目标学习模型的第一组模型参数,实现了同态加密下的多层深度学习模型优化。
图4为本申请实施例提供的模型推理方法的可选的流程示意图,如图4所示,该方法包括如下步骤S410至步骤S420:
步骤S410,接收用户的推理请求;
这里,所述推理请求携带利用第二公钥加密的密文推理数据;其中第二公钥为在用户侧生成的可以进行同态加密的密钥,可以与第一公钥相同,也可以与第一公钥不同。
本申请实施例利用用户侧的第二公钥加密得到密文推理数据,从而在模型部署平台上无法解密,因此不存在被盗风险。即使模型部署平台出现数据泄露,用户发送的密文推理数据仍然没有被盗风险。
步骤S420,通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果。
这里,所述目标学习模型为通过所述数据存储中心利用密文训练数据进行模型训练得到,并部署到所述模型部署平台中的;所述密文训练数据是对采集的明文数据进行同态加密处理得到的。
需要说明的是,在前向计算过程中,如果逐层运行N层的目标学习模型,且对每一层的输入数据均使用同态加密后输入到下一层,则得到的密文推理结果处于N重加密空间中,对该密文推理结果进行N次解密即可得到明文空间的推理结果。
在一些实施方式中,在接收到密文推理数据之后,还可以对训练得到的目标学习模型进行参数优化,利用优化后的模型对密文推理数据进行预测,得到优化的密文推理结果。这样,由于优化后的模型具有较少的模型参数,因此可以在减少运算量的同时快速得到密文推理数据。
在一些实施方式中,在得到所述密文推理结果之后,还可以向所述用户发送所述密文推理结果,以使所述用户利用所述第二公钥对应的第二私钥对所述密文推理结果进行解密。这样,由于可以在用户侧生成第二公钥和第二私钥这一同态密钥对,因此用户可以用自己生成的密钥对密文推理数据直接解密。
本申请实施例中,首先,接收到用户发送的利用第二公钥加密的密文推理数据;然后,通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果;这样,使用用户侧加密实现同态加密数据的云平台推理,当云平台出现全部数据泄漏时,用户推理数据仍存在于密文空间且无法解密,因此用户数据仍然没有被盗风险,从而提高了用户易用性与对云平台计算安全性的信心。
图5为本申请实施例提供的模型服务部署系统的示意图,如图5所示,所述模型服务部署系统50包括:数据存储中心51和模型部署平台52,其中:
所述数据存储中心51,用于获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;基于所述第一组模型参数将所述目标学习模型部署到模型部署平台;
所述模型部署平台52,用于接收用户的推理请求;其中,所述推理请求携带利用第二公钥加密的密文推理数据;通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果。
本申请实施例提供的模型服务部署系统,以同态加密算法为基础构建深度学习训练和部署平台,在数据存储中心利用同态加密的密文训练数据训练多层深度学习模型;并在用户侧加密实现同态加密的推理数据的云平台推理,从而可以保证训练数据、训练结果、密文推理数据、密文推理结果均处于密文空间中,云平台工作人员无法访问任何明文数据,该模型服务部署系统可以防御训练、通信、计算过程中的数据盗取风险。
图6A为本申请实施例提供的深度学习模型的训练与部署方法的示意图,如图6A所示,数据采集61部分采集到原始的明文数据601后,通过同态加密算法的加密模块62对明文数据601进行加密,得到密文数据602并存储到数据存储中心63中,在需要使用时再从数据存储中心63中获取到密文数据602送入到模型训练64部分进行训练,得到对应的密文模型参数603,通过模型优化65部分进行参数优化后得到新的密文模型参数604并存储到云/边缘模型部署平台66中。后续在接收到用户的携带明文数据的推理请求605时,先通过同态加密算法的加密模块67进行加密得到对应的密文推理数据606再送入到云/边缘模型部署平台66中进行模型推理;之后通过同态加密算法的解密模块68对推理得到的密文推理结果607进行解密得到明文推理结果608。
也就是说,本申请实施例中存储数据的过程、数据传输的过程、模型训练过程、模型优化过程、模型推理过程均在密文空间,同时在明文空间对数据采集过程和推理数据进行同态加密保护,保证深度学习训练和部署系统的数据安全性能覆盖所有涉及数据的过程。
需要说明的是,在实施时,上述云/边缘模型部署平台可以对应于前述实施例中的模型部署平台,上述用户推理数据可以对应于前述实施例中的用户密文推理结果。
图6B为本申请实施例提供的深度学习模型的训练与部署方法的逻辑流程图,如图6B所示,该流程包括以下步骤S601至步骤S608:
步骤S601,采集数据并使用同态加密,得到密文训练数据。
步骤S602,密文训练数据存储于云平台的数据存储中心,加密使用的第一公钥进行安全单独存放。
步骤S603,获取密文训练数据并在数据存储中心进行模型训练,训练结果为密文空间表示的第二组模型参数。
步骤S604,对训练得到的初始学习模型进行参数优化,得到密文空间表示的目标学习模型及第一组模型参数。
步骤S605,将优化得到的目标学习模型和解密后的第一组模型参数部署到云/边缘模型部署平台。
步骤S606,接收来自用户的推理数据,在用户侧生成密钥对并进行加密,加密后的推理数据发送到云/边缘模型部署平台。
这里,所述密钥对可以包括第二公钥和第二私钥,其中第二公钥可以与第一公钥相同,也可以与第一公钥不同。
步骤S607,云/边缘模型部署平台使用用户提供的推理数据进行推理,得到第二公钥加密的推理结果并返回给用户。
步骤S608,用户使用第二私钥对推理结果进行解密。
同态加密算法的特点是代数运算可以在密文空间内执行,执行结果解密后得到的明文结果与直接在明文空间内对原始数据执行等价代数运算的结果相同,且此性质具有传递性。
因此,由于目前深度学习模型的训练过程可分解为一系列的代数运算过程,可以直接在密文空间内进行深度学习模型训练。训练结果为一系列大量表示的模型参数,均以密文形式表示。因此,在训练过程中杜绝了数据偷取攻击的可能性,也避免了存储模型参数的系统中受到攻击被盗取模型参数的风险。
上述步骤S603中基于同态加密算法的模型训练过程,可以包含如下步骤S1至步骤S7:
步骤S1,根据随机数种子x生成一对密钥,。其中公钥(相当于上述第一公钥)用于加密,私钥(相当于上述第一私钥)用于解密。
步骤S2,对输入的明文数据m使用公钥进行加密。
这一过程可表示为如下公式(1):
公式(1);
其中,为明文数据m对应的密文训练数据。本申请实施例中加密过程可以使用CKKS(Cheon-Kim-Kim-Song)算法。m为一系列浮点数表示的训练数据,训练数据通常包含了输入数据和标签。加密后的训练数据和标签分别为和。
步骤S3,对于一个具有N层的深度学习模型M,初始化其模型参数p,p由一系列浮点数表示。对模型参数使用公钥进行加密,得到密文参数。
步骤S4,前向计算:逐层运行模型。第i层的运行可表示为如下公式(2):
公式(2);
其中,是在第i重加密空间中的模型第i层输出的中间结果,是经过i次加密的模型第i层参数即第i密文参数,为利用公钥对第i-1层的输出结果进行加密的密文结果。这里对每一层的输出重新进行加密的原因是为了控制同态加密算法中的噪声水平防止出现无法解密的情况。
步骤S5,得到模型最终输出的预测结果后按照如下公式(3)和(4)计算学习损失与其导数。
公式(3);
公式(4);
其中,为加密N次的标签,为第N层输出的预测结果,为学习损失的值,学习损失的导数。
步骤S6,反向计算学习损失与模型每一层均有针对输入数据的偏导函数和参数偏导函数。接下来使用反向传播算法计算所有层的模型参数的梯度。在第i层,需要计算该层输入数据的偏导、第i层的模型参数(即第i密文参数)以及输出数据的偏导。
公式(6);
公式(7);
这里函数D表示解密过程,函数E表示加密过程,其中为用公钥加密后的私钥,表示利用第i密文参数和第i层输出数据的偏导计算得到的第i层输入数据的偏导,利用加密的私钥对其解密后得到在第i-1次加密空间的,即第i-1层的输出数据的偏导。对于第一层i=1,无需计算。
为利用公钥对第i-1层的输出结果进行加密的密文结果,为第i层的输出数据的偏导,为第i密文参数的偏导即梯度。
值得注意的是,本步骤中与第i密文参数在前向过程中已进行计算无需重复计算。此过程中的部分解密步骤需使用可信计算平台执行,保证不会出现明文数据。
步骤S7,将步骤S4至S6执行S次,训练过程结束,得到一系列模型参数。其中第i层的参数处于i重加密空间中。
训练结束后得到的模型处于加密空间中,可以对其进行优化。上述步骤S604中的模型优化部分可以通过以下过程实施:首先设计一个参数量小于初始模型的N层模型,将模型M对于的前向计算结果作为其标签,利用上述步骤S1至步骤S7的方式训练,可得到计算量小于模型M的模型。后续模型推理使用。
模型推理需要用到优化后的模型以及推理数据。首先对使用同态加密算法CKKS得到密文推理数据。使用步骤S4描述的前向过程,以作为数据得到模型数据。此时处于i重加密空间中。对其进行N次解密即可得到解密结果。
需要说明的是,在实施时,云/边缘模型部署平台可以对应于前述实施例中的模型部署平台,用户推理数据可以对应于前述实施例中的用户密文推理结果。
本申请实施例描述的机器学习训练和部署平台,可以保证训练数据,训练结果,用户推理数据,用户推理结果均处于密文空间中,云平台工作人员无法访问任何明文数据。当云平台出现部分数据泄漏时:1)当训练用的加密私钥没有泄漏,则模型参数数据仍处于密文空间,不会被泄漏,只有优化后的模型参数存在泄漏风险;2)用户推理数据使用用户侧公钥加密,在云平台上无法解密,因此不存在被盗风险;当云平台出现全部数据泄漏时,用户推理数据仍存在于密文空间且无法解密,因此用户数据仍然没有被盗风险。
本申请实施例以同态加密算法为基础构建深度学习训练和部署平台,一方面实现同态加密数据训练多层深度学习模型,另一方面实现同态加密下的多层深度学习模型优化,并使用用户侧加密实现同态加密数据的云平台推理,实现了机器学习训练和部署平台的高安全性与易用性。这样,用户可以用自己生成的密钥对对推理数据进行加密,提高用户易用性与对云平台计算安全性的信心。
现有的深度学习系统中一般只对数据存储过程进行加密。对于计算过程没有任何加密措施,这使得模型参数和训练推理数据在计算过程中面临数据盗取的风险。还有一种方案只针对同态加密神经网络推理的系统设计方案。这一类方案不考虑深度学习模型训练过程以及训练数据的安全性,因此会面临模型盗取和训练数据盗取的风险。本申请实施例可以防御各计算过程中的数据盗取风险。
基于前述的实施例,本申请实施例提供一种模型训练装置,该装置包括所包括的各模块、以及各模块所包括的各子模块及各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CentralProcessing Unit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(DigitalSignal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
图7为本申请实施例提供的一种模型训练装置的组成结构示意图,如图7所示,模型训练装置700包括:获取模块710、训练模块720和部署模块730,其中:
所述获取模块710,用于获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;
所述训练模块720,用于利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;
所述部署模块730,用于基于所述第一组模型参数将所述目标学习模型部署到模型部署平台。
在一些可能的实施例中,所述密文训练数据是利用生成的第一公钥对所述采集的明文数据加密得到的;所述训练模块720包括:第一预测子模块,通过第一神经网络对所述密文训练数据进行逐层处理,得到对所述密文训练数据的预测结果;其中,所述第一神经网络中至少一层的模型参数为利用所述第一公钥进行加密的密文参数;第一确定子模块,用于根据所述密文训练数据的预测结果和所述密文训练数据的初始标签,确定学习损失;更新子模块,用于利用所述学习损失更新所述第一神经网络中每一层的模型参数;第二确定子模块,用于在满足预设训练停止条件的情况下,得到所述目标学习模型的第一组模型参数。
在一些可能的实施例中,所述第一神经网络包括N层网络;所述N层网络中第i层的输入数据为对第i-1层输出的中间结果加密得到的;其中,i为2至N中任一自然数;所述第一确定子模块包括:第一加密单元,用于利用所述第一公钥对所述密文训练数据的初始标签进行N次加密,得到目标标签;第一确定单元,用于根据所述密文训练数据的预测结果和所述目标标签,确定所述学习损失。
在一些可能的实施例中,所述预测子模块包括:处理单元,用于在所述N层网络中第1层对所述密文训练数据进行处理,得到所述第1层输出的中间结果;第二加密单元,用于利用第一公钥对所述N层网络中第i层的模型参数进行i次加密,得到第i密文参数;第三加密单元,用于利用所述第一公钥对所述N层网络中第i-1层输出的中间结果进行加密,得到所述第i-1层的密文结果;第二确定单元,用于根据所述第i密文参数和所述第i-1层的密文结果,确定所述第i层输出的中间结果;第三确定单元,用于在逐层迭代至i为N的情况下,将第N层的中间结果作为所述密文训练数据的预测结果。
在一些可能的实施例中,所述更新子模块包括:第四确定单元,用于确定所述学习损失对于所述第一神经网络中每一层的模型参数的梯度值;参数更新单元,用于根据所述每一层的模型参数的梯度值对同一层的模型参数进行参数更新。
在一些可能的实施例中,所述第四确定单元还用于根据所述第i层的输出数据的偏导和所述第i密文参数,确定所述第i层的输入偏导结果;其中,第N层的输出数据的偏导为所述学习损失的导数;利用所述第一公钥对对应的第一私钥进行加密,得到私钥密文;利用所述私钥密文对所述第i层的输入偏导结果进行解密,得到第i-1层的输出数据的偏导;根据所述第i-1层的输出数据的偏导和第i-2层的密文结果,确定所述第i-1层的模型参数的梯度值。
在一些可能的实施例中,所述训练模块720包括:训练子模块,用于利用所述密文训练数据对所述第一神经网络进行模型训练,得到初始学习模型的第二组模型参数;优化子模块,用于利用所述第二组模型参数对所述初始学习模型进行模型优化,得到所述目标学习模型的第一组模型参数。
在一些可能的实施例中,所述优化子模块包括:构建单元,用于构建第二神经网络;其中,所述第二神经网络的模型参数量小于所述第一神经网络的模型参数量;预测单元,用于通过所述初始学习模型和所述第二组模型参数预测所述密文训练数据,并将预测的结果作为新的数据标签;训练单元,用于利用所述密文训练数据和所述新的数据标签训练所述第二神经网络,得到所述目标学习模型的第一组模型参数。
在一些实施例中,所述模型训练装置应用于数据存储中心,所述密文训练数据和所述第一公钥分别存储于所述数据存储中心。
以上装置实施例的描述,与上述模型训练方法侧实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上述模型训练方法侧实施例描述的方法,对于本申请装置实施例中未披露的技术细节,请参照本申请模型训练方法侧实施例的描述而理解。
基于前述的实施例,本申请实施例提供一种模型推理装置,该模型推理装置包括所包括的各模块、以及各模块所包括的各子模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器、微处理器、数字信号处理器或现场可编程门阵列等。
图8为本申请实施例提供的一种模型推理练装置的组成结构示意图,如图8所示,模型推理装置800包括:接收模块810和预测模块820,其中:
所述接收模块810,用于接收用户的推理请求;其中,所述推理请求携带利用第二公钥加密的密文推理数据;
所述预测模块820,用于通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果;其中,所述目标学习模型为通过所述数据存储中心利用密文训练数据进行模型训练得到,并部署到所述模型部署平台中的;所述密文训练数据是对采集的明文数据进行同态加密处理得到的。
在一些实施例中,所述模型推理装置还包括向所述用户发送所述密文推理结果,以使所述用户利用所述第二公钥对应的第二私钥对所述密文推理结果进行解密。
以上装置实施例的描述,与上述模型推理方法侧实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上述模型推理方法侧实施例描述的方法,对于本申请装置实施例中未披露的技术细节,请参照本申请模型推理方法侧实施例的描述而理解。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式、处理的个人信息种类等信息。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的模型训练方法或模型推理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
本申请实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图9为本申请实施例中计算机设备的一种硬件实体示意图,如图9所示,该计算机设备900的硬件实体包括:处理器901、通信接口902和存储器903,其中:
处理器901通常控制计算机设备900的总体操作。
通信接口902可以使计算机设备通过网络与其他终端或服务器通信。
存储器903配置为存储由处理器901可执行的指令和应用,还可以缓存待处理器901以及计算机设备900中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。处理器901、通信接口902和存储器903之间可以通过总线904进行数据传输。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (16)
1.一种模型训练方法,其特征在于,所述方法包括:
获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;
利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;
基于所述第一组模型参数将所述目标学习模型部署到模型部署平台。
2.根据权利要求1所述的方法,其特征在于,所述密文训练数据是利用生成的第一公钥对所述采集的明文数据加密得到的;所述利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数,包括:
通过第一神经网络对所述密文训练数据进行逐层处理,得到对所述密文训练数据的预测结果;其中,所述第一神经网络中至少一层的模型参数为利用所述第一公钥进行加密的密文参数;
根据所述密文训练数据的预测结果和所述密文训练数据的初始标签,确定学习损失;
利用所述学习损失更新所述第一神经网络中每一层的模型参数;
在满足预设训练停止条件的情况下,得到所述目标学习模型的第一组模型参数。
3.根据权利要求2所述的方法,其特征在于,所述第一神经网络包括N层网络;所述N层网络中第i层的输入数据为对第i-1层输出的中间结果加密得到的;其中,i为2至N中任一自然数;
所述根据所述密文训练数据的预测结果和所述密文训练数据的初始标签,确定学习损失,包括:
利用所述第一公钥对所述密文训练数据的初始标签进行N次加密,得到目标标签;
根据所述密文训练数据的预测结果和所述目标标签,确定所述学习损失。
4.根据权利要求3所述的方法,其特征在于,所述通过第一神经网络对所述密文训练数据进行逐层处理,得到对所述密文训练数据的预测结果,包括:
在所述N层网络中第1层对所述密文训练数据进行处理,得到所述第1层输出的中间结果;
利用所述第一公钥对所述N层网络中第i层的模型参数进行i次加密,得到第i密文参数;
利用所述第一公钥对所述N层网络中第i-1层输出的中间结果进行加密,得到所述第i-1层的密文结果;
根据所述第i密文参数和所述第i-1层的密文结果,确定所述第i层输出的中间结果;
在逐层迭代至i为N的情况下,将第N层的中间结果作为所述密文训练数据的预测结果。
5.根据权利要求4所述的方法,其特征在于,所述利用所述学习损失更新所述第一神经网络中每一层的模型参数,包括:
确定所述学习损失对于所述第一神经网络中每一层的模型参数的梯度值;
根据所述每一层的模型参数的梯度值对同一层的模型参数进行参数更新。
6.根据权利要求5所述的方法,其特征在于,所述确定所述学习损失对于所述第一神经网络中每一层的模型参数的梯度值,包括:
根据所述第i层的输出数据的偏导和所述第i密文参数,确定所述第i层的输入偏导结果;其中,所述第N层的输出数据的偏导为所述学习损失的导数;
利用所述第一公钥对对应的第一私钥进行加密,得到私钥密文;
利用所述私钥密文对所述第i层的输入偏导结果进行解密,得到第i-1层的输出数据的偏导;
根据所述第i-1层的输出数据的偏导和第i-2层的密文结果,确定所述第i-1层的模型参数的梯度值。
7.根据权利要求2至6任一项所述的方法,其特征在于,所述利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数,包括:
利用所述密文训练数据对所述第一神经网络进行模型训练,得到初始学习模型的第二组模型参数;
利用所述第二组模型参数对所述初始学习模型进行模型优化,得到所述目标学习模型的第一组模型参数。
8.根据权利要求7所述的方法,其特征在于,所述利用所述第二组模型参数对所述初始学习模型进行模型优化,得到所述目标学习模型的第一组模型参数,包括:
构建第二神经网络;其中,所述第二神经网络的模型参数量小于所述第一神经网络的模型参数量;
通过所述初始学习模型和所述第二组模型参数预测所述密文训练数据,并将预测的结果作为新的数据标签;
利用所述密文训练数据和所述新的数据标签训练所述第二神经网络,得到所述目标学习模型的第一组模型参数。
9.根据权利要求2至6任一项所述的方法,其特征在于,所述模型训练方法应用于数据存储中心,所述密文训练数据和所述第一公钥分别存储于所述数据存储中心。
10.一种模型推理方法,其特征在于,所述方法包括:
接收用户的推理请求;其中,所述推理请求携带利用第二公钥加密的密文推理数据;
通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果;其中,所述目标学习模型为利用权利要求1至9任一项所述的模型训练方法得到的。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
向所述用户发送所述密文推理结果,以使所述用户利用所述第二公钥对应的第二私钥对所述密文推理结果进行解密。
12.一种模型训练装置,其特征在于,所述模型训练装置包括:
获取模块,用于获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;
训练模块,用于利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;
部署模块,用于基于所述第一组模型参数将所述目标学习模型部署到模型部署平台。
13.一种模型推理装置,其特征在于,所述模型推理装置包括:
接收模块,用于接收用户的推理请求;其中,所述推理请求携带利用第二公钥加密的密文推理数据;
推理模块,用于通过已训练的目标学习模型对所述密文推理数据进行预测,得到密文推理结果;其中,所述目标学习模型为利用权利要求1至9任一项所述的模型训练方法得到的。
14.一种模型服务部署系统,其特征在于,包括数据存储中心和模型部署平台,其中:
所述数据存储中心,用于获取密文训练数据;其中,所述密文训练数据是对采集的明文数据进行同态加密处理后得到的;利用所述密文训练数据进行模型训练,以得到目标学习模型的第一组模型参数;基于所述第一组模型参数将所述目标学习模型部署到所述模型部署平台;
所述模型部署平台,用于接收用户的推理请求;其中,所述推理请求携带利用第二公钥加密的密文推理数据;通过已训练的所述目标学习模型对所述密文推理数据进行预测,得到密文推理结果。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至9任一项所述方法中的步骤;或者实现权利要求10或11所述方法中的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9任一项所述方法中的步骤;或者实现权利要求10或11所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310297930.7A CN116011552A (zh) | 2023-03-24 | 2023-03-24 | 模型训练方法、推理方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310297930.7A CN116011552A (zh) | 2023-03-24 | 2023-03-24 | 模型训练方法、推理方法、装置、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116011552A true CN116011552A (zh) | 2023-04-25 |
Family
ID=86019632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310297930.7A Pending CN116011552A (zh) | 2023-03-24 | 2023-03-24 | 模型训练方法、推理方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116011552A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110190946A (zh) * | 2019-07-12 | 2019-08-30 | 之江实验室 | 一种基于同态加密的隐私保护多机构数据分类方法 |
US20200244437A1 (en) * | 2019-04-30 | 2020-07-30 | Alibaba Group Holding Limited | Method and device for security assessment of encryption models |
CN115758412A (zh) * | 2022-11-22 | 2023-03-07 | 科大讯飞股份有限公司 | 数据同态加密推理系统及方法 |
-
2023
- 2023-03-24 CN CN202310297930.7A patent/CN116011552A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200244437A1 (en) * | 2019-04-30 | 2020-07-30 | Alibaba Group Holding Limited | Method and device for security assessment of encryption models |
CN110190946A (zh) * | 2019-07-12 | 2019-08-30 | 之江实验室 | 一种基于同态加密的隐私保护多机构数据分类方法 |
CN115758412A (zh) * | 2022-11-22 | 2023-03-07 | 科大讯飞股份有限公司 | 数据同态加密推理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
CN110751291B (zh) | 实现安全防御的多方联合训练神经网络的方法及装置 | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
Shankar et al. | Optimal key based homomorphic encryption for color image security aid of ant lion optimization algorithm | |
CN113542228B (zh) | 基于联邦学习的数据传输方法、装置以及可读存储介质 | |
US20160004874A1 (en) | A method and system for privacy preserving matrix factorization | |
CN112347495A (zh) | 一种基于区块链的可信隐私智能服务计算系统及方法 | |
CN110611662B (zh) | 一种基于属性基加密的雾协同云数据共享方法 | |
CN111612167A (zh) | 机器学习模型的联合训练方法、装置、设备及存储介质 | |
WO2022241307A1 (en) | Image steganography utilizing adversarial perturbations | |
Kumar | Technique for security of multimedia using neural network | |
EP4058951A1 (en) | Privacy preserving machine learning via gradient boosting | |
Althati et al. | Scalable Machine Learning Solutions for Heterogeneous Data in Distributed Data Platform | |
CN113239391A (zh) | 一种无第三方的逻辑回归联邦学习模型训练系统及方法 | |
Ibarrondo et al. | Banners: Binarized neural networks with replicated secret sharing | |
CN114338090B (zh) | 数据安全性检测方法、装置及电子设备 | |
CN115238172A (zh) | 基于生成对抗网络和社交图注意力网络的联邦推荐方法 | |
US20230113896A1 (en) | System for Restrictive Discovery of Private Data Feature Intersection | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及系统 | |
CN115952529B (zh) | 一种用户数据处理方法、计算设备及存储介质 | |
Kaur et al. | An efficient image steganography method using multiobjective differential evolution | |
US20230081162A1 (en) | Method and apparatus for privacy preserving using homomorphic encryption with private variables | |
CN116011552A (zh) | 模型训练方法、推理方法、装置、系统、设备及存储介质 | |
Garg et al. | ANN based security in mobile cloud computing | |
CN114117487A (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 |