[发明专利]一种卷积神经网络的加速方法及装置在审
申请号: | 202010995617.7 | 申请日: | 2020-09-21 |
公开(公告)号: | CN112036551A | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 范志华;吴欣欣;李文明;安学军;叶笑春;范东睿 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 卷积 神经网络 加速 方法 装置 | ||
本发明提出一种一种卷积神经网络的加速方法,其特征在于,包括:步骤1、根据权值大小对权重矩阵进行降序排列,并记录降序排列前的权值索引;步骤2、利用降序排列后的权重矩阵与特征矩阵进行乘累加运算;步骤3、判断所述乘累加运算的结果是否小于零,如是,则结束运算,如否,则继续步骤2的运算,直至得出最后运算结果。本发明能够有效减少卷积神经网络中的无效计算,一方面可以提高神经网络的计算速度,提高加速器、芯片的性能;另一方面,无效计算的减少还能降低芯片的能耗。
技术领域
本发明涉及计算机体系结构技术领域,特别涉及一种卷积神经网络的加速方法及装置。
背景技术
卷积神经网络(Convolutional Neural Networks,CNN)是人工智能(ArtificialIntelligence,AI)算法的代表算法之一,由于在图像识别分类、视频检索、生物分析等领域具有较好的表现性能,已经成为当前学术界、工业界的研究热点之一。
卷积神经网络的基本单元为神经元和可学习的权重组成,如图1所示,其计算的基本过程为:神经元接收一些输入,与权重做点积,求和之后经过激活函数,得到该神经元的输出。神经网络虽然在很多应用中都表现出了良好的效果,但是其训练过程需要消耗大量的计算资源与计算时间,所以针对神经网络的专用加速器大量出现。
现有的神经网络加速器一部分通过对神经网络进行压缩或者剪枝,通过算法的优化达到加速的效果;一部分通过对存储结构、计算结构等结构的设计,对神经网络的训练、推理过程进行加速。
在神经网络中,激活函数的作用是给神经网络加入一些非线性因素,使神经网络可以更好地解决复杂的问题,最常用的激活函数为ReLU函数,因为其具有避免梯度消失、缓解过拟合等优势。如图2所示,ReLU函数的定义为,当输入为负数或0时,激活函数的输出为0,也就是说卷积运算产生的特征值为负数和0结果的计算有可以进一步优化的空间。另外,在卷积运算过程中,如果某个特征值为0,那么其与权重进行乘法运算时还为0,如果提前检测这些无效的运算,也会对加速器的性能和功耗带来提升。
发明内容
针对现有技术的不足,本发明对神经元内的计算进行分析,通过所提出的预测方法,减少了神经网络中的无效的计算,提出了一种面向卷积神经网络的加速方法以及装置。
为了实现上述发明目的,本发明提供了一种卷积神经网络的加速方法,包括:步骤1、根据权值大小对权重矩阵进行降序排列,并记录降序排列前的权值索引;步骤2、利用降序排列后的权重矩阵与特征矩阵进行乘累加运算;步骤3、判断所述乘累加运算的结果是否小于零,如是,则结束运算,并输出结果为0,如否,则继续步骤2的运算,直至得出最后运算结果。
上述的卷积神经网络的加速方法,其中,所述步骤2中的乘累加运算具体包括:按照排序后的权重矩阵的权值与根据所述权值索引匹配对应的特征矩阵的特征值进行乘累加运算。
上述的卷积神经网络的加速方法,其中,所述步骤1还包括:在所述根据权值大小对权重矩阵进行降序排列时,根据所述特征矩阵设置所述权重矩阵的标志位。
上述的卷积神经网络的加速方法,其中,若所述特征矩阵中的特征值为0,则所述特征值对应的所述权重矩阵中的权值的标志位设为无效;若所述特征矩阵中的特征值为非0,则所述特征值对应的所述权重矩阵中的权值的标志位设为有效。
上述的卷积神经网络的加速方法,其中,所述标志位的有效和无效分别用1和0表示。
上述的卷积神经网络的加速方法,其中,在进行所述步骤2中的乘累加运算时,跳过所述标志位设为无效的权值的运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010995617.7/2.html,转载请声明来源钻瓜专利网。