[发明专利]基于定点运算的神经网络有效
申请号: | 201710061333.9 | 申请日: | 2017-01-25 |
公开(公告)号: | CN108345939B | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 徐宁仪;周虎成;王文强;陈曦 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 定点 运算 神经网络 | ||
1.一种专用处理设备,包括:
存储单元,被配置为以第一定点格式存储神经网络的层的参数,所述第一定点格式的所述参数具有预定义的位宽;
处理单元,耦合至所述存储单元并且被配置为执行动作,所述动作包括:
接收对所述层的输入;
从所述存储单元读取所述层的所述参数;以及
基于所述层的所述输入和所读取的所述参数,通过定点操作来计算所述层的输出,
其中所述层包括卷积层,并且所述动作还包括:
在所述卷积层的输出处接收对所述卷积层的反向输入,所述反向输入为所述神经网络的损失函数对所述卷积层的所述输出的梯度;
基于所述反向输入来计算所述神经网络的损失函数对所述卷积层的所述参数的梯度;
通过线性量化方法将所述神经网络的损失函数对所述卷积层的所述参数的梯度转换为第二定点格式,所述第二定点格式的比例因子基于所述损失函数对所述卷积层的所述参数的所述梯度的范围而可更新;以及
基于所述第二定点格式的所述梯度,更新所述第一定点格式的所述参数。
2.根据权利要求1所述的专用处理设备,其中所述第一定点格式的比例因子基于经更新的所述参数的范围而可更新。
3.根据权利要求2所述的专用处理设备,其中更新所述参数仅包括相应的定点操作。
4.根据权利要求1所述的专用处理设备,其中计算所述层的输出包括:
对所述卷积层的所述输入和所述参数的卷积进行归一化以获得归一化输出,所述归一化仅包括相应的定点操作。
5.根据权利要求4所述的专用处理设备,其中计算所述卷积层的输出还包括:
将所述归一化输出转换为第三定点格式的归一化输出,所述第三定点格式的比例因子基于所述第三定点格式的所述归一化输出的范围可更新。
6.根据权利要求4所述的专用处理设备,其中所述动作还包括:
在所述卷积层的输出处获取对所述卷积层的反向输入,所述反向输入为所述神经网络的损失函数对所述卷积层的输出的梯度;
基于所述反向输入来计算所述损失函数对所述卷积的梯度;以及
将所述损失函数对所述卷积的梯度转换为第四定点格式,所述第四定点格式的比例因子基于所述损失函数对所述卷积的梯度的范围而可更新。
7.根据权利要求1所述的专用处理设备,其中所述专用处理设备是现场可编程门阵列(FPGA)、专用集成电路(ASIC)、具有定制处理单元的处理器或者图形处理单元(GPU)。
8.一种由专用处理设备执行的方法,所述专用处理设备包括存储单元和处理单元,所述方法包括:
接收对神经网络的层的输入;
从所述专用处理设备的所述存储单元读取所述层的参数,所述参数以第一定点格式存储在所述存储单元中并且具有预定义的位宽;以及
由所述处理单元基于所述层的所述输入和所读取的所述参数通过定点操作来计算所述层的输出,其中所述层包括卷积层,并且所述方法还包括:
在所述卷积层的输出处接收对所述卷积层的反向输入,所述反向输入为所述神经网络的损失函数对所述卷积层的所述输出的梯度;
基于所述反向输入来计算所述神经网络的损失函数对所述卷积层的所述参数的梯度;
通过线性量化方法将所述神经网络的损失函数对所述卷积层的所述参数的梯度转换为第二定点格式,所述第二定点格式的比例因子基于所述损失函数对所述卷积层的所述参数的所述梯度的范围而可更新;以及
基于所述第二定点格式的所述梯度,更新所述第一定点格式的所述参数。
9.根据权利要求8所述的方法,其中所述第一定点格式的比例因子基于经更新的所述参数的范围而可更新。
10.根据权利要求9所述的方法,其中更新所述参数仅包括相应的定点操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710061333.9/1.html,转载请声明来源钻瓜专利网。