CN113516170B - 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 - Google Patents
基于贝叶斯神经网络随机加法饱和结构的图像分类方法 Download PDFInfo
- Publication number
- CN113516170B CN113516170B CN202110544588.7A CN202110544588A CN113516170B CN 113516170 B CN113516170 B CN 113516170B CN 202110544588 A CN202110544588 A CN 202110544588A CN 113516170 B CN113516170 B CN 113516170B
- Authority
- CN
- China
- Prior art keywords
- neural network
- bit stream
- bayesian neural
- factor
- random
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Neurology (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于贝叶斯神经网络随机加法饱和结构的图像分类方法,包括以下步骤:S1:采集待分类图像数据集中的部分图像数据作为贝叶斯神经网络的输入数据,提取训练得到的贝叶斯神经网络的权重参数和偏置参数;S2:对输入数据、权重参数和偏置参数进行处理,将其转换为随机位流形式;S3:搭建基于随机加法饱和结构的神经元,得到基于随机计算的合格贝叶斯神经网络;S4:利用基于随机计算的合格贝叶斯神经网络对待分类图像数据集中的其余图像数据进行分类。本发明的优点在于:通过调节增益因子,一定程度上减小了由于过大的缩放比例导致的严重误差,从而平衡随机加法中的缩放误差以及饱和误差,保证合格的贝叶斯神经网络的图像分类准确性。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种基于贝叶斯神经网络随机加法饱和结构的图像分类方法。
背景技术
贝叶斯神经网络(BNNs)的各个权重和阈值都以随机分布的形式表示,具有均值μ和方差σ两组网络参数,其推理过程为:随机采样不同的权重参数重复进行前向传播,以多个采样网络的最终层输出的平均值作为预测结果。若以传统方式进行用于图像分类任务的贝叶斯神经网络硬件实现,需要引入额外的误差注入电路,具有很高的硬件开销。
以随机计算的方式进行贝叶斯神经网络的推理,能够实现计算过程与误差注入的统一,有效降低硬件开销。其中,采用多路选择器作为带缩放的随机加法电路,实现贝叶斯神经网络中的加法运算。当多路选择器的输入个数过多时,经缩放后的输出位流可能不足以精确表示真实的输出值,从而造成严重的精度损失,使得用于图像分类任务的贝叶斯神经网络性能受到严重影响。
发明内容
本发明的目的是为了解决贝叶斯神经网络进行图像分类时硬件开销过高的问题,提出了一种基于贝叶斯神经网络随机加法饱和结构的图像分类方法。
本发明的技术方案是:一种基于贝叶斯神经网络随机加法饱和结构的图像分类方法,包括以下步骤:
S1:采集待分类图像数据集中的部分图像数据作为贝叶斯神经网络的输入数据,提取训练得到的贝叶斯神经网络的权重参数和偏置参数;
S2:对贝叶斯神经网络的输入数据、权重参数和偏置参数进行处理,将其转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流;
S3:根据输入数据位流、权重参数位流和偏置参数位流,搭建基于随机加法饱和结构的神经元,得到基于随机计算的合格贝叶斯神经网络;
S4:利用基于随机计算的合格贝叶斯神经网络对待分类图像数据集中的其余图像数据进行分类。
进一步地,步骤S2包括以下子步骤:
S21:利用缩放因子s分别对贝叶斯神经网络的输入数据、权重参数和偏置参数进行缩减,得到位于[-1,1]范围内的浮点输入数据、浮点权重参数和浮点偏置参数;
S22:利用线性反馈移位寄存器和比较器构成前向转换电路,并通过前向转换电路分别将浮点输入数据、浮点权重参数和浮点偏置参数转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流。
进一步地,步骤S21中,缩放因子s的计算公式为:
其中,m表示数据范围的左界限,n表示数据范围的右界限,log(·)表示对数运算。
进一步地,步骤S3包括以下子步骤:
S31:利用异或门电路和累加多路选择器构成内积运算单元,并通过异或门电路对输入数据位流和权重参数位流进行乘积运算,通过累加多路选择器对乘积运算的结果进行累加运算,得到内积运算单元的输出位流;
S32:基于线性增益单元设计随机加法饱和结构,利用线性增益单元对内积运算单元的输出位流进行增益放大,并将增益放大后超出[-1,1]范围且大于1的信号取值为[-1,1]范围的上限值1,并将增益放大后超出[-1,1]范围且小于-1的信号取值为[-1,1]范围的下限值-1,得到线性增益单元的缩放因子和输出位流;
S33:利用多路选择器对线性增益单元的输出位流和偏置参数位流进行偏置加法运算,得到基于随机加法饱和结构神经元的缩放因子和输出位流;
S34:计算贝叶斯神经网络中各个神经元节点的缩放因子,将贝叶斯神经网络同一层中各个神经元节点的最大缩放因子作为该层的公共缩放比例参数,搭建基于随机计算的贝叶斯神经网络,进行贝叶斯神经网络的前向推理并得到其输出位流;
S35:利用计数器构成后向转换电路,并利用后向转换电路将贝叶斯神经网络的输出位流转换为浮点数据,并按输出层的公共缩放比例参数对其进行按比例放大,得到贝叶斯神经网络单次前向推理的输出结果;
S36:分别以随机计算和浮点运算的方式进行若干次贝叶斯神经网络的前向推理,对前向推理输出分别取均值作为对应的贝叶斯神经网络的最终输出结果,并得到对应的图像分类准确率,对比基于随机计算的贝叶斯神经网络图像分类准确率和基于浮点运算的贝叶斯神经网络图像分类准确率,若两者分类准确率的差值低于设定阈值,则将该基于随机计算的贝叶斯神经网络作为合格贝叶斯神经网络,否则调整增益因子,并将新的增益因子返回步骤S32。
进一步地,步骤S31中,内积运算单元的输出位流为按内积运算单元的缩放因子sdot进行缩小的随机位流,内积运算单元的缩放因子sdot的计算公式为:
sdot=N·sw·sx
其中,N表示累加多路选择器的输入个数,sw表示权重参数的缩放因子,sx表示输入数据的缩放因子。
进一步地,步骤S32中,设计随机加法饱和结构的具体方法为:设定有限状态机的状态数N和控制参数比特流,实现增益因子为G的线性增益单元。将内积运算单元的输出位流输入至线性增益单元进行增益放大,将超出[-1,1]范围的信号值取值为范围的上下限,得到按线性增益缩放因子sg进行缩小的线性增益单元的输出位流,线性增益缩放因子的计算公式为:
sg=sdot/G
其中,G=2n且n∈N+,sdot表示内积运算单元的缩放因子。
进一步地,步骤S33中,进行偏置加法运算的具体方法为:将线性增益缩放因子sg和偏置参数缩放因子sb中的较大值作为共同缩放因子s′,计算线性增益单元的重缩放因子sg′与偏置参数的重缩放因子sb′并对线性增益单元的输出位流与偏置参数位流进行重新缩放,对重新缩放后的线性增益单元的输出位流与偏置参数位流进行偏置加法运算;
基于线性有限状态机设计激活函数,将偏置加法运算的结果输入至激活函数,得到基于随机加法饱和结构神经元的缩放因子sz和输出位流z。
进一步地,步骤S33中,共同缩放因子s′的计算公式为:
s′=max{sg,sb}
其中,sg表示线性增益缩放因子,sb表示偏置参数缩放因子;
若sg>sb,则计算偏置参数的重缩放因子sb′,并对偏置参数位流进行重新缩放;若sb>sg,则计算线性增益单元的重缩放因子sg′,并对线性增益单元的输出位流进行重新缩放,偏置参数的重缩放因子sb′和线性增益单元的重缩放因子sg′的计算公式分别为:
步骤S33中,基于随机加法饱和结构神经元的缩放因子sz的计算公式为:
sz=2·s′。
进一步地,步骤S34中,进行贝叶斯神经网络前向推理的具体方法为:根据贝叶斯神经网络各层的公共缩放比例参数sL,计算对应神经元的重缩放因子sz′,并对神经元的输出位流进行重新缩放,进行贝叶斯神经网络的前向推理,公共缩放比例参数sL的计算公式为:
其中,sz表示基于随机加法饱和结构神经元的缩放因子,i表示神经元所在的网络层,n表示第i层的神经元个数;
神经元的重缩放因子的计算公式sz′为:
进一步地,步骤S36中,调整增益因子的具体方法为:基于饱和因子K计算线性增益因子G,根据基于随机计算的贝叶斯神经网络分类准确率,按照G=2n且n∈N+的约束条件依次增大或减小线性增益因子G的数值,对其进行调节;其中,线性增益因子G的具体计算方法为:以浮点形式的输入数据、权重参数和偏置参数进行运算,得到基于浮点运算的贝叶斯神经网络各层输出信号的分布范围,确定设定分布范围内的输出信号所在区间的绝对值,作为该层的饱和因子K,根据饱和因子K计算线性增益因子G,并将其取整为2n的正整数,线性增益因子G的计算公式为:
G=sdot/K
其中,sdot表示内积运算单元的缩放因子。
本发明的有益效果是:
(1)本发明利用基于随机计算的贝叶斯神经网络随机计算进行图像分类,实现了贝叶斯神经网络推理过程与误差注入的统一,相比于利用传统贝叶斯神经网络进行图像分类,有效降低了硬件开销。
(1)本发明中,在贝叶斯神经网络神经元结构中的累加多路选择器输出端添加线性增益单元,得到随机加法饱和结构,一定程度上减小了由于过大的缩放比例导致的严重误差,从而平衡随机加法中的缩放误差以及饱和误差,保证合格的贝叶斯神经网络的图像分类准确性。
(2)本发明中,通过调节线性增益因子的大小来改变随机加法的缩放程度,从而合理控制随机计算注入的误差水平,为贝叶斯神经网络的误差控制提供了良好的灵活性,保证了贝叶斯神经网络的工作性能。
附图说明
图1为图像分类方法的流程图;
图2为随机加法饱和结构示意图;
图3为贝叶斯神经网络神经元的内积运算的结构图;
图4为本发明中置信区间内贝叶斯神经网络隐含层的权重与偏置参数分布图;
图5为本发明中置信区间内贝叶斯神经网络隐含层的内积运算与偏置加法运算的输出信号值参数分布图。
具体实施方式
下面结合附图对本发明的实施例作进一步的说明。
如图1所示,本发明提供了一种基于贝叶斯神经网络随机加法饱和结构的图像分类方法,包括以下步骤:
S1:采集待分类图像数据集中的部分图像数据作为贝叶斯神经网络的输入数据,提取训练得到的贝叶斯神经网络的权重参数和偏置参数;
S2:对贝叶斯神经网络的输入数据、权重参数和偏置参数进行处理,将其转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流;
S3:根据输入数据位流、权重参数位流和偏置参数位流,搭建基于随机加法饱和结构的神经元,得到基于随机计算的合格贝叶斯神经网络;
S4:利用基于随机计算的合格贝叶斯神经网络对待分类图像数据集中的其余图像数据进行分类。
在本发明实施例中,步骤S2包括以下子步骤:
S21:利用缩放因子s分别对贝叶斯神经网络的输入数据、权重参数和偏置参数进行缩减,得到位于[-1,1]范围内的浮点输入数据、浮点权重参数和浮点偏置参数;
S22:利用线性反馈移位寄存器和比较器构成前向转换电路,并通过前向转换电路分别将浮点输入数据、浮点权重参数和浮点偏置参数转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流。
在本发明实施例中,步骤S21中,缩放因子s的计算公式为:
其中,m表示数据范围的左界限,n表示数据范围的右界限,log(·)表示对数运算。
在本发明实施例中,步骤S3包括以下子步骤:
S31:利用异或门电路和累加多路选择器构成内积运算单元,并通过异或门电路对输入数据位流和权重参数位流进行乘积运算,通过累加多路选择器对乘积运算的结果进行累加运算,得到内积运算单元的输出位流;
S32:基于线性增益单元设计随机加法饱和结构,利用线性增益单元对内积运算单元的输出位流进行增益放大,并将增益放大后超出[-1,1]范围且大于1的信号取值为[-1,1]范围的上限值1,并将增益放大后超出[-1,1]范围且小于-1的信号取值为[-1,1]范围的下限值-1,得到线性增益单元的缩放因子和输出位流;
S33:利用多路选择器对线性增益单元的输出位流和偏置参数位流进行偏置加法运算,得到基于随机加法饱和结构神经元的缩放因子和输出位流;
S34:计算贝叶斯神经网络中各个神经元节点的缩放因子,将贝叶斯神经网络同一层中各个神经元节点的最大缩放因子作为该层的公共缩放比例参数,搭建基于随机计算的贝叶斯神经网络,进行贝叶斯神经网络的前向推理并得到其输出位流;
S35:利用计数器构成后向转换电路,并利用后向转换电路将贝叶斯神经网络的输出位流转换为浮点数据,并按输出层的公共缩放比例参数对其进行按比例放大,得到贝叶斯神经网络单次前向推理的输出结果;
S36:分别以随机计算和浮点运算的方式进行若干次贝叶斯神经网络的前向推理,对前向推理输出分别取均值作为对应的贝叶斯神经网络的最终输出结果,并得到对应的图像分类准确率,对比基于随机计算的贝叶斯神经网络图像分类准确率和基于浮点运算的贝叶斯神经网络图像分类准确率,若两者分类准确率的差值低于设定阈值,则将该基于随机计算的贝叶斯神经网络作为合格贝叶斯神经网络,否则调整增益因子,并将新的增益因子返回步骤S32。
在本发明实施例中,步骤S31中,内积运算单元的输出位流为按内积运算单元的缩放因子sdot进行缩小的随机位流,内积运算单元的缩放因子sdot的计算公式为:
sdot=N·sw·sx
其中,N表示累加多路选择器的输入个数,sw表示权重参数的缩放因子,sx表示输入数据的缩放因子。
在本发明实施例中,步骤S32中,设计随机加法饱和结构的具体方法为:设定有限状态机的状态数N和控制参数比特流,实现增益因子为G的线性增益单元。将内积运算单元的输出位流输入至线性增益单元进行增益放大,将超出[-1,1]范围的信号值取值为范围的上下限,得到按线性增益缩放因子sg进行缩小的线性增益单元的输出位流,线性增益缩放因子的计算公式为:
sg=sdot/G
其中,G=2n且n∈N+,sdot表示内积运算单元的缩放因子。
在本发明实施例中,步骤S33中,进行偏置加法运算的具体方法为:将线性增益缩放因子sg和偏置参数缩放因子sb中的较大值作为共同缩放因子s′,计算线性增益单元的重缩放因子sg′与偏置参数的重缩放因子sb′并对线性增益单元的输出位流与偏置参数位流进行重新缩放,对重新缩放后的线性增益单元的输出位流与偏置参数位流进行偏置加法运算;
基于线性有限状态机设计激活函数,将偏置加法运算的结果输入至激活函数,得到基于随机加法饱和结构神经元的缩放因子sz和输出位流z。
在本发明实施例中,步骤S33中,共同缩放因子s′的计算公式为:
s′=max{sg,sb}
其中,sg表示线性增益缩放因子,sb表示偏置参数缩放因子;
若sg>sb,则计算偏置参数的重缩放因子sb′,并对偏置参数位流进行重新缩放;若sb>sg,则计算线性增益单元的重缩放因子sg′,并对线性增益单元的输出位流进行重新缩放,偏置参数的重缩放因子sb′和线性增益单元的重缩放因子sg′的计算公式分别为:
步骤S33中,基于随机加法饱和结构神经元的缩放因子sz的计算公式为:
sz=2·s′。
在本发明实施例中,步骤S34中,进行贝叶斯神经网络前向推理的具体方法为:根据贝叶斯神经网络各层的公共缩放比例参数sL,计算对应神经元的重缩放因子sz′,并对神经元的输出位流进行重新缩放,进行贝叶斯神经网络的前向推理,公共缩放比例参数sL的计算公式为:
其中,sz表示基于随机加法饱和结构神经元的缩放因子,i表示神经元所在的网络层,n表示第i层的神经元个数;
神经元的重缩放因子的计算公式sz′为:
在本发明实施例中,步骤S36中,调整增益因子的具体方法为:基于饱和因子K计算线性增益因子G,根据基于随机计算的贝叶斯神经网络分类准确率,按照G=2n且n∈N+的约束条件依次增大或减小线性增益因子G的数值,对其进行调节;其中,线性增益因子G的具体计算方法为:以浮点形式的输入数据、权重参数和偏置参数进行运算,得到基于浮点运算的贝叶斯神经网络各层输出信号的分布范围,确定设定分布范围内的输出信号所在区间的绝对值,作为该层的饱和因子K,根据饱和因子K计算线性增益因子G,并将其取整为2n的正整数,线性增益因子G的计算公式为:
G=sdot/K
其中,sdot表示内积运算单元的缩放因子。
在本发明实施例中,以对MNIST数据集进行图像分类的贝叶斯神经网络为例,对本发明提出的技术方案进行具体说明:
以MNIST数据库中的部分手写数字图像作为贝叶斯神经网络的输入数据,设置网络的输入神经元个数为手写体数字图像的像素数据28*28,输出神经元个数为对输入图片内容的判断分类结果10,隐含层神经元个数为500。基于训练好的贝叶斯神经网络,采集权重的均值作为权重参数,采集偏置的均值作为偏置参数。提取并绘制训练所得的贝叶斯神经网络权重参数与偏置参数,以隐含层为例,所选贝叶斯神经网络隐含层的权重与偏置参数的分布如图4(a)和图4(b)所示。
初步设置线性增益单元的增益因子数G=1,按实施例中所述步骤搭建基于随机加法饱和结构的神经元,得到基于随机计算的贝叶斯神经网络。该例中,调整增益因子的具体方法如下:
以浮点形式的数据进行运算,提取并绘制仿真得到的贝叶斯神经网络不同层内积运算与偏置加法运算的输出信号值,其分布近似于正态分布,即位于分布中间区域信号频率高,位于分布边缘区域的信号频率低。以隐含层为例,所选贝叶斯神经网络隐含层的内积与偏置加法输出信号值的分布如图5(a)和图5(b)所示。对比仿真得到的贝叶斯神经网络输出信号值与计算得到的公共缩放比例参数,结果表明仿真得到的输出信号明显小于计算得到的公共缩放比例参数。根据仿真所得输出信号值的分布频率与分布范围,选择90%以上的输出信号所在区间的绝对值作为饱和因子K。为方便硬件实现,通常选定满足K=2n且n∈N+条件的数值。此例中,隐含层中内积运算与偏置加法运算90%以上的输出信号均位于[-25,25]的范围内,因此初步选择饱和因子K=25,从而计算得到增益因子G的值。合理设定有限状态机的状态数和控制参数比特流,设计实现具有所需特定增益因子的线性增益单元。由此,即可实现对随机加法输出位流中绝大多数信号的按比例放大,以及将少量超出[-1,1]范围的信号取值为范围的上下限。
确定新的增益因子后,重新以随机计算和浮点运算的方式进行若干次贝叶斯神经网络的前向推理,对前向推理输出分别取均值作为对应的贝叶斯神经网络的最终输出结果,并得到对应的分类准确率。对比二者的分类准确率,若分类准确率的差值低于设定阈值,说明已利用随机计算注入满足贝叶斯神经网络预期随机分布的合理误差,因此将该贝叶斯神经网络作为合格贝叶斯神经网络;否则再根据实际的分类准确率按照G=2n且n∈N+的约束条件依次增大或减小线性增益因子G的数值,对其进行更为精确的调节。最后,利用基于随机计算的合格贝叶斯神经网络对待分类图像数据集中的其余图像数据进行分类。
本发明的工作原理及过程为:本发明面向贝叶斯神经网络,提出一种基于随机加法饱和结构的贝叶斯神经网络的图像分类方法。旨在通过引入线性增益单元,实现饱和加法,有效调节随机加法中由于缩放引入的精度损失,从而在基于随机计算的贝叶斯神经网络中合理注入误差,实现贝叶斯神经网络计算过程与误差注入的统一。
本发明的有益效果为:
(1)本发明利用基于随机计算的贝叶斯神经网络随机计算进行图像分类,实现了贝叶斯神经网络推理过程与误差注入的统一,相比于利用传统贝叶斯神经网络进行图像分类,有效降低了硬件开销。
(1)本发明中,在贝叶斯神经网络神经元结构中的累加多路选择器输出端添加线性增益单元,得到随机加法饱和结构,一定程度上减小了由于过大的缩放比例导致的严重误差,从而平衡随机加法中的缩放误差以及饱和误差,保证合格的贝叶斯神经网络的图像分类准确性。
(2)本发明中,通过调节线性增益因子的大小来改变随机加法的缩放程度,从而合理控制随机计算注入的误差水平,为贝叶斯神经网络的误差控制提供了良好的灵活性,保证了贝叶斯神经网络的工作性能。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (9)
1.一种基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,包括以下步骤:
S1:采集待分类图像数据集中的部分图像数据作为贝叶斯神经网络的输入数据,提取训练得到的贝叶斯神经网络的权重参数和偏置参数;
S2:对贝叶斯神经网络的输入数据、权重参数和偏置参数进行处理,将其转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流;
S3:根据输入数据位流、权重参数位流和偏置参数位流,搭建基于随机加法饱和结构的神经元,得到基于随机计算的合格贝叶斯神经网络;
具体地,所述步骤S3包括以下子步骤:
S31:利用异或门电路和累加多路选择器构成内积运算单元,并通过异或门电路对输入数据位流和权重参数位流进行乘积运算,通过累加多路选择器对乘积运算的结果进行累加运算,得到内积运算单元的输出位流;
S32:基于线性增益单元设计随机加法饱和结构,利用线性增益单元对内积运算单元的输出位流进行增益放大,并将增益放大后超出[-1,1]范围且大于1的信号取值为[-1,1]范围的上限值1,并将增益放大后超出[-1,1]范围且小于-1的信号取值为[-1,1]范围的下限值-1,得到线性增益单元的缩放因子和输出位流;
S33:利用多路选择器对线性增益单元的输出位流和偏置参数位流进行偏置加法运算,得到基于随机加法饱和结构神经元的缩放因子和输出位流;
S34:计算贝叶斯神经网络中各个神经元节点的缩放因子,将贝叶斯神经网络同一层中各个神经元节点的最大缩放因子作为该层的公共缩放比例参数,搭建基于随机计算的贝叶斯神经网络,进行贝叶斯神经网络的前向推理并得到其输出位流;
S35:利用计数器构成后向转换电路,并利用后向转换电路将贝叶斯神经网络的输出位流转换为浮点数据,并按输出层的公共缩放比例参数对其进行按比例放大,得到贝叶斯神经网络单次前向推理的输出结果;
S36:分别以随机计算和浮点运算的方式进行若干次贝叶斯神经网络的前向推理,对前向推理输出分别取均值作为对应的贝叶斯神经网络的最终输出结果,并得到对应的图像分类准确率,对比基于随机计算的贝叶斯神经网络图像分类准确率和基于浮点运算的贝叶斯神经网络图像分类准确率,若两者分类准确率的差值低于设定阈值,则将该基于随机计算的贝叶斯神经网络作为合格贝叶斯神经网络,否则调整增益因子,并将新的增益因子返回步骤S32;
S4:利用基于随机计算的合格贝叶斯神经网络对待分类图像数据集中的其余图像数据进行分类。
2.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S2包括以下子步骤:
S21:利用缩放因子s分别对贝叶斯神经网络的输入数据、权重参数和偏置参数进行缩减,得到位于[-1,1]范围内的浮点输入数据、浮点权重参数和浮点偏置参数;
S22:利用线性反馈移位寄存器和比较器构成前向转换电路,并通过前向转换电路分别将浮点输入数据、浮点权重参数和浮点偏置参数转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流。
4.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S31中,内积运算单元的输出位流为按内积运算单元的缩放因子sdot进行缩小的随机位流,内积运算单元的缩放因子Sdot的计算公式为:
Sdot=N·Sw·Sx
其中,N表示累加多路选择器的输入个数,sw表示权重参数的缩放因子,sx表示输入数据的缩放因子。
5.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S32中,设计随机加法饱和结构的具体方法为:设定有限状态机的状态数N和控制参数比特流,实现增益因子为G的线性增益单元,将内积运算单元的输出位流输入至线性增益单元进行增益放大,将超出[-1,1]范围的信号值取值为范围的上下限,得到按线性增益缩放因子sg进行缩小的线性增益单元的输出位流,线性增益缩放因子的计算公式为:
Sg=Sdot/G
其中,G=2n且n∈N+,Sdot表示内积运算单元的缩放因子。
6.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S33中,进行偏置加法运算的具体方法为:将线性增益缩放因子sg和偏置参数缩放因子sb中的较大值作为共同缩放因子s′,计算线性增益单元的重缩放因子sg′与偏置参数的重缩放因子sb′并对线性增益单元的输出位流与偏置参数位流进行重新缩放,对重新缩放后线性增益单元的输出位流与偏置参数位流进行偏置加法运算;
基于线性有限状态机设计激活函数,将偏置加法运算的结果输入至激活函数,得到基于随机加法饱和结构神经元的缩放因子sz和输出位流z。
9.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S36中,调整增益因子的具体方法为:基于饱和因子K计算线性增益因子G,根据基于随机计算的贝叶斯神经网络分类准确率,按照G=2n且n∈N+的约束条件依次增大或减小线性增益因子G的数值,对其进行调节;其中,线性增益因子G的具体计算方法为:以浮点形式的输入数据、权重参数和偏置参数进行运算,得到基于浮点运算的贝叶斯神经网络各层输出信号的分布范围,确定设定分布范围内的输出信号所在区间的绝对值,作为该层的饱和因子K,根据饱和因子K计算线性增益因子G,并将其取整为2n的正整数,线性增益因子G的计算公式为:
G=Sdot/K
其中,Sdot表示内积运算单元的缩放因子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110544588.7A CN113516170B (zh) | 2021-05-19 | 2021-05-19 | 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110544588.7A CN113516170B (zh) | 2021-05-19 | 2021-05-19 | 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113516170A CN113516170A (zh) | 2021-10-19 |
CN113516170B true CN113516170B (zh) | 2023-05-23 |
Family
ID=78064483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110544588.7A Active CN113516170B (zh) | 2021-05-19 | 2021-05-19 | 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113516170B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240025B (zh) * | 2021-05-19 | 2022-08-12 | 电子科技大学 | 一种基于贝叶斯神经网络权重约束的图像分类方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317962A (zh) * | 2008-12-12 | 2012-01-11 | 纽约市哥伦比亚大学理事会 | 机器优化装置、方法和系统 |
CN102928813A (zh) * | 2012-10-19 | 2013-02-13 | 南京大学 | 基于rssi质心加权算法的无源rfid标签定位方法 |
CN103299307A (zh) * | 2011-08-23 | 2013-09-11 | 华为技术有限公司 | 用于估计量化索引的概率分布的估计器 |
CN111062481A (zh) * | 2019-12-02 | 2020-04-24 | 北京航空航天大学青岛研究院 | 基于随机计算理论的贝叶斯网络推理方法 |
CN111260021A (zh) * | 2018-11-30 | 2020-06-09 | 百度(美国)有限责任公司 | 预测深度学习缩放 |
CN111602150A (zh) * | 2017-10-31 | 2020-08-28 | 巴比伦合伙有限公司 | 计算机实现的确定方法和系统 |
CN111782799A (zh) * | 2020-06-30 | 2020-10-16 | 湖南大学 | 基于复制机制和变分神经推理的增强性文本摘要生成方法 |
CN112001393A (zh) * | 2020-07-06 | 2020-11-27 | 西安电子科技大学 | 一种特定字符识别fpga实现方法、系统、存储介质及应用 |
CN112001454A (zh) * | 2020-09-08 | 2020-11-27 | 中国联合网络通信集团有限公司 | 一种集客专线的聚类方法和装置 |
CN112698811A (zh) * | 2021-01-11 | 2021-04-23 | 湖北大学 | 神经网络随机数发生器共享电路、共享方法、处理器芯片 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11125655B2 (en) * | 2005-12-19 | 2021-09-21 | Sas Institute Inc. | Tool for optimal supersaturated designs |
US10019470B2 (en) * | 2013-10-16 | 2018-07-10 | University Of Tennessee Research Foundation | Method and apparatus for constructing, using and reusing components and structures of an artifical neural network |
US11315012B2 (en) * | 2018-01-12 | 2022-04-26 | Intel Corporation | Neural network training using generated random unit vector |
-
2021
- 2021-05-19 CN CN202110544588.7A patent/CN113516170B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317962A (zh) * | 2008-12-12 | 2012-01-11 | 纽约市哥伦比亚大学理事会 | 机器优化装置、方法和系统 |
CN103299307A (zh) * | 2011-08-23 | 2013-09-11 | 华为技术有限公司 | 用于估计量化索引的概率分布的估计器 |
CN102928813A (zh) * | 2012-10-19 | 2013-02-13 | 南京大学 | 基于rssi质心加权算法的无源rfid标签定位方法 |
CN111602150A (zh) * | 2017-10-31 | 2020-08-28 | 巴比伦合伙有限公司 | 计算机实现的确定方法和系统 |
CN111260021A (zh) * | 2018-11-30 | 2020-06-09 | 百度(美国)有限责任公司 | 预测深度学习缩放 |
CN111062481A (zh) * | 2019-12-02 | 2020-04-24 | 北京航空航天大学青岛研究院 | 基于随机计算理论的贝叶斯网络推理方法 |
CN111782799A (zh) * | 2020-06-30 | 2020-10-16 | 湖南大学 | 基于复制机制和变分神经推理的增强性文本摘要生成方法 |
CN112001393A (zh) * | 2020-07-06 | 2020-11-27 | 西安电子科技大学 | 一种特定字符识别fpga实现方法、系统、存储介质及应用 |
CN112001454A (zh) * | 2020-09-08 | 2020-11-27 | 中国联合网络通信集团有限公司 | 一种集客专线的聚类方法和装置 |
CN112698811A (zh) * | 2021-01-11 | 2021-04-23 | 湖北大学 | 神经网络随机数发生器共享电路、共享方法、处理器芯片 |
Non-Patent Citations (4)
Title |
---|
Simone Scardapane等.Bayesian Random Vector Functional-Link Networks for Robust Data Modeling.《IEEE Transactions on Cybernetics》.2018,第48卷(第7期),第2049-2059页. * |
Tomas Figliolia等.An FPGA multiprocessor architecture for Bayesian online change point detection using stochastic computation.《Microprocessors and Microsystems》.2020,第74卷第1-11页. * |
丁春辉.大规模MIMO低复杂度检测的设计与实现.《中国优秀硕士学位论文全文数据库 信息科技辑》.2019,(第10期),第I136-136页. * |
曹威.高效的贝叶斯推理电路设计及应用.《中国优秀硕士学位论文全文数据库 信息科技辑》.2020,(第1期),第I137-68页. * |
Also Published As
Publication number | Publication date |
---|---|
CN113516170A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109472353B (zh) | 一种卷积神经网络量化电路及量化方法 | |
CN109214509B (zh) | 一种用于深度神经网络高速实时量化结构和运算实现方法 | |
CN110688088B (zh) | 一种面向神经网络的通用非线性激活函数计算装置和方法 | |
CN111612147A (zh) | 深度卷积网络的量化方法 | |
CN111310890B (zh) | 深度学习模型的优化方法、装置及终端设备 | |
CN111737743A (zh) | 一种深度学习差分隐私保护方法 | |
CN113516170B (zh) | 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 | |
CN116416561A (zh) | 一种视频图像处理方法和装置 | |
CN111507465B (zh) | 一种可配置的卷积神经网络处理器电路 | |
CN110111266B (zh) | 一种基于深度学习去噪的近似信息传递算法改进方法 | |
CN107644252A (zh) | 一种多机制混合的递归神经网络模型压缩方法 | |
CN111191742A (zh) | 一种用于多源异构数据流的滑动窗口长度自适应调整方法 | |
CN101163239B (zh) | 一种新的矢量量化初始码书的生成方法 | |
CN114116707A (zh) | 确定联合学习中参与方贡献度的方法及装置 | |
Xu et al. | Signprox: One-bit proximal algorithm for nonconvex stochastic optimization | |
CN103824285A (zh) | 一种基于蝙蝠优化模糊聚类的图像分割方法 | |
WO2020253692A1 (zh) | 一种针对深度学习网络参数的量化方法 | |
CN113516172B (zh) | 基于随机计算贝叶斯神经网络误差注入的图像分类方法 | |
CN108449091A (zh) | 一种基于近似计算的极化码置信传播译码方法及译码器 | |
CN110837885B (zh) | 一种基于概率分布的Sigmoid函数拟合方法 | |
CN111797979A (zh) | 基于lstm模型的振动传递系统 | |
CN113516171B (zh) | 基于贝叶斯神经网络随机加法分解结构的图像分类方法 | |
CN113763710B (zh) | 一种基于非线性自适应系统的短期交通流预测方法 | |
WO2022121979A1 (zh) | 内环值的调整方法和装置、存储介质及电子装置 | |
CN115510915A (zh) | 一种基于门控循环网络原理的已知雷达信号分选方法 |
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 |