神经网络的安全保护方法、系统、加速器及芯片技术方案

技术编号:37670603 阅读:16 留言:0更新日期:2023-05-26 04:32
本发明专利技术公开了神经网络的安全保护方法、系统、加速器及芯片,涉及神经网络计算技术领域。所述方法包括:在神经网络加速芯片的生产阶段,将不同滤波器的权重数据组合成预设长度的单位块进行加密后,将加密权重数据烧录到芯片内存中,并将密钥写入芯片中的OTP模块;在芯片启动阶段,密钥直接在芯片内部通过硬件传递,并通过具有权重解密引擎的CNN加速器对获取的加密权重数据进行解密后,将解密权重数据直接输入到MAC阵列运算模块与输入特征数据进行神经网络卷积运算以得到输出,卷积运算时调用多个PE同步进行卷积运算。本发明专利技术极大地减小了信息传递和运行推理过程中被攻击的风险,保证了权重数据的安全性。权重数据的安全性。权重数据的安全性。

【技术实现步骤摘要】
神经网络的安全保护方法、系统、加速器及芯片


[0001]本专利技术涉及神经网络计算
,尤其涉及一种神经网络的安全保护方法、系统、加速器及芯片。

技术介绍

[0002]随着人工智能技术的飞速发展,深度学习正成为机器学习领域中越来越重要的组成部分,而卷积神经网络(Convolutional Neural Network,简称CNN)是深度学习领域最为重要的工具之一,通常由具有可学习的权重和偏置常量的神经元组成,每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数。CNN在机器视觉、视频监控、模式识别、大数据挖掘等领域都有着广泛的应用。目前常见的CNN模型中的卷积层层数从数层到数百层不等,每一层卷积层可以有多个通道(channel)的过滤器(filter),在一层卷积层中,每一批输入会与多个通道过滤器的权重(weight)进行计算,得到卷积计算结果,即输出。完成卷积计算后,卷积层输出结果之前还可以加上偏置,进行激活和量化操作。权重、输入和输出均可以为多维结构。
[0003]深度学习可分为训练(training)和推理(inference)两部分。训练部分通常由算法公司完成,以CNN为例,为了得到高性能的CNN模型,算法公司会在网络类型的适配、权重的训练等方面进行研究以获得更高性能的CNN模型。推理部分是将训练好的模型投入使用的过程,比如算法公司将训练好的CNN模型在合作的芯片平台上进行算法的移植,在芯片上加载CNN模型并进行运行推理。
[0004]在神经网络设计中,一个高性能的CNN模型往往需要付出昂贵的训练资源,比如模型训练用到的计算资源、人力资源和时间资源等,因此训练数据集、加速器、模型参数等通常都被视为CNN模型的知识产权(Intellectual Property,简称IP)并进行保护。其中,针对特定的识别任务,从海量的数据中耗费大量时间训练出来的权重参数被视为一种重要的知识产权。特别是在人脸识别等等涉及到国民信息安全的领域,经过终端训练出来的人脸特征,还具有隐私性,不能轻易的被泄露。对于芯片平台公司而言,如何保护这种离线训练好的权重参数,以避免在推理过程中被恶意软件所获取,是当前产业链合作中关于安全的重要考量因素。
[0005]另一方面,现有技术也提出了一些对CNN模型的IP进行保护的技术方案。作为举例,比如中国专利申请CN201910158611.1公开的一种深度神经网络的知识产权保护方案,包括:在训练神经网络时,使用特定的数字密匙进行加锁处理;在使用时,经前述处理过的神经网络必须要密匙配合,才能发挥正常的功能。其核心就是利用常用的数字加解密技术对训练数据样本进行加密保护,以防止未经授权的第三方访问,主要涉及的是训练数据集的IP保护。
[0006]再比如,中国专利ZL201910735898.X公开的一种对神经网络模型加密的方法,其核心就是利用加密算法对神经网络模型中的部分或全部模型信息——比如节点权重、节点的运算参数或属性参数以及节点的输入及输出等信息——进行加密,将加密后的模型文件
转换为描述该神经网络的模型程序代码以发送到终端设备侧,一来服务器在向终端设备发送应用程序安装包时无需传输原模型文件,再则通过将加密的模型文件转换为模型程序代码极大提高了破解密文的难度,保证整个模型的安全。以及,中国专利申请CN 202210018007.0公开的一种软硬件结合的卷积神经网络模型知识产权保护方法:对神经网络模型两次重训练构建子网和非子网,根据子网和非子网分布对部分加速器计算单元电路结构进行修改,修改后的加速器计算单元可根据一定的输入信号决定参与计算的权重或权重计算结果;同时,使用DRAM PUF建立与硬件对应的唯一性密钥,根据密钥的正确性生成不同的输入信号,若密钥正确,则生成的输入信号控制加速器计算单元电路的修改部分,选择模型的子网部分权重参与计算,所得结果为正确结果,模型正常使用;反之,生成的输入信号控制加速器计算单元电路的修改部分选择模型的全部权重参与计算,所得结果为错误结果,模型不可正常使用;该方案的核心是通过将神经网络模型与加速器特定硬件进行绑定来提高卷积神经网络模型的权重数据的安全性。上述方案侧重于对CNN模型本身进行保护,但在加速器推理过程中信息仍然可能被恶意软件获取,同时,密钥的传递也可能存在安全性问题。

技术实现思路

[0007]本专利技术的目的在于:克服现有技术的不足,提供了一种神经网络的安全保护方法、系统、加速器及芯片。本专利技术提供的神经网络保护方案,在神经网络加速芯片的生产阶段,将不同过滤器的权重数据组合成预设长度的单位块进行加密后,将加密权重数据烧录到芯片内存中,并将密钥写入芯片中的OTP模块——具体的,加密密钥可以通过伪随机数加盐处理来实现每个芯片的密钥唯一化,该密钥在OTP中为软件不可读;同时配置本身支持权重解密的CNN加速器,CNN加速器内设置的权重解密引擎设置在MAC阵列之前,权重解密引擎从内存中读取权重数据进行解密后将解密数据直接送入MAC阵列中进行神经网络卷积运算,整个解密过程没有可编软件参与,极大地减小了信息传递和运行推理过程中被攻击的风险,保证了权重数据的安全性。另外,由于将解密模块直接集成到了CNN加速器中,使得该专利技术可以流水线的进行解密操作,基本不影响芯片卷积模块的性能。
[0008]为实现上述目标,本专利技术提供了如下技术方案:一种神经网络的安全保护方法,其特征在于包括步骤:在神经网络加速芯片的生产阶段,获取加载的卷积神经网络CNN的权重数据,通过加密算法对权重数据进行离线加密得到加密权重数据,其中,在加密之前,根据所述加密算法的数据块分组长度S,通过数据组织模块对CNN中不同的过滤器的权重数据进行组织以将权重数据构造为单位长度为S的数据块单元组成的数据组;通过烧录工具将加密权重数据烧录到芯片内存中,并将加密的密钥写入芯片中的一次性可编程OTP模块,所述OTP模块被配置为软件不可读;在前述芯片的启动阶段,通过硬件控制器将芯片OTP模块中的密钥搬运至芯片的CNN加速器的密钥存储寄存器中;所述CNN加速器中设置有权重解密引擎和MAC阵列运算模块,权重解密引擎的输出端连接所述MAC阵列运算模块的输入端,所述权重解密引擎用于获取前述密钥后对加密权重数据进行解密以得到解密权重数据,该解密权重数据为S长度数据块单元组成的数据组,将所述解密权重数据直接输入MAC阵列运算模块以与输入特征数
据进行神经网络卷积运算以得到输出;其中,所述MAC阵列包括呈阵列布置的多个计算单元PE,在进行卷积运算时,按照前述解密权重数据的数据块单元的长度S,将一个数据块单元的数据作为输入同时广播到MAC阵列的一列的多个PE的输入端,以调用所述多个PE同步进行卷积运算。
[0009]进一步,将所述加密权重数据烧录到芯片的flash存储器中,解密时通过权重解密引擎实时从前述芯片的flash存储器中读取加密权重数据;此时,所述权重解密引擎被配置为:从密钥存储寄存器中获取密钥,通过密钥对实时读取的加密权重数据进行流水线的解密以得到解密权重数据,将得到的解密权重数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络的安全保护方法,其特征在于包括步骤:在神经网络加速芯片的生产阶段,获取加载的卷积神经网络CNN的权重数据,通过加密算法对权重数据进行离线加密得到加密权重数据,其中,在加密之前,根据所述加密算法的数据块分组长度S,通过数据组织模块对CNN中不同的过滤器的权重数据进行组织以将权重数据构造为单位长度为S的数据块单元组成的数据组;通过烧录工具将加密权重数据烧录到芯片内存中,并将加密的密钥写入芯片中的一次性可编程OTP模块,所述OTP模块被配置为软件不可读;在前述芯片的启动阶段,通过硬件控制器将芯片OTP模块中的密钥搬运至芯片的CNN加速器的密钥存储寄存器中;所述CNN加速器中设置有权重解密引擎和MAC阵列运算模块,权重解密引擎的输出端连接所述MAC阵列运算模块的输入端,所述权重解密引擎用于获取前述密钥后对加密权重数据进行解密以得到解密权重数据,该解密权重数据为S长度数据块单元组成的数据组,将所述解密权重数据直接输入MAC阵列运算模块以与输入特征数据进行神经网络卷积运算以得到输出;其中,所述MAC阵列包括呈阵列布置的多个计算单元PE,在进行卷积运算时,按照前述解密权重数据的数据块单元的长度S,将一个数据块单元的数据作为输入同时广播到MAC阵列的一列的多个PE的输入端,以调用所述多个PE同步进行卷积运算。2.根据权利要求1所述的方法,其特征在于:将所述加密权重数据烧录到芯片的flash存储器中,解密时通过权重解密引擎实时从前述芯片的flash存储器中读取加密权重数据;此时,所述权重解密引擎被配置为:从密钥存储寄存器中获取密钥,通过密钥对实时读取的加密权重数据进行流水线的解密以得到解密权重数据,将得到的解密权重数据实时输入到MAC阵列运算模块进行卷积运算。3.根据权利要求1所述的方法,其特征在于:所述数据组织模块包括数据采集子模块和数据交织子模块;所述数据采集子模块被配置为:获取加密算法的数据块分组长度S和卷积神经网络支持的数据位宽L,以及获取权重数据;所述数据交织子模块被配置为:根据前述数据块分组长度S和数据位宽L计算需要进行数据交织的过滤器数量M,将前述权重数据按照M组过滤器进行交织以组织成由单位长度为S的数据块单元组成的数据组,其中,权重数据以M组为单位交织在一起,对于不足M组的权重数据部分,不足部分用常数填充以补足形成M组;以及,将组织好的权重数据发送到加密模块;所述加密模块能够按照选择的加密算法对接收的权重数据进行加密计算。4.根据权利要求3所述的方法,其特征在于:根据MAC阵列中PE配置的数据位宽来配置同步进行卷积运算的PE数量,前述数据位宽L等于PE配置的数据位宽;此时,所述MAC阵列运算模块被配置为:根据解密权重数据的数据块单元长度S和数据位宽L计算需要同步的PE数量N,所述N=S/L;接收输入特征数据,以及接收解密权重数据,对于解密权重数据的每个S长度数据块单元,将一个数据块单元的数据平均拆分为N个数据段后作为输入同时广播到一列的N个PE的输入端,通过所述N个PE同步进行卷积运算。5.根据权利要求4所述的方法,其特征在于:所述加密算法为对称加密算法AES128,对应的数据块分组长度S为128比特,所述权重解密引擎包括AES128解密模块;
或者,所述加密算法为对称加密算法AES256,对应的数据块分组长度S为256比特,所述权重解密引擎包括AES256解密模块。6.根据权利要求4所述的方法,其特征在于:所述PE配置的定点数据位宽为4比特、8比特、16比特或者32比特,配置的浮点数据位宽为16比特或者32比特。7.根据权利要求6所述的方法,其特征在于:过滤器的权重数据W为与变量Co、Ci、K...

【专利技术属性】
技术研发人员:江正忠
申请(专利权)人:上海物骐微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1