【技术实现步骤摘要】
一种softmax函数的硬件实现方法、模块、芯片和系统
[0001]本专利技术涉及神经网络多任务分类激活函数的硬件实现
,更具体地说,涉及一种softmax函数的硬件实现方法、模块、芯片和系统。
技术介绍
[0002]深度学习作为机器学习的一个子集,通过使用多层数学函数,对数据中的特征进行有效提取与转换。深度学习算法的研究热点之一是激活函数,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
[0003]softmax函数(归一化指数函数)通常在多分类任务中作为输出层激活函数,作为深度学习中的最后一层用作分类。softmax函数因为具有e指数运算,在DNN的硬件实现中具有相当高的复杂度,同时,在一个高速的神经网络中,需要尽可能少的周期完成softmax函数的计算,即需要尽可能少的时间实现。目前,很多学者研究各种方法来降低其在硬件实现中的复杂度,同时还要兼顾硬件的资源使用和最大程度的降低计算时间。
[0004]softmax函数可以用如下 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种softmax函数的硬件实现方法,其特征在于,对softmax函数进行函数变换,将softmax函数中的底数e换成2,形成E
‑
to
‑
2softmax函数;通过比较器模块得到数据最大值,通过减法器模块对数据做差,通过数据分割模块分割数据,通过镜像数据查找模块在查找表中查找数据对应值,通过移位求和模块实现数据相乘和相加运算,通过数据转化模块对数据进行转换。2.根据权利要求1所述的一种softmax函数的硬件实现方法,其特征在于,包括以下步骤:步骤1:将所有输入数据输入至比较器模块进行比较,选择出输入数据最大值;步骤2:将输入数据和输入数据最大值输入减法器模块进行做差运算;步骤3:将减法器模块计算数据发送至数据分割模块,将其分割成第一部分和第二部分;步骤4:将数据分割模块分割的第二部分数据输入镜像查找模块进行查找计算后的值与第一部分数据一起输入移位求和模块,通过移位实现相乘运算,对所有移位数据结果求和;步骤5:数据转化模块将移位求和模块输出的数据转化表现形式,转化后的数据在镜像查找模块查找得到对应值;步骤6:将步骤5计算结果再通过数据分割模块分割,镜像查找模块查找及移位求和模块进行移位操作,计算得出E
‑
to
‑
2softmax函数的值。3.根据权利要求2所述的一种softmax函数的硬件实现方法,其特征在于,所述步骤3中数据分割模块将数据分割为两个相乘的部分,第一部分数据的表现形式是以2为底,指数为负数整数,用2
负整数
表示;第二部分数据的表现形式是以2为底,指数为正数小数,用2
小数
表示,即2
负整数+小数
=2
负整数
×2小数
。4.根据权利要求3所述的一种softmax函数的硬件实现方法,其特征在于,将所述第二部分数据查表确认数值在移位求和模块向右移动负整数位数实现第一部分数据与第二部分数据相乘运算。5.根据权利要求2所述的一种softmax函数的硬件实现方法,其特征在于,所述镜像查找模块以镜像的方式在查找表查找2
技术研发人员:李丽,张永刚,陈辉,傅玉祥,何书专,陈健,
申请(专利权)人:南京宁麒智能计算芯片研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。