一种log-softmax函数硬件加速计算方法技术

技术编号:26689942 阅读:28 留言:0更新日期:2020-12-12 02:39
一种log‑softmax函数硬件加速计算方法,包括以下步骤:将系统中存储的对数表查询区间设置为连续区间(a,b),a与b为区间端点;对log‑softmax函数中对数项进行拆分:使其拆分为‑p*lnk+lnc,p为乘法次数,最终使c落在区间(a,b)内;通过查表获取lnk和lnc的值,计算出log‑softmax函数。本发明专利技术在嵌入式应用有限的硬件资源下,将log‑softmax函数的指数计算分成多个查找表来计算,对数运算也通过公式等效查表计算获得,大大提高了log‑softmax运算的速度,减小了计算复杂度,所需硬件资源也大幅减小。采用这种方法的深度学习模型,在不影响识别效果的情况下,提高了响应速度和训练速度,节省大量硬件资源。

【技术实现步骤摘要】
一种log-softmax函数硬件加速计算方法
本专利技术属于人工智能
,涉及一种嵌入式算法,具体涉及一种log-softmax函数硬件加速计算方法。
技术介绍
近年来,深度学习发展迅猛,log-Softmax函数在各种深度学习模型中经常作为训练或者预测的常用函数。log-Softmax计算主要包含指数和对数运算。这两种运算在硬件上实现会消耗大量计算资源,并且计算较慢。目前关于指数运算和对数运算的方法有:查表法;CORDIC法。查表法是指实现将数值对应的计算结果存储下来,再通过rom寻址直接得到对应的计算结果。在等同规格定点数下查表法的精度较高,但是在大范围上进行计算时需要存储大量的结果,查找表的长度非常长,需要消耗大量资源,在资源有限的硬件平台上实现成本较高。CORDIC方法利用迭代特性,能够进行资源复用,占用资源比较少,迭代次数越多,精度越高,但是需要进行流水线改造,成本较高,并且由于其旋转角度限制,CORDIC方法的计算范围有限,不能计算大范围输入值的计算。
技术实现思路
为克服现有技术存在的缺陷,针对指本文档来自技高网...

【技术保护点】
1.一种log-softmax函数硬件加速计算方法,其特征在于,包括以下步骤:/nS1.将系统中存储的对数表存储区间设置为连续区间[a,b],a与b为区间端点;所述对数表还存储有lnk,k为处理系数, k为大于1的正整数;/nS2.对log-softmax函数中对数项按照式1进行拆分:/n

【技术特征摘要】
1.一种log-softmax函数硬件加速计算方法,其特征在于,包括以下步骤:
S1.将系统中存储的对数表存储区间设置为连续区间[a,b],a与b为区间端点;所述对数表还存储有lnk,k为处理系数,k为大于1的正整数;
S2.对log-softmax函数中对数项按照式1进行拆分:

----1;
对求和得到y;
S3.检查y值是否存储在对数表中,是则直接查对数表计算;否则将y连续乘以或除以处理系数k并使连续相乘后的值c落在区间[a,b]内;使对数拆分为-m*lnk+lnc或m*lnk+lnc,m为乘法次数,m的取值使c落在区间[a,b]内即可...

【专利技术属性】
技术研发人员:张俊达何云鹏许兵
申请(专利权)人:成都启英泰伦科技有限公司
类型:发明
国别省市:四川;51

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

1