用于操作神经网络的装置、对应的方法以及计算机程序产品制造方法及图纸

技术编号:29462664 阅读:10 留言:0更新日期:2021-07-27 17:33
本公开的实施例涉及用于操作神经网络的装置、对应的方法以及计算机程序产品。一种实施例装置包括:第一处理系统,执行神经网络的第一部分从而提供第一中间输出,该第一部分包括一组神经网络层的第一子集;以及第二处理系统,接收第一中间输出,并操作神经网络的第二部分从而提供相应输出,该第二部分包括该组层的第二子集,第二处理系统被配置为向第一处理系统提供相应输出的输出信息函数,并且第一处理系统被配置为根据输出信息获得神经网络的最终输出。第二处理系统包括安全元件,该安全元件存储第二部分的模型,并且第二处理系统通过将输入信息应用于第二部分的模型来执行第二部分以提供相应输出。

Device for operating neural network, corresponding method and computer program product

【技术实现步骤摘要】
用于操作神经网络的装置、对应的方法以及计算机程序产品相关申请的交叉引用本申请要求于2020年1月24日提交的意大利申请号102020000001462的优先权,其申请内容通过引用并入本文。
本公开的实施例涉及用于操作神经网络的解决方案。本公开的实施例具体涉及用于操作移动设备中的神经网络的解决方案。
技术介绍
神经网络(NN)是一种计算架构,它试图通过使用模仿人脑操作方式的过程来标识一组数据中潜在的关系。神经网络具有适应于变化的输入的能力,使得网络可以在不重新设计输出准则的情况下产生尽可能最好的结果。例如,神经网络被广泛应用于提取图案和检测趋势,这些图案和趋势过于复杂使人类或其他计算机技术都无法注意到。参考图1,其中示意性地示出了操作神经网络XNN的装置10的情况下,从正式的观点来看,神经网络架构可以被描述为网络或图形,其包括多个节点,这些节点是神经网络单元,通过输入和输出每个单元的边缘或连接进行耦合。每个边缘或连接与相应的权重相关联,使得单元可以实行输入的线性组合以获得输出值。每个单元还可以包括激活函数以控制单元的输出的振幅。阈值和偏置值还可以以本身已知的方式与单元相关联。在图1中示出了多线性感知型或深度前馈型神经网络XNN的示例,其中如大部分神经网络一样,单元以连续的水平(称为层Lk,其中指数k=0、…、M)进行分组,使得只有从层的单元到连续层的单元才有连接。第一层L0的单元表示输入单元,输入单元没有先行条件,通常不实现权重或激活函数,只保留输入值。因此,即使严格地说,它们不是计算单元,仅代表信息进入网络的入口点,也被称为输入单元和输入层IL。例如,到输入单元的输入数据可以是图像,并且也可以是其他种类的数字信号:声学信号、生物医学信号、来自陀螺仪和加速计的惯性信号可以是这些信号的示例。在图1中形成输出层OL(即,层LM)的输出单元可以是计算单元,其结果构成网络的输出。最后,其他层L1…LM-1中的单元是计算单元,通常被定义为隐藏层HL中的隐藏单元。在一个或多个实施例中,信息的传播方向可以是单侧的,例如前馈型的,从输入层开始并通过隐藏层一直进行到输出层。假设网络具有L层,如上所述,可以采用用k=1,2,…,M表示层的约定,从输入层开始,穿过隐藏层直到输出层。通过以一种可能的表示法来考虑层Lk:uk:表示层k的单元的数目,表示层k的单元或其等效值,W(k):表示从层k的单元到层(k+1)的单元的权重矩阵;未针对输出层进行定义。值是由单元实行的计算的结果,除了输入单元以外,值是网络的输入值。这些值代表激活值,简而言之,单元的“激活”。矩阵W(k)的元素(i,j)是从单元到单元的权重值。此外,针对每个层k=1、…、(M-1),可以考虑被表示为偏置单元的附加的单元(例如,值固定为1),其允许将激活函数向左或向右移动。计算单元可以实行可以被描述为两个函数的组合的计算:-激活函数f,其可以是非线性单调函数,诸如sigmoidal函数或整流函数(采用整流函数的单元被称为整流线性单元或ReLU),以及-函数gi,专门针对将前一层的激活和当前层的权重作为值的单元进行定义。在一个或多个实施例中,如本文所示的神经网络的操作(执行)可以包含沿着网络的方向的计算单元的激活的计算,例如其中信息从输入层到输出层的传播。该过程被称为前向传播。图1是如上所述的网络布置的示例,包括M+1层,包括输入层IL(层0)、隐藏层HL(例如层1、层2、…)和输出层OL(层L)。在移动和IoT(物联网)应用中,可以在移动/IoT/组件上实行神经网络推理。在其他一些情况下(例如语音识别),将数据(例如语音)上传到云,并且在云上实行神经网络;实际上,一种方法是在移动电话中使用神经网络以减少云的过度分配。然而,在移动设备中,有时资源不足以实行深度神经网络推理。在谷歌移动框架中已知一种称为TensorFlowLite的实现,其中已经定义了一种委托模型,其中部分网络计算由外部设备(诸如GPU(图形处理单元))实行,如在https://www.tensorflow.org/lite/performance/gpu中所述。委托以如下概念进行工作:将整个或部分神经网络计算委托给外部设备,通常是GPU(图形处理单元),以便更快地执行。这是基于神经网络的分层性质:层执行的子集被移动到GPU。在图2中示出了这种技术的示例。神经网络XNN包括一组神经网络层IL、OL、HL,神经网络XNN由装置操作,该装置包括由应用处理器(例如移动电话)表示的第一处理系统11,该第一处理系统11接收输入信息IV或输入值,并操作神经网络XNN的第一部分NN1,该神经网络XNN的第一部分NN1包括该组层的第一子集,例如输入层IL,其包括获得第一中间输出II的输入信息,在这种情况下,第一中间输出II是输入层IL的输出。然后,应用处理器将第一中间输出II作为输入馈送到第一处理系统11外部的外部处理系统23,优选为GPU,该外部处理系统23执行神经网络XNN的第二部分NN2,该神经网络XNN的第二部分NN2包括该组层的第二子集,例如隐藏层HL和输出层OL,使用第一中间输出II作为输入来计算第二中间输出OI,该第二中间输出OI然后作为输出信息被提供给第一处理系统11,第一处理系统11将其提供作为用于操作神经网络的整个装置的最终输出信息OV或输出值。然而,神经网络正在从计算机视觉/用户交互到面向安全的服务扩大其应用范围,诸如:·生物统计学·身份验证·用户隐私(如语音识别)。最后一点,由于语音识别通常是通过首先录制语音来完成的,因此所录制的语音当然对隐私至关重要。类似于先前所述,神经网络的不便之处在于:神经网络结构和权重容易受到攻击,并且应用处理系统与外部处理系统之间的通信添加了弱点。此外,如果神经网络存储在容易被篡改的存储器中,则它很容易被克隆;文献中报道了检测克隆而不防止克隆的水印技术。
技术实现思路
基于上述描述,感觉需要能够克服先前所列出的一个或多个缺点的解决方案。根据一个或多个实施例,通过具有以下权利要求中特别列出的特征的装置来实现这样的目标。此外实施例涉及用于操作神经网络的相关方法以及对应的相关计算机程序产品,该计算机程序产品可以在至少一台计算机的存储器中加载并且包括用于当产品在计算机上运行时实行该方法的步骤的软件代码部分。如本文所使用的,对这种计算机程序产品的引用旨在等效于对包含用于控制计算机系统以协调该方法的性能的指令的计算机可读介质的引用。对“至少一台计算机”显然旨在强调本公开以分布式/模块化方式实现的可能性。权利要求是本文提供的本公开的技术教导的组成部分。如上所述,本公开提供了有关用于操作包括一组神经网络层(IL、OL、HL)的神经网络的装置的解决方案,该装置包括:第一处理系统,执行神经网络的第一部本文档来自技高网
...

【技术保护点】
1.一种用于操作神经网络的装置,所述神经网络包括一组神经网络层,所述装置包括:/n第一处理系统,执行所述神经网络的第一部分从而获得第一中间输出,所述神经网络的所述第一部分包括所述一组神经网络层的第一子集;以及/n第二处理系统,在所述第一处理系统外部,所述第二处理系统被配置为接收所述第一部分的所述第一中间输出作为输入,并且被配置为执行所述神经网络的第二部分从而获得相应输出,所述神经网络的所述第二部分包括所述一组神经网络层的第二子集;/n其中所述第二处理系统被配置为:根据所述相应输出向所述第一处理系统提供输出信息;/n其中所述第一处理系统被配置为根据所述输出信息获得所述神经网络的最终输出;/n其中所述第二处理系统包括安全元件,所述安全元件存储所述第二部分的模型;并且/n其中所述第二处理系统被配置为:通过将所述第一中间输出应用于在所述安全元件中存储的所述第二部分的所述模型,执行所述神经网络的所述第二部分,以获得所述相应输出。/n

【技术特征摘要】
20200124 IT 1020200000014621.一种用于操作神经网络的装置,所述神经网络包括一组神经网络层,所述装置包括:
第一处理系统,执行所述神经网络的第一部分从而获得第一中间输出,所述神经网络的所述第一部分包括所述一组神经网络层的第一子集;以及
第二处理系统,在所述第一处理系统外部,所述第二处理系统被配置为接收所述第一部分的所述第一中间输出作为输入,并且被配置为执行所述神经网络的第二部分从而获得相应输出,所述神经网络的所述第二部分包括所述一组神经网络层的第二子集;
其中所述第二处理系统被配置为:根据所述相应输出向所述第一处理系统提供输出信息;
其中所述第一处理系统被配置为根据所述输出信息获得所述神经网络的最终输出;
其中所述第二处理系统包括安全元件,所述安全元件存储所述第二部分的模型;并且
其中所述第二处理系统被配置为:通过将所述第一中间输出应用于在所述安全元件中存储的所述第二部分的所述模型,执行所述神经网络的所述第二部分,以获得所述相应输出。


2.根据权利要求1所述的装置,其中在所述安全元件中存储包括由所述第二处理系统可执行的所述第二部分的所述模型的应用。


3.根据权利要求2所述的装置,其中所述应用包括:用于将所述第一中间输出馈送到所述第二部分的所述模型的命令。


4.根据权利要求2所述的装置,其中所述应用包括:接收所述相应输出并且输出预测的推理引擎。


5.根据权利要求1所述的装置,其中所述第二部分的所述模型包括输出层,特别是分类器。


6.根据权利要求1所述的装置,其中所述第一处理系统包括另外的代理应用,所述另外的代理应用被配置为作为到所述第二处理系统和所述安全元件的接口进行操作,从而获得所述第一中间输出,并将所述第一中间输出提供给所述第二处理系统和所述安全元件,以及接收根据来自所述第二处理系统的所述相应输出的所述输出信息。


7.根据权利要求2所述的装置,其中包括所述第二部分的所述模型的所述应用包括速度机制,所述速度机制将由所述应用可实行的执行数目限制为给定的限制执行数目,特别地包括被设置为所述给定的限制执行数目的计数器,包括所述第二部分的所述模型的所述应用被配置为在所述计数器达到所述给定的限制执行数目时停止。


8.根据权利要求1所述的装置,其中所述安全元件是以下中的一者:
通用集成电路卡(UICC);
嵌入式UICC(eUICC);
嵌入式安全元件(eSE);或者
可移除存储器卡。


9.根据权利要求1所述的装置,其中所述第一处理系统是移动设备的处理器,并且包括所述安全元件的所述第二处理系统是所述移动设备中的集成卡。


10.一种用于执行神经网络的方法,所述神经网络包括一组层,所述方法包括:
将经训练的神经网络划分为包括第一组层的第一部分和包括第二组层的第二部分;
将所述第一部分存储在由第一处理系统可访问的存储器中,以用于由所述第一处理系统进行的操作;
将包括所述第二部分的模型的应用存储在安全元件中,所述安全元件与所述第一处理系统外部的第二处理系统相关联;
操作所述第一部分从而获得第一中间输出;
将所述第一中间输出作为中间输入提供给所述安全元件中的包...

【专利技术属性】
技术研发人员:A·韦内罗索
申请(专利权)人:意法半导体股份有限公司
类型:发明
国别省市:意大利;IT

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

1