[发明专利]用于执行人工神经网络正向运算的装置和方法有效
申请号: | 201910154720.6 | 申请日: | 2016-04-28 |
公开(公告)号: | CN109858623B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 陈天石;刘少礼;郭崎;陈云霁 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F7/485;G06F7/487;G06F7/499 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 执行 人工 神经网络 正向 运算 装置 方法 | ||
一种运算装置和方法,该装置包括:浮点数据统计模块,用于对所需各类型数据进行统计分析,得到指数位偏移量offset及指数位的长度EL;浮点数据转换模块,用于根据指数位偏移量offset及指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换;浮点数据运算模块,用于对短位数浮点数据进行人工神经网络正向运算。本发明的运算装置通过对多层人工神经网络正向运算中的数据使用短位数浮点表示,并使用相对应的浮点运算模块,实现人工神经网络短位数浮点的正向运算,从而极大提高硬件的性能功耗比。
技术领域
本发明涉及人工神经网络技术领域,更具体地涉及一种用于执行人工神经网络正向运算的装置和方法。
背景技术
多层人工神经网络被广泛应用于模式识别、图像处理、函数逼近和优化计算等领域,多层人工网络在近年来由于其较高的识别准确度和较好的可并行性,受到学术界和工业界越来越广泛的关注。
传统的人工神经网络正向运算对数据的存储通常采用的是32位浮点数据类型,但在大部分人工神经网络的正向运算中,同一类型的数据都会集中在某一数据范围之内,而32位浮点所能表示的数据范围远远大于正向运算同一类型数据的数据范围,采用 32位浮点数据类型存在着大量的冗余,增加了硬件的面积开销。
发明内容
有鉴于此,本发明的一个目的在于提供一种用于执行人工神经网络正向运算的装置,本发明的另一个目的在于提供一种执行人工神经网络正向运算的方法,以解决上述技术问题中的至少之一。
为了实现上述目的,作为本发明的一个方面,本发明提供了一种用于执行人工神经网络正向运算的装置,包括
浮点数据统计模块,用于对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位偏移量offset及指数位的长度EL;
所述浮点数据转换单元,用于根据所述指数位偏移量offset及指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换;
浮点数据运算模块,用于在所述浮点数据转换单元将所有所述人工神经网络正向运算中所需的输入、权值和/或偏置数据均采用短位数浮点数据类型表示之后,对所述短位数浮点数据进行人工神经网络正向运算。
其中,所述浮点数据统计模块包括:
数据提取单元,用于提取基于长位数浮点数据的正向运算中各不同类型的数据;
统计单元,用于统计同一类型数据的数据范围及各数据段的数据分布情况;
分析单元,用于根据所述统计单元统计的结果,得出用短位数浮点数据表示各个类型数据时设定的指数位长度EL及指数位偏移offset。
其中,所述用于执行人工神经网络正向运算的装置还包括:
舍入单元,用于在运算结束后,对超出短位数浮点精度范围的数据进行舍入操作。
其中,所述舍入单元为随机舍入单元、四舍五入单元、向上舍入单元、向下舍入单元和截断舍入单元中的任一种;
其中,所述随机舍入单元执行如下操作:
其中,y表示随机舍入后的短位数浮点数据,x表示随机舍入前的长位数浮点数据,ε为当前短位数浮点数据类型所能表示的最小正整数,即2offset-(X-1-EL),表示对所述x直接截得短位数浮点数据所得的数,w.p.表示概率,即随机舍入获得的数据y为的概率为为的概率为
所述四舍五入单元执行如下操作:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910154720.6/2.html,转载请声明来源钻瓜专利网。