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:利用线性反馈移位寄存器和比较器构成前向转换电路,并通过前向转换电路分别将浮点输入数据、浮点权重参数和浮点偏置参数转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流。
3.根据权利要求2所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S21中,缩放因子s的计算公式为:其中,m表示数据范围的左界限,n表示数据范围的右界限,log(·)表示对数运算。
4.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S31中,内积运算单元的输出位流为按内积运算单元的缩放因子sdot进行缩小的随机位流,内积运算单元的缩放因子Sdot的计算公式为:Sdot=N·Sw·Sx
其中,N表示累加多路选择器的输入个数,sw表示权重参数的缩放因子,sx表示输入数据的缩放因子。
5.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S32中,设计随机加法饱和结构的具体方法为:设定有限状态机的状态数N和控制参数比特流,实现增益因子为G的线性增益单元,将内积运算单元的输出位流输入至线性增益单元进行增益放大,将超出[‑1,1]范围的信号值取值为范围的上下限,得到按线性增益缩放因子sg进行缩小的线性增益单元的输出位流,线性增益缩放因子的计算公式为:Sg=Sdot/G
n +
其中,G=2且n∈N,Sdot表示内积运算单元的缩放因子。
6.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S33中,进行偏置加法运算的具体方法为:将线性增益缩放因子sg和偏置参数缩放因子sb中的较大值作为共同缩放因子s′,计算线性增益单元的重缩放因子sg′与偏置参数的重缩放因子sb′并对线性增益单元的输出位流与偏置参数位流进行重新缩放,对重新缩放后线性增益单元的输出位流与偏置参数位流进行偏置加法运算;
基于线性有限状态机设计激活函数,将偏置加法运算的结果输入至激活函数,得到基于随机加法饱和结构神经元的缩放因子sz和输出位流z。
7.根据权利要求6所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S33中,共同缩放因子s′的计算公式为:s′=max{sg,sb}
其中,sg表示线性增益缩放因子,sb表示偏置参数缩放因子;
若sg>sb,则计算偏置参数的重缩放因子sb′,并对偏置参数位流进行重新缩放;若sb>sg,则计算线性增益单元的重缩放因子sg′,并对线性增益单元的输出位流进行重新缩放,偏置参数的重缩放因子sb′和线性增益单元的重缩放因子sg′的计算公式分别为:所述步骤S33中,基于随机加法饱和结构神经元的缩放因子sz的计算公式为:sz=2·s′。
8.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S34中,进行贝叶斯神经网络前向推理的具体方法为:根据贝叶斯神经网络各层的公共缩放比例参数SL,计算对应神经元的重缩放因子sz′,并对神经元的输出位流进行重新缩放,进行贝叶斯神经网络的前向推理,公共缩放比例参数SL的计算公式为:其中,sz表示基于随机加法饱和结构神经元的缩放因子,i表示神经元所在的网络层,n表示第i层的神经元个数;
神经元的重缩放因子的计算公式sz′为:
9.根据权利要求1所述的基于贝叶斯神经网络随机加法饱和结构的图像分类方法,其特征在于,所述步骤S36中,调整增益因子的具体方法为:基于饱和因子K计算线性增益因子n +G,根据基于随机计算的贝叶斯神经网络分类准确率,按照G=2 且n∈N的约束条件依次增大或减小线性增益因子G的数值,对其进行调节;其中,线性增益因子G的具体计算方法为:以浮点形式的输入数据、权重参数和偏置参数进行运算,得到基于浮点运算的贝叶斯神经网络各层输出信号的分布范围,确定设定分布范围内的输出信号所在区间的绝对值,作为n该层的饱和因子K,根据饱和因子K计算线性增益因子G,并将其取整为2的正整数,线性增益因子G的计算公式为:G=Sdot/K
其中,Sdot表示内积运算单元的缩放因子。