[发明专利]神经网络运算设备和方法有效
申请号: | 201711343478.4 | 申请日: | 2017-12-11 |
公开(公告)号: | CN109902811B | 公开(公告)日: | 2020-03-10 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06N3/06 | 分类号: | G06N3/06 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 运算 设备 方法 | ||
本发明公开了一种神经网络处理模块,其映射单元接收到输入神经元和权值后,对该输入神经元和权值进行处理,以得到处理后的输入神经元和处理后的权值;神经网络处理模块的运算单元对处理后的输入神经元和处理后的权值进行人工神经网络运算。采用本发明实施例可减少装置的额外开销,并减小访问量,提高了神经网络运算效率。
技术领域
本发明涉及神经网络领域,尤其涉及一种神经网络运算设备和方法。
背景技术
人工神经网络(Artificial Neural Networks,ANNs)简称为神经网络(NeuralNetworks,NNs)。它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间的相互连接关系,从而达到处理信息的目的。
神经网络是一个高计算量和高访存的算法,权值越多,计算量和访存量。都会增大。为了减小计算量和权值数量,从而降低访存量,因此提出了稀疏神经网络。稀疏神经网络的定义为:在神经网络中,值为0的权值的数目很多,并且值为非0的权值分布没有规律,则称该神经网络为稀疏神经网络。定义权值为0的元素数量与神经网络所有权值元素数量的比值为神经网络的稀疏度,如图1a所示。
现有技术中,GPU在执行图形图像运算以及科学计算时会涉及稀疏神经网络的计算,但是由于GPU是专门用来执行图形图像运算以及科学计算的设备,没有对稀疏的卷积神经网络运算的专门支持,仍然需要大量的前端译码工作才能执行稀疏的人工神经网络运算,带来了大量的额外开销。另外GPU只有较小的片上缓存,多层人工神经网络的模型数据(权值)需要反复从片外搬运,片外带宽成为了主要性能瓶颈,同时带来了巨大的功耗开销。
发明内容
本发明实施例提供一种神经网络运算设备及方法,通过对神经网络数据进行处理,减小了在进行人工神经网络运算之前译码的工作量,进而减小了额外的开销,并且提高了运算速率。
第一方面,本发明实施例提供了一种神经网络运算模块,包括:
存储单元,用于存储输入数据、神经网络指令和运算结果,所述输入数据包括至少一个输入神经元和至少一个权值;
直接存储访问单元,用于在所述存储单元与指令缓存单元、映射单元和输出缓存单元进行数据的读写;
映射单元,用于通过所述直接存储访问单元获取所述输入数据后,对所述输入数据进行处理,以得到处理后的输入数据,所述处理后的输入数据包括处理后的输入神经元和处理后的权值,并将所述处理后的输入神经元和所述处理后的权值存储到第一输入缓存单元和第二输入缓存单元中;
所述第一输入缓存单元,用于缓存第一缓存数据,所述第一缓存数据为所述处理后的输入神经元或处理后的权值;
所述第二输入缓存单元,用于缓存第二缓存数据,所述第二缓存数据为所述处理后的输入神经元或处理后的权值,且所述第二缓存数据与所述第一缓存数据不一致;
所述指令缓存单元,用于缓存所述直接存储访问单元读取神经网络指令;
指令控制单元,用于从所述指令缓存单元中获取所述神经网络指令,并将所述神经网络指令译码成运算单元执行的微指令;
所述运算单元,用于从所述第一输入缓存单元和所述第二输入缓存单元中获取所述处理后的输入神经元和所述处理后的权值后,根据所述微指令对所述处理后的输入神经元和所述处理后的权值进行人工神经网络运算,以得到所述运算结果;
所述输出缓存单元,用于缓存所述运算结果。
第二方面,本发明实施例提供了一种神经网络运算方法,包括:
对输入数据进行处理,以得到处理后的输入数据;
获取神经运算指令,将所述神经运算指令译码成微指令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711343478.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:神经网络运算设备和方法
- 下一篇:板卡和神经网络运算方法