[发明专利]一种用于非精确计算神经网络的电路设计方法有效
申请号: | 201611242077.5 | 申请日: | 2016-12-29 |
公开(公告)号: | CN108256642B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 陈天石;任逸轩;郭崎;杜子东;支天;陈云霁 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F7/523 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 201203 上海市浦东新区上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 精确 计算 神经网络 电路设计 方法 | ||
1.一种用于非精确计算神经网络的电路设计方法,其特征在于,包括以下步骤:
确定位宽,用以确定非精确乘法器的位宽选择范围;
生成电路结构,采用一种以电路中结点重要性排名为驱动的启发式随机算法来生成电路结构,对每一种备选位宽,生成多种具体电路,所述多种具体电路就是所有可选的非精确乘法器结构;所述备选位宽是所述位宽选择范围中的位宽;
独立替换,将神经网络中的每个精确乘法器独立地替换为某种结构的非精确乘法器,得到的所有可能方案组成一个解空间;
遍历比较,在所述解空间内随机选择一部分方案,遍历每种方案下非精确神经网络的训练和测试效果,得到最优解;其中,所述非精确神经网络是所述神经网络中的每个精确乘法器独立地替换为某种结构的非精确乘法器后得到的;
所述启发式随机算法的具体步骤为:
给出当前位宽下精确乘法器的卡诺图和逻辑门电路;
计算所述逻辑门电路的硬件开销;
进入遍历循环:将卡诺图中的任意若干位翻转,得到新卡诺图,计算新逻辑门电路的结果误差和硬件开销,如果结果误差在容忍度内,硬件开销是当前最小,则将当前卡诺图和逻辑门电路及其结果误差和硬件开销作为当前的最优解;其中,所述新逻辑门电路是根据所述新卡诺图得到的;
遍历完成后,误差在容忍度内硬件开销最小的新电路结构,即为当前位宽和误差容忍度下的非精确乘法器。
2.根据权利要求1所述的电路设计方法,其特征在于,确定位宽的具体步骤为:
确定上界;确定下界;确定步长。
3.根据权利要求2所述的电路设计方法,其特征在于,
在确定上界的步骤中,把精确乘法器的位宽作为上界;
在确定下界的步骤中,把精确乘法器的位宽的一半作为下界。
4.根据权利要求3所述的电路设计方法,其特征在于,
在确定步长的步骤中,把步长设为2。
5.根据权利要求1所述的电路设计方法,其特征在于,生成电路结构的具体步骤还包括:
对每一种位宽,生成多个不同误差容忍度下的非精确乘法器。
6.根据权利要求1所述的电路设计方法,其特征在于,独立替换的具体步骤为:
将神经网络中每个精确乘法器独立替换成任意一种非精确乘法器,得到解空间;
从解空间中筛选一部分方案。
7.根据权利要求6所述的电路设计方法,其特征在于,在所述从解空间中筛选一部分方案的步骤中,
随机选取;或者,
先根据位宽平均分配、根据误差容忍度以正态分布的比例,再随机选取。
8.根据权利要求1所述的电路设计方法,其特征在于,遍历比较的具体步骤为:
在筛选的一部分方案中选择一种替换方案;
在该替换方案对应的非精确神经网络上进行训练和测试,如果测试结果是当前最好,则保留该替换方案为当前最优解,否则选择另一种替换方案进行训练和测试,直到遍历筛选的全部方案;
遍历完成后的最优解即作为最终结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611242077.5/1.html,转载请声明来源钻瓜专利网。