本发明专利技术提供了一种应用于稀疏神经网络的处理器。该处理器包括:存储单元,其用于存储数据和指令;控制单元,其用于获得保存在所述存储单元的指令并发出控制信号;计算单元,其用于从所述存储单元获得神经网络中的一层的节点值和对应的权重值数据以获得下一层的节点值,其中,当待计算元素中任一项等于零时,计算单元不执行该计算元素的乘法运算,其中,所述待计算元素包括节点值和权重值。利用本发明专利技术的处理器,能够提高神经网络的计算速度并节省功耗。
【技术实现步骤摘要】
应用于稀疏神经网络的处理器和处理方法
本专利技术涉及人工智能
,尤其涉及一种应用于稀疏神经网络的处理器和处理方法。
技术介绍
人工智能技术在近些年来得到了迅猛的发展,在全世界范围内得到了广泛的关注,无论是工业界还是学术界都开展了人工智能技术的研究工作,目前,人工智能技术已经渗透至视觉感知、语音识别、辅助驾驶、智能家居、交通调度等各个领域。深度学习技术是人工智能技术发展的助推器,深度学习采用深度神经网络的拓扑结构进行训练、优化及推理等,深度神经网络包括卷积神经网络、深度置信网络、循环神经网络等。以图像识别应用为例,经过反复训练、迭代,深度学习算法通过深度神经网络可以自动地获得隐藏的图像的特征数据,并且产生优于传统的基于模式识别分析方法的效果。然而,实现深度学习技术依赖于极大的计算量。在训练阶段,需要在海量数据中通过反复迭代计算得到神经网络中的权重数据;在推理阶段,同样需要神经网络在极短的响应时间(通常为毫秒级)内完成对输入数据的运算处理,这需要所部署的神经网络运算电路(包括CPU、GPU、FPGA和ASIC等)达到每秒千亿次甚至万亿次的计算能力。随着神经网络运算电路的规模越来越大、数据吞吐量越来越高,运行功耗成为一个严重问题。因此,神经网络处理器如何在保证高性能的同时保证高能效,是目前亟待解决的技术问题。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺陷,提供一种应用于稀疏神经网络的处理器及处理方法。根据本专利技术的第一方面,提供了一种应用于稀疏神经网络的处理器。该处理器包括:存储单元,其用于存储数据和指令;控制单元,其用于获得保存在所述存储单元的指令并发出控制信号;计算单元,其用于从所述存储单元获得神经网络中的一层的节点值和对应的权重值数据以获得下一层的节点值,其中,当待计算元素中任一项等于零时,计算单元不执行该计算元素的乘法运算,其中,所述待计算元素包括节点值和权重值。在本专利技术的一个实施例中,所述计算单元包括:乘法单元,用于完成节点值和权重值的乘法操作;加法单元,用于对乘法单元的计算结果进行累加;零值判断单元,其通过反相器接入到所述乘法单元,当所述计算元素中存在零值时,该零值判断单元输出第一控制信号以指示所述乘法单元不执行该计算元素的乘法操作,当所述计算元素中不存在零值时,该零值判断单元输出第二控制信号以指示所述乘法单元执行该计算元素的乘法操作。在本专利技术的一个实施例中,所述计算单元还包括:数据选择器,其控制端与所述零值判断单元的输出相连接,第一输入端接入零值,第二输入端接入所述乘法单元的输出,当该数据选择器接收到所述第一控制信号时,选择将所述第一输入端的零值接入到所述加法单元,当该数据选择器接收到所述第二控制信号时,选择将所述乘法单元的输出接入至所述加法单元。在本专利技术的一个实施例中,所述数据选择器是二选一的数据选择器。在本专利技术的一个实施例中,所述第一控制信号是“1”,所述第二控制信号是“0”。在本专利技术的一个实施例中,所述反相器为非门。在本专利技术的一个实施例中,所述零值判断单元包括用于判断节点值是否为零的第一判断单元和用于判断权重值是否为零的第二判断单元,所述第一判断单元和所述第二判断单元的输出接入至或门的输入,所述或门的输出作为所述零值判断单元的输出。在本专利技术的一个实施例中,所述第一判断单元是比较器,其两个输入端分别接入节点值和零值,当节点值等于零值时,所述第一判断单元输出1,否则,输出0;所述第二判断单元是比较器,其两个输入端分别接入权重值和零值,当权重值等于零时,所述第二判断单元输出1,否则,输出0。根据本专利技术的第二方面,提供了一种应用于稀疏神经网络的处理方法。该方法包括:获得神经网络中的一层的节点值和对应的权重值数据;对所述一层的节点值和对应的权重值执行卷积操作以获得下一层的节点值,其中,在所述卷积操作中,当节点值或对应的权重值中任一项等于零时,不执行对该节点值和其对应的权重值的乘法操作。在本专利技术的一个实施例中,通过执行以下操作获得下一层的节点值:当待计算元素中一层的节点值和对应的权重值任一项为零时,将零值接传送到加法器;以及当待计算元素中一层的节点值和对应的权重值均不为零时,将该一层的节点值和对应的权重值相乘之后获得的数值传送至加法器。与现有技术相比,本专利技术的优点在于:通过在神经网络处理器的计算单元中引入新的电路结构,使得存在数值为0的计算元素时,跳过针对该元素的乘法操作,以加快计算速率并节省计算功耗,从而提高了神经网络处理器的计算效率。附图说明以下附图仅对本专利技术作示意性的说明和解释,并不用于限定本专利技术的范围,其中:图1示出了现有技术中神经网络的拓扑示意图;图2示出了现有技术中卷积神经网络的处理过程示意图;图3示出了现有技术中通用的卷积层的处理示意图;图4示出了根据本专利技术一个实施例的神经网络处理器的示意框图;图5示出了根据本专利技术一个实施例的神经网络处理器中的计算单元的示意框图。具体实施方式为了使本专利技术的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示的现有技术中神经网络的通用拓扑图,神经网络是对人脑结构和行为活动进行建模形成的数学模型,通常分为输入层、隐藏层和输出层等结构,每一层均由多个神经元节点构成,本层的神经元节点的输出值,会作为输入传递给下一层的神经元节点,逐层连接。神经网路本身具有仿生学特征,其多层抽象迭代的过程与人脑及其他感知器官有着类似的信息处理方式。神经网络多层结构的第一层输入值为原始图像(在本专利技术中的“原始图像”指的是待处理的原始数据,不仅仅是狭义的通过拍摄照片获得的图像),典型地,对于神经网络的每一层,可通过对该层的神经元节点值和其对应的权重值进行计算来得到下一层的节点值。例如,假设表示神经网络中某一层的几个神经元节点,它们与下一层的节点y相连,表示对应连接的权重,则y的取值定义:y=x×w。可见,对于神经网络的各层都存在大量的乘法和加法操作。具体地,深度神经网络具有多层神经网络的拓扑结构,并且每层神经网络具有多个特征图层。以卷积神经网络为例,参见图2所示,其处理数据的过程由卷积层、池化层、归一化层、非线性层和全连接层等多层结构组成。与传统神经网络相比,卷积神经网络在结构上增加了卷积层和池化层,每层内又包含多个特征图。卷积层和池化层之间均采用部分连接的方式,体现出了局部感知的思想。在网络末端,通常采用全连接层,即当前层内神经元与下一层神经元一一相连。卷积层完成卷积操作,具体操作过程是:将一个K*K大小的二维权重卷积核对特征图进行扫描,在扫描过程中权重与特征图内对应的特征元素求内积,并将所有内积值求和,得到一个输出层特征元素。当每个卷积层具有N个特征图层时,会有N个K*K大小的卷积核与该卷积层内特征图进行卷积操作,N个内积值求和得到一个输出层特征元素,如图3所示。池化层又称为下采样层,具体操作过程是:将一个P*P大小的二维窗口对特征图层进行扫描,在扫描过程中计算窗口在图层对应数据中的最大值或平均值,得到输出层特征元素点。池化层一方面可以消除部分噪声信息,有利于特征提取,另外一方面也可以减少下一层特征元素的数量,减小网络规模。归一化层对局部输入本文档来自技高网...
【技术保护点】
一种应用于稀疏神经网络的处理器,包括:存储单元,其用于存储数据和指令;控制单元,其用于获得保存在所述存储单元的指令并发出控制信号;计算单元,其用于从所述存储单元获得神经网络中的一层的节点值和对应的权重值数据以获得下一层的节点值,其中,当待计算元素中任一项等于零时,计算单元不执行该计算元素的乘法运算,其中,所述待计算元素包括节点值和权重值。
【技术特征摘要】
1.一种应用于稀疏神经网络的处理器,包括:存储单元,其用于存储数据和指令;控制单元,其用于获得保存在所述存储单元的指令并发出控制信号;计算单元,其用于从所述存储单元获得神经网络中的一层的节点值和对应的权重值数据以获得下一层的节点值,其中,当待计算元素中任一项等于零时,计算单元不执行该计算元素的乘法运算,其中,所述待计算元素包括节点值和权重值。2.根据权利要求1所述的处理器,其中,所述计算单元包括:乘法单元,用于完成节点值和权重值的乘法操作;加法单元,用于对乘法单元的计算结果进行累加;零值判断单元,其通过反相器接入到所述乘法单元,当所述计算元素中存在零值时,该零值判断单元输出第一控制信号以指示所述乘法单元不执行该计算元素的乘法操作,当所述计算元素中不存在零值时,该零值判断单元输出第二控制信号以指示所述乘法单元执行该计算元素的乘法操作。3.根据权利要求2所述的处理器,其中,所述计算单元还包括:数据选择器,其控制端与所述零值判断单元的输出相连接,第一输入端接入零值,第二输入端接入所述乘法单元的输出,当该数据选择器接收到所述第一控制信号时,选择将所述第一输入端的零值接入到所述加法单元,当该数据选择器接收到所述第二控制信号时,选择将所述乘法单元的输出接入至所述加法单元。4.根据权利要求3所述的处理器,其中,所述数据选择器是二选一的数据选择器。5.根据权利要求3...
【专利技术属性】
技术研发人员:韩银和,许浩博,王颖,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。