CN110837885B - 一种基于概率分布的Sigmoid函数拟合方法 - Google Patents

一种基于概率分布的Sigmoid函数拟合方法 Download PDF

Info

Publication number
CN110837885B
CN110837885B CN201910957062.4A CN201910957062A CN110837885B CN 110837885 B CN110837885 B CN 110837885B CN 201910957062 A CN201910957062 A CN 201910957062A CN 110837885 B CN110837885 B CN 110837885B
Authority
CN
China
Prior art keywords
function
fitting
linear
sigmoid function
sigmoid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910957062.4A
Other languages
English (en)
Other versions
CN110837885A (zh
Inventor
蔡觉平
阮文长
魏琳育
温凯琳
杨凯歌
郭捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian Univ
Original Assignee
Xidian Univ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian Univ filed Critical Xidian Univ
Priority to CN201910957062.4A priority Critical patent/CN110837885B/zh
Publication of CN110837885A publication Critical patent/CN110837885A/zh
Application granted granted Critical
Publication of CN110837885B publication Critical patent/CN110837885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0481Non-linear activation functions, e.g. sigmoids, thresholds
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0472Architectures, e.g. interconnection topology using probabilistic elements, e.g. p-rams, stochastic processors

Abstract

本发明涉及人工智能神经网络领域,一种基于概率分布的Sigmoid函数拟合方法,将Sigmoid函数应用于神经网络的激活函数,根据Sigmoid函数的二阶导数,将Sigmoid函数划分为三个固定的区域;近似常数区Sigmoid函数值固定为0或者1,另外两个固定的区域划分成多个拟合函数子分段,二阶导数越小时,包含此点的区间间隔较大。本发明将Sigmoid函数分为三个固定区域,每一层神经元根据该层神经元输出值在三个区域的概率分布大小,采用不同的分段线性函数,使得有限的硬件资源更多得用于概率较大的区域。

Description

一种基于概率分布的Sigmoid函数拟合方法
技术领域
本发明涉及人工智能神经网络领域,具体涉及一种基于概率分布的Sigmoid函数拟合方法及其硬件实现。
背景技术
人工神经网络是仿照生物神经网络工作的计算模型。由于其本质是一种并行结构,人工神经网络逐渐在硬件上实现以提高执行速度。
人工神经网络的基本单元是神经元。一个神经元包含两种操作:乘加运算和激活函数。而Sigmoid函数是一种广泛应用于神经网络的激活函数。由于Sigmoid函数包括除法和指数运算,所以很难直接在硬件上实现此函数。为了解决这个问题,许多拟合方法被提出来以有效地在硬件上实现Sigmoid函数。这些拟合方法都以拟合函数和Sigmoid函数的误差作为衡量标准,在此基础上减少硬件复杂度。但是网络的识别率并不随着拟合函数和Sigmoid函数的误差减小而增大,因此在减小硬件复杂的基础上提高网络识别率是有意义的。
发明内容
为了解决现有技术中的不足,本发明提供了一种基于概率分布的Sigmoid函数拟合方法,减少Sigmoid函数的硬件复杂度,提高神经网络的识别率。
为了实现上述目标,本发明采用如下技术方案:一种基于概率分布的Sigmoid函数拟合方法,将Sigmoid函数应用于神经网络的激活函数,包括步骤:
步骤一:根据Sigmoid函数的二阶导数,将Sigmoid函数划分为三个固定的区域即近似线性区、饱和区、近似常数区;
步骤二:近似常数区Sigmoid函数值固定为0或者1,另外两个固定的区域划分成多个拟合函数子分段,拟合函数子分段数根据每层神经元输出值的统计概率的变化而变化,拟合函数子分段的区间大小不同,其取决于子区间内点的二阶导数绝对值的大小,二阶导数越大,包含此点的区间间隔较小,二阶导数越小时,包含此点的区间间隔较大;
步骤三:将拟合函数子分段的线性函数斜率设为2-n,其中n为正整数,改变n和线性函数偏置b,根据得到的新的函数和原函数的最大绝对误差的最小值来确定拟合函数子分段的线性函数,得到拟合的分段线性函数;
步骤四:根据拟合的分段线性函数得到基于概率分布的Sigmoid函数拟合的硬件电路。
步骤一中,根据Sigmoid函数f(x)的二阶导数将Sigmoid函数划分为三个固定的区域即近似线性区、饱和区、近似常数区,满足|f″(x1)|>|f″(x2)|>|f″(x3)|,其中,x为Sigmoid函数的的横坐标值,e为自然常数,x1∈x、x2∈x、x3∈x,x1属于近似线性区,x2属于饱和区,x3属于近似常数区。
步骤二中,每层神经元输出值的统计概率是指神经网络训练后每层神经元输出值的分布结果,每一个固定区域的子分段数满足公式Ni=Pi×Ntotal,Pi表示神经元输出值在某一固定区域的统计概率;Ni表示对应于概率为Pi区域的子分段数;Ntotal表示总分段数。
步骤三中,将拟合函数子分段的线性函数斜率设为2-n,新的函数n和bi由以下公式同时确定:
随着n的变化,集合D根据新的函数和原函数的最大绝对误差的最小值确定对应于不同n的bi,集合T得到集合D中最大绝对误差的最小值确定最优的n和bi,其中bi为对应子分段函数的函数偏置,ai为对应子分段函数横坐标最小值,ci为对应子分段函数横坐标最大值。
根据不同固定区域的概率分布,近似线性函数被分为三个不同的分段线性函数,当神经元输出值概率在近似线性区域处于0%-30%时,分段线性函数为F0;当神经元输出值概率在近似线性区域处于30%-70%时,分段线性函数为F1;当神经元输出值概率在近似线性区域处于70%-100%时,分段线性函数为F3
每一层神经元根据此层神经元值的概率分布,采用三个不同分段线性函数的其中一个。
近似常数区固定为0或者1,不根据此区域神经元输出值概率变化而变化;Ntotal在涉及近似线性区域和饱和区域,且取值为12。
拟合函数只在硬件上进行神经网络的推理过程,训练过程在软件实现,且激活函数采用Sigmoid函数。
硬件实现只有加法器和移位器,减少了Sigmoid函数硬件实现的复杂度。
本发明达到的有益效果:本发明将Sigmoid函数分为三个固定区域,每一层神经元根据该层神经元输出值在三个区域的概率分布大小,采用不同的分段线性函数,使得有限的硬件资源更多得用于概率较大的区域。将拟合函数用于识别手写数字数据集MNIST,其在深度神经网络(DNN)的识别率高于Sigmoid函数的识别率,在卷积神经网络(CNN)的识别率高于现有的拟合函数的识别率。
附图说明
图1是Sigmoid函数、除三阶导数以外的Sigmoid函数前四阶导数、以及三个固定分区示意图;
图2是拟合函数的硬件示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
一种基于概率分布的Sigmoid函数拟合方法,包含以下步骤:
步骤一:以Sigmoid函数的二阶导为基础,将Sigmoid函数划分为三个固定的区域(近似线性区、饱和区、近似常数区);
如图1所示,根据Sigmoid函数的二阶导数的变化程度,将Sigmoid曲线进行划分为固定的三个区域:近似线性区、饱和区、近似常数区
在三个固定区域内点的二阶导数满足如下公式:
|f″(x1)|>|f″(x2)|>|f″(x3)|
x1属于近似线性区,x2属于饱和区,x3属于近似常数区。在近似线性区内的点的斜率的变化率(二阶导数)最大,在饱和区内的点的斜率的变化率明显下降,因此近似线性区和饱和区的分界点为Sigmoid函数的二阶导数的拐点,即Sigmoid函数的四阶导数:
当上式为0时,x等于2.2。所以近似线性区域为0≤x<2.2。
近似常数区与饱和区的分界点取决于近似常数区与‘1’的最大允许误差Δ,分界点计算公式如下:
本发明取Δ为0.005,则分界点xd为5。因此,近似常数区为x≥5;饱和区域为2.2≤x<5。
步骤二:近似常数区固定为0或者1,另外两个固定区域的子分段数根据每层神经元输出值的统计概率的变化而变化;
将每层神经元输出值按照从小到大的顺序排列为:
Nl为第l层神经元的个数。
将固定区域以y轴重新划分为:近似线性区域为[0.1,0.9],饱和区为(0.005,0.1)∪(0.9,0.995)。三个固定区域的概率计算如下:
基于统计概率,每一个固定区域的子分段数满足如下公式:
Ni=Pi×Ntotal
Pi表示神经元输出值在某一固定区域的统计概率;Ni表示对应于概率为Pi区域的子分段数;Ntotal表示总的分段数。
步骤三:拟合函数子分段的区间大小不同,其取决于子区间内点的二阶导数绝对值的大小。当二阶导数越大时,包含此点的区间间隔相对较小;当二阶导数越大时,包含此点的区间间隔相对较大。
步骤四:将子分段线性函数斜率设为2-n,其中n为正整数;改变n和线性函数偏置b,将得到的函数和原函数的最大绝对误差的最小值来确定子分段线性函数,得到拟合的分段线性函数。
近似线性函数子分段线性函数的斜率为2-n,满足如下公式:
n和bi由以下公式同时确定:
随着n的变化,集合D根据拟合函数和原函数的最大绝对误差的最小值确定对应于不同n的bi。集合T得到集合D中最大绝对误差的最小值确定最优的n和bi。根据不同固定区域的概率分布,近似线性函数被分为三个不同的分段线性函数。当神经元输出值概率在近似线性区域处于0%-30%时,分段线性函数为F0;当神经元输出值概率在近似线性区域处于30%-70%时,分段线性函数为F1;当神经元输出值概率在近似线性区域处于70%-100%时,分段线性函数为F2。每一层分段函数根据以下公式选择:
本发明近似常数区固定为0或者1,不根据此区域神经元输出值概率变化而变化;Ntotal在涉及近似线性区域和饱和区域,且取值为12。分段函数的参数取值如表1所示:
表1分段拟合函数不同区间参数值
步骤四:提出基于概率分布的Sigmoid函数拟合的硬件电路。
基于概率分布的Sigmoid函数拟合的硬件电路如图2所示。第一阶段,输入函数编码器根据输入值和该层概率值产生相应的n和bi的地址;第二阶段,多路选择器根据n输出移位后的值;最后阶段,多路选择器的输出值与相应的b相加得到神经元的输出值。
将拟合函数用于识别手写数字数据集MNIST,其在DNN的识别率高于Sigmoid函数的识别率,表2为不同DNN结构的准确率比较:
表2不同网络结构的准确率比较
因为拟合函数的斜率为2-n,基于概率分布的Sigmoid拟合函数相比一般的线性分段拟合函数来说,其降低了Sigmoid函数在硬件的计算量,硬件电路只需要加法器和移位器来实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (8)

1.一种基于概率分布的Sigmoid函数拟合方法,将Sigmoid函数应用于神经网络的激活函数,其特征在于:包括步骤
步骤一:根据Sigmoid函数的二阶导数,将Sigmoid函数划分为三个固定的区域即近似线性区、饱和区、近似常数区;
步骤二:近似常数区Sigmoid函数值固定为0或者1,另外两个固定的区域划分成多个拟合函数子分段,拟合函数子分段数根据每层神经元输出值的统计概率的变化而变化,拟合函数子分段的区间大小不同,其取决于子区间内点的二阶导数绝对值的大小,二阶导数越大,包含此点的区间间隔较小,二阶导数越小时,包含此点的区间间隔较大;
步骤三:将拟合函数子分段的线性函数斜率设为2-n,其中n为正整数,改变n和线性函数偏置b,根据得到的新的函数和原函数的最大绝对误差的最小值来确定拟合函数子分段的线性函数,得到拟合的分段线性函数,将拟合函数子分段的线性函数斜率设为2-n,新的函数n和bi由以下公式同时确定:
随着n的变化,集合D根据新的函数和原函数的最大绝对误差的最小值确定对应于不同n的bi,集合T得到集合D中最大绝对误差的最小值确定最优的n和bi,其中bi为对应子分段函数的函数偏置,ai为对应子分段函数横坐标最小值,ci为对应子分段函数横坐标最大值;
步骤四:根据拟合的分段线性函数得到基于概率分布的Sigmoid函数拟合的硬件电路。
2.根据权利要求1所述的一种基于概率分布的Sigmoid函数拟合方法,其特征在于:步骤一中,根据Sigmoid函数f(x)的二阶导数将Sigmoid函数划分为三个固定的区域即近似线性区、饱和区、近似常数区,满足|f″(x1)|>|f″(x2)|>|f″(x3)|,其中,x为Sigmoid函数的横坐标值,e为自然常数,x1∈x、x2∈x、x3∈x,x1属于近似线性区,x2属于饱和区,x3属于近似常数区。
3.根据权利要求1所述的一种基于概率分布的Sigmoid函数拟合方法,其特征在于:步骤二中,每层神经元输出值的统计概率是指神经网络训练后每层神经元输出值的分布结果,每一个固定区域的子分段数满足公式Ni=Pi×Ntotal,Pi表示神经元输出值在某一固定区域的统计概率;Ni表示对应于概率为Pi区域的子分段数;Ntotal表示总分段数。
4.根据权利要求1所述的一种基于概率分布的Sigmoid函数拟合方法,其特征在于:根据不同固定区域的概率分布,近似线性函数被分为三个不同的分段线性函数,当神经元输出值概率在近似线性区域处于0%-30%时,分段线性函数为F0;当神经元输出值概率在近似线性区域处于30%-70%时,分段线性函数为F1;当神经元输出值概率在近似线性区域处于70%-100%时,分段线性函数为F3
5.根据权利要求1所述的一种基于概率分布的Sigmoid函数拟合方法,其特征在于:每一层神经元根据此层神经元值的概率分布,采用三个不同分段线性函数的其中一个。
6.根据权利要求1所述的一种基于概率分布的Sigmoid函数拟合方法,其特征在于:近似常数区固定为0或者1,不根据此区域神经元输出值概率变化而变化;Ntotal在涉及近似线性区域和饱和区域,且取值为12。
7.根据权利要求1所述的一种基于概率分布的Sigmoid函数拟合方法,其特征在于:拟合函数只在硬件上进行神经网络的推理过程,训练过程在软件实现,且激活函数采用Sigmoid函数。
8.根据权利要求1所述的一种基于概率分布的Sigmoid函数拟合方法,其特征在于:硬件实现只有加法器和移位器,减少了Sigmoid函数硬件实现的复杂度。
CN201910957062.4A 2019-10-11 2019-10-11 一种基于概率分布的Sigmoid函数拟合方法 Active CN110837885B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910957062.4A CN110837885B (zh) 2019-10-11 2019-10-11 一种基于概率分布的Sigmoid函数拟合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910957062.4A CN110837885B (zh) 2019-10-11 2019-10-11 一种基于概率分布的Sigmoid函数拟合方法

Publications (2)

Publication Number Publication Date
CN110837885A CN110837885A (zh) 2020-02-25
CN110837885B true CN110837885B (zh) 2021-03-02

Family

ID=69575364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910957062.4A Active CN110837885B (zh) 2019-10-11 2019-10-11 一种基于概率分布的Sigmoid函数拟合方法

Country Status (1)

Country Link
CN (1) CN110837885B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535148A (en) * 1993-09-23 1996-07-09 Motorola Inc. Method and apparatus for approximating a sigmoidal response using digital circuitry
US8572144B2 (en) * 2009-03-02 2013-10-29 Analog Devices, Inc. Signal mapping
CN107247992B (zh) * 2014-12-30 2019-08-30 合肥工业大学 一种基于列梅兹逼近算法的sigmoid函数拟合硬件电路
CN108537332A (zh) * 2018-04-12 2018-09-14 合肥工业大学 一种基于Remez算法的Sigmoid函数硬件高效率实现方法
CN108710944A (zh) * 2018-04-30 2018-10-26 南京大学 一种可训练分段式线性激活函数生成方法

Also Published As

Publication number Publication date
CN110837885A (zh) 2020-02-25

Similar Documents

Publication Publication Date Title
CN109102064B (zh) 一种高精度的神经网络量化压缩方法
CN110378468B (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
CN109472353B (zh) 一种卷积神经网络量化电路及量化方法
JP2020077143A (ja) 学習プログラム、学習方法、情報処理装置
US20190087713A1 (en) Compression of sparse deep convolutional network weights
Struharik et al. CoNNA–compressed CNN hardware accelerator
CN110837885B (zh) 一种基于概率分布的Sigmoid函数拟合方法
WO2020237904A1 (zh) 一种基于幂指数量化的神经网络压缩方法
CN109034372B (zh) 一种基于概率的神经网络剪枝方法
Park et al. Squantizer: Simultaneous learning for both sparse and low-precision neural networks
Li et al. High-performance Convolutional Neural Network Accelerator Based on Systolic Arrays and Quantization
CN110265002A (zh) 语音识别方法、装置、计算机设备及计算机可读存储介质
CN110738311A (zh) 基于高层次综合的lstm网络加速方法
CN110874635A (zh) 一种深度神经网络模型压缩方法及装置
CN110110852A (zh) 一种深度学习网络移植到fpag平台的方法
JPH0713768A (ja) 連続論理計算システムおよびその使用方法
CN111738427B (zh) 一种神经网络的运算电路
Oh et al. Retraining and Regularization to Optimize Neural Networks for Stochastic Computing
Jo et al. Bit-Serial multiplier based Neural Processing Element with Approximate adder tree
CN111582229A (zh) 一种网络自适应半精度量化的图像处理方法和系统
CN113255576B (zh) 人脸识别方法及装置
CN111047013A (zh) 卷积神经网络结构优化方法、装置和电子设备
WO2021036412A1 (zh) 数据处理方法、装置、计算机设备和存储介质
Sarkar et al. An Incremental Pruning Strategy for Fast Training of CNN Models
US20210357758A1 (en) Method and device for deep neural network compression

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant