CN116561787A - 视觉图像分类模型的训练方法、装置及电子设备 - Google Patents
视觉图像分类模型的训练方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116561787A CN116561787A CN202310806978.6A CN202310806978A CN116561787A CN 116561787 A CN116561787 A CN 116561787A CN 202310806978 A CN202310806978 A CN 202310806978A CN 116561787 A CN116561787 A CN 116561787A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network layer
- model
- data
- gradient
- 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 155
- 230000000007 visual effect Effects 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000013145 classification model Methods 0.000 title claims abstract description 91
- 238000013528 artificial neural network Methods 0.000 claims abstract description 232
- 238000004364 calculation method Methods 0.000 claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000007792 addition Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Bioethics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种视觉图像分类模型的训练方法、装置及电子设备。该方法包括:对数据提供方所提供的图像样本及待训练模型的神经网络层对应的初始模型参数进行秘密分享处理,得到每个神经网络层对应的输出数据,图像样本为数据提供方对采集到的视觉图像进行同态加密后得到的样本;对每个神经网络层的输出数据进行反向梯度计算,得到每个神经网络层的梯度数据;对每个神经网络层的梯度数据进行重构处理,得到每个神经网络层对应的模型更新参数;基于每个神经网络层对应的模型更新参数对待训练模型进行训练,得到视觉图像分类模型。本申请所提供的方案提高了视觉图像数据和视觉图像分类模型的隐私性。
Description
技术领域
本申请属于数据安全领域,尤其涉及一种视觉图像分类模型的训练方法、装置及电子设备。
背景技术
神经网络模型是由大量的、简单的处理单元广泛地互相连接而形成的复杂网络系统,其在各个领域得到了广泛应用,例如,在计算机视觉领域,使用视觉图像分类模型可实现图像识别。
在实际应用中,视觉图像分类模型的训练需要大规模的视觉图像作为数据支撑。通常,用于视觉图像分类模型训练的训练数据需要通过多方采集,而视觉图像中包含的信息量要多于其他数据,非法人员更容易从视觉图像中获取涉及个人私密数据或商业机密敏感数据,因此,在对视觉图像分类模型进行训练时需保证视觉图像数据的数据安全。此外,为提高视觉图像分类模型的安全性,也许对视觉图像分类模型的模型参数进行隐私保护。
在相关技术中,通常采用联邦学习、全同态加密、安全多方计算等方式来实现视觉图像数据的隐私保护或者视觉图像分类模型的隐私保护。然而上述方案无法同时实现视觉图像数据和视觉图像分类模型的隐私保护,从而降低了视觉图像分类模型的隐私性。
发明内容
本申请实施例提供一种视觉图像分类模型的训练方法、装置及电子设备,能够提高视觉图像数据和视觉图像分类模型的隐私性。
第一方面,本申请实施例提供一种视觉图像分类模型的训练方法,该方法包括:对数据提供方所提供的图像样本以及待训练模型的神经网络层所对应的初始模型参数进行秘密分享处理,得到每个神经网络层所对应的输出数据,其中,图像样本为数据提供方对采集到的视觉图像进行同态加密后所得到的样本,每个神经网络层所对应的输出数据作为下一神经网络层的输入数据;对每个神经网络层的输出数据进行反向梯度计算,得到每个神经网络层的梯度数据;对每个神经网络层的梯度数据进行重构处理,得到每个神经网络层所对应的模型更新参数;基于每个神经网络层所对应的模型更新参数对待训练模型进行训练,得到视觉图像分类模型。
第二方面,本申请实施例提供了一种视觉图像分类模型的训练装置,该装置包括:数据分享模块,用于对数据提供方所提供的图像样本以及待训练模型的神经网络层所对应的初始模型参数进行秘密分享处理,得到每个神经网络层所对应的输出数据,其中,图像样本为数据提供方对采集到的视觉图像进行同态加密后所得到的样本,每个神经网络层所对应的输出数据作为下一神经网络层的输入数据;梯度计算模块,用于对每个神经网络层的输出数据进行反向梯度计算,得到每个神经网络层的梯度数据;梯度重构模块,用于对每个神经网络层的梯度数据进行重构处理,得到每个神经网络层所对应的模型更新参数;模型训练模块,用于基于每个神经网络层所对应的模型更新参数对待训练模型进行训练,得到视觉图像分类模型。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面所述的视觉图像分类模型的训练方法。
第四方面,本申请实施例提供了一种计算机存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如第一方面所述的方法。
本申请实施例的视觉图像分类模型的训练方法、装置及电子设备,其中,该方法包括:对数据提供方所提供的图像样本及待训练模型的神经网络层对应的初始模型参数进行秘密分享处理,得到每个神经网络层对应的输出数据,图像样本为数据提供方对采集到的视觉图像进行同态加密后得到的样本;对每个神经网络层的输出数据进行反向梯度计算,得到每个神经网络层的梯度数据;对每个神经网络层的梯度数据进行重构处理,得到每个神经网络层对应的模型更新参数;基于每个神经网络层对应的模型更新参数对待训练模型进行训练,得到视觉图像分类模型。
基于上述方案,本申请在使用数据提供方所提供的图像样本进行模型训练之前,对数据提供方所采集到的视觉图像进行同态加密处理,在对待训练模型进行模型训练的过程中,模型训练方使用加密后的图像样本进行模型训练,从而对数据提供方的图像样本进行了隐私保护,降低了数据泄露的风险。另外,在确定待训练模型的每个神经网络层的模型参数的过程中,数据提供方并不会获取模型参数的明文,从而降低了待训练模型的模型参数泄露的风险,提高了视觉图像分类模型的隐私性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的视觉图像分类模型的训练方法的流程示意图;
图2是本申请一个实施例提供的线性层的前向传播的示意图;
图3是本申请一个实施例提供的线性层的反向传播的示意图;
图4是本申请一个实施例提供的视觉图像分类模型的训练效果示意图;
图5是本申请另一个实施例提供的视觉图像分类模型的训练装置的结构示意图;
图6是本申请又一个实施例提供的电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在描述本申请所提供的视觉图像分类模型的训练方法之前,首先对本申请的发明构思进行说明。
训练神经网络模型需要以大规模数据作为支撑,而在目前的机器学习应用中,尤其是在视觉图像分类模型的训练中,训练视觉图像分类模型的数据集通常通过数据采集和数据标注来确定,而数据的采集和标注过程需要消耗数据提供方的资源,从而使得数据集本身具有一定价值,也使得想要利用多方数据集以训练模型的模型训练方难以直接以明文的方式获取各方数据。另一方面,各数据提供方所收集的图像、文本等信息通常包含公民个人私密数据或者商业机密敏感数据,如何保障数据提供方所提供的数据的隐私性以及视觉图像分类模型的隐私性,进而保证模型训练过程中的隐私安全,是本领域技术人员亟待解决的问题。
在相关技术中,通常采用联邦学习、全同态加密、安全多方计算等方式来实现数据的隐私保护以及视觉图像分类模型的隐私保护。
(1)针对联邦学习方式,该方式允许多方联合参与视觉图像分类模型的训练,各方维护一个本地视觉图像分类模型,并使用各方的本地数据进行本地视觉图像分类模型的训练。另外,各方定期对本地视觉图像分类模型进行同步操作,以维护全局视觉图像分类模型。然后,将同步后的全局视觉图像分类模型下发至各方,以作为各方新的本地视觉图像分类模型,然后各方再继续对对应的新本地视觉图像分类模型进行训练。
需要说明的是,采用联邦学习的方式,各方可以保护本地视觉图像分类模型不离开模型训练方,但全局模型的定时同步操作使得所有参与方(包括数据提供方)均可获得全局视觉图像分类模型,从而视觉图像分类模型的隐私无法得到保护。
(2)针对全同态加密方式,该方式需要数据提供方上传经过同态加密的数据,然后,模型训练方通过对同态加密后的数据进行计算以实现视觉图像分类模型的参数的前向传播和反向传播,并获取反向传播过程中所生产的参数梯度。然而,数据提供方所提供的数据需经过同态加密,从而视觉图像分类模型中所有中间层结果以及梯度均为同态密文,这使得模型训练过程中更新的模型参数均为密文,进而所得的视觉图像分类模型的模型更新参数也为密文。
上述方式使得模型训练方无法独立部署视觉图像分类模型,而是需要经过数据提供方进行合作推理或解密模型之后,才能得到视觉图像分类模型。另外,由于对数据提供方对采样数据进行加密的密钥由对应的数据提供方所持有,因此,该方式无法联合利用多个数据提供方所提供的数据。同时,全同态加密方案的数学性质使得仅能对视觉图像分类模型的每个神经网络层的模型参数进行线性运算和多项式运算,而无法进行任意非线性函数(例如,ReLU函数、最大池化函数等)的计算,需使用多项式法或迭代逼近法,而多项式法或迭代逼近法会极大地增加模型训练的运算开销。
(3)针对安全多方计算方式,该方式允许固定数量的数据提供方和一个模型训练方参与模型训练,并通过秘密分享和相关的混淆电路、不经意传输等密码学原语进行完备的数学运算。然而,通过该方式所获取的模型参数由多个参与方以秘密分享的方式共同持有,也无法实现视觉图像分类模型的独立部署。同时,由于安全多方计算的参与方的数量固定,不具有可拓展性,从而无法应用于需要参与方数量变化的场景。此外,相较于全同态加密方式,安全多方计算方式的计算量较小,但在线性运算中传输量较大,无法适应网络带宽较小或延迟较高的场景。
由上述内容可知,采用联邦学习、全同态加密、安全多方计算等方式来实现数据的隐私保护或者视觉图像分类模型的隐私保护,无法同时实现数据和视觉图像分类模型的隐私保护,从而降低了视觉图像分类模型的隐私性。
为了解决现有技术中存在的上述问题,本申请实施例提供了一种视觉图像分类模型的训练方法、装置及电子设备。下面首先对本申请实施例所提供的视觉图像分类模型的训练方法进行介绍。
首先,本申请实施例所提供的视觉图像分类模型的训练方法可以应用于模型训练系统中,该模型训练系统由一个模型训练方和至少一个数据提供方组成。其中,模型训练方用于训练视觉图像分类模型,数据提供方用于提供训练视觉图像分类模型的图像样本。
在一个示例中,模型训练方可以为用于训练视觉图像分类模型的服务器,类似的,数据提供方可以为采集视觉图像的服务器,也可以为其他的图像采集设备,例如,摄像机等。在本申请实施例中,以模型训练方为执行主体对本申请所提供的方法进行解释说明。
在此之前,需要说明的是,本实施例以视觉图像分类模型的一轮训练为例进行解释说明,在一轮训练中,需确定视觉图像分类模型中的每个神经网络层所对应的模型参数,即在一轮训练中,需要进行多次模型参数的更新。
在一个示例中,图1示出了本申请一个实施例提供的视觉图像分类模型的训练方法的流程示意图。如图1所示,该方法包括步骤S101至步骤S104,具体如下:
步骤S101,对数据提供方所提供的图像样本以及待训练模型的神经网络层所对应的初始模型参数进行秘密分享处理,得到每个神经网络层所对应的输出数据。
在步骤S101中,图像样本为数据提供方对采集到的视觉图像进行同态加密后所得到的样本。
在一个示例中,数据提供方可以具有图像采集单元,其可采集视觉图像,例如,数据提供方可以是具有算力的摄像机,该摄像机在采集到视觉图像之后,可对视觉图像进行同态加密,并将同态加密后的视觉图像传输至模型训练方,以实现视觉图像分类模型的训练。
在另一个示例中,数据提供方不采集视觉图像,而是由其他设备(例如,摄像头、摄像机、相机、扫描机、具有图像拍摄功能的手机、电脑等)采集视觉图像,并将采集到的视觉图像传输至数据提供方,由数据提供方对采集到的视觉图像进行同态加密处理。
需要说明的是,在本实施例中,同态加密是指满足密文同态运算性质的加密算法,即数据经过加密之后,对密文进行特定的计算,得到的密文计算结果在进行对应的同态解密后的明文等同于对明文数据直接进行相同的计算,从而实现数据的可算不可见。
此外,还需要说明的是,在使用数据提供方所提供的图像样本进行模型训练之前,对数据提供方所采集到的视觉图像进行同态加密处理,在对待训练模型进行模型训练的过程中,模型训练方使用加密后的图像样本进行模型训练,从而对数据提供方的图像样本进行了隐私保护,降低了数据泄露的风险。
在一个示例中,在得到数据提供方所提供的图像样本之后,模型训练方使用图像样本对待训练模型的模型参数进行前向传播处理。在前向传播过程中,针对每个神经网络层,模型训练方对图像样本以及每个神经网络层所对应的初始模型参数进行秘密分享处理,从而得到每个神经网络层所对应的输出数据。其中,每个神经网络层所对应的输出数据作为下一神经网络层的输入数据。
需要说明的是,秘密分享是一种密码学技术,其通过将一个秘密数据分割成多个部分,分配给不同的参与者,以确保数据的安全性。只有当多个部分同时合并时,才能恢复原始的秘密数据,而任何单个参与者是无法看到完整的秘密数据。
由于秘密分享具有上述特点,因此,在本申请实施例中,采用秘密分享的方式实现待训练模型的前向传播,可以保障图像样本以及模型参数的隐私安全。
步骤S102,对每个神经网络层的输出数据进行反向梯度计算,得到每个神经网络层的梯度数据。
在完成了待训练模型的前向传播之后,模型训练方再对待训练模型的模型参数进行反向传播处理,从而得到每个神经网络层的梯度数据。
需要说明的是,在本实施例中,反向传播过程与前向传播过程类似,待训练模型的各中间神经网络层的梯度数据均进行秘密分享,该方式进一步保障了图像样本以及模型参数的隐私安全。
步骤S103,对每个神经网络层的梯度数据进行重构处理,得到每个神经网络层所对应的模型更新参数。
在步骤S103中,在确定了每个神经网络层的梯度数据之后,模型训练方与数据提供方进行交互,以对梯度数据进行重构处理,从而得到每个神经网络层所对应的模型更新参数,其中,对梯度数据的重构过程包括对梯度数据的解密以及通过解密后的梯度数据计算模型更新参数。
需要说明的是,模型训练方所获取到的梯度数据是明文,而且,在模型训练方与数据提供方进行交互的过程中,模型训练方无法从数据提供方获取梯度数据之外的其他信息,从而保证了图像样本的数据隐私安全。此外,数据提供方也无法获取待训练模型的模型参数以及梯度数据,从而保证了待训练模型的模型参数的隐私安全。
此外,由于模型训练方所获取到的梯度数据是明文,因此,模型训练方可以独立获取训练后的模型并用于部署,在后续的模型推理过程中,无需数据提供方进一步参与或合作,与独立的同态密码学方案或安全多方计算方案相比,本申请实施例所提供的方案还可提高了模型的可用性。
步骤S104,基于每个神经网络层所对应的模型更新参数对待训练模型进行训练,得到视觉图像分类模型。
在步骤S104中,在得到每个神经网络层对应的模型更新参数之后,模型训练方可将每个神经网络模型的模型参数更新为对应的模型更新参数,从而实现模型参数的一次更新。
在一个示例中,模型训练方可使用随机梯度下降方来实现待训练模型的参数更新,也可以使用其他性能更好的优化器(例如,Adam优化器)来实现模型参数的更新,以加快模型收敛的速度,进而提升模型训练的效率。
进一步的,在数据提供方的数量为多个时,在完成一轮训练之后,模型训练方可使用其他数据提供方所提供的图像样本进行下一轮训练,即在本实施例中,模型训练允许多个数据提供方轮流参与,且不会向某个数据提供方泄露任意其他数据提供方的数据,与独立的同态密码学方案或安全多方计算方案相比,本申请所提供的方案还可提高模型训练的参与方的可拓展性。
需要说明的是,在数据提供方的数量为多个时,每个数据提供方均提供完整的用于训练模型的数据,例如,训练视觉图像分类模型需要使用人脸图像以及用户的消费信息,则每个数据提供方均能同时提供人脸图像以及用户的消费信息。
基于上述步骤S101至步骤S104所限定的方案,可以获知,本申请对数据提供方所提供的图像样本及待训练模型的神经网络层对应的初始模型参数进行秘密分享处理,得到每个神经网络层对应的输出数据,图像样本为数据提供方对采集到的视觉图像进行同态加密后得到的样本;对每个神经网络层的输出数据进行反向梯度计算,得到每个神经网络层的梯度数据;对每个神经网络层的梯度数据进行重构处理,得到每个神经网络层对应的模型更新参数;基于每个神经网络层对应的模型更新参数对待训练模型进行训练,得到视觉图像分类模型。
基于上述方案,本申请在使用数据提供方所提供的图像样本进行模型训练之前,对数据提供方所采集到的视觉图像进行同态加密处理,在对待训练模型进行模型训练的过程中,模型训练方使用加密后的图像样本进行模型训练,从而对数据提供方的图像样本进行了隐私保护,降低了数据泄露的风险。另外,在确定待训练模型的每个神经网络层的模型参数的过程中,数据提供方并不会获取模型参数的明文,从而降低了待训练模型的模型参数泄露的风险,提高了视觉图像分类模型的隐私性。
以下结合图1所示的流程图,对图1中的各个步骤进行解释说明。
在一个示例中,本实施例中的神经网络层包括线性层和非线性层,其中,线性层的模型参数为可训练的参数,而非线性层的模型参数中不包括可训练的参数。针对线性层和非线性层,模型训练方采用不同的方式确定该神经网络层的模型参数。
针对线性层,本申请采用同态加密方案进行线性层运算,例如,可采用基于RLWE(Ring Learning With Errors,有错误的环形学习)问题的格密码算法,以利用多项式同态的性质来对线性层进行运算。实质上,对于线性层,本申请所提供的方案所需的同态算法仅需要加法同态即可。
针对非线性层,由于同态加密方案无法计算非线性函数,因此,本申请使用多方安全计算的方式来进行非线性层的运算,以避免相关技术中使用多项式或者迭代逼近的方式进行非线性层的运算所导致的运算开销大的问题。
需要说明的是,在确定神经网络层的模型参数的过程中,无论线性层还是非线性层均会进行前向传播和反向传播。
首先,针对线性层的前向传播过程,模型训练方对图像样本与第一神经网络层的上一神经网络层的模型输出数据进行同态加法计算,得到上一神经网络层的初始输出数据;然后,基于初始模型参数中的权重参数对初始输出数据进行同态加密计算,得到数据提供方对应的输出结果;接着,对初始模型参数中的偏差值参数与第一神经网络层对应的第一随机张量进行同态加法计算,得到模型训练方对应的输出结果;最后,基于数据提供方对应的输出结果与模型训练方对应的输出结果确定第一神经网络层对应的输出数据。
在上述过程中,第一神经网络层为待训练模型的前向传播过程中,待训练模型中除首个神经网络层之外的任一神经网络层,第一神经网络层为线性层。另外,上述的初始模型参数至少包括权重参数以及偏差值参数。
此外,线性层前向传播过程等同于神经网络线性层的隐私推理过程,即线性层的输出数据的秘密分享过程。其中,/>为当前线性层的输出数据,/>为前向传播过程中,当前线性层的上一线性层的输出数据,/>为当前线性层对应的权重参数,为当前线性层对应的偏差值参数。
在一个示例中,图2示出了线性层的前向传播的示意图,在图2中,MO表征模型训练方,DO为数据提供方。具体过程如下:
步骤S21,数据提供方发送输入秘密分享的同态加密数据(即图像样本),其中,/>表示/>同态加密后的数据,即/>为/>同态加密后的数据。
步骤S22,模型训练方使用明密文同态加法计算上一神经网络层的初始输出数据,其中,/>为上一神经网络层的模型输出数据,即模型训练方所对应的中间神经网络层的输出数据。
步骤S23,模型训练方利用明密文同态乘法计算,得到第一结果。
步骤S24,模型训练方采样随机张量(即第一随机张量),并进行密文加法计算,得到数据提供方对应的输出结果/>,将数据提供方对应的输出结果发还给数据提供方以进行解密。
步骤S25,数据提供方输出,模型训练方输出
,可以验证两者的和满足/>,其中,/>为第一神经网络层对应的输出结果。
需要说明的是,如图2所示,对于每个神经网络层,前向传播过程可视为函数,模型训练方输入/>,模型训练方输出/>;数据提供方输入/>,数据提供方输出/>。另外,图2所示的示意图也表征了前向传播过程中的秘密分享。
至此,完成线性层的前向传播过程。通过在前向传播过程中进行秘密分享,可以保障图像样本以及模型参数的隐私安全。
在一个示例中,在第一神经网络层为待训练模型的首个神经网络层时,模型训练方对图像样本与零张量进行秘密分享,得到第一神经网络层所对应的输出数据。即第一神经网络层的输入仅由数据提供方提供,此时,模型训练方所提供的数据视为零张量,即相当于零张量与原输入的秘密分享。
需要说明的是,在前向传播过程中,各神经网络层的输出数据以秘密分享形式输入到下一个神经网络层,最后一个神经网络输出的秘密分享数据,并将该数据发还给数据提供方以进行损失函数计算,并计算数据提供方所对应的梯度数据。
针对非线性层的前向传播过程,即在第一神经网络层为非线性层的情况下,模型训练方对数据提供方所提供的图像样本进行多方安全计算,并基于多方安全计算的计算结果进行前向传播处理,得到第一神经网络层的模型输出数据。
在一个示例中,上述多方安全计算可以使用ReLU函数、最大池化函数、定点数去尾算法中的任意一个或多个进行多方安全计算,以得到前向传播过程中,非线性层的模型输出数据。
进一步的,在完成了前向传播之后,模型训练方执行步骤S102至步骤S103以实现反向传播。
在一个示例中,对于线性层,模型训练方执行步骤S102,即对每个神经网络层的输出数据进行反向梯度计算,得到每个神经网络层的梯度数据。其中,图3示出了线性层的反向传播的示意图,同样的,在图3中,MO表征模型训练方,DO为数据提供方。由图3可知,线性层的反向传播过程包括三个部分,即中间神经网络层的秘密分享梯度计算、权重参数的梯度计算以及偏差值的梯度计算。
对于中间神经网络层的秘密分享梯度计算部分,中间神经网络层的输出数据的梯度计算需要以秘密分享形式输出。中间神经网络层的输入梯度的计算是后一神经网络层输出梯度/>与权重参数/>的一个线性函数,即/>,其中,/>表示二元线性运算。由此可见,该秘密分享的计算形式与前向传播中的计算形式基本相同(反向传播中无偏差值参数),具体的计算方式在此不再赘述。
对于偏差值的梯度计算部分,模型训练方根据第二神经网络层的类型确定初始模型参数中的偏差值参数的计算维度;并基于计算维度对偏差值参数进行求和计算,得到第二神经网络层所对应的偏差值更新梯度。
需要说明的是,上述第二神经网络层为待训练模型的反向传播过程中,待训练模型中除首个神经网络层之外的任一神经网络层,第二神经网络层为线性层。
在一个示例中,偏差值参数的梯度在神经网络中常用的全连接层和卷积层中均具有中间神经网络层输出梯度/>的各项求和的形式。因此,模型训练方和数据提供方分别对此中间神经网络层的输出梯度进行本地求和,然后数据提供方将其求和的秘密分享发送给模型训练方进行重构,即可得到偏差值/>的梯度/>。
需要说明的是,不同的神经网络层所对应的偏差值参数的计算维度也不相同,例如,在全连接层中,全连接层的输出数据为二维矩阵,对全连接层的输出数据在批处理维度上进行求和,即可得到全连接层所对应的偏差值更新梯度;又例如,在卷积层中,卷积层的输出数据为四维张量,对卷积层的输出数据在批处理维度、图像高度维度以及图像宽度维度上进行求和计算,即可得到卷积层所对应的偏差值更新梯度。
对于权重参数的梯度计算部分,模型训练方获取数据提供方对第三神经网络层所对应的数据提供方的输出结果的数据同态密文进行反向梯度计算所得到的数据密文梯度;然后,对第三神经网络层所对应的模型训练方对应的输出结果进行反向梯度计算,得到模型同态密文以及与模型同态密文所对应的模型密文梯度;然后再基于偏差值更新梯度、数据密文梯度、模型密文梯度确定第二神经网络层的梯度数据。
在上述过程中,第三神经网络层为第二神经网络层的上一神经网络层。数据同态密文为针对中间神经网络层所输出的同态密文,模型同态密文为针对中间神经网络层所输出的同态密文。
在一个示例中,数据提供方对第三神经网络层所对应的数据提供方的输出结果进行同态加密计算,得到数据同态密文/>,并对数据同态密文/>进行反向梯度计算,得到数据密文梯度/>。模型提供方对模型训练方对应的输出结果/>进行同态加密计算,得到模型同态密文/>,并对模型同态密文/>进行反向梯度计算,得到模型密文梯度/>。
进一步的,在计算得到偏差值更新梯度、数据密文梯度、模型密文梯度之后,模型训练方执行步骤S103,即对每个神经网络层的梯度数据进行重构处理,得到每个神经网络层所对应的模型更新参数。
具体的,模型训练方首先基于数据同态密文、数据密文梯度、模型同态密文、模型密文梯度以及第二神经网络层所对应的第二随机张量,确定第二神经网络层所对应的第一权重更新梯度。
在一个示例中,模型训练方对数据同态密文以及模型密文梯度进行线性计算,得到第一线性结果,即第一线性结果为。
同时,模型训练方还对模型同态密文以及数据密文梯度进行线性计算,得到第二线性结果,即第二线性结果为。
在得到第一线性结果和第二线性结果之后,模型训练方基于第一线性结果、第二线性结果以及第二随机张量确定第一权重更新梯度。其中,第一权重更新梯度/>可由下式表示:
在得到第一权重更新梯度之后,模型训练方将第一权重更新梯度发送给数据提供方,以使数据提供方对其进行解密。
需要说明的是,在计算第一权重更新梯度的过程中,加入了随机张量,通过加入随机张量可有效防止数据提供方获取有关的信息,进而为模型参数的隐私保护提供了保障。
此外,还需要说明的是,在前向传播过程中和中间神经网络层输出梯度计算过程中,均涉及二元线性运算,两个运算元中的一个运算元为模型训练方所独有,另一个运算元为模型训练方和数据提供方所共享。权重参数的梯度也为二元线性运算,但两个运算元均为模型训练方和数据提供方秘密共享,即/>(为表示简便,本实施例中,将/>简记为/>)。对此,本申请考虑利用二元运算的线性性质,将秘密分享的线性运算拆分为四项,其中两项可本地计算,而另两项(即交叉项)则使用同态密码进行计算。
更进一步的,在得到第一权重更新梯度之后,模型训练方将该第一权重更新梯度发送至数据提供方,以使数据提供方对第一权重更新梯度进行解密。数据提供方在对第一权重更新梯度进行解密之后,得到第二权重更新梯度。
在一个示例中,数据提供方可通过下式对第一权重更新梯度进行解密,从而得到第二权重更新梯度:
其中,上述的第二权重更新梯度为明文。在得到第二权重更新梯度之后,数据提供方将第二权重更新梯度发送给模型训练方。模型训练方在得到第二权重更新梯度之后,基于模型同态密文、模型密文梯度对第二权重更新梯度进行重构处理,得到第二神经网络层所对应的目标权重参数。
在一个示例中,模型训练方可对第二权重更新梯度进行如下计算,从而目标权重更新梯度:
此外,模型训练方在对目标权重更新梯度进行重构,从而得到目标权重参数。同时,模型训练方还对第二神经网络层所对应的偏差值更新梯度进行重构处理,得到第二神经网络层所对应的目标偏差值参数。最后,模型训练方基于目标权重参数以及目标偏差值参数确定第二神经网络层所对应的模型更新参数。
针对非线性层的反向传播过程,即在第二神经网络层为非线性层的情况下,模型训练方对第二神经网络层的输出数据进行多方安全计算,并将多方安全计算的计算结果作为第二神经网络层的梯度数据。
在一个示例中,上述多方安全计算可以是两方安全计算,例如,可以使用ReLU函数、最大池化函数、定点数去尾算法中的任意两个进行两方安全计算,以得到反向传播过程中,非线性层的梯度数据。
以下以计算机视觉分类任务为例对本申请中的视觉图像分类模型的网络架构进行描述。
针对基于MNIST(mini-National Institute of Standards and Technology,国家标准与技术的缩小版)数据集的视觉图像分类模型,其可采用卷积神经网络架构,具体网络结构设计可以包括卷积层、ReLU激活函数和全连接层,该模型架构类似于LeNet5模型结构。该网络结构的设计参数可以如下表所示:
使用本申请所提供的隐私保护训练方案(即视觉图像分类模型的训练方法)进行模型训练,对于线性层,可采用多项式编码方案,其所采用的同态密码系统可以为BFV密码系统,其多项式模数次数为,明文模数为59位,密文模数包括/>位,定点数运算精度为25个二进制位。对于非线性层,采用开源的多方安全计算框架进行非线性函数运算。其训练参数包括:总迭代周期数为10,采用Adam优化器,学习率为0.01。视觉图像分类模型的训练效果如图4所示。
由图4可以看出,在上述设置参数下,使用隐私训练(即采用本申请所提供方法的训练方案)所得到的视觉图像分类模型对视觉图像分类的准确率为98.23%,使用明文训练的所得到的视觉图像分类模型对视觉图像分类的准确率为98.59%,即隐私训练的正确率与明文训练的正确率基本相同。
由此可见,本申请所提供的方案在不降低模型识别准确率的基础上,还保障了隐私安全。
此外,还需要说明的是,本申请所提供的方案以单分支网络为例进行解释,但本申请所提供的方案不仅可以应用到单分支网络中,还可应用于多分支网络(例如,包含残差结构的残差网络)中。在多分支网络中,神经网络模型的训练方式与单分支网络类似,在此不再赘述。
综上所述,本申请所提供的方案在模型训练过程中保护数据提供方的数据隐私,数据机密信息不会泄露给模型训练方。该方案能够保证模型训练方能够在机器学习应用中使用其他参与方收集的数据,从而推广了机器学习应用的适用范围,更好地综合利用多方数据。此外,本申请所提供的方案在模型训练过程中还能够保护模型参数的隐私,从而数据提供方无法获取模型训练结果,与联邦学习方案相比,本申请所提供的方案提高了模型的隐私性。
本申请实施例还提供一种视觉图像分类模型的训练装置,如图5所示,该装置包括:数据分享模块501、梯度计算模块502、梯度重构模块503以及模型训练模块504。
其中,数据分享模块,用于对数据提供方所提供的图像样本以及待训练模型的神经网络层所对应的初始模型参数进行秘密分享处理,得到每个神经网络层所对应的输出数据,其中,图像样本为数据提供方对采集到的视觉图像进行同态加密后所得到的样本,每个神经网络层所对应的输出数据作为下一神经网络层的输入数据;
梯度计算模块,用于对每个神经网络层的输出数据进行反向梯度计算,得到每个神经网络层的梯度数据;
梯度重构模块,用于对每个神经网络层的梯度数据进行重构处理,得到每个神经网络层所对应的模型更新参数;
模型训练模块,用于基于每个神经网络层所对应的模型更新参数对待训练模型进行训练,得到视觉图像分类模型。
在一个示例中,数据分享模块包括:第一同态计算模块、第二同态计算模块、第三同态计算模块以及第一计算模块。其中,第一同态计算模块,用于对图像样本与第一神经网络层的上一神经网络层的模型输出数据进行同态加法计算,得到上一神经网络层的初始输出数据,其中,第一神经网络层为待训练模型的前向传播过程中,待训练模型中除首个神经网络层之外的任一神经网络层,第一神经网络层为线性层,线性层的模型参数为可训练的参数;第二同态计算模块,用于基于初始模型参数中的权重参数对初始输出数据进行同态加密计算,得到数据提供方对应的输出结果;第三同态计算模块,用于对初始模型参数中的偏差值参数与第一神经网络层对应的第一随机张量进行同态加法计算,得到模型训练方对应的输出结果,其中,模型训练方用于训练视觉图像分类模型;第一计算模块,用于基于数据提供方对应的输出结果与模型训练方对应的输出结果确定第一神经网络层对应的输出数据。
在一个示例中,梯度计算模块包括:第二计算模块、第三计算模块、第一获取模块、第四计算模块以及第五计算模块。其中,第二计算模块,用于根据第二神经网络层的类型确定初始模型参数中的偏差值参数的计算维度,其中,第二神经网络层为待训练模型的反向传播过程中,待训练模型中除首个神经网络层之外的任一神经网络层,第二神经网络层为线性层;第三计算模块,用于基于计算维度对偏差值参数进行求和计算,得到第二神经网络层所对应的偏差值更新梯度;第一获取模块,用于获取数据提供方对第三神经网络层所对应的数据提供方的输出结果的数据同态密文进行反向梯度计算所得到的数据密文梯度,其中,第三神经网络层为第二神经网络层的上一神经网络层;第四计算模块,用于对第三神经网络层所对应的模型训练方对应的输出结果的模型同态密文进行反向梯度计算,得到模型密文梯度;第五计算模块,用于基于偏差值更新梯度、数据密文梯度、模型密文梯度确定第二神经网络层的梯度数据。
在一个示例中,梯度重构模块包括:第六计算模块、第二获取模块、第一重构模块、第一重构模块、第二重构模块以及第七计算模块。其中,第六计算模块,用于基于数据同态密文、数据密文梯度、模型同态密文、模型密文梯度以及第二神经网络层所对应的第二随机张量,确定第二神经网络层所对应的第一权重更新梯度;第二获取模块,用于获取数据提供方对第一权重更新梯度进行解密所得到的第二权重更新梯度;第一重构模块,用于基于模型同态密文、模型密文梯度对第二权重更新梯度进行重构处理,得到第二神经网络层所对应的目标权重参数;第二重构模块,用于对第二神经网络层所对应的偏差值更新梯度进行重构处理,得到第二神经网络层所对应的目标偏差值参数;第七计算模块,用于基于目标权重参数以及目标偏差值参数确定第二神经网络层所对应的模型更新参数。
在一个示例中,第六计算模块包括:第一线性计算模块、第二线性计算模块以及第八计算模块。其中,第一线性计算模块,用于对数据同态密文以及模型密文梯度进行线性计算,得到第一线性结果;第二线性计算模块,用于对模型同态密文以及数据密文梯度进行线性计算,得到第二线性结果;第八计算模块,用于基于第一线性结果、第二线性结果以及第二随机张量确定第一权重更新梯度。
在一个示例中,视觉图像分类模型的训练装置还包括:第一处理模块,用于在第一神经网络层为待训练模型的首个神经网络层时,对图像样本与零张量进行秘密分享,得到第一神经网络层所对应的输出数据。
在一个示例中,视觉图像分类模型的训练装置还包括:第二处理模块,用于在第一神经网络层为非线性层的情况下,对数据提供方所提供的图像样本进行多方安全计算,并基于多方安全计算的计算结果进行前向传播处理,得到第一神经网络层的模型输出数据。
在一个示例中,梯度计算模块包括:第三处理模块,用于在第二神经网络层为非线性层的情况下,对第二神经网络层的输出数据进行多方安全计算,并将多方安全计算的计算结果作为第二神经网络层的梯度数据。
本申请实施例提供的视觉图像分类模型的训练装置能够实现前述方法实施例实现的各个过程,为避免重复,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图6示出了本申请实施例提供的执行视觉图像分类模型的训练方法的电子设备的硬件结构示意图。
如图6所示,该电子设备可以包括处理器601以及存储有计算机程序指令的存储器602。
具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit ,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的第一方面的方法所描述的操作。
处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种视觉图像分类模型的训练方法。
在一个示例中,电子设备还可包括通信接口603和总线610。其中,如图3所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
通信接口603,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线610包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的视觉图像分类模型的训练方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种视觉图像分类模型的训练方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置、电子设备、计算机可读存储介质和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种视觉图像分类模型的训练方法,其特征在于,包括:
对数据提供方所提供的图像样本以及待训练模型的神经网络层所对应的初始模型参数进行秘密分享处理,得到每个神经网络层所对应的输出数据,其中,所述图像样本为所述数据提供方对采集到的视觉图像进行同态加密后所得到的样本,所述每个神经网络层所对应的输出数据作为下一神经网络层的输入数据;
对所述每个神经网络层的输出数据进行反向梯度计算,得到所述每个神经网络层的梯度数据;
对所述每个神经网络层的梯度数据进行重构处理,得到所述每个神经网络层所对应的模型更新参数;
基于所述每个神经网络层所对应的模型更新参数对所述待训练模型进行训练,得到视觉图像分类模型。
2.根据权利要求1所述的方法,其特征在于,对数据提供方所提供的图像样本以及待训练模型所包含的神经网络层的初始模型参数进行秘密分享处理,得到每个神经网络层所对应的输出数据,包括:
对所述图像样本与第一神经网络层的上一神经网络层的模型输出数据进行同态加法计算,得到所述上一神经网络层的初始输出数据,其中,所述第一神经网络层为所述待训练模型的前向传播过程中,所述待训练模型中除首个神经网络层之外的任一神经网络层,所述第一神经网络层为线性层,所述线性层的模型参数为可训练的参数;
基于所述初始模型参数中的权重参数对所述初始输出数据进行同态加密计算,得到所述数据提供方对应的输出结果;
对所述初始模型参数中的偏差值参数与所述第一神经网络层对应的第一随机张量进行同态加法计算,得到模型训练方对应的输出结果,其中,所述模型训练方用于训练所述视觉图像分类模型;
基于所述数据提供方对应的输出结果与所述模型训练方对应的输出结果确定所述第一神经网络层对应的输出数据。
3.根据权利要求2所述的方法,其特征在于,对所述每个神经网络层的输出数据进行反向梯度计算,得到所述每个神经网络层的梯度数据,包括:
根据第二神经网络层的类型确定所述初始模型参数中的偏差值参数的计算维度,其中,所述第二神经网络层为所述待训练模型的反向传播过程中,所述待训练模型中除首个神经网络层之外的任一神经网络层,所述第二神经网络层为线性层;
基于所述计算维度对所述偏差值参数进行求和计算,得到所述第二神经网络层所对应的偏差值更新梯度;
获取所述数据提供方对第三神经网络层所对应的数据提供方的输出结果的数据同态密文进行反向梯度计算所得到的数据密文梯度,其中,所述第三神经网络层为所述第二神经网络层的上一神经网络层;
对所述第三神经网络层所对应的模型训练方对应的输出结果的模型同态密文进行反向梯度计算,得到模型密文梯度;
基于所述偏差值更新梯度、所述数据密文梯度、所述模型密文梯度确定所述第二神经网络层的梯度数据。
4.根据权利要求3所述的方法,其特征在于,对所述每个神经网络层的梯度数据进行重构处理,得到所述每个神经网络层所对应的模型更新参数,包括:
基于所述数据同态密文、所述数据密文梯度、所述模型同态密文、所述模型密文梯度以及所述第二神经网络层所对应的第二随机张量,确定所述第二神经网络层所对应的第一权重更新梯度;
获取所述数据提供方对所述第一权重更新梯度进行解密所得到的第二权重更新梯度;
基于所述模型同态密文、所述模型密文梯度对所述第二权重更新梯度进行重构处理,得到所述第二神经网络层所对应的目标权重参数;
对所述第二神经网络层所对应的偏差值更新梯度进行重构处理,得到所述第二神经网络层所对应的目标偏差值参数;
基于所述目标权重参数以及所述目标偏差值参数确定所述第二神经网络层所对应的模型更新参数。
5.根据权利要求4所述的方法,其特征在于,基于所述数据同态密文、所述数据密文梯度、所述模型同态密文、所述模型密文梯度以及所述第二神经网络层所对应的第二随机张量,确定所述第二神经网络层所对应的第一权重更新梯度,包括:
对所述数据同态密文以及所述模型密文梯度进行线性计算,得到第一线性结果;
对所述模型同态密文以及所述数据密文梯度进行线性计算,得到第二线性结果;
基于所述第一线性结果、所述第二线性结果以及所述第二随机张量确定所述第一权重更新梯度。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一神经网络层为所述待训练模型的首个神经网络层时,对所述图像样本与零张量进行秘密分享,得到所述第一神经网络层所对应的输出数据。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一神经网络层为非线性层的情况下,对所述数据提供方所提供的图像样本进行多方安全计算,并基于多方安全计算的计算结果进行前向传播处理,得到所述第一神经网络层的模型输出数据。
8.根据权利要求3所述的方法,其特征在于,对所述每个神经网络层的输出数据进行反向梯度计算,得到所述每个神经网络层的梯度数据,包括:
在所述第二神经网络层为非线性层的情况下,对所述第二神经网络层的输出数据进行多方安全计算,并将多方安全计算的计算结果作为所述第二神经网络层的梯度数据。
9.一种视觉图像分类模型的训练装置,其特征在于,包括:
数据分享模块,用于对数据提供方所提供的图像样本以及待训练模型的神经网络层所对应的初始模型参数进行秘密分享处理,得到每个神经网络层所对应的输出数据,其中,所述图像样本为所述数据提供方对采集到的视觉图像进行同态加密后所得到的样本,所述每个神经网络层所对应的输出数据作为下一神经网络层的输入数据;
梯度计算模块,用于对所述每个神经网络层的输出数据进行反向梯度计算,得到所述每个神经网络层的梯度数据;
梯度重构模块,用于对所述每个神经网络层的梯度数据进行重构处理,得到所述每个神经网络层所对应的模型更新参数;
模型训练模块,用于基于所述每个神经网络层所对应的模型更新参数对所述待训练模型进行训练,得到视觉图像分类模型。
10.一种电子设备,其特征在于,电子设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-8任意一项所述的视觉图像分类模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806978.6A CN116561787A (zh) | 2023-07-04 | 2023-07-04 | 视觉图像分类模型的训练方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806978.6A CN116561787A (zh) | 2023-07-04 | 2023-07-04 | 视觉图像分类模型的训练方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116561787A true CN116561787A (zh) | 2023-08-08 |
Family
ID=87486453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310806978.6A Pending CN116561787A (zh) | 2023-07-04 | 2023-07-04 | 视觉图像分类模型的训练方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561787A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824281A (zh) * | 2023-08-30 | 2023-09-29 | 浙江大学 | 一种隐私保护的图像分类方法及装置 |
CN116821966A (zh) * | 2023-08-25 | 2023-09-29 | 杭州海康威视数字技术股份有限公司 | 机器学习模型训练数据集隐私保护方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112183730A (zh) * | 2020-10-14 | 2021-01-05 | 浙江大学 | 一种基于共享学习的神经网络模型的训练方法 |
CN112668016A (zh) * | 2020-01-02 | 2021-04-16 | 华控清交信息科技(北京)有限公司 | 一种模型训练方法、装置和电子设备 |
CN112860932A (zh) * | 2021-02-19 | 2021-05-28 | 电子科技大学 | 抵御恶意样本攻击的图像检索方法、装置、设备及存储介质 |
CN114662686A (zh) * | 2022-02-08 | 2022-06-24 | 华控清交信息科技(北京)有限公司 | 一种神经网络模型训练方法、装置和安全计算平台 |
WO2022267036A1 (zh) * | 2021-06-25 | 2022-12-29 | 华为技术有限公司 | 神经网络模型训练方法和装置、数据处理方法和装置 |
-
2023
- 2023-07-04 CN CN202310806978.6A patent/CN116561787A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668016A (zh) * | 2020-01-02 | 2021-04-16 | 华控清交信息科技(北京)有限公司 | 一种模型训练方法、装置和电子设备 |
CN112183730A (zh) * | 2020-10-14 | 2021-01-05 | 浙江大学 | 一种基于共享学习的神经网络模型的训练方法 |
CN112860932A (zh) * | 2021-02-19 | 2021-05-28 | 电子科技大学 | 抵御恶意样本攻击的图像检索方法、装置、设备及存储介质 |
WO2022267036A1 (zh) * | 2021-06-25 | 2022-12-29 | 华为技术有限公司 | 神经网络模型训练方法和装置、数据处理方法和装置 |
CN114662686A (zh) * | 2022-02-08 | 2022-06-24 | 华控清交信息科技(北京)有限公司 | 一种神经网络模型训练方法、装置和安全计算平台 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821966A (zh) * | 2023-08-25 | 2023-09-29 | 杭州海康威视数字技术股份有限公司 | 机器学习模型训练数据集隐私保护方法、装置及设备 |
CN116821966B (zh) * | 2023-08-25 | 2023-12-19 | 杭州海康威视数字技术股份有限公司 | 机器学习模型训练数据集隐私保护方法、装置及设备 |
CN116824281A (zh) * | 2023-08-30 | 2023-09-29 | 浙江大学 | 一种隐私保护的图像分类方法及装置 |
CN116824281B (zh) * | 2023-08-30 | 2023-11-14 | 浙江大学 | 一种隐私保护的图像分类方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
CN112199702A (zh) | 一种基于联邦学习的隐私保护方法、存储介质及系统 | |
CN110084063B (zh) | 一种保护隐私数据的梯度下降计算方法 | |
CN112182649A (zh) | 一种基于安全两方计算线性回归算法的数据隐私保护系统 | |
CN116561787A (zh) | 视觉图像分类模型的训练方法、装置及电子设备 | |
CN112541593B (zh) | 基于隐私保护的联合训练业务模型的方法及装置 | |
CN113239404A (zh) | 一种基于差分隐私和混沌加密的联邦学习方法 | |
CN113435592B (zh) | 一种隐私保护的神经网络多方协作无损训练方法及系统 | |
CN112287377A (zh) | 基于联邦学习的模型训练方法、计算机设备及存储介质 | |
CN111783129A (zh) | 一种保护隐私的数据处理方法及系统 | |
CN113239391B (zh) | 一种无第三方的逻辑回归联邦学习模型训练系统及方法 | |
CN111291411B (zh) | 基于卷积神经网络的安全视频异常检测系统及方法 | |
CN111143862B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN114614970A (zh) | 一种基于多计算方和同态加密的隐私数据安全处理方法 | |
CN116882524A (zh) | 一种满足参与方的个性化隐私保护需求的联邦学习方法和系统 | |
CN115913537A (zh) | 基于隐私保护的数据求交方法、系统及相关设备 | |
Sangavi et al. | An exquisite multiple image encryption harnessing multi-scroll lu–chen and chua chaotic systems employing domino strategy | |
CN112380404B (zh) | 数据过滤方法、装置及系统 | |
CN116094686B (zh) | 用于量子卷积计算的同态加密方法、系统、设备及终端 | |
CN111046431B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN111159730B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN116633526A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN116861477A (zh) | 基于隐私保护的数据处理方法、系统、终端及存储介质 | |
Zhou et al. | Toward scalable and privacy-preserving deep neural network via algorithmic-cryptographic co-design | |
US11290456B2 (en) | Secret equality determination system, secret equality determination method and secret equality determination program recording medium |
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 |
Application publication date: 20230808 |