[发明专利]神经网络运算装置及应用其进行运算的方法有效
申请号: | 201711452014.7 | 申请日: | 2017-10-17 |
公开(公告)号: | CN108170640B | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 周聖元;陈云霁;陈天石;刘少礼;郭崎;杜子东;刘道福 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/15 | 分类号: | G06F17/15;G06N3/04 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本公开提供一种神经网络运算装置和方法,其中装置包括:运算部分,用于完成所述卷积运算,包含多个运算单元组,多个所述运算单元组呈X行Y列的阵列式分布,运算单元组间以S形方向和/或逆S形方向传递数据,其中X和Y分别为正整数;缓存,用于向所述运算单元组传送数据以及接收运算单元组运算后的数据。通过采用S形和逆S形在运算单元中完成数据的传递,从而能够有效加速神经网络运算的同时,降低了权值的反复读取和部分和反复存取所带来的访存功耗。 | ||
搜索关键词: | 神经网络 运算 装置 应用 进行 方法 | ||
运算部分,用于完成所述卷积运算,包含多个运算单元组,多个所述运算单元组呈X行Y列的阵列式分布,运算单元组间以S形方向和/或逆S形方向传递数据,其中X和Y分别为正整数;每个运算单元组包括多个所述运算单元,呈M行N列的阵列式分布,运算单元间以S形方向和/或逆S形方向传递数据,其中M和N分别为正整数。
缓存,用于向所述运算单元组传送数据以及接收运算单元组运算后的数据。
2.根据权利要求1所述的神经网络运算装置,其特征在于,还包括控制部分,用于对所述运算部分和缓存进行控制,使两者能够相互协作,完成所需功能。3.根据权利要求1所述的神经网络运算装置,其特征在于,每个所述运算单元组包括:两个或以上乘法器;
两个或以上加法器;
所述运算单元内设置有至少一内部存储部分,该内部存储部分与所述乘法器和/或加法器连接。
4.根据权利要求3所述的神经网络运算装置,其特征在于,每个运算单元组还包含两个选择器,用于跳过该运算单元中的乘法器和加法器:当该运算单元需要进行运算的时候,选择器选择加法器的结果作为运算单元的输出;
或者当该运算单元无需进行运算的时候,选择器直接将输入数据输出。
5.根据权利要求1所述的神经网络运算装置,其特征在于,每个运算单元组还用于单独传递数据给缓存部分,还用于在控制部分的控制下,选择不同的输出通路,以实现串行工作或并行工作。6.应用权利要求1‑5任一所述神经网络运算装置进行卷积运算的方法,其特征在于包括:设定卷积核,卷积核大小为大于一个运算单元组中的运算单元个数;
将多个运算单元组组合成为一个运算单元族,使得运算单元族内的运算单元组按照串行的运算方式进行数据传递和运算,运算单元族间按照并行的运算方式进行数据的传递和运算。
7.根据权利要求6所述的方法,其特征在于,包括:将输出特征图对应的权值数据送入各运算单元的内部存储部分;
将待运算的神经元分别送入运算单元中进行乘法和加法运算;
进行加法后的运算结果按所述S形或逆S形方向传递给下一运算单元进行运算。
8.根据权利要求7所述的方法,其特征在于,当一运算单元组中运算单元的个数等于卷积核大小时,将运算结果进一步进行激活操作。9.根据权利要求8所述的方法,其特征在于,当一运算单元组中运算单元的个数小于卷积核大小时,将运算结果作为临时的数据,送入下一运算单元组继续运算。10.根据权利要求6所述的方法,其特征在于,运算单元族间按照并行的运算方式进行数据的传递和运算包括:一个运算单元族内的每个运算单元组能够依照S形或逆S形的运算顺序完成数据的乘法运算和加法运算;
运算单元族中的数据依次传递给该族内和其相邻的另一个运算单元组进行运算,直到运算完毕;
利用该运算单元族内的最后一个运算单元组的输出路径将结果输出至缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711452014.7/,转载请声明来源钻瓜专利网。