【技术实现步骤摘要】
神经网络的安全保护方法、系统、加速器及芯片
[0001]本专利技术涉及神经网络计算
,尤其涉及一种神经网络的安全保护方法、系统、加速器及芯片。
技术介绍
[0002]随着人工智能技术的飞速发展,深度学习正成为机器学习领域中越来越重要的组成部分,而卷积神经网络(Convolutional Neural Network,简称CNN)是深度学习领域最为重要的工具之一,通常由具有可学习的权重和偏置常量的神经元组成,每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数。CNN在机器视觉、视频监控、模式识别、大数据挖掘等领域都有着广泛的应用。目前常见的CNN模型中的卷积层层数从数层到数百层不等,每一层卷积层可以有多个通道(channel)的过滤器(filter),在一层卷积层中,每一批输入会与多个通道过滤器的权重(weight)进行计算,得到卷积计算结果,即输出。完成卷积计算后,卷积层输出结果之前还可以加上偏置,进行激活和量化操作。权重、输入和输出均可以为多维结构。
[0003]深度学习可分为训练(training)和推理(inference)两部分。训练部分通常由算法公司完成,以CNN为例,为了得到高性能的CNN模型,算法公司会在网络类型的适配、权重的训练等方面进行研究以获得更高性能的CNN模型。推理部分是将训练好的模型投入使用的过程,比如算法公司将训练好的CNN模型在合作的芯片平台上进行算法的移植,在芯片上加载CNN模型并进行运行推理。
[0004]在神经网络设计中,一个高性能的CNN模型往 ...
【技术保护点】
【技术特征摘要】
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...
【专利技术属性】
技术研发人员:江正忠,
申请(专利权)人:上海物骐微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。