[发明专利]一种用于针对神经网络执行非线性运算的方法和装置在审
申请号: | 201711103463.0 | 申请日: | 2017-11-10 |
公开(公告)号: | CN107861916A | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 韩银和;许浩博;王颖 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/15 | 分类号: | G06F17/15 |
代理公司: | 北京泛华伟业知识产权代理有限公司11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 针对 神经网络 执行 非线性 运算 方法 装置 | ||
技术领域
本发明涉及神经网络的数据处理。
背景技术
随着人工智能的发展,越来越多的研究开始关注对采用神经网络模型进行计算的神经网络处理器的改进。神经网络模型模仿动物的神经系统,逐层地对输入的信息进行处理以趋近于期望获得的结果。在神经网络模型中,每一层的每一个数据均需要经过非线性的激活函数进行处理,例如sigmoid函数,这使得在神经网络模型的完整计算过程中包含有极大量的非线性运算。
这里的非线性函数属于一种函数形式,其绘制在坐标平面上表现为曲线或折线的形式。在非线性函数的计算中通常包含乘法运算、除法运算、指数运算、三角函数运算或者它们的组合。对于这样一系列复杂的运算通常需要采用算术逻辑单元等具有非常高的复杂度的电路部件来完成相应的处理过程。
对于神经网络而言,在执行sigmoid函数时,非线性运算以非常高的频率出现,若是神经网络处理器仍采用传统的逻辑电路来逐一地执行上述每一个非线性运算,则会直接制约神经网络处理器的计算效率,并且会需要消耗大量的能耗来执行上述运算。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种用于在神经网络中执行非线性函数运算的方法,包括:
1)根据所述非线性函数的输入值的范围,划分多个分段区间;
2)针对所述多个分段区间中的每一个,将其两个端点值分别作为所述非线性函数的自变量,计算获得与所述分段区间对应的两个因变量;
3)将所述计算获得的与所述分段区间对应的所述两个因变量和所述两个自变量作为与所述分段区间对应的线性函数上的两点,计算与每个分段区间对应的线性函数的斜率和截距;
4)针对所述多个分段区间中的每一个,存储与其对应的斜率和截距,以用于执行所述非线性函数运算。
优选地,根据所述方法,其中步骤3)还包括:
若所述非线性函数为凹函数,则计算其与所述线性函数之间的最大误差,并采用当前截距减去所述最大误差的一半的结果以作为新的截距。
优选地,根据所述方法,其中步骤1)包括:
针对神经网络的各层网络,统计在该层网络中激活函数的输入值的范围,以作为针对该层网络的所述需要处理的输入值的范围。
优选地,根据所述方法,其中与所述非线性运算对应的非线性函数包括:f(x)=tanh(x)、f(x)=max(0,x)。
优选地,根据所述方法,其中还包括:
5)在执行所述非线性函数运算时,根据所述非线性函数的输入值所处的分段区间,将执行由与所述分段区间对应的斜率和截距所确定的线性函数的运算所获得的结果作为所述非线性运算的结果。
一种基于上述的方法,执行神经网络中非线性函数运算的方法,包括:
A1)将所述非线性函数的输入值与存储的各个分段区间的端点值进行比较,确定所述非线性函数的输入值所处的分段区间;
A2)获得存储的与所述非线性运算的输入值所处的分段区间对应的线性函数的斜率a和截距b,将所述非线性运算的输入值作为线性函数y=ax+b的自变量,计算相应的因变量以作为所述非线性函数运算的输出值。
一种用于神经网络处理器执行非线性函数运算的计算装置,包括:
查找表单元,用于存储通过上述方法获得的所述多个分段区间中的每一个的所述两个端点值、以及与每个分段区间对应的线性函数的斜率和截距;
匹配单元,用于根据所述非线性函数的输入值、以及所述查找表单元所存储的分段区间的端点值,将所述非线性函数的输入值匹配到相应的分段区间;
计算单元,用于根据由所述匹配单元匹配确定的所述分段区间、以及所述查找表单元所存储的与所述分段区间对应的线性函数的斜率和截距,将所述非线性函数的输入值作为所述线性函数的因变量,执行所述线性函数的运算。
一种在神经网络的计算过程中执行激活函数运算的方法,包括:
B1)针对神经网络执行计算的当前的网络层,确定其所使用的激活函数,并且统计所述激活函数的输入值的范围;
B2)根据所获得的所述激活函数的输入值的范围、以及设置的分辨率,将所述激活函数的输入值的范围划分多个分段区间;
B3)针对所述多个分段区间中的每一个,将其两个端点值和分别作为与所述激活函数的自变量,计算获得对应的两个因变量,并且将所述两个自变量和所述两个因变量作为与所述分段区间对应的线性函数上的两点,计算所述线性函数的斜率和截距,针对所述分段区间存储计算获得的所述斜率和所述截距;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711103463.0/2.html,转载请声明来源钻瓜专利网。