CN110543776A - 模型处理方法、装置、电子设备和介质 - Google Patents

模型处理方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN110543776A
CN110543776A CN201910822370.6A CN201910822370A CN110543776A CN 110543776 A CN110543776 A CN 110543776A CN 201910822370 A CN201910822370 A CN 201910822370A CN 110543776 A CN110543776 A CN 110543776A
Authority
CN
China
Prior art keywords
model
data
verification
data model
processor
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
Application number
CN201910822370.6A
Other languages
English (en)
Inventor
张婉璐
王奇刚
李梅
陈旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201910822370.6A priority Critical patent/CN110543776A/zh
Publication of CN110543776A publication Critical patent/CN110543776A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种模型处理方法,应用于区块链网络的多个节点中的第一节点,包括接收来自所述多个节点中的第二节点的加密数据,将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到所述第一模型参数,在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果,以及若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。本公开还提供了一种模型处理装置、电子设备和计算机可读存储介质。

Description

模型处理方法、装置、电子设备和介质
技术领域
本公开涉及一种模型处理方法、装置、电子设备和计算机可读存储介质。
背景技术
随着信息技术的发展,人工智能在各个领域中不断取得突出的成就。多个组织都在开发各种各样的人工智能实现算法,诸如语音识别、图像识别等。然而,每个组织的能力是有限的,难以独立地训练出令人满意的模型。
发明内容
本公开的一个方面提供了一种模型处理方法,应用于区块链网络的多个节点中的第一节点,包括接收来自所述多个节点中的第二节点的加密数据,将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到第一模型参数,在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果,以及若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
可选地,所述通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果包括获得所述区块链中的最新数据模型作为参考数据模型,以及基于所述验证数据分别验证所述参考数据模型以及所述第一数据模型,若所述第一数据模型的验证结果优于所述参考数据模型的验证结果,则确定所述第一数据模型通过验证。
可选地,所述方法还包括获得经本地训练得到的第二模型参数,以及将所述第二模型参数发送到所述区块链网络中的各个其他节点。
可选地,所述获得经本地训练得到的第二模型参数包括获得所述区块链中的最新数据模型作为第二数据模型,以及通过训练数据训练所述第二数据模型,直至所述第二数据模型通过验证,得到第二模型参数。
可选地,所述通过训练数据训练所述第二数据模型,直至所述第二数据模型通过验证,得到第二模型参数包括将获得的经加密的训练数据和验证数据存储于基于处理器的可信执行空间中进行解密,以及在所述基于处理器的可信执行空间中,通过所述训练数据训练所述第二数据模型,直至所述第二数据模型通过所述验证数据的验证,得到第二模型参数。
可选地,所述方法还包括若所述多个节点对所述第二数据模型通过验证的判断结果未达成共识,则基于所述第一模型参数和第二模型参数确定第三模型参数,训练包括第三模型参数的第三数据模型,直至所述第三数据模型通过验证,得到第四模型参数,以及将所述第四模型参数发送到所述区块链网络中的各个其他节点。
本公开的另一个方面提供了一种模型处理装置,包括接收模块、解密模块、验证模块以及处理模块。接收模块,用于接收来自所述多个节点中的第二节点的加密数据。解密模块,用于将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到第一模型参数。验证模块,用于在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果。处理模块,用于若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
本公开的另一个方面提供了一种电子设备,包括,至少一个处理器以及至少一个存储器,用于存储一个或多个计算机可读指令,其中,当所述一个或多个计算机可读指令被所述至少一个处理器执行时,使得所述处理器执行如上所述的方法。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开的实施例的模型处理方法的示例性场景;
图2示意性示出了根据本公开实施例的模型处理方法的流程图;
图3和图4示意性示出了根据本公开实施例的一个节点执行模型处理方法的流程图;
图5示意性示出了根据本公开实施例的模型处理装置的框图;以及
图6示意性示出了根据本公开实施例的计算机***的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用或者结合指令执行***使用。
本公开的实施例提供了一种模型处理方法,应用于区块链网络的多个节点中的第一节点,包括接收来自所述多个节点中的第二节点的加密数据,将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到第一模型参数,在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果,以及若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
图1示意性示出了根据本公开的实施例的模型处理方法的示例性场景。
在一些场景下,例如医院使用医疗数据训练人工智能模型时,由于单个医院的数据量不足而导致训练效果不佳,而如果医院之间共享数据又容易造成医疗数据的泄露。因此,亟需一种解决上述问题的模型训练方法。
如图1所示,本公开实施例提供的基于区块链的人工智能模型的处理方法可以包括区块链网络和多个作为矿工的节点,其中,每个节点在得到更优的人工智能模型后可以将其添加到区块链网络中。在本公开实施例中,还提供了密钥管理服务,使得在多个节点之间传递数据时,可以保证数据不会泄露。
在每个节点的计算机***中存在可信执行空间,例如,基于intel的SGX(SoftwareGuard Extensions)技术的可信执行空间(enclave)。数据在各个节点中处理和在各个节点之间传输时,都可以在该可信执行空间中执行,例如,数据集或模型参数可以在可信执行空间中加密,并发送到另一节点,该另一节点在其可信执行空间中对数据进行解密,并且,在可信执行空间中进行处理,包括训练或验证模型等。
图2示意性示出了根据本公开实施例的模型处理方法的流程图。
如图2所示,该方法应用于区块链网络的多个节点中的第一节点,包括操作S210~S240。
在操作S210,接收来自所述多个节点中的第二节点的加密数据。
根据本公开实施例,该加密数据可以是第二节点在其可信执行空间中对第一模型参数进行加密得到的加密数据。
在操作S220,将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到第一模型参数。
根据本公开实施例,该第一模型参数可以是第一数据模型的参数集合。该第一数据模型的结构可以是固定的,参数集合是初始参数集合或者经训练的参数集合。不同的参数集合导致第一数据模型的预测准确度不同。
在操作S230,在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果。
根据本公开实施例,该验证数据可以是第一节点本地的数据,也可以是来自数据提供方的数据。数据提供方可以基于可信执行空间对验证数据加密,并通过专用加密通道传输到第一节点的可信执行空间中,在第一节点的可信执行空间中进行解密,得到解密后的验证数据。
根据本公开实施例,可以在验证正确率高于一定阈值的情况下确定通过验证,否则不通过验证。该阈值可以是预先设定的固定值,也可以是基于当前已有的最优数据模型的正确率确定的动态的数值。其中,在已有的多组参数集合中,能够使数据模型的验证正确率达到最大的一组参数集合为最优参数集合,包含最优参数集合的数据模型为最优数据模型。
在操作S240,若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
根据本公开实施例,可以由发布第一模型参数的节点以外的其他节点对该第一模型参数进行投票,并通过一定的共识算法确定包含第一模型参数的第一数据模型是否通过验证,如果通过验证,则将第一模型参数写入区块链。在本公开实施例中,最新的区块即是最优的模型参数。即,上述获得最优数据模型可以是获得所述区块链中的最新数据模型作为参考数据模型。验证时,可以基于所述验证数据分别验证所述参考数据模型以及所述第一数据模型,若所述第一数据模型的验证结果优于所述参考数据模型的验证结果,则确定所述第一数据模型通过验证。
该方法利用本地的可信加密环境,处理保密的模型参数,通过多个节点的投票共同训练模型,可以在有效保护模型的情况下,显著地提升模型的训练效果。
根据本公开实施例,所述方法还包括获得经本地训练得到的第二模型参数,以及将所述第二模型参数发送到所述区块链网络中的各个其他节点。
根据本公开实施例,所述获得经本地训练得到的第二模型参数包括获得所述区块链中的最新数据模型作为第二数据模型,以及通过训练数据训练所述第二数据模型,直至所述第二数据模型通过验证,得到第二模型参数。
根据本公开实施例,所述通过训练数据训练所述第二数据模型,直至所述第二数据模型通过验证,得到第二模型参数包括将获得的经加密的训练数据和验证数据存储于基于处理器的可信执行空间中进行解密,以及在所述基于处理器的可信执行空间中,通过所述训练数据训练所述第二数据模型,直至所述第二数据模型通过所述验证数据的验证,得到第二模型参数。
根据本公开实施例,所述方法还包括若所述多个节点对所述第二数据模型通过验证的判断结果未达成共识,则基于所述第一模型参数和第二模型参数确定第三模型参数,训练包括第三模型参数的第三数据模型,直至所述第三数据模型通过验证,得到第四模型参数,以及将所述第四模型参数发送到所述区块链网络中的各个其他节点。
下面结合图3和图4所示意的实施例对上述方法进行说明。
图3和图4示意性示出了根据本公开实施例的一个节点执行模型处理方法的流程图。图3和图4所示意的方法流程可以由多个节点中的每个节点执行。在此,以第一节点为例进行说明。第一节点例如可以设置两个进程,分别用于执行图3和图4所示意的方法流程。其中,图3所示意的方法流程用于在本地训练并发布数据模型,图4所示意的方法流程用于处理其他节点发来的数据模型。
如图3所示,作为模型的训练和发布方,第一节点可以执行操作S310~S380。
在操作S310,获得区块链中最新的加密模型Wc到可信执行空间。在本公开实施例中,每次将最优数据模型写入区块链,因此最新的数据模型就是当前区块链中公认的最优数据模型。区块链中的每个节点都基于最优数据模型进行训练,可以有效提高训练效率。
在操作S320,在可信执行空间中解密该加密模型Wc,并使用训练数据训练得到模型W。此处的Wc和W分别指两个模型的参数集合,由于两个模型的参数集合不同,因此,此处也使用Wc和W代指这两个模型。
根据本公开实施例,该训练数据可以是第一节点本地的数据,也可以是来自数据提供方的数据。数据提供方可以基于可信执行空间对训练数据集加密,并通过专用加密通道传输到第一节点的可信执行空间中,在第一节点的可信执行空间中进行解密,得到解密后的训练数据,从而实现对隐私数据的有效保护。
在操作S330,使用验证数据验证该模型W。该操作参考上文描述的操作S230,此处不再赘述。
在操作S340,判断W的精度是否优于Wc,如果优于Wc,则执行操作S350;否则,返回操作S320继续训练。
在操作S350,对模型W进行加密,并将加密后的模型广播到其他参与方。此时的模型W(模型参数W)即为上文所述的第二数据模型(第二模型参数)。
在操作S360,获得其他参与方的投票结果,该投票结果可以是基于任何共识算法产生的。如果投票通过,则执行操作S370,由多个参与方共同将新的模型W写入区块链;如果投票没有通过,则返回执行操作S320继续训练。
根据本公开实施例,若投票没有通过,在返回操作S320之前,还可以执行操作S380,由于在区块链中的多个节点共同训练一个模型,第一节点也接收其他节点发来的参数集合,第一节点发布的参数集合没有通过投票的情况下,可以将参数集合W和来自其他参与方的模型参数Wr进行参数融合得到新的参数集合W’,并基于新的参数集合W’继续进行训练。
如图4所示,作为数据模型的投票方,第一节点可以执行操作S410~S460。
在操作S410,接收其他参与方发送的加密模型Wr。该模型Wr(模型参数Wr)即为第一数据模型(第一模型参数)。
在操作S420,在可信执行空间中对模型Wr进行解密。
在操作S430,在可信执行空间中使用验证数据验证模型Wr。
在操作S440,判断Wr的精度是否优于当前区块链中最新的数据模型Wc,如果Wr的精度优于Wc,则执行操作S450,投赞成票;否则执行操作S460,投反对票。
在如图3和图4所示意的各个过程中,例如模型的训练、验证、模型参数和数据集的传输等,都可以基于可信执行空间执行,避免数据外泄。
基于同一发明构思,本公开还提供了一种模型处理装置,下面参照图5对本公开实施例的模型处理装置进行说明。
图5示意性示出了根据本公开实施例的模型处理装置500的框图。
如图5所示,该模型处理装置500包括接收模块510、解密模块520、验证模块530以及处理模块540。该装置500可以执行上面参考图2~图4描述的方法。
接收模块510,例如执行上文参考图2所描述的操作S210,用于接收来自所述多个节点中的第二节点的加密数据。
解密模块520,例如执行上文参考图2所描述的操作S220,用于将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到所述第一模型参数。
验证模块530,例如执行上文参考图2所描述的操作S230,用于在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果。
处理模块540,例如执行上文参考图2所描述的操作S240,用于若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
根据本公开实施例,所述通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果包括获得所述区块链中的最新数据模型作为参考数据模型,以及基于所述验证数据分别验证所述参考数据模型以及所述第一数据模型,若所述第一数据模型的验证结果优于所述参考数据模型的验证结果,则确定所述第一数据模型通过验证。
根据本公开实施例,所述方法还包括获得经本地训练得到的第二模型参数,以及将所述第二模型参数发送到所述区块链网络中的各个其他节点。
根据本公开实施例,所述获得经本地训练得到的第二模型参数包括获得所述区块链中的最新数据模型作为第二数据模型,以及通过训练数据训练所述第二数据模型,直至所述第二数据模型通过验证,得到第二模型参数。
根据本公开实施例,所述通过训练数据训练所述第二数据模型,直至所述第二数据模型通过验证,得到第二模型参数包括将获得的经加密的训练数据和验证数据存储于基于处理器的可信执行空间中进行解密,以及在所述基于处理器的可信执行空间中,通过所述训练数据训练所述第二数据模型,直至所述第二数据模型通过所述验证数据的验证,得到第二模型参数。
根据本公开实施例,所述方法还包括若所述多个节点对所述第二数据模型通过验证的判断结果未达成共识,则基于所述第一模型参数和第二模型参数确定第三模型参数,训练包括第三模型参数的第三数据模型,直至所述第三数据模型通过验证,得到第四模型参数,以及将所述第四模型参数发送到所述区块链网络中的各个其他节点。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,接收模块510、解密模块520、验证模块530以及处理模块540中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接收模块510、解密模块520、验证模块530以及处理模块540中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块510、解密模块520、验证模块530以及处理模块540中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机***的方框图。图6示出的计算机***仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算机***600包括处理器610和计算机可读存储介质620。该计算机***600可以执行根据本公开实施例的方法。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,读取模块410、获得模块420、执行模块430、输出模块440、第一执行子模块511、更新子模块512、第一确定子模块521、第二执行子模块522、第二更新子模块523、第二确定子模块531、第三执行子模块532、第三更新子模块533、确定模块以及记录模块中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种模型处理方法,应用于区块链网络的多个节点中的第一节点,包括:
接收来自所述多个节点中的第二节点的加密数据;
将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到第一模型参数;
在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果;以及
若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
2.根据权利要求1所述的方法,其中,所述通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果包括:
获得所述区块链中的最新数据模型作为参考数据模型;
基于所述验证数据分别验证所述参考数据模型以及所述第一数据模型,若所述第一数据模型的验证结果优于所述参考数据模型的验证结果,则确定所述第一数据模型通过验证。
3.根据权利要求1所述的方法,还包括:
获得经本地训练得到的第二模型参数;
将所述第二模型参数发送到所述区块链网络中的各个其他节点。
4.根据权利要求3所述的方法,其中,所述获得经本地训练得到的第二模型参数包括:
获得所述区块链中的最新数据模型作为第二数据模型;
通过训练数据训练所述第二数据模型,直至所述第二数据模型通过验证,得到第二模型参数。
5.根据权利要求4所述的方法,其中,所述通过训练数据训练所述第二数据模型,直至所述第二数据模型通过验证,得到第二模型参数包括:
将获得的经加密的训练数据和验证数据存储于基于处理器的可信执行空间中进行解密;
在所述基于处理器的可信执行空间中,通过所述训练数据训练所述第二数据模型,直至所述第二数据模型通过所述验证数据的验证,得到第二模型参数。
6.根据权利要求3所述的方法,还包括:
若所述多个节点对所述第二数据模型通过验证的判断结果未达成共识,则基于所述第一模型参数和第二模型参数确定第三模型参数;
训练包括第三模型参数的第三数据模型,直至所述第三数据模型通过验证,得到第四模型参数;
将所述第四模型参数发送到所述区块链网络中的各个其他节点。
7.一种模型处理装置,包括:
接收模块,用于接收来自所述多个节点中的第二节点的加密数据;
解密模块,用于将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到第一模型参数;
验证模块,用于在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果;以及
处理模块,用于若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
8.一种电子设备,包括:
处理器;以及
存储器,其上存储有计算机可读指令,所述指令被处理器执行时使得处理器:
接收来自所述多个节点中的第二节点的加密数据;
将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到第一模型参数;
在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果;以及
若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
9.根据权利要求8所述的电子设备,其中,所述处理器还用于:
获得经本地训练得到的第二模型参数;
将所述第二模型参数发送到所述区块链网络中的各个其他节点。
10.一种计算机可读存储介质,其上存储有计算机可读指令,所述指令被处理器执行时使得处理器:
接收来自所述多个节点中的第二节点的加密数据;
将所述加密数据存储到基于处理器的可信执行空间中进行解密,以得到第一模型参数;
在所述可信执行空间中通过验证数据验证包括第一模型参数的第一数据模型,以得到表明所述第一数据模型是否通过验证的判断结果;以及
若所述多个节点对所述第一数据模型通过验证的判断结果达成共识,则将所述第一模型参数写入区块链。
CN201910822370.6A 2019-08-30 2019-08-30 模型处理方法、装置、电子设备和介质 Pending CN110543776A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910822370.6A CN110543776A (zh) 2019-08-30 2019-08-30 模型处理方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910822370.6A CN110543776A (zh) 2019-08-30 2019-08-30 模型处理方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN110543776A true CN110543776A (zh) 2019-12-06

Family

ID=68711203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910822370.6A Pending CN110543776A (zh) 2019-08-30 2019-08-30 模型处理方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN110543776A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107864198A (zh) * 2017-11-07 2018-03-30 济南浪潮高新科技投资发展有限公司 一种基于深度学习训练任务的区块链共识方法
US20190012595A1 (en) * 2017-07-07 2019-01-10 Pointr Data, Inc. Neural network consensus using blockchain
CN109194508A (zh) * 2018-08-27 2019-01-11 联想(北京)有限公司 基于区块链的数据处理方法和装置
CN109194510A (zh) * 2018-08-27 2019-01-11 联想(北京)有限公司 基于区块链的数据处理方法和装置
CN109308418A (zh) * 2017-07-28 2019-02-05 阿里巴巴集团控股有限公司 一种基于共享数据的模型训练方法及装置
CN109493216A (zh) * 2018-09-30 2019-03-19 北京小米移动软件有限公司 模型训练方法、装置、***及存储介质
CN110162981A (zh) * 2019-04-18 2019-08-23 阿里巴巴集团控股有限公司 数据处理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012595A1 (en) * 2017-07-07 2019-01-10 Pointr Data, Inc. Neural network consensus using blockchain
CN109308418A (zh) * 2017-07-28 2019-02-05 阿里巴巴集团控股有限公司 一种基于共享数据的模型训练方法及装置
CN107864198A (zh) * 2017-11-07 2018-03-30 济南浪潮高新科技投资发展有限公司 一种基于深度学习训练任务的区块链共识方法
CN109194508A (zh) * 2018-08-27 2019-01-11 联想(北京)有限公司 基于区块链的数据处理方法和装置
CN109194510A (zh) * 2018-08-27 2019-01-11 联想(北京)有限公司 基于区块链的数据处理方法和装置
CN109493216A (zh) * 2018-09-30 2019-03-19 北京小米移动软件有限公司 模型训练方法、装置、***及存储介质
CN110162981A (zh) * 2019-04-18 2019-08-23 阿里巴巴集团控股有限公司 数据处理方法及装置

Similar Documents

Publication Publication Date Title
US11050561B2 (en) Multi-party security computing method and apparatus, and electronic device
US11038679B2 (en) Secure multi-party computation method and apparatus, and electronic device
US10395012B2 (en) Media client device authentication using hardware root of trust
CN112055023B (zh) 基于预言机的访问请求处理方法、装置、设备和介质
US20220166607A1 (en) Secure re-encryption of homomorphically encrypted data
CN105046163B (zh) 保护嵌入式管理程序***中的重要数据结构
CN111865586A (zh) 一种产品信息的加密方法及装置
CN105468940B (zh) 软件保护方法及装置
CN111291399B (zh) 数据加密方法、***、计算机***和计算机可读存储介质
US10572635B2 (en) Automatic correction of cryptographic application program interfaces
KR20220011101A (ko) 데이터 프라이버시 시스템
de Fuentes et al. Applying information hiding in VANETs to covertly report misbehaving vehicles
US10223249B2 (en) Test methodology for detection of unwanted cryptographic key destruction
CN114443754A (zh) 基于区块链的联邦学习处理方法、装置、***以及介质
US20120321088A1 (en) Method And System For The Accelerated Decryption Of Cryptographically Protected User Data Units
CN112910641B (zh) 用于跨链交易监管的验证方法、装置、中继链节点及介质
CN110796448A (zh) 基于区块链的智能合约验证方法、参与节点及介质
CN110543776A (zh) 模型处理方法、装置、电子设备和介质
CN115001700B (zh) 一种基于区块链的生态环境监管方法及***
US20220345292A1 (en) Method and device for encryption of video stream, communication equipment, and storage medium
CN111355576B (zh) 数据处理方法和计算机***
CN115495774A (zh) 一种风险数据查询方法、***、可信单元和服务器
CN112149140B (zh) 预测方法、装置、设备及存储介质
CN114611129A (zh) 一种数据隐私保护方法和***
CN112073514A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191206