安全卷积神经网络(CNN)加速器制造技术

技术编号:23057396 阅读:42 留言:0更新日期:2020-01-07 16:13
一种基于CNN的信号处理方法(800)包含从多层CNN数据的第一层接收加密输出(802)。随后对所接收的加密输出进行解密以形成对所述多层CNN数据的第二层的解密输入(804)。所述解密输入与对应解密权重的卷积(808)可产生第二层输出,所述第二层输出可经加密且用作对所述多层CNN数据的第三层的加密输入(810)。

Safe convolutional neural network (CNN) accelerator

【技术实现步骤摘要】
【国外来华专利技术】安全卷积神经网络(CNN)加速器
技术介绍
卷积神经网络(CNN)为已成功地应用于分析视觉成像的一类深度前馈人工神经网络。因此,CNN提供用于已经证实为在例如图像识别和分类的领域中有效的神经网络的类别中的一个。举例来说,由于此类技术可自动地学习三维(3D)图像特征而无需手动地设计所述特征以捕获深度不变性或变形,因此CNN普遍地用于识别图像物体。另外,与其它图像分类算法相比,CNN可使用相对较少的预处理步骤。CNN可学习或使用在传统算法中手工设计的系数滤波器。然而,CNN的使用会影响启动时间,且在信号处理期间易受恶意攻击。因此,避免CNN系数滤波器或权重、输入和输出暴露于未经授权存取为重要的。
技术实现思路
本文所描述的为一种用于多层CNN数据的基于CNN的信号处理的技术。输入图像帧可以是多层CNN数据的第一层的输入。多层CNN数据可包含输入层、第一隐藏层、第二隐藏层(或多个隐藏层)和输出层。基于CNN的信号处理可包含从多层CNN数据的一层(例如第一层、第一隐藏层等)接收加密输出。随后对所接收的加密输出进行解密,以形成对多层CNN数据的后续层(例如第二层、隐藏层、最终输出层等)的解密输入。解密输入与对应解密权重的卷积可产生第二隐藏层输出,所述第二隐藏层输出可经加密且用作对多层CNN数据的另一隐藏层的加密输入。在信号处理多层CNN数据的层之后,可产生图像分类作为最终输出。对于输入及/或权重的解密和输出的加密,特定密钥可经存储且用于如本文中所描述的解密和加密。附图说明图1说明如本文中所描述的基于CNN的信号处理的实例情形。图2说明如本文中所描述的用于基于CNN的信号处理的实例芯片上硅(SoC)装置。图3说明如本文中所描述的信号处理期间的CNN特定保护机制的实例图解。图4说明如本文中所描述的安全IP的实例框图。图5说明如本文中所描述的基于CNN的信号处理的实例并行执行。图6说明如本文中所描述的基于CNN的信号处理的并行执行的实例。图7说明如本文中所描述的可在信号处理期间实施的实例块链接。图8说明如本文中所描述的用于基于CNN的信号处理的方法的实例过程图。具体实施方式贯穿图式使用相同数字以指代相同特征及组件。图1为如本文中所描述的基于CNN的信号处理的实例情形100。如所展示,情形100可包含图像帧102,其可作为输入供应到装置,例如芯片上硅(SoC)装置104。图像帧102可通过相机或其它装置来获得,或先前已存储,且此后用作对SoC装置104的输入。也可从其它源接收图像帧。输入图像帧102可表示可由SoC装置104处理以用于图像分类的多层CNN数据输入。举例来说,SoC装置104可包含基于CNN的信号处理器系统,其可配置成执行视觉处理,例如图像分类、动作识别、场景标记、文件分析、高级辅助驾驶系统(ADAS)、自动驱动系统/应用等。基于CNN的信号处理器系统可进一步配置成执行语言处理,例如话音识别、自动翻译和类似物。在这一实例中,图像帧102可包含汽车106、街道标志108、道路110、人行道112和行人114-2到114-6。SoC装置104可接收输入图像帧102(即,多层CNN数据输入)且执行信号处理,所述信号处理可包含对输入图像帧102的多个层应用CNN算法。在图像帧102的信号处理期间,CNN算法可使用且处理多个层(即,对于给定层,利用先前输出执行处理,其中所述给定层与所述先前输出卷积),以便区分并明显地鉴别图像帧102的汽车106、街道标志108、道路110、人行道112和行人114。如下文中进一步描述,CNN算法可通过使用出于解密和加密的目的供应的特定密钥来使用输入和系数滤波器(或权重)的即时式解密和层输出的即时式加密。在实施方案中,在信号处理期间,多层CNN数据的每一层可具有对应输入和对应输出。因此,每一层上的对应输入可不同于另一层的输入。在这一实施方案中,可使用对应权重来处理(或卷积)对应输入,以产生特定输出。针对每一层,对应权重可为不同的。对每一层的输入和输出以及来自每一层的输入和输出可具有不同值。另外,可对对应输入和权重进行解密。输出由SoC装置104进行加密,且用作对多层CNN数据的另一层的输入,如下文中进一步描述。尽管实例情形100将SoC装置104描述为单一组件,但其它组件(例如处理器、存储装置、应用、存储器等)可与SoC装置104一起包含。图2说明如本文中所描述的用于信号处理的实例SoC装置104。如所展示,SoC装置104可包含具有安全知识产权(intellectualproperty,IP)块202的CNN硬件(HW)引擎200、多线程处理块204和内部存储器206。SoC装置104可进一步连接到外部闪存208和外部存储器210。作为由SoC装置104信号处理的概述,可用于CNN算法的滤波器系数(或权重)可经加密且存储在SoC装置104外部的存储器处,所述存储器例如外部闪存208和/或外部存储器210。举例来说,加密可包含在存储系数滤波器时的非对称加密,以便防止所存储权重暴露于软件(即,权重可配置成可通过SoC装置104的硬件存取)。在特定层的信号处理期间,加密输入(其可以是先前被处理层的加密输出)可由安全IP块202即时地解密。类似地,从外部存储器存储的对应加密权重可即时地经解密,且与解密输入卷积以产生未加密输出。此后,未加密输出可在安全IP块202处经加密且用作对后续层的另一加密输入。对于这些解密和加密,安全IP块202可包含密钥特征块(下文中相对于图3进一步描述为密钥特征块316),其可由硬件存取且从软件侧不可见。如下文中进一步描述,密钥特征块可在信号处理期间为每一层提供不同密钥。不同密钥可用于输入和权重的即时式解密以及输出的即时式加密。用于权重的解密密钥可针对每一层为固定的。因此,对于帧到帧处理,针对每一层用于权重的解密的密钥为固定的。在信号处理期间的任何时间处,解密权重、解密输入和加密输出可能并不可用于外部存储器(即,外部闪存208和外部存储器210),以便防止暴露于恶意攻击。解密权重和输入以及加密输出可存储在内部存储器206处。实施对输出进行的加密以防止对给定层提供固定模式输入的恶意尝试,且允许能够解码输出并确定给定层(和其它层)的权重,这是因为输出=权重×输入(output=weight*input)。另外,解密权重和解密输入可在没有软件介入的情况下直接提供到安全IP块202内的其它区块。因此,CNNHW引擎200可配置成在信号处理期间经由用于隐藏层的安全引擎的硬件同时并行执行直接检索并使用解密权重和解密输入。举例来说,CNNHW引擎200可实施解密输入和权重的卷积的并行执行,且将输出供应回到安全IP块202以形成加密输出。参考图1的图像帧102,可通过由安全IP块202使用对应密钥进行的安全解密和/或解密来执行图像分类,如下文中进一步描述。图像分类可包含多层CNN数据的每一层与来自外部存储器2本文档来自技高网...

【技术保护点】
1.一种信号处理方法,其包括:/n从多层卷积神经网络CNN数据的第一层接收加密输出;/n对所接收的加密输出进行解密以形成对所述多层CNN数据的第二层的解密输入;/n接收对应于所述解密输入的加密权重且对所述加密权重进行解密;/n对所述解密输入和解密权重执行卷积以产生第二层输出;和/n对所述第二层输出进行加密,其中加密的第二层输出用作对所述多层CNN数据的第三层的加密输入。/n

【技术特征摘要】
【国外来华专利技术】20170525 IN 201741018440;20171011 US 15/730,3161.一种信号处理方法,其包括:
从多层卷积神经网络CNN数据的第一层接收加密输出;
对所接收的加密输出进行解密以形成对所述多层CNN数据的第二层的解密输入;
接收对应于所述解密输入的加密权重且对所述加密权重进行解密;
对所述解密输入和解密权重执行卷积以产生第二层输出;和
对所述第二层输出进行加密,其中加密的第二层输出用作对所述多层CNN数据的第三层的加密输入。


2.根据权利要求1所述的方法,其中所述第二层为所述多层CNN数据的任何层。


3.根据权利要求1所述的方法,其中如果所述第二层为所述多层CNN数据的最末层,那么不执行对所述第二层输出的所述加密。


4.根据权利要求1所述的方法,其中使用用于对称解密和加密的密钥来执行对层的所述解密和加密。


5.根据权利要求1所述的方法,其中所述解密和所述加密使用密钥来执行即时式解密和加密。


6.根据权利要求5所述的方法,其中使用不对称加密来将所述密钥存储在外部存储器处。


7.根据权利要求1所述的方法,其中针对所述多层CNN数据的不同层使用用于解密和加密的不同密钥。


8.根据权利要求1所述的方法,其中所述加密权重存储在外部存储器处。


9.根据权利要求1所述的方法,其中所述加密权重的所述解密使用块链接以提供更高的安全性。


10.根据权利要求1所述的方法,其中对所述第一层的输入为图像帧的未加密层。


11.一种芯片上硅SoC装置,其包括;
输入特征解密块,其配置成从多层卷积神经网络CNN数据的第一层接收加密输出且对所述加密输出进行解密,其中解密输出用作对所述多层CNN数据的第二层的输入;
权重内核解密块,其配置成接收对应于所述第二层的所述输入的加密权重且对所述加密权重进行解密;
CNN硬件HW核心,其配置成执行所述输入和解密权重的卷积以产生第二层输出;和
输出特征加密块,其配置成对所述第二层输出进行加密,其中加密的第二层输出用作对所述多层CNN数据的第三层的加密输入。


12.根据权利要求11所述的SoC装置,其进一步包括密钥管理,所述密钥管理配置成提供所述输入特征解密块的密钥以用于所述加密...

【专利技术属性】
技术研发人员:维拉马尼坎达恩·拉朱迪帕克·波达尔柴塔尼亚·格纳米希尔·纳伦德拉·莫迪
申请(专利权)人:德州仪器公司
类型:发明
国别省市:美国;US

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

1