CN109002883A - 卷积神经网络模型计算装置及计算方法 - Google Patents
卷积神经网络模型计算装置及计算方法 Download PDFInfo
- Publication number
- CN109002883A CN109002883A CN201810723272.2A CN201810723272A CN109002883A CN 109002883 A CN109002883 A CN 109002883A CN 201810723272 A CN201810723272 A CN 201810723272A CN 109002883 A CN109002883 A CN 109002883A
- Authority
- CN
- China
- Prior art keywords
- neural networks
- convolutional neural
- excitation
- networks model
- physics
- 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.)
- Granted
Links
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供一种卷积神经网络模型的计算装置和相应的计算方法。该计算装置包括:物理不可克隆模块,所述物理不可克隆模块用于根据预定的激励c'生成响应r';乘累加计算模块,所述乘累加计算模块用于基于所述物理不可克隆模块的响应r'执行与已训练好的卷积神经网络模型的对应的模糊权重值w'0至w'i和对应输入数据的乘累加计算,获得乘累加计算结果,其中,所述模糊权重值与所述已训练好的卷积神经网络模型对应的原始权重值w0至wi中至少有一个不相等,所获得的乘累加计算结果与所述已训练好的卷积神经网络模型的原始权重值和对应输入数据的乘累加计算结果相同。本发明的计算装置和计算方法能够针对CNN模型本身进行知识产权保护并且开销小。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种卷积神经网络模型计算装置和计算方法。
背景技术
近年来,科技的进步促进系统设计复杂度的快速增长。在全球化经济背景下,外在的经济驱动因素和市场力量导致了更多的设计出发点,更短的设计周期和更大的上市时间压力。这些趋势同时导致了第三方知识产权(IP)的广泛使用。但是,对知识产权的隐私攻击,例如未经授权的使用,克隆和篡改,不仅降低了利润和市场份额,还会对品牌声誉造成损害。因此,对知识产权保护是极其必要的。
卷积神经网络(CNN)是一种前馈人工神经网络,CNN使用数据卷积滤波层处理数据,能够实现很高的预测精度。目前,各种各样的CNN加速器已经被提出,例如,基于GPU、基于FPGA、基于CPU+FPGA片上系统、基于ASIC设计的CNN加速器等,其中,基于FPGA的CNN加速器由于性能好、设计周期短、能效高、可重配等优势,引起人们的广泛关注。
目前,CNN已被广泛使用于各种应用中,例如字符识别、图像分类、人脸检测和语音识别等。CNN的成功直接受益于大量的高质量数据集。尽管目前有大量的开源数据集可用于学术研究,但是许多商业数据集通常不公开,因为它们通常包含商业秘密、客户隐私等,而且,随着CNN能力和容量的不断增长,训练成本急剧增加。因此,已经训练好的CNN模型可以作为IP出售。换句话说,CNN模型的商业化是不可避免的。然而,应用训练好的CNN模型时,暴露的模型参数也可以被攻击者利用来操纵预测结果,因此,CNN的IP保护是极其重要的。
在现有技术中,已提出了按设备收费的针对FPGA中硬件IP的保护方案,在这种方案中,用户向IP供应商支付少量费用,以在指定FPGA中使用特定的硬件IP。此外,还存在使用软硬件绑定技术实现的IP保护,例如使用存储密钥或物理不可克隆功能(PUF)的IP保护策略。PUF是一种硬件安全原语,它利用随机工艺偏差为输入激励生成特定的响应,即激励响应对(CRP),即使使用相同的设计,不同PUF的CRP也各不相同,制造之前难以预测,制造时难以控制,制造后难以克隆。因此,基于PUF的按设备收费方法能够抵抗各种攻击。
然而,现有CNN相关的IP保护仅仅局限于电路、FPGA设计方面的保护,这些技术可以用在CNN硬件加速器的IP保护上,但是不能用于CNN模型本身的IP保护,这是因为CNN模型并非硬件。此外,传统的数据保护方法是通过加密实现的,当加密数据被解密以供使用时,存储在存储器中的解密数据可能被攻击者窃取,而且解密过程会影响加速器的性能。因此,传统的针对硬件的IP保护方法无法直接用于CNN模型参数的保护,而传统数据加密方法又会带来硬件加速器性能上的损失,对于CNN模型的IP保护的研究目前还是一片空白。
因此,需要对现有技术进行改进,以提供针对CNN模型本身的IP保护的计算装置和计算方法。
发明内容
本发明的目的在于克服上述现有技术的缺陷,提供一种卷积神经网络模型计算装置及计算方法,以能够对CNN模型进行知识产权保护。
根据本发明的第一方面,提供了一种卷积神经网络模型的计算装置。该计算装置包括:
物理不可克隆模块,所述物理不可克隆模块用于根据预定的激励c'生成响应r';
乘累加计算模块,所述乘累加计算模块用于基于所述物理不可克隆模块的响应r'执行与已训练好的卷积神经网络模型的对应的模糊权重值w'0至w'i和对应输入数据的乘累加计算,获得乘累加计算结果,其中,所述模糊权重值与所述已训练好的卷积神经网络模型对应的原始权重值w0至wi中至少有一个不相等,i为大于等于2的整数,所获得的乘累加计算结果与所述已训练好的卷积神经网络模型的原始权重值和对应输入数据的乘累加计算结果相同。
在一个实施例中,所述物理不可克隆模块的激励c'与所述模糊权重值相关,其中,对于w'0至w'i中相对于原始权重值已改变的权重值,仅取其最低位构成激励c'的比特位。
在一个实施例中,在所述模糊权重值w'0至w'i中,仅w0'与对应的原始权重值w0相等。
在一个实施例中,所述乘累加计算模块由加法器树和乘法器0至乘法器i构成,其中,乘法器1至乘法器i与所连接的加法器执行w'1至w'i和对应输入数据的乘累加运算,获得计算结果sumb',乘法器0执行w0和对应输入数据的乘法运算,获得计算结果suma,sumb'和suma输入到所述加法器树的最后一级的加法器,该最后一级的加法器根据所述物理不可克隆模块的响应r'确定输出值y'。
在一个实施例中,所述物理不可克隆模块为仲裁器物理不可克隆模块。
在一个实施例中,所述y'表示为:
y'=suma+(2r'-1)×sumb'
在一个实施例中,所述物理不可克隆模块的激励c'根据以下方式获得:
分别取模糊权重值w'1至w'i的最低位构成激励c'的比特位;
在模糊权重值w'1至w'i的最低位不足以构成一个完整的激励c'的情况下,激励c'的其他比特位来自于w0。
根据本发明的第二方面,提供了一种卷积神经网络模型的计算系统。该计算系统包括:
根据本发明的卷积神经网络模型计算装置;
适配平台:用于根据用户的请求将已训练好的卷积神经网络模型对应的模糊权重值w'0至w'i发送给所述卷积神经网络模型的计算装置。
在一个实施例中,本发明的计算系统还包括用于存储所述物理不可克隆模块的激励响应对的数据库。
在一个实施例中,所述适配平台根据以下步骤生成模糊权重值w'0至w'i:
步骤101:根据已训练好的卷积神经网络模型的原始权重值w0至wi生成激励c;
步骤102:从所述数据库中查找激励c对应的响应r;
步骤103:根据公式wk'=(2r-1)wk计算wk对应的模糊权重值wk',其中k是大于等于0并且小于等于i的整数。
在一个实施例中,步骤102中还包括当激励c对应的响应r为不稳定响应时,从所述数据库中查找多个稳定的激励并且以对所生成的模糊权重值w'0至w'i的影响最小为原则从所述多个稳定的激励中选择一个。
在一个实施例中,所述适配平台还用于向用户提供卷积神经网络模型加速器的FPGA设备ID或卷积神经网络模型的加速器比特流。
根据本发明的第三方面,提供了一种利用本发明的计算装置的卷积神经网络模型的计算方法,包括以下步骤:
获取与已训练好的卷积神经网络模型对应的模糊权重值w'0至w'i,所述模糊权重值与所述已训练好的卷积神经网络模型的对应的原始权重值w0至wi中至少有一个不相等,其中,i为大于等于2的整数;
基于所述物理不可克隆模块的响应r'执行所述模糊权重值和对应输入数据的乘累加计算,获得乘累加计算结果,所获得的乘累加计算结果与所述已训练好的卷积神经网络模型的原始权重值和对应输入数据的乘累加计算结果相同,其中,所述物理不可克隆模块用于根据预定的激励c'生成响应r',激励c'与所述模糊权重值相关。
与现有技术相比,本发明的优点在于:
1)、能够使CNN模型只能在一个授权的设备上运行,在其他非授权的设备上模型不能运行,非授权用户使用CNN模型在非授权的加速器上进行预测时,预测精度几乎为0,从而提高了CNN模型的安全性;
2)、CNN模型IP被保护后,没有影响模型的预测精度,即被保护的模型的预测精度能够保持与原始模型的相同的预测精度;
3)、CNN模型IP被保护后,对CNN加速器的性能、面积的影响足够小,没有因为保护IP而损失加速器的性能;
4)、经过IP保护后的计算部件的平均计算效率和CNN加速器的硬件开销可忽略不计。
附图说明
以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:
图1(a)示出了现有技术中CNN加速器的结构示意图;
图1(b)示出了图1(a)的CNN加速器中计算单元的硬件结构示意图;
图2示出了根据本发明一个实施例的卷积神经网络模型的IP保护装置的示意图;
图3示出了根据本发明一个实施例的卷积神经网络模型的IP保护装置的通信协议过程示意图;
图4示出了根据本发明一个实施例的卷积神经网络模型的IP保护装置中计算单元的结构示意图;
图5示出了根据本发明一个实施例的卷积神经网络模型的IP保护装置中PUF激励组成方式的示意图;
图6示出了根据本发明一个实施例的模型微调方式的示意图;
图7示出了根据本发明另一实施例的卷积神经网络模型的IP保护装置中计算单元的结构示意图;
图8示出了根据本发明一个实施例的卷积神经网络模型的IP保护装置的预测精度示意图;
图9示出了根据本发明一个实施例的卷积神经网络模型的IP保护装置的硬件开销的示意图。
具体实施方式
为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供针对CNN模型本身的IP保护装置及方法,可应用于现有的CNN加速器。为了更好的理解本发明,下文将首先介绍现有技术中典型的CNN模型和所实现的硬件架构。
CNN模型通常由按顺序执行的若干层组成,这些层主要分为卷积层、池化层和全连接层等。卷积层是CNN的核心,卷积层接收多个特征图,使用卷积核对这些特征图执行卷积操作来生成输出特征图,然后将非线性激活函数作用于输出特征图上,卷积层的计算公式如下:
其中,和分别表示第i个输入特征图和第j个输出特征图,Wij表示卷积核的权重矩阵,Nin为输入特征图的数量,bj是偏置。
池化层通常紧跟卷积层,池化层的作用是减少特征图的尺寸,而且,池化层也引入平移不变性并可以避免过拟合。常用的池化方法有最大值池化方法和平均池化方法。
在全连接层,假设输出神经元有Nout个,输入神经元有Nin个,每个输出神经元都与所有的输入神经元相连。全连接层的计算公式表示如下:
其中,和分别表示全连接层输入向量的第i个神经元和输出向量的第j个神经元,bj是偏置,Wij表示全连接层的权重矩阵。
本文将主要以基于FPGA的CNN加速器为例,介绍本发明提供的CNN模型的IP保护装置。在现有技术中,由于实现细节不同,CNN加速器可能具有不同的架构,参见图1(a)示出的基于FPGA的CNN加速器架构,该架构整体上包括主机(HOST)和FPGA两部分,其中,主机包含CPU和外部存储器,CPU用于运行裸程序、管理进度等;外部存储器存储指令、CNN模型参数(如权重和偏置)以及输入数据等。FPGA包括PCIE单元(即总线和接口标准单元)、DMA(直接内存访问)、控制器和计算单元。PCIE用于连接主机和FPGA、为控制器读取指令、为计算单元读取模型参数和输入数据。DMA控制读操作。计算单元负责CNN的大部分计算,例如卷积层、池化层(通常在卷积层内实现)、全连接层等的相关计算。片上存储器通过存储中间数据将计算单元中的各个层连接起来。输入存储器用于存储待计算的数据,输出存储器用于存储计算结果或中间计算结果等。
对于卷积神经网络模型,卷积层计算密集并且计算量大,参见公式(1),卷积操作由乘法和加法组成,在一个示例中,卷积运算可以由乘法器和加法树(Multipliers andAdder Tree,MAT)实现,图1(b)示出了一个大小为3*3的MAT结构,该结构包括9个乘法器(从左至右依次称为乘法器0至乘法器8),其中,乘法器0执行权重w0和相应输入数据的乘法运算,乘法器1至乘法器8分别执行权重w1至w8和相应输入数据的乘法运算,并通过所连接的加法器对相乘结果进行累加,在该MAT结构下,可针对9个模型参数(在本文中简称MATP),即权重w0至w8和相应的输入数据执行乘累加运算,该MAT的计算公式表示如下:
其中,y表示MAT的输出,suma=w0×x0,
全连接层也可以使用MAT结构实现,因为它也由乘法和加法组成。
下文将结合图1(a)和图1(b),介绍本发明一个实施例的卷积神经网络模型的IP保护装置,该装置针对现有的CNN加速器进行改进。参见图2所示,该装置包括通信协议单元210、计算单元220,其中计算单元220进一步包括物理不可克隆模块221和乘累加计算模块222。
通信协议单元210用于与IP供应商进行通信,可实现在CNN加速器的主机中。计算单元220用于完成CNN模型的大部分运算,例如,乘累加计算模块222用于完成卷积计算。物理不可克隆模块221用于针对输入激励生成相应的响应,在下文的描述中,物理不可克隆模块221有时也简称为PUF。在本发明的IP保护装置中,为了保护CNN模型参数,PUF被嵌入到CNN加速器,在下文中,也称为嵌入PUF的CNN加速器。
由图2可知,相对于现有的CNN加速器,本发明将物理不可克隆模块221嵌入到计算单元220中。下面将重点介绍本发明相对于现有技术的改进的内容。
1)关于通信协议单元210。
在本发明中,通信协议单元210用于实现用户和IP供应商的通信,以向IP供应商购买FPGA设备、嵌入PUF的CNN加速器的比特流以及CNN模型,在本发明中,IP供应商向用户提供的是模糊后的CNN模型参数,即模糊CNN模型的至少一个权重与训练好的原始权重不同。
IP供应商是指能够提供已训练好的CNN模型和相关服务的供应商,例如其可提供FPGA设备、嵌入PUF的CNN加速器的比特流(利用该比特流FPGA可实现相应的功能)以及CNN模型。不同的CNN加速器可以在一个FPGA中实现,针对不同应用的CNN模型可运行在同一个CNN加速器上。在实际应用中,FPGA设备、比特流以及CNN模型也可以由不同的供应商提供,但用户和IP供应商之间的通信过程应该是安全的。
具体地,通信协议单元210的通信过程参见图3所示,其中,F表示FPGA设备,B表示嵌入PUF的CNN加速器的比特流,ID()表示一个物品的ID号,Mori表示是IP供应商训练出来的原始的CNN模型参数,Mobf表示将会分发给用户的模糊后的CNN模型参数。首先,FPGA被卖给用户之前,IP供应商收集部署在FPGA上的PUF的所有激励响应对CRP(即测试不同FPGA上的PUF针对不同激励所生成的响应之间的映射关系),然后,CRP将会被存储在一个安全的数据库中(也称为CRP数据库);当用户请求购买FPGA时,IP供应商从仓库找到可用的FPGA并将FPGA以及FPGA的ID号发送给用户;当用户请求购买一个可以加载在FPGA上的CNN加速器的比特流时,用户发送FPGA的ID号到IP供应商;IP供应商找到有效的比特流,将比特流及比特流的ID发送给用户;当用户请求购买针对具体应用的CNN模型时,用户将他的FPGA的ID号和比特流发送给IP供应商;IP供应商在CRP数据库中查找FPGA的ID号对应的PUF的CRP,并且找到IP供应商训练的原始模型参数后,根据CRP对CNN模型进行模糊处理;最后,IP供应商将模糊的CNN模型参数(Mobf)发送给用户。
在图3示出的通信过程中,通过定义传输的数据格式,具体的传送方式,能够保证传送数据的完整性、正确性和安全性。
需要说明的是,通信协议单元210可以实现在CNN加速器的主机或其他位置,此外,向IP供应商购买FPGA设备、嵌入PUF的CNN加速器的比特流以及CNN模型参数中的任一项也可不通过通信协议单元210进行,例如,IP供应商可向不同用户提供默认CNN加速器的比特流或CNN模型参数,只要IP供应商记录不同用户的FPGA ID、比特流的ID和CNN模型参数等的对应关系即可。
需说明的是,图3所示的IP供应商具体地是指由IP供应商提供和维护的服务适配系统,该系统可由多个用户使用,以便向IP供应商购买一个FPGA器件、一个CNN加速器比特流或者为不同的应用购买多个模糊的CNN模型。该服务适配系统还包括数据库,用于存储所述物理不可克隆模块的激励响应对、FPGA与所嵌入的PUF的对应关系,FPGA与所加载的比特流的对应关系等。
2)关于计算单元220
在本发明中,将PUF(即物理不可克隆模块221)嵌入到计算单元220中,乘累加计算模块222根据PUF的响应和模糊后的CNN模型参数确定其输出值。
具体地,参见图4所示的实施例,仍以3*3的MAT结构实现乘累加计算模块222为例,在此实施例中,对9个权重中的8个进行模糊,模糊权重表示为w'1~w'8,对w0没有进行模糊,对MAT结构中最靠近输出的加法器进行修改,PUF的响应参与到此加法器的计算中,即PUF被嵌入在CNN加速器的计算单元中,更具体地,PUF被嵌入在MAT,在下文中,将本发明的嵌入PUF的MAT称为PUFMAT。
与图1(b)所示的现有技术的MAT相比,图4中输入到PUFMAT的参数不是IP供应商训练的原始参数MATPori∈Mori,而是分发给用户的模糊后的参数MATPobf∈Mobf。PUF根据激励c'产生响应r',r'决定加法器树中第四级(level4)的加法器的输出y'。
对于物理不可克隆模块221,可采用多种类型的PUF,例如SRAM PUF、RO PUF和仲裁器PUF等。在一个优选实施例中,采用仲裁器PUF(对于不同的激励,仲裁器类型的PUF产出的响应可能为0或1),这是由于其具有硬件开销小、存在很多的CRP,因此能够保护同一CNN加速器上运行的多个CNN模型的优点。
PUF的激励c'与用户获得的模糊后的CNN模型参数MATPobf相关,激励由模糊CNN模型的权重的比特位组成,参见图5示意的激励c'的组成方式,其中权重用8个比特位表示,激励c'的总比特数为12,对于模糊权重w'1~w'8,仅使用其最低位,如果最低有效位不足以构成一个完整的激励c'时,其他的激励位来自于w0,例如,在此示例中,激励c'为010100011001,其低8位比特分别来自于w'1~w'8的最低位,而高4位比特则来自于w0的低4位。
在图4示出的PUFMAT结构中,使用乘法器和前三级加法树(Level1至Level3)计算suma和sum'b,与此同时PUF生成响应r'。因此,PUF生成响应不会影响CNN加速器的性能。性能受到影响仅在最后一级(Level4)的加法器上。suma和sum'b分别由下面的公式(4)和公式(5)计算。PUFMAT的输出y'基于响应r'计算,可利用公式(6)计算,选用公式(6)计算y'是因为这种方法的硬件开销最小。
suma=w0×x0 (4)
y'=suma+(2r'-1)sum'b (6)
3)、关于模糊CNN模型参数
现有技术中MAT的输入为原始的CNN模型参数,而本发明的PUFMAT采用模糊后的CNN模型参数作为输入,为达到预期的预期精度,现有技术中MAT和本发明的PUFMAT的输出应该是一样的。
根据图3示出的通信协议过程,要生成模糊的CNN模型,IP供应商需要知道PUF的所有的CRP。模糊的CNN模型参数MATPobf由原始训练参数MATPori生成,例如,可通过以下步骤获得模糊的CNN模型参数(下文以采用仲裁器PUF为例,其响应值为1bit,可取值0或1):
S1:根据原始训练参数MATPori生成激励c,例如,对于图4示出的PUFMAT,可采用图5的方式获得激励c;
S2:从CRP数据库中检索激励c对应的响应r;
S3:如果r为0,则w'k=-wk(1≤k≤8),否则w'k=wk;
也就是说,对于任何一个权重值w'k可由下式计算获得:
wk'=(2r-1)wk (7)
由于参数在FPGA中是以补码的形式表示的,wk的最低有效位与-wk的相同,而由于只有w'1~w'8的最低有效位出现在激励c'中,因此,c'与c是相等的,在所有CRP都稳定的理想情况下,r'与r也是相等的。
将公式(7)带入公式(6),则y'可由下式(8)计算:
由公式(8)可知,尽管用户获得的是模糊后的CNN模型参数,但持有正确的模糊参数Mobf的用户可在对应的FPGA上能够达到与原始CNN模型相同的预测精度。
对于不同的FPGA而言,即使向比特流相同的嵌入PUF的CNN加速器中输入相同的Mobf和数据,内部PUF也会产生不同的响应,因此预测精度也会不同。这样,Mobf只有在其对应的FPGA才能实现预期的预期精度。因此,在本发明中,通过由IP供应商提供与FPGA对应的CNN模糊参数(该模糊参数与FPGA中PUF的激励响应对相关),可以实现按设备付费的IP保护方案。
需要说明的是,尽管上述以3*3的PUFMAT为例进行说明,但对于任意规模的乘累加计算结构均可采用本发明的方法,将PUF嵌入到乘累加计算中,例如,对于获得的多个原始权重值w0至wi,可对w1至wi进行模糊获得w'1至w'i,而w0保持不变,采用与图4类似的结构进行计算,其中i可取任意大于等于2的整数。
4)、关于CRP不稳定问题及其解决方法
在实际应用中,某些CRP对工作环境,如供电电压和温度的变化比较敏感。换句话说,一些激励的响应不稳定,例如,将同一个激励两次输入到PUF,可能产生不同的响应。由上述可知,激励c'总是和c相等,但是,如果激励c产生不稳定的响应,r'可能是1-r,而不是r。在这种情况下,公式(8)将变为y'=suma-sumb,因此,模糊的CNN模型即使在正确的FPGA中运行也不能达到预期的预期精度。
为了解决这一问题,IP供应商可以尽可能仅存储和使用稳定的CRP对和或通过对模糊CNN模型参数稍作调整,以使所有的PUF都可以产生稳定的响应,例如,优选地,IP供应商可执行以下两个操作:
1)、PUF鉴定
在图3中所示通信协议的第1步,IP供应商获得并存储所有CRP,在该步骤中,所有的CRP都在不同的工作环境下被重复测试,其中,将能承受工作环境变化并且永不改变响应的CRP视作是稳定的。例如,可采用机器学习方法帮助识别稳定的CRP,IP供应商只需要存储稳定的CRP。
2)、模糊CNN模型参数调整
当产生模糊CNN模型时,如果发现MATPobf生成的激励c'不属于稳定的CRP,那么该MATPobf将会被调整。调整方法为:在稳定的CRP中搜索找到一个激励c”,然后根据c”修改MATPobf,根据c”调整MATPobf的原则是,该调整产生的影响应该是最小的。例如,参见图6所示,如果激励c'(010100011001)产生不稳定响应,而搜索到的三个稳定CRP的激励分别是c”1(010100010000)、c”2(110100011001)和c'3(010101011001),在这种情况下,将选择激励c”3,这是因为:第一,c”1与c'有两位不同,它需要修改两个权重:w'5和w'8;c”3与c'有一位不同,它只需要修改一个权重:w'2,因此,c”3对MATPobf的影响比c”1少1位;第二,虽然c”2和c”3都只修改c'的一位,但c”3修改的一个权重值的最低位,而c”2修改不是最低位(例如,采用图5的激励组成方式时,修改的是w'5的第三位),因此,c”3对MATPobf的影响比c”2小。
需要说明的是,但在不违背本发明精神的情况下,本领域的技术人员可以对本发明的实施例作适当的变型或改变。例如,模糊权重值可以是一个或多个,激励比特位可采用多种方式组成,PUFMAT的结构可以有多种形式,PUF的激励也不限于作用于加法树的最后一级加法器上。例如,参见图7示出的另一个实施例的PUFMAT的结构,在该结构下,PUFMAT的输出表示为:
y'=suma+sum'b=suma+sumc+(1-r')sum'd (9)
为了保证y'=y,suma和sumc不变,因此,w0'~w4'与原始训练权重w0~w4相等,只对w'5~w'8进行模糊
由于w0'~w4'与原始训练权重w0~w4相等,因此激励c'的比特位可以由w0~w4中的任意比特构成,而由于w'5~w'8被模糊,因此,仍然只取最后它们的最低比特位构成激励c'的比特位。
本发明通过将PUF嵌入到应用CNN模型的MAT结构中,嵌入PUF的MAT根据模糊模型参数和PUF的响应确定输出值,能够达到与利用模型的原始训练参数相同的预测结果,当一个卷积神经网络模型由多个MAT结构实现时,例如,包括卷积层的多个MAT结构和全连接层的多个MAT结构时,可以将本发明的方案仅实现在其中一个或多个MAT结构。
为了进一步验证本发明的效果,将本发明提出的方案应用到AlexNet神经网络模型中。AlexNet有5个卷积层,3个池化层和3个全连接层。原始AlexNet模型对ImageNet的预测精度是56.8%。发明人采用并行策略将AlexNet加速器在Altera DE5a-Net开发板上实现。表1列出了每个卷积层中MAT的数量(#MAT),卷积核大小(Kernel size)以及MAT的尺寸。在第一个卷积层(卷积层1),卷积核尺寸大于MAT尺寸,所以一个内核的计算需要多次调用同一个MAT。每个卷积层中,被替换为本发明的PUFMAT数量与总的MAT数量的比例由Pobf表示。3*3的PUFMAT如图4所示,5*5的PUFMAT设计与此类似。PUF的激励位数为12。
表1:AlexNet模型配置参数
卷积层1 | 卷积层2 | 卷积层3 | 卷积层4 | 卷积层5 | |
#MAT | 48 | 32 | 48 | 36 | 32 |
Kernel size | 11×11 | 5×5 | 3×3 | 3×3 | 3×3 |
MAT尺寸 | 3×3 | 5×5 | 3×3 | 3×3 | 3×3 |
从预测精度、性能、安全性和硬件开销四个方面验证了本发明的效果:
1)、预测精度
对于授权用户,模糊后的AlexNet模型的预测精度应当与原始模型的预测精度一样。首先尝试模糊AlexNet模型,不处理CRP不稳定的问题。Pobf设为100%时(即将所有原始MAT替换为本发明的PUFMAT),模糊模型的预测精度低至0.1%,因此,不稳定CRP对预测精度有着严重影响。然后对模糊AlexNet模型做了调整,使所有的PUF产生稳定的响应。虽然模型参数被调整,预测精度依然与原始模型相同。因此,为了解决CRP不稳定问题而进行的CNN模型参数调整能效维持原有模型的预测精度。
2)、性能
在CNN加速器中,将PUF嵌入MAT,所以MAT的性能会受到影响。利用图4的PUFMAT架构时,PUF生成响应与使用乘法器和前三级加法器计算suma和sum'b是同时进行的,所以不会影响到性能。对性能的影响主要在加法器的最后一级,因为最后一级的加法器被修改。经过验证,PUFMAT的平均计算效率仅仅下降了0.83%。
3)、安全性
按设备付费方案的目标是将CNN模型限制在一个特定设备上使用。本发明的CNN加速器没有用于直接访问内部PUF的端口;同时,攻击者也不知道IP供应商实现PUF时具体使用哪些硬件资源,因此攻击者无法获得确切的CRP,攻击者只能通过猜测CRP来猜测原始的CNN模型。对于理想的PUF,响应为1的比例等于响应为0的比例,都为50%,这意味着攻击者正确猜测CRP的概率也是50%。
发明人通过分析猜测的CNN模型的预测精度来评估本发明的按设备收费方案的安全性。实验结果参见图8所示(横坐标表示有多少比例的MAT采用本发明的方法,纵坐标表示预测精度),Pobf从10%到100%变动,步长为10%,对于Pobf的每一个值,原始AlexNet模型被猜100次。当Pobf为10%时,平均预测精度为6.23%。当Pobf大于20%时,预测精度低于1.2%。因此,本发明的方案能有效保护CNN IP。此外,实验结果还表明,保护卷积层的模型参数足以保护整个CNN IP。因此,随着Pobf的增加,攻击者通过猜测获得的CNN模型的预测精度将远远低于本发明方案的预测精度,当Pobf大于20%时,就足以保护CNN模型。
4)、硬件开销
在FPGA中,仲裁器PUF主要由ALM实现,这里硬件开销是指使用的ALM的数量。本发明CNN加速器的改变在PUFMAT和相应的控制逻辑。与MAT相比,本发明的PUFMAT添加了PUF并修改了最后一级的加法器。实验结果如图9所示,Pobf在范围10%到100%之间变动,步长为10%。显然,硬件开销与Pobf正相关,当Pobf为100%时,AlexNet加速器的硬件开销增加2.24%。从图8中可以看出,当Pobf=20%时足以保护CNNIP,而此时,硬件开销只增加0.44%。因此,本发明提出的方案对CNN加速器的硬件开销产生的影响可以忽略不计。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (15)
1.一种卷积神经网络模型的计算装置,包括:
物理不可克隆模块,所述物理不可克隆模块用于根据预定的激励c'生成响应r';
乘累加计算模块,所述乘累加计算模块用于基于所述物理不可克隆模块的响应r'执行与已训练好的卷积神经网络模型的对应的模糊权重值w'0至w'i和对应输入数据的乘累加计算,获得乘累加计算结果,其中,所述模糊权重值与所述已训练好的卷积神经网络模型对应的原始权重值w0至wi中至少有一个不相等,i为大于等于2的整数,所获得的乘累加计算结果与所述已训练好的卷积神经网络模型的原始权重值和对应输入数据的乘累加计算结果相同。
2.根据权利要求1所述的装置,其特征在于,所述物理不可克隆模块的激励c'与所述模糊权重值相关,其中,对于w'0至w'i中相对于原始权重值已改变的权重值,仅取其最低位构成激励c'的比特位。
3.根据权利要求1所述的装置,其特征在于,在所述模糊权重值w'0至w'i中,仅w0'与对应的原始权重值w0相等。
4.根据权利要求3所述的装置,其特征在于,所述乘累加计算模块由加法器树和乘法器0至乘法器i构成,其中,乘法器1至乘法器i与所连接的加法器执行w'1至w'i和对应输入数据的乘累加运算,获得计算结果sumb',乘法器0执行w0和对应输入数据的乘法运算,获得计算结果suma,sumb'和suma输入到所述加法器树的最后一级的加法器,该最后一级的加法器根据所述物理不可克隆模块的响应r'确定输出值y'。
5.根据权利要求4所述的装置,其特征在于,所述物理不可克隆模块为仲裁器物理不可克隆模块。
6.根据权利要求5所述的装置,其特征在于,所述y'表示为:
y'=suma+(2r'-1)×sumb'。
7.根据权利要求6所述的装置,其特征在于,所述物理不可克隆模块的激励c'根据以下方式获得:
分别取模糊权重值w'1至w'i的最低位构成激励c'的比特位;
在模糊权重值w'1至w'i的最低位不足以构成一个完整的激励c'的情况下,激励c'的其他比特位来自于w0。
8.一种卷积神经网络模型的计算系统,包括:
根据权利要求1至7任一项所述的卷积神经网络模型计算装置;
适配平台:用于根据用户的请求将已训练好的卷积神经网络模型对应的模糊权重值w'0至w'i发送给所述卷积神经网络模型的计算装置。
9.根据权利要求8所述的系统,其特征在于,还包括用于存储所述物理不可克隆模块的激励响应对的数据库。
10.根据权利要求9所述的系统,其特征在于,所述适配平台根据以下步骤生成模糊权重值w'0至w'i:
步骤101:根据已训练好的卷积神经网络模型的原始权重值w0至wi生成激励c;
步骤102:从所述数据库中查找激励c对应的响应r;
步骤103:根据公式wk'=(2r-1)wk计算wk对应的模糊权重值wk',其中k是大于等于0并且小于等于i的整数。
11.根据权利要求10所述的系统,其特征在于,步骤102中还包括当激励c对应的响应r为不稳定响应时,从所述数据库中查找多个稳定的激励并且以对所生成的模糊权重值w'0至w'i的影响最小为原则从所述多个稳定的激励中选择一个。
12.根据权利要求8至11中任一项所述的系统,其中,所述适配平台还用于向用户提供卷积神经网络模型加速器的FPGA设备ID或卷积神经网络模型的加速器比特流。
13.一种利用权利要求1至7任一项所述装置的卷积神经网络模型的计算方法,包括以下步骤:
获取与已训练好的卷积神经网络模型对应的模糊权重值w'0至w'i,所述模糊权重值与所述已训练好的卷积神经网络模型的对应的原始权重值w0至wi中至少有一个不相等,其中,i为大于等于2的整数;
基于所述物理不可克隆模块的响应r'执行所述模糊权重值和对应输入数据的乘累加计算,获得乘累加计算结果,所获得的乘累加计算结果与所述已训练好的卷积神经网络模型的原始权重值和对应输入数据的乘累加计算结果相同,其中,所述物理不可克隆模块用于根据预定的激励c'生成响应r',激励c'与所述模糊权重值相关。
14.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现根据权利要求13所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求13所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810723272.2A CN109002883B (zh) | 2018-07-04 | 2018-07-04 | 卷积神经网络模型计算装置及计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810723272.2A CN109002883B (zh) | 2018-07-04 | 2018-07-04 | 卷积神经网络模型计算装置及计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109002883A true CN109002883A (zh) | 2018-12-14 |
CN109002883B CN109002883B (zh) | 2020-12-29 |
Family
ID=64598543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810723272.2A Active CN109002883B (zh) | 2018-07-04 | 2018-07-04 | 卷积神经网络模型计算装置及计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109002883B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109919303A (zh) * | 2019-02-28 | 2019-06-21 | 范力欣 | 一种深度神经网络的知识产权保护方法、系统及终端 |
CN110070178A (zh) * | 2019-04-25 | 2019-07-30 | 北京交通大学 | 一种卷积神经网络计算装置及方法 |
CN112114874A (zh) * | 2020-08-20 | 2020-12-22 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN112301322A (zh) * | 2020-12-21 | 2021-02-02 | 上海陛通半导体能源科技股份有限公司 | 具有工艺参数智能调节功能的气相沉积设备及方法 |
CN112749780A (zh) * | 2019-10-31 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 数据的处理方法、装置及设备 |
CN113627586A (zh) * | 2020-05-07 | 2021-11-09 | 百度(美国)有限责任公司 | 用于数据处理加速器的模糊ai模型训练方法 |
CN114168991A (zh) * | 2022-02-10 | 2022-03-11 | 北京鹰瞳科技发展股份有限公司 | 对加密数据进行处理的方法、电路及相关产品 |
CN114358268A (zh) * | 2022-01-07 | 2022-04-15 | 湖南大学 | 软硬件结合的卷积神经网络模型知识产权保护方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2230793A8 (en) * | 2009-03-16 | 2011-02-16 | Technische Universität München | On-Chip Electric Waves: An Analog Circuit Approach to Physical Uncloneable Functions: PUF |
CN104615952A (zh) * | 2014-12-22 | 2015-05-13 | 天津大学 | 基于路径延时的ip硬核知识产权保护方法及装置 |
CN104699656A (zh) * | 2015-03-19 | 2015-06-10 | 东南大学 | 一种基于fpga的微处理器puf实现系统及其方法 |
US20160125288A1 (en) * | 2014-11-03 | 2016-05-05 | Carnegie Mellon University, A Pennsylvania Non-Profit Corporation | Physically Unclonable Functions Using Neuromorphic Networks |
CN105740731A (zh) * | 2016-02-02 | 2016-07-06 | 中国科学院计算技术研究所 | 一种高稳定性的强物理不可克隆函数电路及其设计方法 |
CN105760786A (zh) * | 2016-02-06 | 2016-07-13 | 中国科学院计算技术研究所 | 一种cpu+fpga集成芯片的强puf认证方法及系统 |
CN107251475A (zh) * | 2014-12-24 | 2017-10-13 | 本质Id有限责任公司 | 来自物理不可克隆功能的加密密钥产品 |
CN107392308A (zh) * | 2017-06-20 | 2017-11-24 | 中国科学院计算技术研究所 | 一种基于可编程器件的卷积神经网络加速方法与系统 |
CN107967132A (zh) * | 2017-11-27 | 2018-04-27 | 中国科学院计算技术研究所 | 一种用于神经网络处理器的加法器和乘法器 |
-
2018
- 2018-07-04 CN CN201810723272.2A patent/CN109002883B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2230793A8 (en) * | 2009-03-16 | 2011-02-16 | Technische Universität München | On-Chip Electric Waves: An Analog Circuit Approach to Physical Uncloneable Functions: PUF |
US20160125288A1 (en) * | 2014-11-03 | 2016-05-05 | Carnegie Mellon University, A Pennsylvania Non-Profit Corporation | Physically Unclonable Functions Using Neuromorphic Networks |
CN104615952A (zh) * | 2014-12-22 | 2015-05-13 | 天津大学 | 基于路径延时的ip硬核知识产权保护方法及装置 |
CN107251475A (zh) * | 2014-12-24 | 2017-10-13 | 本质Id有限责任公司 | 来自物理不可克隆功能的加密密钥产品 |
CN104699656A (zh) * | 2015-03-19 | 2015-06-10 | 东南大学 | 一种基于fpga的微处理器puf实现系统及其方法 |
CN105740731A (zh) * | 2016-02-02 | 2016-07-06 | 中国科学院计算技术研究所 | 一种高稳定性的强物理不可克隆函数电路及其设计方法 |
CN105760786A (zh) * | 2016-02-06 | 2016-07-13 | 中国科学院计算技术研究所 | 一种cpu+fpga集成芯片的强puf认证方法及系统 |
CN107392308A (zh) * | 2017-06-20 | 2017-11-24 | 中国科学院计算技术研究所 | 一种基于可编程器件的卷积神经网络加速方法与系统 |
CN107967132A (zh) * | 2017-11-27 | 2018-04-27 | 中国科学院计算技术研究所 | 一种用于神经网络处理器的加法器和乘法器 |
Non-Patent Citations (5)
Title |
---|
ANTHONY VAN HERREWEGE ET AL: "Reverse Fuzzy Extractors: Enabling Lightweight Mutual Authentication for PUF-enabled RFIDs", 《FINANCIAL CRYPTOGRAPHY AND DATA SECURITY》 * |
JING YE ET AL: "Fault diagnosis of arbiter physical unclonable function", 《DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2017》 * |
JORGE GUAJARDO ET AL: "FPGA Intrinsic PUFs and Their Use for IP Protection", 《CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS - CHES 2007》 * |
叶靖 等: "非确定性仲裁型物理不可克隆函数设计", 《计算机辅助设计与图形学学报》 * |
张国栋: "一种高效高安全性IP保护方法的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020173252A1 (zh) * | 2019-02-28 | 2020-09-03 | 笵成科技南京有限公司 | 运用自锁机制保护深度神经网络的方法、系统及终端 |
CN109919303A (zh) * | 2019-02-28 | 2019-06-21 | 范力欣 | 一种深度神经网络的知识产权保护方法、系统及终端 |
CN109919303B (zh) * | 2019-02-28 | 2023-09-19 | 笵成科技南京有限公司 | 一种深度神经网络的知识产权保护方法、系统及终端 |
CN110070178A (zh) * | 2019-04-25 | 2019-07-30 | 北京交通大学 | 一种卷积神经网络计算装置及方法 |
CN110070178B (zh) * | 2019-04-25 | 2021-05-14 | 北京交通大学 | 一种卷积神经网络计算装置及方法 |
CN112749780B (zh) * | 2019-10-31 | 2024-05-28 | 阿里巴巴集团控股有限公司 | 数据的处理方法、装置及设备 |
CN112749780A (zh) * | 2019-10-31 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 数据的处理方法、装置及设备 |
CN113627586A (zh) * | 2020-05-07 | 2021-11-09 | 百度(美国)有限责任公司 | 用于数据处理加速器的模糊ai模型训练方法 |
CN112114874A (zh) * | 2020-08-20 | 2020-12-22 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN112301322B (zh) * | 2020-12-21 | 2021-04-13 | 上海陛通半导体能源科技股份有限公司 | 具有工艺参数智能调节功能的气相沉积设备及方法 |
CN112301322A (zh) * | 2020-12-21 | 2021-02-02 | 上海陛通半导体能源科技股份有限公司 | 具有工艺参数智能调节功能的气相沉积设备及方法 |
CN114358268A (zh) * | 2022-01-07 | 2022-04-15 | 湖南大学 | 软硬件结合的卷积神经网络模型知识产权保护方法 |
CN114358268B (zh) * | 2022-01-07 | 2024-04-19 | 湖南大学 | 软硬件结合的卷积神经网络模型知识产权保护方法 |
CN114168991A (zh) * | 2022-02-10 | 2022-03-11 | 北京鹰瞳科技发展股份有限公司 | 对加密数据进行处理的方法、电路及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN109002883B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109002883A (zh) | 卷积神经网络模型计算装置及计算方法 | |
US20220012312A1 (en) | Machine learning model with watermarked weights | |
Carin et al. | Cybersecurity strategies: The queries methodology | |
CN110119467A (zh) | 一种基于会话的项目推荐方法、装置、设备及存储介质 | |
CN108197705A (zh) | 卷积神经网络硬件加速装置及卷积计算方法及存储介质 | |
Komm et al. | Advice complexity and barely random algorithms | |
Liu et al. | Generative adversarial construction of parallel portfolios | |
CN109522435A (zh) | 一种图像检索方法及装置 | |
CN108647525A (zh) | 可验证的隐私保护单层感知机批量训练方法 | |
CN111475838A (zh) | 基于深度神经网络的图数据匿名方法、装置、存储介质 | |
Struharik | Decision tree ensemble hardware accelerators for embedded applications | |
Munir et al. | Fedprune: Towards inclusive federated learning | |
CN109903162A (zh) | 一种加速区块链MCMC随机选择的ReRAM及其工作方法 | |
CN113704805B (zh) | 一种风控规则匹配方法、装置及电子设备 | |
CN115834251B (zh) | 基于超图Transformer威胁狩猎模型建立方法 | |
Geng et al. | Two heuristics for the economic lot scheduling problem: an experimental study | |
Zuo et al. | Adaptive multimeme algorithm for flexible job shop scheduling problem | |
CN110443061A (zh) | 一种数据加密方法和装置 | |
Georgopoulou et al. | A multi-objective metamodel-assisted memetic algorithm with strength-based local refinement | |
US10997497B2 (en) | Calculation device for and calculation method of performing convolution | |
Lew et al. | Anticipating and eliminating redundant computations in accelerated sparse training | |
Lai et al. | Missing value imputations by rule-based incomplete data fuzzy modeling | |
Ganescu et al. | Trust the process: Zero-knowledge machine learning to enhance trust in generative ai interactions | |
Wang et al. | Approx-SMOTE Federated Learning Credit Card Fraud Detection System | |
Ding et al. | Ensemble feature selection integrating elitist roles and quantum game model |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |