一种基于指数函数和softmax函数的优化方法、硬件系统及芯片技术方案

技术编号:33787515 阅读:25 留言:0更新日期:2022-06-12 14:43
本申请适用于人工神经网络技术领域,提供一种基于指数函数和softmax函数的优化方法、硬件系统及芯片,包括:读取待计算数据并对各待计算数据进行反量化,得到对应的浮点数据;对各浮点数据进行变型拆分,得到指数位分别为整数部分和小数部分的浮点数据;分别对整数部分和小数部分的浮点数据进行预设函数计算得到整数部分和小数部分对应的计算结果,将计算结果重组得到浮点数据的指数运算结果;对各浮点数据对应的指数运算结果进行量化得到各待计算数据的指数函数运算结果。本申请实施例通过将待计算数据转化成浮点数据进行指数函数计算,对输入数据的数值范围不予限制,同时可以大大提升计算精度。以大大提升计算精度。以大大提升计算精度。

【技术实现步骤摘要】
一种基于指数函数和softmax函数的优化方法、硬件系统及芯片


[0001]本专利技术属于神经网络
,尤其涉及一种基于指数函数和归一化指数函数(softmax函数)的优化方法、硬件系统及芯片。

技术介绍

[0002]在神经网络中,几乎无处不可见softmax函数的身影。Softmax函数通常在分类任务中作为输出层的激活函数。在实现softmax函数时,需要求
[0003]目前,在实现的时候通常通过分段线性拟合来实现。具体地,将输入数据x
j
设定在一个范围内,限制在一定范围内的数据实现softmax,在该设定的范围内,又分成若干个区间,每个区间内将用一元一次函数来近似表示,从而求解出然后累加求解最后利用除法器求解出
[0004]由此可见,现有技术无法在任意数值范围实现softmax计算。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供了一种基于指数函数和softmax函数的优化方法、硬件系统及芯片,能够解决相关技术中的一个或多个技术问题。
[0006]第一方面,本申请一实施例提供了一种基于指数函数的优化方法,包括:读取待计算数据并对各待计算数据进行反量化,得到所述各待计算数据对应的浮点数据;根据预设拆分公式对各浮点数据进行变型拆分,得到指数位分别为整数部分和小数部分的浮点数据;分别对所述整数部分和小数部分的浮点数据进行预设函数计算得到所述整数部分和小数部分对应的计算结果,将所述计算结果重组得到所述浮点数据的指数运算结果;对所述各浮点数据对应的所述指数运算结果进行量化,得到所述各待计算数据的指数函数运算结果。
[0007]第二方面,本申请一实施例提供了一种基于softmax函数的优化方法,包括:读取待计算数据并对各待计算数据进行反量化,得到所述各待计算数据对应的浮点数据;根据预设拆分公式对各浮点数据进行变型拆分,得到指数位分别为整数部分和小数部分的浮点数据;分别对所述整数部分和小数部分的浮点数据进行预设函数计算得到所述整数部分和小数部分对应的计算结果,将所述计算结果重组得到所述浮点数据的指数运算结果;将所述各浮点数据对应的所述指数运算结果进行累加得到累加运算结果,并计算所述指数运算结果与所述累加运算结果的比值;量化所述浮点数据对应的所述比值,得到所述待计算数据的softmax函数运算结果。
[0008]第三方面,本申请一实施例提供了一种指数函数的硬件系统,包括:数据读取模
块,用于读取待计算数据;指数函数计算模块,用于对各待计算数据进行反量化,得到所述各待计算数据对应的浮点数据;以及根据预设拆分公式对各浮点数据进行变型拆分,得到指数位分别为整数部分和小数部分的浮点数据;分别对所述整数部分和小数部分的浮点数据进行预设函数计算得到所述整数部分和小数部分对应的计算结果,将所述计算结果重组得到所述浮点数据的指数运算结果;对所述各浮点数据对应的所述指数运算结果进行量化,得到所述各待计算数据的指数函数运算结果。
[0009]第四方面,本申请一实施例提供一种softmax函数的硬件系统,包括:数据读取模块,用于读取待计算数据;softmax函数计算模块,用于对各待计算数据进行反量化,得到所述各待计算数据对应的浮点数据;根据预设拆分公式对各浮点数据进行变型拆分,得到指数位分别为整数部分和小数部分的浮点数据;以及分别对所述整数部分和小数部分的浮点数据进行预设函数计算得到所述整数部分和小数部分对应的计算结果,将所述计算结果重组得到所述浮点数据的指数运算结果;将所述各浮点数据对应的所述指数运算结果进行累加得到累加运算结果,并计算所述指数运算结果与所述累加运算结果的比值;量化所述浮点数据对应的所述比值,得到所述待计算数据的softmax函数运算结果。
[0010]第五方面,本申请一实施例提供了一种芯片,包括如第三方面任一实施例所述的指数函数的硬件系统,或第四方面任一实施例所述的softmax函数的硬件系统。
[0011]第六方面,本申请一实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一实施例所述的基于指数函数的优化方法,或第二方面任一实施例所述的基于softmax函数的优化方法。
[0012]第七方面,本申请一实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备可实现如第一方面任一实施例所述的基于指数函数的优化方法,或第二方面任一实施例所述的基于softmax函数的优化方法。
[0013]本申请实施例通过将待计算数据转化成浮点数据进行计算,对输入数据的数值范围不予限制,同时可以大大提升计算精度及计算速率。
附图说明
[0014]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1是本申请一实施例提供的一种基于softmax函数的优化方法的实现流程示意图;
[0016]图2是本申请一实施例提供的一种基于softmax函数的优化方法的过程示意图;
[0017]图3是本申请一实施例提供的一种4个通道各自的待计算数据的示意图;
[0018]图4是本申请一实施例提供的一种4个通道的待计算数据在DDR中的排布格式的示意图;
[0019]图5是本申请一实施例提供的一种从DDR中读取4个通道相应的待计算数据的过程示意图;
[0020]图6是本申请一实施例提供的一种fp32类型的数据格式示意图;
[0021]图7是本申请一实施例提供的一种单精度浮点数计算模块的结构示意图;
[0022]图8是本申请一实施例提供的一种查找单元73的结构示意图;
[0023]图9是本申请一实施例提供的一种加法器模块的结构示意图;
[0024]图10是本申请一实施例提供的一种softmax函数的硬件系统的结构示意图;
[0025]图11是本申请一实施例提供的一种softmax函数的硬件系统的结构示意图;
[0026]图12是本申请一实施例提供的一种softmax函数的硬件系统的结构示意图;
[0027]图13是本申请一实施例提供的一种softmax函数计算模块1020的结构示意图。
具体实施方式
[0028]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。
[0029]在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于指数函数的优化方法,其特征在于,包括:读取待计算数据并对各待计算数据进行反量化,得到所述各待计算数据对应的浮点数据;根据预设拆分公式对各浮点数据进行变型拆分,得到指数位分别为整数部分和小数部分的浮点数据;分别对所述整数部分和小数部分的浮点数据进行预设函数计算得到所述整数部分和小数部分对应的计算结果,将所述计算结果重组得到所述浮点数据的指数运算结果;对所述各浮点数据对应的所述指数运算结果进行量化,得到所述各待计算数据的指数函数运算结果。2.一种基于softmax函数的优化方法,其特征在于,包括:读取待计算数据并对各待计算数据进行反量化,得到所述各待计算数据对应的浮点数据;根据预设拆分公式对各浮点数据进行变型拆分,得到指数位分别为整数部分和小数部分的浮点数据;分别对所述整数部分和小数部分的浮点数据进行预设函数计算得到所述整数部分和小数部分对应的计算结果,将所述计算结果重组得到所述浮点数据的指数运算结果;将所述各浮点数据对应的所述指数运算结果进行累加得到累加运算结果,并计算所述指数运算结果与所述累加运算结果的比值;量化所述浮点数据对应的所述比值,得到所述各待计算数据的softmax函数运算结果。3.如权利要求1或2所述的优化方法,其特征在于,在所述读取待计算数据之前,还包括:将需计算的数据按预设排布格式进行排布,得到所述待计算数据。4.如权利要求1或2所述的优化方法,其特征在于,所述读取待计算数据并对各待计算数据进行反量化,得到所述各待计算数据对应的浮点数据,包括:读取待计算数据,并发送相应的待计算数据至各预设通道;通过所述各预设通道将相应的所述待计算数据进行反量化,得到所述各预设通道对应的浮点数据。5.如权利要求1或2所述的优化方法,其特征在于,所述根据预设拆分公式对各浮点数据进行变型拆分,得到指数位分别为整数部分和小数部分的浮点数据,包括:根据预设拆分公式对对所述各待计算数据的浮点数据进行变型,得到变型后的所述浮点数据;将变型后的所述浮点数据的指数位拆分为整数部分和小数部分。6.如权利要求1或2所述的优化方法,其特征在于,所述分别对所述整数部分和小数部分的浮点数据进行预设函数计算得到所述整数部分和小数部分对应的计算结果,将所述计算结果重组得到所述浮点数据的指数运算结果,包括:通过预设查表法查找所述浮点数据的指数位为所述小数部分的单精度浮点数据;根据所述浮点数据的指数位为所述整数部分求解指数函数在单精度浮点数据表示形式下的指数;根据所述小数部分的单精度浮点数据和所述整数部分求解的指数...

【专利技术属性】
技术研发人员:马成勇李冰华袁峰
申请(专利权)人:奥比中光科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1