一种神经网络训练方法、装置、电子设备及可读存储介质

文档序号:1905618 发布日期:2021-11-30 浏览:6次 >En<

阅读说明:本技术 一种神经网络训练方法、装置、电子设备及可读存储介质 (Neural network training method and device, electronic equipment and readable storage medium ) 是由 浦世亮 徐习明 黄博 于 2020-05-26 设计创作,主要内容包括:本申请提供一种神经网络训练方法、装置、电子设备及可读存储介质,该神经网络训练方法包括:利用待训练神经网络的固定层对第一类型训练数据进行处理,以得到加密特征;基于所述加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练,直至所述待训练神经网络收敛。该方法可以在保证第一类型训练数据安全性的情况下,提高神经网络模型的性能。(The application provides a neural network training method, a device, an electronic device and a readable storage medium, wherein the neural network training method comprises the following steps: processing the first type of training data by using a fixed layer of a neural network to be trained to obtain an encryption characteristic; and training the trainable layer of the neural network to be trained based on the encrypted features and second type training data until the neural network to be trained is converged. The method can improve the performance of the neural network model under the condition of ensuring the safety of the first type of training data.)

一种神经网络训练方法、装置、电子设备及可读存储介质

技术领域

本申请涉及深度学习技术,尤其涉及一种神经网络训练方法、装置、电子设备及可读存储介质。

背景技术

在线学习是一种利用线上的无监督数据进行训练,从而进一步提高模型在部署的实际环境中的泛化性能的学习方法。在一个在线学习系统中,通常需要利用部分或者全部原始的有监督数据来辅助训练,保证模型的性能。由于涉及到数据的隐私性和保密性,原始的有监督数据不能直接地存储在在线学习系统的部署端。通常的文件加密存储,解密后参与训练的方案存在秘钥泄露和数据内存不安全的风险。在这种情况下,加密训练是一种用来保证数据安全的有效方案。

在加密训练中,数据不需要进行解密,而是直接以密文的形式参与训练。现有的加密训练方案包括对称加密方案、训练数据加噪声加密方案和自编码器加密方案。

对称加密方案保证了加密训练的模型和原始数据训练一致,因此保证了模型的性能;但是秘钥泄露后原始数据可以被还原,存在数据安全风险;同时对称加密方案只能应用于单层感知机等不包括非线性运算的模型,无法应用于深度神经网络。

训练数据加噪声加密方案通过对原始数据加噪声来加密原始数据。但是由于噪声改变了原始数据的模式,因此噪声太大模型性能下降严重;噪声太小原始数据的保密性又不足。

自编码器加密方案训练一个自编码器对原始数据进行特征提取,利用隐层特征学习原始数据的模式,并作为加密数据。但是当解码器参数泄露后,原始数据仍然能够通过隐层特征和解码器进行还原,存在一定的数据安全风险。此外,当原始数据模式复杂(图片,视频等)且数据规模很大时,自编码难以学习到好的隐层特征来代表原始数据的所有模式;因此这种情况下加密训练的模型的性能也会受到较大影响。

发明内容

有鉴于此,本申请提供一种神经网络训练方法、装置、电子设备及可读存储介质。

具体地,本申请是通过如下技术方案实现的:

根据本申请实施例的第一方面,提供一种神经网络训练方法,包括:

利用待训练神经网络的固定层对第一类型训练数据进行处理,以得到加密特征;其中,所述第一类型训练数据为原始的有监督数据,所述固定层为所述待训练神经网络的前N层,所述固定层包括至少一个非线性层,N为正整数;

基于所述加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练,直至所述待训练神经网络收敛,所述第二类型训练数据为在线获取的训练数据。

根据本申请实施例的第二方面,提供一种神经网络训练装置,包括

数据处理单元,用于利用待训练神经网络的固定层对第一类型训练数据进行加密处理,以得到加密特征;其中,所述第一类型训练数据为原始的有监督数据,所述固定层为所述待训练神经网络的前N层,所述固定层包括至少一个非线性层,N为正整数;

训练单元,用于基于所述加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练,直至所述待训练神经网络收敛,所述第二类型训练数据为在线获取的训练数据。

根据本申请实施例的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现上述神经网络训练方法。

根据本申请实施例的第四方面,提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现实现上述神经网络训练方法。

本申请提供的技术方案至少可以带来以下有益效果:

通过利用待训练神经网络的固定层对第一类型训练数据进行处理,以得到加密特征,并基于该加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练,直至待训练神经网络收敛,在保证第一类型训练数据安全性的情况下,提高了神经网络模型的性能。

附图说明

图1是本申请示例性实施例示出的一种神经网络训练方法的流程示意图;

图2是本申请示例性实施例示出的一种基于处理后的加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练的流程示意图;

图3是本申请示例性实施例示出的一种基于加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练的流程示意图;

图4A是本申请示例性实施例示出的一种得到加密特征的流程示意图;

图4B是本申请示例性实施例示出的一种神经网络训练的方法流程示意图;

图5A是本申请示例性实施例示出的一种神经网络的示意图;

图5B是本申请示例性实施例示出的一种数据集加密的流程示意图;

图5C是本申请示例性实施例示出的一种在线训练过程的流程示意图;

图6是本申请示例性实施例示出的一种神经网络训练装置的结构示意图;

图7是本申请示例性实施例示出的一种电子设备的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。

请参见图1,为本申请实施例提供的一种神经网络训练方法的流程示意图,如图1所示,该神经网络训练方法可以包括以下步骤:

需要说明的是,在本申请实施例中,若未特殊说明,所提及的待训练神经网络是指完成了预训练的神经网络,本申请实施例后续不再复述。

步骤S100、利用待训练神经网络的固定层对第一类型训练数据进行加密处理,以得到加密特征;其中,固定层为待训练神经网络的前N层,固定层包括至少一个非线性层,N为正整数。

本申请实施例中,由于神经网络的卷积层和池化层本身就是有损的特征提取过程,即使在知道中间特征和卷积层参数的情况下仍然无法还原出原始数据;因此,通过神经网络的卷积层和池化层对数据进行加密处理,可以有效保证数据隐私和安全。

此外,由于一个预训练好的神经网络模型的固定浅层参数的微调对性能的影响很小,因此,在训练过程中保持预训练好的神经网络模型的固定浅层参数不变,对神经网络模型的性能的影响很小。

基于此,为了在保证第一类型训练数据的安全性的情况下,保证神经网络模型的性能,可以将待训练神经网络的前预设数量层作为固定层(固定层的参数不参与神经网络的训练),并利用该固定层对第一类型训练数据进行加密处理,以实现对第一类型训练数据的加密,得到第一类型训练数据对应的加密特征。

示例性的,第一类型训练数据为原始的有监督数据。

示例性的,为了保证第一类型训练数据的安全性,用于对第一类型训练数据进行加密处理的固定层需要包括至少一个非线性层(如池化层、激活层等)。

需要说明的是,由于神经网络的固定层的参数不参与训练,因此,固定层的数量越多,对神经网络模型的性能影响越大;此外,神经网络的固定层的数量越多,利用神经网络的固定层处理后的数据的安全性越高,因此,在设置神经网络的固定层时,需要均衡考虑神经网络模型的性能以及处理后的数据的安全性(固定层数量太多,则会导致神经网络模型的性能太差;固定层数量太少,则利用固定层处理后的数据的安全性太差)。

示例性的,可以将神经网络的前1~2两个block(块)中的层确定为神经网络的固定层。

此外,在本申请实施例中,步骤S100中利用待训练神经网络的固定层对第一类型训练数据进行加密处理的实现可以线下进行,即线下实现对第一类型训练数据的加密,线上进行神经网络的训练。

步骤S110、基于加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练,直至待训练神经网络收敛。

本申请实施例中,按照步骤S100中描述的方式得到加密特征后,可以基于所得到的加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练,直至待训练神经网络收敛。

示例性的,待训练神经网络的可训练层包括除固定层之外的其余层,其通常包括待训练神经网络的高层的卷积层以及全连接层,可训练层的参数在神经网络的在线训练过程中进行训练。

示例性的,第二类型训练数据为在线获取的训练数据,如线上的无监督数据。

可见,在图1所示方法流程中,通过将待训练神经网络包括至少一个非线性层的前N层设置为固定层,并利用待训练神经网络的固定层对第一类型训练数据进行处理,以得到加密特征,并基于加密特征以及第二类型训练数据,对待训练神经网络的可训练层进行训练,直至待训练神经网络收敛,在保证第一类型训练数据安全性的情况下,提高了神经网络模型的性能。

在一个实施例中,步骤S100中,利用待训练神经网络的固定层对第一类型训练数据进行加密处理之后,还可以包括:

对加密特征进行指定处理,以提高加密特征的安全性,或/和,减少加密特征占用的存储空间;

步骤S110中,基于加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练,可以包括:

基于处理后的加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练。

示例性的,为了进一步提升第一类型训练数据的安全性,或/和,减小加密特征占用的存储空间,在利用待训练神经网络的固定层对第一类型训练数据进行加密处理,得到加密特征之后,还可以对加密特征进行指定处理。

在一个示例中,该指定处理可以包括但不限于量化、裁剪以及压缩等处理中的一个或多个。

示例性的,上述压缩为有损压缩。

相应地,得到处理后的加密特征之后,在进行线上训练时,可以基于处理后的加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练。

在一个示例中,如图2所示,上述基于处理后的加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练,可以包括以下步骤:

步骤S200、当指定处理包括压缩时,对处理后的加密特征进行解压缩处理;

步骤S210、基于解压缩后的加密特征对待训练神经网络的可训练层进行训练,以及,利用待训练神经网络的固定层对第二类型训练数据进行处理,并基于处理后的第二类型训练数据对待训练神经网络的可训练层进行训练。

示例性的,当对待训练神经网络进行线上训练时,若加密特征进行了压缩处理了,则在基于加密特征对待训练神经网络的可训练层进行训练时,需要先对压缩后的加密特征进行解压缩处理,得到解压缩后的加密特征。

在进行神经网络的线上训练时,一方面,可以基于解压缩后的加密特征对待训练神经网络的可训练层进行训练;另一方面,可以基于第二类型训练数据对待训练神经网络的可训练层进行训练。

其中,由于加密特征为待训练神经网络的固定层处理后的特征,因此,当将加密特征输入到待训练神经网络时,待训练神经网络的固定层不会再对加密特征进行处理,而是利用该加密特征对待训练神经网络的可训练层进行训练。

当将第二类型训练数据输入到待训练神经网络时,需要利用待训练神经网络的固定层对第二类型训练数据进行处理,并基于处理后的第二类型训练数据对待训练神经网络的可训练层进行训练。

在一个实施例中,如图3所示,步骤S110中,基于加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练,可以包括以下步骤:

步骤S111、对加密特征进行特征增强。

步骤S112、基于特征增加后的加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练。

示例性的,为了增强数据的丰富性,提高神经网络模型性能,在基于加密特征对待训练神经网络的可训练层进行训练时,可以对加密特征进行增强处理,即通过一定手段对加密特征附加一些信息或变化数据,例如,添加高斯噪声或椒盐噪声等,并基于特征增加后的加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练。

需要说明的是,在该实施例中,若用于对待训练神经网络的可训练层进行训练的加密特征为经过压缩后的加密特征,则在对加密特征进行特征增强处理之前,需要先对压缩后的加密特征进行解压缩处理,并对解压缩后的加密特征进行特征增强处理。

为了使本领域技术人员能够更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。

在该实施例中,神经网络训练系统可以包括两部分:第一部分为线下数据集加密子系统,第二部分为在线训练子系统;其中:

线下数据集加密子系统利用一个待训练神经网络模型的浅层(即上述前N层)作为加密层,对第一类型训练数据进行处理,以得到加密特征,其流程图可以如图4A所示。第一类型训练数据经过模型的固定层进行前向计算,得到特征图;然后对特征图进行裁剪和量化,用来减小特征图的大小;之后进一步使用图片存储的压缩算法进行压缩并存储,包括但不限于游程编码,JPEG(一种图像格式)压缩等;最后得到的特征即为第一类型训练数据的加密数据。

由于第一类型训练数据经过了卷积、池化、量化、裁剪、压缩等一系列不可还原的过程,因此加密后的数据能够有效保护第一类型训练数据的安全性。此外,加密数据作为模型的中间层特征,可以加入后续层进行训练,因此保证了模型的性能。

在线训练系统利用第一类型训练数据对应的加密特征,以及第二类型训练数据一起对待训练神经网络模型的非固定层(即上述可训练层)的参数进行训练,进一步提高模型在部署的实际环境中的性能,其实现流程图可以如图4B所示。

示例性的,为了增强数据的丰富性,提高神经网络模型性能,可以对加密特征进行增强处理,进而,利用增强处理后的加密特征,以及经过待训练网络的固定层处理后的第二类型训练数据,两部分特征联合一起对待训练神经网络的可训练层的参数进行训练,从而提升神经网络模型的性能。

举例来说,请参见图5A,为本申请实施例提供的一个神经网络的示意图,该神经网络包括卷积层和全连接层。

示例性的,卷积层之间还可以包括池化层,图中未示出。

在该示例中,卷积层包括底层的固定卷积层(即上述固定层)和高层的可训练卷积层。固定卷积层用来作为对第一类型训练数据进行加密的加密层,其参数不参与训练;可训练卷积层和全连接层(即上述可训练层)的参数在在线训练过程进行训练。

图5B为本申请实施例提供的一种数据集加密的流程示意图,如图5B所示,第一类型训练数据集中的任一张图片经过固定卷积层前向计算后,得到许多通道的特征图,这些特征图隐藏了原始图片的特征,但保留了其和任务相关的数据特征;然后对特征图进行量化、裁剪以及压缩等处理,得到最终的加密特征。

图5C为本申请实施例提供的一种在线训练过程的流程示意图,如图5C所示,加密特征经过解压缩操作得到对应的有损的特征图(左列),而第二类型训练数据经过固定卷积层前向计算同样得到对应的特征图(右列),这些特征图一起输入后续的可训练卷积层和全连接层,并对这些层的参数进行训练,由于对第一类型训练数据的加密是通过待训练神经网络的固定层对第一类型训练数据进行加密实现的,即加密特征属于待训练神经网络的中间层特征,因此,利用加密特征参与待训练神经网络的可训练层的训练,可以在保证第一类型训练数据安全性的情况下,提高神经网络模型的性能;此外,在得到加密特征后,利用有损压缩算法对加密特征进行压缩存储,并在进行神经网络训练时解压缩后使用,由于有损压缩损失的信息对待压缩的数据(即加密特征)的影响较小,但压缩比却明显大于无损压缩,因此,可以在保证性能的情况下,进一步提高第一类型训练数据的安全性,并明显减少加密特征占用的存储空间。

本申请实施例中,通过利用待训练神经网络的固定层对第一类型训练数据进行处理,以得到加密特征,并基于该加密特征,以及第二类型训练数据,对待训练神经网络的可训练层进行训练,在保证第一类型训练数据安全性的情况下,提高了神经网络模型的性能。

以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:

请参见图6,为本申请实施例提供的一种神经网络训练装置的结构示意图,如图6所示,该神经网络训练装置可以包括:

数据处理单元610,用于利用待训练神经网络的固定层对第一类型训练数据进行加密处理,以得到加密特征;其中,所述第一类型训练数据为原始的有监督数据,所述固定层为所述待训练神经网络的前N层,所述固定层包括至少一个非线性层,N为正整数;

训练单元620,用于基于所述加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练,直至所述待训练神经网络收敛,所述第二类型训练数据为在线获取的训练数据。

在一种可能的实施例中,所述数据处理单元610利用待训练神经网络的固定层对第一类型训练数据进行加密处理之后,还包括:

对所述加密特征进行指定处理;

所述训练单元620基于所述加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练,包括:

基于处理后的加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练。

在一种可能的实施例中,所述指定处理包括以下处理之一或多个:

量化、裁剪以及压缩。

在一种可能的实施例中,所述训练单元620基于所述处理后的加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练,包括:

当所述指定处理包括压缩时,对所述处理后的加密特征进行解压缩处理;

基于解压缩后的加密特征对所述待训练神经网络的可训练层进行训练,以及,利用所述待训练神经网络的固定层对所述第二类型训练数据进行处理,并基于处理后的第二类型训练数据对所述待训练神经网络的可训练层进行训练。

在一种可能的实施例中,所述训练单元620基于所述加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练,包括:

对所述加密特征进行特征增强;

基于特征增加后的加密特征,以及第二类型训练数据,对所述待训练神经网络的可训练层进行训练。

请参见图7,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可包括处理器701、存储有机器可执行指令的存储器702。处理器701与存储器702可经由系统总线703通信。并且,通过读取并执行存储器702中与编码控制逻辑对应的机器可执行指令,处理器701可执行上文描述的神经网络训练方法。

本文中提到的存储器702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

在一些实施例中,还提供了一种机器可读存储介质,如图7中的存储器702,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的神经网络训练方法。例如,所述机器可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:实体链接方法、装置及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!