[发明专利]计算精度可变的softmax函数硬件电路及其实现方法有效
| 申请号: | 201910419874.3 | 申请日: | 2019-05-20 |
| 公开(公告)号: | CN110135086B | 公开(公告)日: | 2022-09-13 |
| 发明(设计)人: | 杜高明;田超;张多利;李桢旻;尹勇生;宋宇鲲;王晓蕾 | 申请(专利权)人: | 合肥工业大学 |
| 主分类号: | G06F30/34 | 分类号: | G06F30/34 |
| 代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
| 地址: | 230009 安*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种计算精度可变的softmax函数硬件电路及其实现方法,该硬件电路包括:最大值模块、映射模块、类别FIFO模块、概率FIFO模块、指数函数模块、加法器模块、自然对数模块、和减法器模块;最大值模块寻找输入数据的最大值;映射模块调整输入数据到筛选区间内;类别FIFO模块存储有效数据的位置;概率FIFO模块存储有效数据的数值;指数函数模块用于计算以自然常数e为底的指数函数;加法器模块累加指数函数模块输出值;自然对数模块计算自然对数函数;减法器模块计算概率FIFO模块和自然对数模块输出值的差。本发明能根据神经网络分类的统计规律动态调整计算量和精度,从而在降低延迟的同时降低功耗面积并提升电路频率。 | ||
| 搜索关键词: | 计算 精度 可变 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个输入数据进行比较和存储,直到i>DN为止,从而得到DN个输入数据中的最大值以及存储在概率FIFO模块中的所有预处理数据和相应存储在类别FIFO模块中的位置序号;所述映射模块根据所述最大值模块输出的最大值,设定筛选区间;再根据所述筛选区间设定映射区间后,从所述概率FIFO模块和类别FIFO模块中分别取出所有预处理数据及其对应的位置序号,并在所有预处理数据中选出处于所述筛选区间内的数据作为有效数据并调整到映射区间中,得到映射数据并存入概率FIFO模块中,同时将有效数据所对应的位置序号存储在类别FIFO模块中;所述指数函数模块根据所述类别FIFO模块中存储的数据量选择计算精度,再以自然常数e为底数,分别计算以映射数据为指数的函数,从而得到满足计算精度的相应的指数函数值;所述加法器模块将所述指数函数模块输出的所有指数函数值进行累加,得到累加值并传递给所述自然对数模块;所述自然对数模块以所述累加值为真数,计算自然对数,得到对数函数值;所述减法器模块从所述概率FIFO模块取出所有有效数据,并分别与所述对数函数值进行减法运算,得到相应的差值传递给所述指数函数模块;所述指数函数模块以自然常数e为底数,分别计算以各个差值为指数的函数,从而得到相应的softmax函数值,同时根据softmax函数值从所述类别FIFO模块中获取相应的位置序号并分别作为神经网络识别概率和类别。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910419874.3/,转载请声明来源钻瓜专利网。





