[发明专利]激活函数的实现方法及装置、存储介质、电子设备有效
申请号: | 201810229334.4 | 申请日: | 2018-03-20 |
公开(公告)号: | CN108647045B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 江宏武;于振华;张致江;王智国;胡国平 | 申请(专利权)人: | 科大讯飞股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06N20/00 |
代理公司: | 北京维澳专利代理有限公司 11252 | 代理人: | 王立民 |
地址: | 230000 安徽省*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 激活 函数 实现 方法 装置 存储 介质 电子设备 | ||
本公开提供一种激活函数的实现方法及装置、存储介质、电子设备。该方法包括:基于采样点的预设位宽,将激活函数的定义域划分为N个子区间,并确定出每个子区间对应的采样点数目;获得每个采样点对应的采样值,生成所述激活函数的查找表;将所述激活函数所有的采样值进行分组处理,得到M个采样组,确定出每个采样组的基准采样值、以及该采样组内的剩余采样值与所述基准采样值之间的差值,所述差值消耗的存储位宽小于该差值对应的剩余采样值消耗的存储位宽;依据所述查找表的预设存储精度,对各采样组的基准采样值和差值进行压缩存储,用以节省所述查找表占用的存储空间。如此方案,可以在确保输出精度的同时,降低资源消耗,节省硅片面积。
技术领域
本公开涉及深度学习技术领域,具体地,涉及一种激活函数的实现方法及装置、存储介质、电子设备。
背景技术
目前,云计算、大数据和人工智能技术“铁三角”正广泛应用于人们的日常生活中,为了提高用户的使用体验,企业也在不断地提升相关业务的并发响应能力。基于专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field Programmable Gate Array,简称:FPGA)的异构系统,因具有较高的能效比和吞吐率成为业界研究焦点之一,这包括宏观的产业化和技术生态研究,也包括微观的业务加速逻辑的研究。
在微观的业务加速逻辑方面,激活函数的非线性运算电路的实现是绕不开的话题,以Sigmoid函数、Tanh函数为例,用数字电路实现激活函数的方法可以有:泰勒级数展开法、查表法、坐标旋转数字计算机法、分段线性逼近。在物理实现时,上述实现方法均存在以下问题:为了使输出达到可用精度,会消耗较多的资源,占用大量的硅片面积,因此在深度学习领域缺乏实用性。
以查表法为例,可以预先将函数值,即采样点对应的采样值保存于RAM或ROM中,这势必会消耗大量的存储器资源。例如,针对Sigmoid函数建立查找表时,若采样区间设为[0,12]、采样间隔设为1×10-3、采样精度设为16bit,对应的查找表需要消耗192Kbit存储空间。
此外,从输出精度的角度看,查表法的表容量、取样间隔和取样精度之间需要做好权衡,取样间隔越小,取样精度越高,表容量越大,较大容量的表容易获得较高的输出精度,但却需要消耗大量的存储资源;反之,若表容量过低则会降低输出精度。
发明内容
本公开的主要目的是提供一种激活函数的实现方法及装置、存储介质、电子设备,有助于在确保输出精度的同时,降低资源消耗,节省硅片面积。
为了实现上述目的,本公开提供一种激活函数的实现方法,所述方法包括:
基于采样点的预设位宽,将激活函数的定义域划分为N个子区间,并确定出每个子区间对应的采样点数目;
获得每个采样点对应的采样值,生成所述激活函数的查找表;
将所述激活函数所有的采样值进行分组处理,得到M个采样组,确定出每个采样组的基准采样值、以及该采样组内的剩余采样值与所述基准采样值之间的差值,所述差值消耗的存储位宽小于该差值对应的剩余采样值消耗的存储位宽;
依据所述查找表的预设存储精度,对各采样组的基准采样值和差值进行压缩存储,用以节省所述查找表占用的存储空间。
可选地,如果所述激活函数以Y轴为对称轴,针对X≥0的区间划分出的子区间数目N=(W0-W1-W2)+1;
第i个子区间对应的取值范围为[Ximin,Ximax):
第i个子区间对应的采样点数目为Ki:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科大讯飞股份有限公司,未经科大讯飞股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810229334.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:浮点缩放处理器、方法、系统和指令
- 下一篇:用于控制执行流程的设备和方法