应用于神经网络的计算方法及计算装置制造方法及图纸

技术编号:17780464 阅读:26 留言:0更新日期:2018-04-22 09:22
本发明专利技术提供了一种应用于神经网络的计算方法和计算装置。该计算方法包括以下步骤:获取仅包含数值1和‑1权重的二值卷积核;将所述二值卷积核分解为初始卷积核和特征卷积核,其中,所述初始卷积核和所述特征卷积核与所述二值卷积核的维数相同,所述初始卷积核是由数值为1的权重构成的矩阵,所述特征卷积核是相对于所述二值卷积核保留了数值为‑1的权重所形成的矩阵;基于所述初始卷积核和所述特征卷积核执行神经网络中的卷积计算。利用本发明专利技术的计算方法和计算装置能够提高卷积计算的效率并节省存储电路的开销。

【技术实现步骤摘要】
应用于神经网络的计算方法及计算装置
本专利技术涉及深度学习
,尤其涉及一种应用于卷积网络的计算方法及计算装置。
技术介绍
近年来,深度学习技术得到了飞速的发展,在解决高级抽象认知问题,例如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐和智能机器人等领域得到了广泛应用,成为学术界和工业界的研究热点。深度神经网络是人工智能领域具有最高发展水平的感知模型之一,该类网络通过建立模型模拟人类大脑的神经连接结构,通过多个变换阶段分层对数据特征进行描述,为图像、视频和音频等大规模数据处理任务带来突破性进展。深度神经网络模型结构是一种运算模型,由大量节点通过网状互连结构构成,这些节点被称为神经元。每两个节点间连接强度都代表通过该连接信号在两个节点间的加权重,即权重,与人类神经网络中的记忆相对应。然而,实现深度学习技术依赖于极大的计算量。在训练阶段,需要在海量数据中通过反复迭代计算得到神经网络中的权重数据;在推理阶段,同样需要神经网络在极短的响应时间(通常为毫秒级)内完成对输入数据的运算处理。神经网络中涉及的计算主要包括卷积操作、池化操作等,例如,卷积操作是将输入的神经元或称像素与相应卷积核的权值进行乘累加处理,卷积操作占用了神经网络处理的大部分时间,因此,提高卷积操作和池化操作等的计算效率,能够有效降低神经网络的处理时间。随着神经网络运算的规模越来越大、数据吞吐量越来越高,运行功耗成为一个严重问题。目前,大部分的深度学习应用是使用中央处理器和图形处理单元等实现的,这些技术能效不高,在嵌入式设备或低开销数据中心等领域应用时存在严重的能效问题和运算速度瓶颈,难以满足应用的性能要求,很难将其应用于移动电话、嵌入式电子设备等小型化轻量级设备中。因此,需要对现有技术进行改进,以提高神经网络的计算效率并降低运行能耗。
技术实现思路
本专利技术针对卷积神经网络的网络特征和计算特征,提供一种应用于神经网络的计算方法和相应的计算装置,以及包含该计算装置的处理器,以克服上述现有技术的缺陷。根据本专利技术的第一方面,提供了一种应用于神经网络的计算方法。该计算方法包括以下步骤:步骤1:获取仅包含数值1和-1权重的二值卷积核;步骤2:将所述二值卷积核分解为初始卷积核和特征卷积核,其中,所述初始卷积核和所述特征卷积核与所述二值卷积核的维数相同,所述初始卷积核是由数值为1的权重构成的矩阵,所述特征卷积核是相对于所述二值卷积核保留了数值为-1的权重所形成的矩阵;步骤3:基于所述初始卷积核和所述特征卷积核执行神经网络中的卷积计算。在一个实施例中,所述二值卷积核采用以下公式获得:其中,z表示操作数,Binarize(z)表示映射后的值。在一个实施例中,在步骤3中,通过以下公式执行卷积计算:yr=Ws*X+WT*X×2其中,yr表示卷积计算结果,Ws表示初始卷积核,X表示一个卷积域的神经元矩阵,WT表示特征卷积核,符号*表示卷积计算符号。根据本专利技术的第二方面,提供了一种应用于神经网络的计算装置。该计算装置包括:二值卷积核获取模块:用于获取仅包含数值1和-1权重的二值卷积核;二值卷积核分解模块:用于将所述二值卷积核分解为初始卷积核和特征卷积核,其中,所述初始卷积核和特征卷积核与所述二值卷积核的维数相同,所述初始卷积核是由数值为1的权重构成的矩阵,所述特征卷积核是相对于所述二值卷积核保留了数值为-1的权重形成的矩阵;卷积计算模块:基于所述初始卷积核和所述特征卷积核执行神经网络中的卷积计算。在一个实施例中,所述二值卷积核获取模块通过以下公式获得所述二值卷积核:其中,z表示操作数,Binarize(z)表示映射后的值。在一个实施例中,所述卷积计算模块通过以下公式执行卷积计算:yr=Ws*X+WT*X×2其中,yr表示卷积计算结果,Ws表示初始卷积核,X表示对应一个卷积域的神经元矩阵,WT表示特征卷积核,符号*表示卷积计算符号。在一个实施例中,所述卷积计算模块包括数值取反单元、多路选择单元和加法器,其中,输入数据分别通过所述数值取反单元接入至所述多路选择单元以及直接接入至所述多路选择单元,二值权重值接入至所述多路选择单元以控制所述多路选择单元的信号选通,所述多路选择单元的输出接入至所述加法器。根据本专利技术的第三方面,提供了一种神经网络处理器。该处理器包括:至少一个存储单元,用于存储数据和指令;至少一个控制单元,用于获得保存在所述存储单元的指令并发出控制信号;至少一个根据本专利技术的计算装置,用于执行神经网络中的计算。与现有技术相比,本专利技术的优点在于:通过将卷积核进行二值化处理,降低的权重的位宽,从而降低了权重的存储空间;通过将二值化卷积核进行分解,并利用分解获得两个矩阵参与卷积运算,降低整个神经网络参与计算的数据,从而提高了计算效率;基于本专利技术计算装置的处理器,减少了存储电路的开销,也降低了片上数据传输带宽,从而有效降低了处理器的运行功耗和电路面积。附图说明以下附图仅对本专利技术作示意性的说明和解释,并不用于限定本专利技术的范围,其中:图1示出了根据本专利技术一个实施例的神经网络模型的示意图;图2示出了根据本专利技术一个实施例的卷积计算方法的流程图;图3(a)示出了对二值化卷积核进行分解的示意图;图3(b)示出了利用对二值化卷积核分解所获得矩阵进行卷积计算的过程;图4示出了根据本专利技术一个实施例的计算装置的示意图;图5示出了根据本专利技术的一个实施例的卷积计算模块的结构示意图;图6示出了根据本专利技术一个实施例的神经网络处理器的示意图。具体实施方式为了使本专利技术的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。典型地,神经网络结构包括输入层、多个隐藏层和输出层,图1示出了神经网络模型示意图,假设表示神经网络中某一层的几个节点,它们与下一层的节点y相连。表示对应连接的权重,通过函数f来计算y的取值。例如,对于卷积神经网络,其处理数据的过程由卷积层、池化层、归一化层、非线性层和全连接层等多层结构组成,其中,卷积层的操作过程是:将一个K*K大小的二维权重卷积核对输入特征图进行扫描,在扫描过程中权重与特征图内对应的卷积域的神经元求内积,并将所有内积值求和,然后通过非线性激活函数(如ReLU)处理之后,获得卷积层的输出特征图或称输出神经元并把该输出特征图传递到下一层(例如池化层),当每个卷积层具有N个输入特征图时,会有N个K*K大小的卷积核与该卷积层内的特征图进行卷积操作。图2示出了根据本专利技术一个实施例的卷积计算方法的流程图,具体包括以下步骤:步骤S210,获取仅包含数值1和-1权重的二值卷积核。在本文中,二值化卷积核是指用于参加卷积计算的权重已通过二值化处理,转换成了1和-1。对于已经采用1和-1表示权重的二值权重神经网络,可直接获取二值卷积核。在一个实施例中,对于权重为正常位宽(例如,8bit、16bit等)的卷积核,可采用以下公式进行二值化处理:其中,z表示输入操作数,在本文中指权重,Binarize(z)表示映射结果,即式(1)表达的操作可理解为,当输入操作数大于等于零时,所述操作数被二值化为1;当操作数小于零时,操作数被二值化为-1。需要说明的是,除了采用上式(1本文档来自技高网
...
应用于神经网络的计算方法及计算装置

【技术保护点】
一种应用于神经网络的计算方法,包括以下步骤:步骤1:获取仅包含数值1和‑1权重的二值卷积核;步骤2:将所述二值卷积核分解为初始卷积核和特征卷积核,其中,所述初始卷积核和所述特征卷积核与所述二值卷积核的维数相同,所述初始卷积核是由数值为1的权重构成的矩阵,所述特征卷积核是相对于所述二值卷积核保留了数值为‑1的权重所形成的矩阵;步骤3:基于所述初始卷积核和所述特征卷积核执行神经网络中的卷积计算。

【技术特征摘要】
1.一种应用于神经网络的计算方法,包括以下步骤:步骤1:获取仅包含数值1和-1权重的二值卷积核;步骤2:将所述二值卷积核分解为初始卷积核和特征卷积核,其中,所述初始卷积核和所述特征卷积核与所述二值卷积核的维数相同,所述初始卷积核是由数值为1的权重构成的矩阵,所述特征卷积核是相对于所述二值卷积核保留了数值为-1的权重所形成的矩阵;步骤3:基于所述初始卷积核和所述特征卷积核执行神经网络中的卷积计算。2.根据权利要求1所述的计算方法,其中,在步骤1中,所述二值卷积核采用以下公式获得:其中,z表示操作数,Binarize(z)表示映射后的值。3.根据权利要求1所述的计算方法,其中,在步骤3中,通过以下公式执行卷积计算:yr=Ws*X+WT*X×2其中,yr表示卷积计算结果,Ws表示初始卷积核,X表示一个卷积域的神经元矩阵,WT表示特征卷积核,符号*表示卷积计算符号。4.一种应用于神经网络的计算装置,其特征在于,包括:二值卷积核获取模块:用于获取仅包含数值1和-1权重的二值卷积核;二值卷积核分解模块:用于将所述二值卷积核分解为初始卷积核和特征卷积核,其中,所述初始卷积核和特征卷积核与所述二值卷积核的维数相同,所述初始卷积核是由数值为1的权重构成的矩阵,所述特征卷积核是相对于所述二值卷积核保留了数值为-1的权重形成的矩阵;卷积计算模块:基于所述初始卷积核和所述特征卷积核执行神经网络中的卷积计算。...

【专利技术属性】
技术研发人员:韩银和许浩博王颖
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

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

1