[发明专利]一种基于分段查找表的softmax函数计算方法及硬件系统在审
申请号: | 201911268200.4 | 申请日: | 2019-12-11 |
公开(公告)号: | CN111178516A | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 朱晓雷;董骁;马德;赵百新 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06N3/06 | 分类号: | G06N3/06 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 郑海峰 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分段 查找 softmax 函数 计算方法 硬件 系统 | ||
1.一种基于分段查找表的softmax函数计算方法,其特征在于,包括如下步骤:
1)建立计算区间为[-10,0]的分段e指数查找表,所述分段e指数查找表由地址和真实值组成,建立步骤如下:
1.1)将[-10,0]区间的数据划分为N段,对应N种数据类别:{(-10~-1),(-1~-0.1),…,(-1*10-(N-2)~-1*10-(N-1))},其中(-1*10-(i-2)~-1*10-(i-1))表示划分后所属的第i种数据类别;每一个数据仅保留三位有效数字;
1.2)将[-10,0]区间的数据定点化为十六位的定点数,定点数前六位的十进制数值对应其所属的数据类别,后十位由0000000000到1110000011从小到大依次表示三位有效数字100-999;
1.3)按照十六位定点数的十进制数值作为地址存储该定点数的真实结果,分段e指数查找表中的地址为1024*i+j(i≥0,0≤j≤1023),当0≤j≤899时对应exp(-(999-j)*10-i-2)的真实值,在900≤j≤1023时对应0;得到分段e指数查找表;
2)数据预处理:筛选待计算数据集中的最大值,将待计算数据集中的每一个数值减去最大值,然后保留三位有效数字,得到非正数数据集;
3)将非正数数据集中的每一个数值定点化为十六位,以十六位的定点数的十进制数值作为地址,通过步骤S1得到的分段e指数查找表完成指数运算,累加所有定点数的运算结果,得到softmax函数运算结果的分母;
4)再次读取数据,通过分段e指数查找表得到softmax函数运算结果的分子;
5)将分子和分母相除,得到softmax函数运算的最终结果。
2.根据权利要求1所述的基于分段查找表的softmax函数计算方法,其特征在于,所述分段e指数查找表配置在存储器上。
3.一种基于分段查找表的softmax函数的硬件系统,其特征在于,所述硬件系统用于实现权利要求1所述的基于分段查找表的softmax函数计算方法,由PS端和PL端组成;所述PS端包含CPU和DDR,CPU工作时将待计算数据集预处理并定点化后写入DDR;所述PL端通过AXI总线对DDR进行读写操作,实现与PS端的数据交互;PL端还包括如下单元:
ROM:用于存储权利要求1得到的分段e指数查找表,在计算时根据输入得到对应的e指数值;
加法器:用于将计算得到的e指数值进行累加,得到softmax函数的分母;
除法器:用于将第二次读入数据的e指数值与累加得到的分母做除法得到softmax函数运算的最终结果;最终结果通过AXI总线传回DDR中并由CPU读取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911268200.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种搜题方法及电子设备
- 下一篇:SQL文本审核方法、系统、存储介质及装置