[发明专利]Softmax函数的设计优化及硬件实现方法及系统有效
申请号: | 201810892536.7 | 申请日: | 2018-08-07 |
公开(公告)号: | CN109165006B | 公开(公告)日: | 2021-08-06 |
发明(设计)人: | 张卓健;邵启明;王少军;王琴 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F7/556 | 分类号: | G06F7/556;G06N3/063;G06N3/04 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | softmax 函数 设计 优化 硬件 实现 方法 系统 | ||
Softmax函数可以完成标量到概率的转换,被广泛应用在深度神经网络分类器中的输出层。时下,多分类问题作为深度学习的重要应用有着分类类别越来越多,精度要求越来越高的应用趋势。本发明提出了一种Softmax函数的设计优化及硬件实现方法及系统,针对大量输入数据个数、广输入范围与高精度要求,本发明通过两遍输入的输入模式进行计算以减少片上存储资源、通过可配置查找表以应对多种输入定点化方案、通过硬件决定输出定点化方案以提高精度。
技术领域
本发明设计深度神经网络分类器领域,具体设计一种Softmax函数的设计优化及硬件实现方法及系统。
背景技术
Softmax函数可以完成标量到概率的转换,被广泛应用在深度神经网络分类器中的输出层。相比于其他只需要简单加法与乘法的层级如卷积层、池化层、全连接层,Softmax层需要较为复杂的指数运算和除法运算,这给Softmax函数的硬件设计带来相应困难。本发明根据函数性质,拆分指数运算的查找表以减少存储资源,把除法化成一次求倒运算和多次乘法运算以减小计算量。
时下,多分类问题作为深度学习的重要应用有着分类类别越来越多,精度要求越来越高的应用趋势。针对大量输入数据个数、广输入范围与高精度要求,本发明通过两遍输入的输入模式进行计算以减少片上存储资源、通过可配置查找表以应对多种输入定点化方案、通过硬件决定输出定点化方案以提高精度。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种Softmax函数的设计优化及硬件实现方法及系统。
根据本发明提供的一种Softmax函数的设计优化及硬件实现方法,包括如下步骤:
第一输入步骤:进行第一遍输入;
第一指数运算步骤:针对多个输入数据,通过查找表实现指数运算;
累加步骤:对多个输入数据的指数运算结果求和,得到分母;
求倒步骤:对分母求倒得出分母的倒数;
第二输入步骤:进行第二遍输入;
第二指数运算步骤:通过查找表实现指数运算,计算出分子;
最终乘法步骤:对分母的倒数和分子相乘,得到最终结果。
优选地,所述查找表由外部配置并存储在片上。
优选地,还包括查找表拆分步骤:将1个寻址位宽为16位的查找表分为4个寻址位宽为4位的查找表,并使用3个乘法器,求出4个查找表数据的积,得到完整的指数运算结果。
优选地,采用restoring算法实现对分母求导。
优选地,还包括数量级获取步骤:获取同一组数据的指数运算结果并按位求或,获取分母结果,实现输出定点化。
根据本发明提供额一种Softmax函数的设计优化及硬件实现系统,包括如下单元:
指数运算单元:通过查找表实现指数运算;
累加单元:用于对多个输入数据的指数运算结果求和,得到分母;
求倒单元:用于对分母求倒得出分母的倒数;
分子运算单元:通过查找表实现指数运算,计算出分子;
最终乘法单元:用于对分母的倒数和分子相乘,得到最终结果。
优选地,所述查找表由外部配置并存储在片上。
优选地,还包括查找表拆分单元:用于将1个寻址位宽为16位的查找表分为4个寻址位宽为4位的查找表,并使用3个乘法器,求出4个查找表数据的积,得到完整的指数运算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810892536.7/2.html,转载请声明来源钻瓜专利网。