[发明专利]计算精度可变的softmax函数硬件电路及其实现方法有效

专利信息
申请号: 201910419874.3 申请日: 2019-05-20
公开(公告)号: CN110135086B 公开(公告)日: 2022-09-13
发明(设计)人: 杜高明;田超;张多利;李桢旻;尹勇生;宋宇鲲;王晓蕾 申请(专利权)人: 合肥工业大学
主分类号: G06F30/34 分类号: G06F30/34
代理公司: 安徽省合肥新安专利代理有限责任公司 34101 代理人: 陆丽莉;何梅生
地址: 230009 安*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 计算 精度 可变 softmax 函数 硬件 电路 及其 实现 方法
【权利要求书】:

1.一种计算精度可变的softmax函数硬件电路,其特征包括:最大值模块、映射模块、类别FIFO模块、概率FIFO模块、指数函数模块、加法器模块、自然对数模块和减法器模块;

定义输入数据的数量为DN;定义当前输入数据为第i个输入数据,并初始化i=1;令第i-1个输入数据为所述最大值模块预先存储的初值;其中,DN为大于1的整数,i为小于DN的整数;

所述最大值模块接收外部输入的第i个输入数据,并与第i-1个输入数据进行比较,若第i个输入数据大于第i-1个输入数据,则将第i个输入数据作为预处理数据存入概率FIFO模块,并将位置序号i存入类别FIFO模块;否则,所述最大值模块接收外部输入的第i+1个输入数据并与第i-1个输入数据进行比较和存储,直到iDN为止,从而得到DN个输入数据中的最大值以及存储在概率FIFO模块中的所有预处理数据和相应存储在类别FIFO模块中的位置序号;

所述映射模块根据所述最大值模块输出的最大值,设定筛选区间;再根据所述筛选区间设定映射区间后,从所述概率FIFO模块和类别FIFO模块中分别取出所有预处理数据及其对应的位置序号,并在所有预处理数据中选出处于所述筛选区间内的数据作为有效数据并调整到映射区间中,得到映射数据并存入概率FIFO模块中,同时将有效数据所对应的位置序号存储在类别FIFO模块中;

所述指数函数模块根据所述类别FIFO模块中存储的数据量选择计算精度,再以自然常数e为底数,分别计算以映射数据为指数的函数,从而得到满足计算精度的相应的指数函数值;

所述加法器模块将所述指数函数模块输出的所有指数函数值进行累加,得到累加值并传递给所述自然对数模块;

所述自然对数模块以所述累加值为真数,计算自然对数,得到对数函数值;

所述减法器模块从所述概率FIFO模块取出所有有效数据,并分别与所述对数函数值进行减法运算,得到相应的差值传递给所述指数函数模块;

所述指数函数模块以自然常数e为底数,分别计算以各个差值为指数的函数,从而得到相应的softmax函数值,同时根据softmax函数值从所述类别FIFO模块中获取相应的位置序号并分别作为神经网络识别概率和类别。

2.根据权利要求1所述的softmax函数硬件电路,其特征是,所述指数函数模块是由一个译码器、一个地址译码器、N个ROM、N-1个乘法器和一个多路选择器组成;其中,N为大于1的整数;

所述译码器根据类别FIFO中的数据量进行译码,得到决定计算精度的N个查找表地址的开关信号和一个输出选择信号;

所述地址译码器将所述有效数据均分为N组,任意第n组包含m个二进制位和1个符号位,从而构成m+1个二进制位并作为第n个查找表的地址,从而得到N个查找表的地址;其中,n为小于N的整数,m为大于1的整数;

任意第n个ROM中存储有以自然常数e为底,以第n组的m+1个二进制位所对应的十进制数作为指数的函数值,从而实现第n个查找表功能;

所述N个查找表在N个查找表地址的开关信号的控制下接收所述地址译码器发送的N个查找表的地址,并输出选通的ROM中存储的函数值;

所述N-1个乘法器对所接收到的ROM中存储的函数值进行乘法运算,得到指数函数值;

所述多路选择器在所述输出选择信号的控制下将满足计算精度的指数函数值输出。

3.根据权利要求1所述的softmax函数硬件电路,其特征是,所述自然对数模块是由两个ROM、两个乘法器、一个移位器、一个减法器和一个加法器组成;

第一个ROM中存储有所述累加值整数部分的倒数,从而实现第N+1个查找表功能;

第二个ROM中存储有以所述累加值的整数部分为真数的自然对数值,从而实现第N+2个查找表功能;

第一个乘法器从所述第N+1个查找表取出倒数,并与所述累加值的小数部分进行乘法运算,得到的乘积传递给第二个乘法器;

所述第二个乘法器对所接收到的乘积进行平方运算,得到平方值传递给所述移位器;

由所述移位器对所述平方值进行右移一位操作,得到移位值;

所述减法器获取所述乘积,并与所述移位值进行减法运算,得到差值;

所述加法器获从第N+2个查找表中取出所述自然对数值,并与所述差值进行加法运算,从而得到对数函数值并输出。

4.一种计算精度可变的softmax函数硬件电路的实现方法,其特征是按如下步骤进行:

步骤1、定义输入数据的数量为DN;定义当前输入数据为第i个输入数据,并初始化i=1;令第i-1个输入数据为预先存储的初值;

步骤2、比较器将第i个输入数据与第i-1个输入数据进行比较,若第i个输入数据大于第i-1个输入数据,则存储第i个输入数据及其对应的位置序号i后,执行步骤3;否则,将第i-1个输入数据赋值给第i个输入数据后,执行步骤3;

步骤3、将i+1赋值给i,并判断iDN是否成立,若成立,则表示得到DN个输入数据中的最大值以及所有存储的输入数据及其对应的位置序号,并执行步骤4;否则,返回步骤2执行;

步骤4、根据所述最大值设定筛选区间;再根据所述筛选区间设定映射区间后,在所有存储的输入数据中选出处于所述筛选区间内的数据作为有效数据并调整到映射区间中,得到映射数据后,与有效数据所对应的位置序号一起存储;

步骤5、指数函数模块根据有效数据的数据量选择计算精度,并以自然常数e为底数,分别计算以映射数据为指数的函数,从而得到满足计算精度的相应的指数函数值;

步骤6、加法器将所有指数函数值进行累加,得到累加值;

步骤7、自然对数模块以所述累加值为真数,计算自然对数,得到对数函数值;

步骤8、减法器将所有有效数据分别与所述对数函数值进行减法运算,得到相应的差值;

步骤9、所述指数函数模块以自然常数e为底数,分别计算以各个差值为指数的函数,从而得到相应的softmax函数值,并将softmax函数值及其位置序号作为神经网络识别的概率和类别。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910419874.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top