一种提高卷积神经网络硬件加速器鲁棒性的安全单元电路
- 国知局
- 2024-07-31 23:12:58
本发明涉及数字电路设计和硬件安全技术,具体公开一种可以提高卷积神经网络(convolutional neural networks,cnn)硬件加速器鲁棒性的安全防护电路,属于基本电子电路的。
背景技术:
1、近年来,随着卷积神经网络的创新和突破,其在硬件设备上的部署也越发成熟,卷积神经网络的定制硬件可以弥合性能和效率之间的差距。卷积神经网络强大的决策能力使得它被广泛应用于自动驾驶、医疗诊断等高安全性需求的场景。
2、卷积神经网络模型的安全性和鲁棒性已经成为影响其硬件部署的关键因素,目前有大量的研究工作致力于保护卷积神经网络模型免受面向参数数据的攻击。众所周知,cnn的训练目的就是为了找到合适的权重参数,可以说权重参数是网络模型最宝贵的资源。而位翻转攻击(bit-flip attack,bfa)可以通过篡改卷积神经网络中的权重参数来达到降低预测精度的目的。位翻转攻击的本质就是在存储器上对数据位进行翻转,即从0翻转至1,或从1翻转至0。位翻转攻击可以在翻转极少量位的情况下达到极高的错误率。对于全精度的cnn来说,其中的数据是以浮点数的形式存储,那么发生在指数位的位翻转攻击将会带来更大的威胁。位翻转的实现方式有很多种,其中常见的有rowhammer攻击、电压频率缩放(voltage frequency scaling)攻击、时钟故障和激光注入等。
3、针对位翻转攻击,一般有三种防御方法。第一种防御方法是基于位翻转的典型特征来检测位翻转是否发生,即找到区分正常cnn和位翻转cnn的表示方法,例如哈希方法等。第二种防御方法是增强cnn本身的容错性,通过引入一些正则化、冗余措施来增强容错性,例如cnn权重量化方法、对抗性训练等。第三种防御方法是使用机器学习来检测位翻转攻击,cnn本身也可以用来防御位翻转攻击,一般步骤包括数据处理、异常值检测等。
4、这些防御方法大多是基于软件算法层面的实践,然而现有的防御方法在硬件层面都有一定缺陷,比如冗余会显著增加硬件资源的消耗;基于典型特征的检测虽然复杂度低,但是只能检测而不能纠正;而基于机器学习的工作复杂度又太高。以上问题都说明抵抗位翻转的方法在硬件实现上都有局限性,因此本发明旨在提出一种可行的硬件实现方案,能够在一定程度上抵御上述的rowhammer攻击等位翻转攻击。
技术实现思路
1、本发明的发明目的是针对上述背景技术的不足,提供一种针对位翻转攻击的低复杂度的防御方案,结合了检测与纠正两个方面的优势,解决传统防御方案复杂度高和只检测不纠正的技术问题,以较低的硬件资源消耗为代价实现提高卷积神经网络鲁棒性的发明目的。
2、本发明为实现上述发明目的采用如下技术方案:
3、一种提高卷积神经网络硬件加速器鲁棒性的安全单元电路,插入卷积神经网络硬件加速器的计算模块之间,该安全单元电路包括:输入检测单元、修正单元以及监测单元;输入检测单元用于根据上界边界值和下界边界值对输入的特征图像素值进行异常检测;修正单元用于根据上界修正值、下界修正值以及输入的特征图像素值异常检测结果对输入的特征图像素值进行修正,在输入的特征图像素值的异常次数超过前一层级计算模块输出特征图像素值异常次数上限值时停止修正操作;监测单元用于监测输入的特征图像素值异常的次数,在输入的特征图像素值的异常次数超过前一层级计算模块输出特征图像素值异常次数上限值时终止此次推理过程。
4、作为一种提高卷积神经网络硬件加速器鲁棒性的安全单元电路的进一步优化方案,输入检测单元包括:第一比较器以及第二比较器;第一比较器的第一输入端接入上界边界值,第一比较器的第二输入端接入特征图像素值,第一比较器输出表征输入的特征图像素值高于上界边界值的第一标志位;第二比较器的第一输入端接入下界边界值,第二比较器的第二输入端接入特征图像素值,第二比较器输出表征输入的特征图像素值低于下界边界值的第二标志位。
5、作为一种提高卷积神经网络硬件加速器鲁棒性的安全单元电路的再进一步优化方案,修正单元包括:上界修正值寄存器、下界修正值寄存器以及三选一选择器,上界修正值寄存器用于存储上界修正值;下界修正值寄存器用于存储下界修正值;三选一选择器的第一输入端连接上界修正值寄存器输出端,三选一选择器的第二输入端接入特征图像素值,三选一选择器的第三输入端连接下界修正值寄存器输出端,三选一选择器的控制端接入第一标志位和第二标志位组成的选择信号,在输入的特征图像素值高于上界边界值时输出上界修正值,在输入的特征图像素值低于下界边界值时输出下界修正值,在输入的特征图像素值介于上界边界值和下界边界值之间时选择输入的特征图像素值输出。
6、作为一种提高卷积神经网络硬件加速器鲁棒性的安全单元电路的再进一步优化方案,监测单元包括:异或门、计数器、阈值寄存器以及第三比较器;异或门的第一输入端接入第一标志位,异或门的第二输入端接入第二标志位,输出异或结果;计数器的使能端连接所述异或门输出端,记录一个推理过程中输入的特征图像素值异常的次数并输出;阈值寄存器用于存储前一层级计算模块输出特征图像素值异常次数的上限值;第三比较器的第一输入端连接所述阈值寄存器输出端,第三比较器的第二输入端连接所述计数器输出端,输出表征一个推理过程中输入的特征图像素值异常的次数大于或等于前一层级计算模块输出特征图像素值异常次数上限值的第三标志位。
7、作为一种提高卷积神经网络硬件加速器鲁棒性的安全单元电路的再进一步优化方案,上界边界值、下界边界值、上界修正值、下界修正值以及前一层级计算模块输出特征图像素值异常次数上限值通过数理统计获取。
8、作为一种提高卷积神经网络硬件加速器鲁棒性的安全单元电路的再进一步优化方案,上界边界值、下界边界值、上界修正值、下界修正值以及前一层级计算模块输出特征图像素值异常次数上限值通过数理统计获取的具体方法为:
9、统计各个层级计算模块输出的特征图像素值及其出现频次;
10、采用3sigma准则对各个层级计算模块输出的特征图像素值进行统计分析,获取各个层级计算模块输出的特征图像素值正常值的取值范围和稀有值出现的频次,将安全单元电路插入位置前一层级计算模块输出的特征图像素值正常值的取值范围的最小值、最大值分别作为下界边界值、上界边界值,将安全单元电路插入位置前一层级计算模块输出的特征图像素值稀有值的出现频次作为前一层级计算模块输出特征图像素值异常次数上限值;
11、采用2sigma准则对各个层级计算模块输出的特征图像素值进行统计分析,获取各个层级计算模块输出的特征图像素值正常值的取值范围,将安全单元电路插入位置前一层级计算模块输出的特征图像素值正常值的取值范围的最小值、最大值分别作为下界修正值、上界修正值。
12、本发明采用上述技术方案,具有以下有益效果:本发明综合考虑软件算法的统计方法和硬件加速器的一般架构,提出一种提高卷积神经网络硬件加速器鲁棒性的安全单元电路,在软件算法上使用正态分布的3sigma统计分析方法获取参数范围,同时在检测出超出参数范围的数据时以2sigma为修正值对异常数据进行修正,以低复杂度的检测和纠正方案实现对卷积神经网络硬件加速器的鲁棒性的提高。较现有位翻转攻击防御方案,本发明避免了过高的复杂度可能会带来的过大的硬件资源消耗,并且在应用中,本发明所提电路修正后的特征值也不需要进行再训练,这提高了其通用性,可以与大多数的卷积神经网络硬件加速器兼容。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196465.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。