[发明专利]神经网络的加速方法及装置有效
申请号: | 201811211042.4 | 申请日: | 2018-10-17 |
公开(公告)号: | CN109543815B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 刘勇攀;袁哲;王靖宇;岳金山;杨一雄;李学清;杨华中 | 申请(专利权)人: | 清华大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 加速 方法 装置 | ||
1.一种神经网络的加速方法,其特征在于,包括:
对于神经网络中的任一层,根据层的量化模式,对输入至所述层的特征图进行分块,获得若干个块数据,对所述块数据中不同通道但同一位置的像素设置同一索引值;
计算所述块数据的稀疏度,抛弃全为0的块数据,对剩余的块数据,根据所述剩余的块数据的稀疏度以及预设阈值确定相应的稀疏类型,根据所述稀疏类型对所述剩余的块数据进行稀疏编码;
将稀疏编码后的块数据输入至多模式乘法器进行乘加运算,获得中间结果,将所述中间结果进行移位和/或求和运算,获得输入至下层的特征图;
其中,所述多模式乘法器根据所述层的量化模式配置为与块数据的通道相等的多个子乘法器。
2.根据权利要求1所述的加速方法,其特征在于,所述稀疏类型包括稀疏、较稠密以及稠密;
相应地,根据所述稀疏类型对所述剩余的块数据进行稀疏编码,具体包括:
对于所述剩余的块数据中的任一块数据,若所述块数据的稀疏类型为稀疏,则将所述块数据编码为稀疏矩阵存储格式,所述稀疏矩阵存储格式包括所述块数据中的非零值以及响应所述非零值的索引值;
若所述块数据的稀疏类型为较稠密,则对所述块数据中的各像素设置标志位,所述标志位用于指示对应像素是否为0;
若所述块数据的稀疏类型为稠密,则对所述块数据不进行稀疏编码。
3.根据权利要求2所述的加速方法,其特征在于,还包括:设置用于存储数值的第一存储器以及用于存储标志位的第二存储器;
相应地,所述若所述块数据的稀疏类型为稀疏,则将所述块数据编码为稀疏矩阵存储格式,具体为:将所述块数据中的非零值以及响应所述非零值的索引值存储在第一存储器中,同时关闭所述第二存储器的电源;
所述若所述块数据的稀疏类型为较稠密,则对所述块数据中的各像素设置标志位,具体为:将所述块数据中的原始数据存储在第一存储器中,将所述标志位存储在所述第二存储器中;
所述若所述块数据的稀疏类型为稠密,则对所述块数据不进行稀疏编码,具体为:将所述块数据中的原始数据存储在第一存储器中,同时关闭所述第二存储器的电源。
4.根据权利要求1所述的加速方法,其特征在于,所述计算所述块数据的稀疏度,具体为:
统计所述块数据中非0像素的个数与像素的总个数;
将所述块数据中非0像素的个数与像素的总个数的比值作为所述块数据的稀疏度。
5.根据权利要求2所述的加速方法,其特征在于,所述根据所述剩余的块数据的稀疏度以及预设阈值确定相应的稀疏类型,具体为:
设置第一预设阈值和第二预设阈值,所述第一预设阈值小于第二预设阈值;
若所述块数据的稀疏度小于所述第一预设阈值,则确定所述块数据的稀疏类型为稀疏;
若所述块数据的稀疏度大于或等于所述第一预设阈值,且小于所述第二预设阈值,则确定所述块数据的稀疏类型为较稠密;
若所述块数据的稀疏度大于或等于所述第二预设阈值,则确定所述块数据的稀疏类型为稠密。
6.一种神经网络的加速装置,其特征在于,包括:
块数据获取模块,用于对于神经网络中的任一层,根据层的量化模式,对输入至所述层的特征图进行分块,获得若干个块数据,对所述块数据中不同通道但同一位置的像素设置同一索引值;
稀疏编码模块,用于计算所述块数据的稀疏度,抛弃全为0的块数据,对剩余的块数据,根据所述剩余的块数据的稀疏度以及预设阈值确定相应的稀疏类型,根据所述稀疏类型对所述剩余的块数据进行稀疏编码;
运算模块,用于将稀疏编码后的块数据输入至多模式乘法器进行乘加运算,获得中间结果,将所述中间结果进行移位和/或求和运算,获得输入至下层的特征图;
其中,所述多模式乘法器根据所述层的量化模式配置为与块数据的通道相等的多个子乘法器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811211042.4/1.html,转载请声明来源钻瓜专利网。