[发明专利]神经网络计算装置、神经网络计算方法及相关产品有效
申请号: | 201910081971.6 | 申请日: | 2019-01-28 |
公开(公告)号: | CN111488976B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 请求不公布姓名 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F7/483 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 计算 装置 计算方法 相关 产品 | ||
本申请提供了一种神经网络计算装置、神经网络计算方法及相关产品,应用于神经网络芯片,该神经网络芯片设置于板卡上,该板卡包括:存储器件,用于存储数据;接口装置,用于实现神经网络芯片与外部设备之间的数据传输;控制器件,用于对神经网络芯片的状态进行监控,上述装置包括:运算单元、控制器单元和存储单元,所述装置用于执行人工神经网络训练计算;所述神经网络训练运算包括神经网络多层训练运算,本申请提供的技术方案具有成本低、能耗低的优点。
技术领域
本申请总体上涉及人工神经网络,具体地涉及一种神经网络计算装置、神经网络计算方法及相关产品。
背景技术
神经网络又称人工神经网络,人工神经网络被广泛应用于模式识别,图像处理,函数逼近和优化计算等领域,多层人工网络在近年来由于其较高的识别准确度和较好的可并行性,受到学术界和工业界越来越广泛的关注。人工神经网络涉及到多种算法,其中全连接层作为人工神经网络中的一种重要算法,被广泛的应用在各种人工神经网络模型中。
现有的神经网络运算基于通用处理器进行神经网络运算,现有的通用处理器,仅仅支持浮点数据的运算,对于神经网络运算,尤其涉及到比较复杂的运算,因此其运算量大,并且内存要求高,现有的神经网络运算基于浮点数据来运算对内存要求较高,因此现有的方案能耗高、成本高。
发明内容
本申请的一个方面提供了一种神经网络计算装置、神经网络计算方法及相关产品,该装置及方法采用定点数据进行运算,相对于浮点数据,定点数据能够节省内存,减少运算量,因此其具有降低能耗,降低成本的优点。
一方面,提供一种神经网络计算装置,所述装置用于执行浮点数的数据类型的人工神经网络训练运算;所述人工神经网络训练运算中包括第i层的神经网络训练运算,i为正整数;所述计算装置包括:控制器单元、运算单元和转换单元,其中,控制器单元与运算单元以及转换单元连接;所述第i层训练运算中包括第i层正向运算和第i层反向运算;
所述控制器单元,用于获取第i层的输入神经元数据、第i层权值数据、第i层计算指令;
所述控制器单元,还用于解析该第i层计算指令得到多个运算指令,将所述第i层输入神经元数据、所述第i层权值数据发送给所述转换单元,将所述多个运算指令发送给所述运算单元;
所述转换单元,用于将该第i层输入神经元数据以及第i层权值数据中的全部或部分通过预设转换参数执行浮点型数据转化为定点型数据,得到全部定点数据或混合数据,将全部定点数据或混合数据发送给运算单元,所述混合数据包括:部分定点数据以及部分浮点数据;
所述运算单元,用于依据多个运算指令对全部定点数据执行定点运算或对混合数据执行混合运算得到第i层的输出结果;所述混合运算包括:对部分定点数据执行定点运算以及对部分浮点数据执行浮点运算。
可选的,所述预设转换参数包括定点数的小数点位置或者缩放因子,在所述通过预设转换参数执行浮点型数据转化为定点型数据方面,所述转化单元具体用于:
基于所述预设转换参数,采用如下公式将浮点型数据转化为定点型数据:
当转换参数仅包括小数点位置,则计算公式为:
浮点型数据=定点型数据×2^position;
当所述转换参数仅包括缩放因子,则计算公式为:
浮点型数据=定点型数据×scale;
当所述转换参数包括小数点位置和缩放因子,则计算公式为:
浮点型数据=(定点型数据×2^position)/scale;
其中,position表示定点型数据的小数点位置,scale表示缩放因子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910081971.6/2.html,转载请声明来源钻瓜专利网。