[发明专利]一种用于执行人工神经网络正向运算的装置和方法有效
申请号: | 201710927267.9 | 申请日: | 2017-07-20 |
公开(公告)号: | CN107832082B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 陈天石;刘少礼;王在;胡帅 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06N3/063;G06F7/523;G06F7/50 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 200120 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 执行 人工 神经网络 正向 运算 装置 方法 | ||
本披露提供了一种用于执行人工神经网络正向运算的装置,包括浮点数据统计模块、数据转换单元和定点数据运算模块。本披露提供的技术方案具有计算速度快,效率高的优点。
技术领域
本披露涉及一种用于执行人工神经网络正向运算的装置和方法。
背景技术
数据处理是大部分算法需要经过的步骤或阶段,在计算机引入数据处理领域后,越来越多的数据处理通过计算机来实现,现有的算法中有计算设备在进行神经网络的数据计算时速度慢,效率低。
披露内容
本披露实施例提供了一种神经网络运算装置和方法,可提升计算装置的处理速度,提高效率。
第一方面,提供一种用于执行人工神经网络正向运算的装置,包括浮点数据统计模块、数据转换单元和定点数据运算模块,
所述浮点数据统计模块用于对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到小数点位置Point location;
所述数据转换单元用于根据所述浮点数据统计模块得到的所述小数点位置Pointlocation来实现长位数浮点数据类型向短位数定点数据类型的转换;
所述定点数据运算模块用于在所述数据转换单元将所有所述人工神经网络正向运算中所需的输入、权值和/或偏置数据均采用短位数定点数据类型表示之后,对所述短位数定点数据进行人工神经网络正向运算;
所述人工神经网络正向运算的指令为卷积神经网络运算指令,包括:至少1个操作码和至少1个操作域,其中,
所述操作码用于指示所述卷积神经网络运算指令的功能,所述操作域用于指示所述卷积神经网络运算指令的数据信息;
所述数据信息包括:立即数或寄存器号,具体包括:输入数据的起始地址和数据长度,卷积核的起始地址和数据长度,以及激活函数的类型。
第二方面,提供一种执行人工神经网络正向运算的方法,包括以下步骤:
获取所述人工神经网络各个层的长位数浮点数据,包括每一层的权值、偏置和/或输入输出值;
对获取的所述长位数浮点数据,统计落在一列逐渐缩小的区间:[-2X-1-i,2X-1-i-2-i]i=0,1,...,N中的比例,其中X是短位数定点数据类型的总位数;得到的相应的比例记为:p0,p1,…,pN,其中N是预先设定的一个正整数;
对于所述长位数浮点数据,预先设定一个溢出率EPL,取小数点位置Pointlocation为:max{i|pi≥1-EPL,i∈{0,1,...,N}};即在0,1,...,N中取最大的i,使得pi≥1-EPL;
根据所述小数点位置Point location,将所有所述长位数浮点数据采用短位数定点数据类型表示;
对所述短位数定点数据执行人工神经网络正向运算;
所述人工神经网络正向运算的指令为卷积神经网络运算指令,包括:至少1个操作码和至少1个操作域,其中,
所述操作码用于指示所述卷积神经网络运算指令的功能,所述操作域用于指示所述卷积神经网络运算指令的数据信息;
所述数据信息包括:立即数或寄存器号,具体包括:输入数据的起始地址和数据长度,卷积核的起始地址和数据长度,以及激活函数的类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710927267.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:更新存储器中的寄存器的设备及方法
- 下一篇:一种用于生物组织匀浆的低温匀浆杯