CN113516172A - 基于随机计算贝叶斯神经网络误差注入的图像分类方法 - Google Patents

基于随机计算贝叶斯神经网络误差注入的图像分类方法 Download PDF

Info

Publication number
CN113516172A
CN113516172A CN202110545001.4A CN202110545001A CN113516172A CN 113516172 A CN113516172 A CN 113516172A CN 202110545001 A CN202110545001 A CN 202110545001A CN 113516172 A CN113516172 A CN 113516172A
Authority
CN
China
Prior art keywords
bit stream
neural network
parameter
bias
bayesian neural
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.)
Granted
Application number
CN202110545001.4A
Other languages
English (en)
Other versions
CN113516172B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202110545001.4A priority Critical patent/CN113516172B/zh
Publication of CN113516172A publication Critical patent/CN113516172A/zh
Application granted granted Critical
Publication of CN113516172B publication Critical patent/CN113516172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification 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/24155Bayesian classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Neurology (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于随机计算贝叶斯神经网络误差注入的图像分类方法,包括以下步骤:S1:对输入数据、权重参数和偏置参数进行缩放;S2:通过前向转换电路将缩放后的浮点输入数据、浮点权重参数和浮点偏置参数转换为随机位流形式;S3:搭建贝叶斯神经网络的随机计算神经元结构;S4:计算各个神经元节点的缩放比例,进行前向推理;S5:将输出位流转换为浮点形式,得到单次推理的输出结果;S6:重复步骤S4‑S5,取均值,并作为分类结果。本发明所提供的基于贝叶斯神经网络误差注入的图像分类方法,利用随机计算固有的噪声特性,无需引入额外的误差注入电路,实现了贝叶斯神经网络推理过程中计算与误差注入的统一。

Description

基于随机计算贝叶斯神经网络误差注入的图像分类方法
技术领域
本发明属于图像处理技术领域,具体涉及一种基于随机计算贝叶斯神经网络误差注入的图像分类方法。
背景技术
贝叶斯神经网络(BNNs)的各个权值与阈值都以随机分布的形式来表示,是一个服从于后验随机分布的随机数,即在神经网络模型中引入贝叶斯推理算法。其算法本质在于:以不同的随机采样参数重复进行前向传播,以确定最终输出。考虑硬件层面的实现,需要额外的误差生成电路来注入误差,以满足符合网络每次计算随机性的预测分布。这对于传统的CMOS电路而言是一个巨大的挑战。
针对贝叶斯神经网络硬件实现,传统的误差注入方法为:设计高斯随机数发生器,产生符合ε~N(0,1)的单位随机变量,对其进行平移和缩放,从而得到各个权值的随机分布。该方法中的局限性在于:高斯随机数发生器引入了大量资源开销;另一种新颖的误差注入方法为:利用模拟电阻式随机存取存储器(RRAM)的固有随机噪声特性,来实现贝叶斯神经网络所需的随机分布。该方法的局限性在于:RRAM是一种新型存储器件,相对于传统的CMOS器件,并未得到广泛的应用。
发明内容
本发明的目的是为了解决图像分类的问题,提出了一种基于随机计算贝叶斯神经网络误差注入的图像分类方法。
本发明的技术方案是:一种基于随机计算贝叶斯神经网络误差注入的图像分类方法,包括以下步骤:
S1:采集图像数据集作为贝叶斯神经网络的输入数据,采集贝叶斯神经网络训练所得的权重参数和偏置参数,对贝叶斯神经网络浮点形式的输入数据、权重参数和偏置参数进行缩放;
S2:利用线性反馈移位寄存器和比较器构成前向转换电路,并通过前向转换电路分别将缩放后的浮点输入数据、浮点权重参数和浮点偏置参数转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流;
S3:根据输入数据位流、权重参数位流和偏置参数位流,搭建贝叶斯神经网络的随机计算神经元结构;
S4:计算贝叶斯神经网络中各个神经元节点的缩放比例,将贝叶斯神经网络同一层中各个神经元节点的最大缩放比例作为该层的公共缩放比例参数,并以随机计算的方式进行贝叶斯神经网络的前向推理;
S5:利用计数器构成的后向转换电路将前向推理得到的输出位流转换为浮点形式,并按输出层的公共缩放比例参数对其进行按比例放大,得到贝叶斯神经网络单次推理的输出结果;
S6:重复步骤S4-S5,将输出结果取均值,并作为贝叶斯神经网络对图像数据集的分类结果,完成图像分类。
进一步地,步骤S1中,贝叶斯神经网络的权重和偏置均为训练所得的网络参数,符合均值为μ且方差为σ的高斯分布,将权重的均值作为权重参数w,将偏置的均值作为偏置参数b;
步骤S1中,对贝叶斯神经网络的输入数据x、权重参数w和偏置参数b进行缩放的具体方法为:利用对应的缩放因子s分别对贝叶斯神经网络的输入数据x、权重参数w和偏置参数b进行按比例缩放,将其限制于随机计算的表示范围[-1,1]内,得到缩放后的浮点输入数据xf、浮点权重参数wf和浮点偏置参数bf
进一步地,缩放后的浮点输入数据xf、浮点权重参数wf和浮点偏置参数bf的计算公式分别为:
Figure BDA0003073215290000031
Figure BDA0003073215290000032
Figure BDA0003073215290000033
缩放因子s的计算公式为:
Figure BDA0003073215290000034
其中,sx表示输入数据x的缩放因子,sw表示权重参数w的缩放因子,sb表示偏置参数b的缩放因子,m表示数据范围的左界限,n表示数据范围的右界限,log(·)表示对数运算。
进一步地,步骤S3中,搭建贝叶斯神经网络的随机计算神经元的具体方法为:
S31:将异或门电路和多路复用器作为随机计算神经元结构的内积运算单元,利用异或门电路对输入数据位流x′和权重参数位流w′进行乘积运算,并利用多路复用器对乘积运算结果进行累加,其输出的累加结果为按内积运算单元的缩放因子sdot缩小的位流;
S32:将多路复用器作为随机计算神经元结构的偏置加法单元,计算内积运算单元的输出位流y和偏置参数位流b'的共同缩放因子s′,以共同缩放因子s′重新缩放内积运算单元的输出位流y和偏置参数位流b',并对其进行加法运算,得到偏置加法单元的输出位流和缩放因子sbias
S33:基于线性有限状态机确定激活函数,将偏置加法单元的输出位流输入至激活函数,得到神经元结构的缩放比例sz和输出位流z,完成随机计算神经元结构的搭建。
进一步地,步骤S31中,内积运算单元的缩放因子sdot的计算公式为:
sdot=N·sw·sx
其中,N表示内积运算单元的输入个数,sw表示权重参数w的缩放因子,sx表示输入数据x的缩放因子。
进一步地,步骤S32中,偏置加法单元的缩放因子sbias的确定方法为:将内积运算单元的缩放因子sdot和偏置参数b的缩放因子sb的最大值作为共同缩放因子s′,共同缩放因子s′的计算公式为:
s′=max{sdot,sb}
若sdot>sb,则计算偏置参数位流b'的重缩放因子sb′,并对偏置参数位流b'进行重新缩放;若sb>sdot,则计算内积运算单元的重缩放因子sdot′,并对内积运算单元输出位流y进行重新缩放,偏置参数位流b'的重缩放因子sb′和内积运算单元的重缩放因子sdot′的计算公式分别为:
Figure BDA0003073215290000041
Figure BDA0003073215290000042
偏置加法单元对重新缩放后的内积运算单元的输出位流y和偏置参数位流b'进行加法运算,因而偏置加法单元的缩放因子sbias的计算公式为:
sbias=2·s′。
进一步地,步骤S33中,由于激活函数不影响随机位流的缩放因子,神经元结构的缩放比例sz等于偏置加法单元的缩放因子sbias,神经元结构的缩放比例sz的计算公式为:
sz=sbias
本发明的有益效果是:本发明所提供的基于误差注入的图像分类方法,在贝叶斯神经网络的硬件实现中,利用随机计算固有的噪声特性,无需引入额外的误差注入电路,实现了贝叶斯神经网络推理过程中计算与误差注入的统一。由于随机计算能够以简单的门电路实现逻辑运算功能,因此在基于随机计算的贝叶斯神经网络保持与原有网络近似预测效果的同时,能够达到降低资源占用与硬件开销的效果,实现良好的图像分类效果。
附图说明
图1为图像分类方法的流程图;
图2为随机计算的前后向转换电路图;
图3为本发明中基于随机计算的贝叶斯神经网络的神经元内积运算结构图;
图4为基于随机计算的贝叶斯神经网络与浮点网络的分类准确率对比图。
具体实施方式
下面结合附图对本发明的实施例作进一步的说明。
如图1所示,本发明提供了一种基于随机计算贝叶斯神经网络误差注入的图像分类方法,包括以下步骤:
S1:采集图像数据集作为贝叶斯神经网络的输入数据,采集贝叶斯神经网络训练所得的权重参数和偏置参数,对贝叶斯神经网络浮点形式的输入数据、权重参数和偏置参数进行缩放;
S2:利用线性反馈移位寄存器和比较器构成前向转换电路,并通过前向转换电路分别将缩放后的浮点输入数据、浮点权重参数和浮点偏置参数转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流;
S3:根据输入数据位流、权重参数位流和偏置参数位流,搭建贝叶斯神经网络的随机计算神经元结构;
S4:计算贝叶斯神经网络中各个神经元节点的缩放比例,将贝叶斯神经网络同一层中各个神经元节点的最大缩放比例作为该层的公共缩放比例参数,并以随机计算的方式进行贝叶斯神经网络的前向推理;
S5:利用计数器构成的后向转换电路将前向推理得到的输出位流转换为浮点形式,并按输出层的公共缩放比例参数对其进行按比例放大,得到贝叶斯神经网络单次推理的输出结果;
S6:重复步骤S4-S5,将输出结果取均值,并作为贝叶斯神经网络对图像数据集的分类结果,完成图像分类。
在本发明实施例中,步骤S1中,贝叶斯神经网络的权重和偏置均为训练所得的网络参数,符合均值为μ且方差为σ的高斯分布,将权重的均值作为权重参数w,将偏置的均值作为偏置参数b;
步骤S1中,贝叶斯神经网络的权重和偏置均为训练所得的网络参数,符合均值为μ且方差为σ的高斯分布,将权重的均值作为权重参数w,将偏置的均值作为偏置参数b;
步骤S1中,对贝叶斯神经网络的输入数据x、权重参数w和偏置参数b进行缩放的具体方法为:利用对应的缩放因子s分别对贝叶斯神经网络的输入数据x、权重参数w和偏置参数b进行按比例缩放,将其限制于随机计算的表示范围[-1,1]内,得到缩放后的浮点输入数据xf、浮点权重参数wf和浮点偏置参数bf
在本发明实施例中,缩放后的浮点输入数据xf、浮点权重参数wf和浮点偏置参数bf的计算公式分别为:
Figure BDA0003073215290000061
Figure BDA0003073215290000062
Figure BDA0003073215290000063
缩放因子s的计算公式为:
Figure BDA0003073215290000071
其中,sx表示输入数据x的缩放因子,sw表示权重参数w的缩放因子,sb表示偏置参数b的缩放因子,m表示数据范围的左界限,n表示数据范围的右界限,log(·)表示对数运算。
在本发明实施例中,如图2所示,为本发明步骤S2中使用的随机计算的前、后向转换电路,其中,clk为时钟信号,en为使能信号。
在本发明实施例中,如图3所示,步骤S3中,搭建贝叶斯神经网络的随机计算神经元的具体方法为:
S31:将异或门电路和多路复用器作为随机计算神经元结构的内积运算单元,利用异或门电路对输入数据位流x′和权重参数位流w′进行乘积运算,并利用多路复用器对乘积运算结果进行累加,其输出的累加结果为按内积运算单元的缩放因子sdot缩小的位流;
S32:将多路复用器作为随机计算神经元结构的偏置加法单元,计算内积运算单元的输出位流y和偏置参数位流b'的共同缩放因子s′,以共同缩放因子s′重新缩放内积运算单元的输出位流y和偏置参数位流b',并对其进行加法运算,得到偏置加法单元的输出位流和缩放因子sbias
S33:基于线性有限状态机确定激活函数,将偏置加法单元的输出位流输入至激活函数,得到神经元结构的缩放比例sz和输出位流z,完成随机计算神经元结构的搭建。
在本发明实施例中,步骤S31中,内积运算单元的缩放因子sdot的计算公式为:
sdot=N·sw·sx
其中,N表示内积运算单元的输入个数,sw表示权重参数w的缩放因子,sx表示输入数据x的缩放因子。
在本发明实施例中,步骤S32中,偏置加法单元的缩放因子sbias的确定方法为:将内积运算单元的缩放因子sdot和偏置参数b的缩放因子sb的最大值作为共同缩放因子s′,共同缩放因子s′的计算公式为:
s'=max{sdot,sb}
若sdot>sb,sdot则计算偏置参数位流b'的重缩放因子sb′,并对偏置参数位流b'进行重新缩放;若sb>sdot,则计算内积运算单元的重缩放因子sdot′,并对内积运算单元输出位流y进行重新缩放,偏置参数位流b'的重缩放因子sb′和内积运算单元的重缩放因子sdot′的计算公式分别为:
Figure BDA0003073215290000081
Figure BDA0003073215290000082
偏置加法单元对重新缩放后的内积运算单元的输出位流y和偏置参数位流b'进行加法运算,因而偏置加法单元的缩放因子sbias的计算公式为:
sbias=2·s′。
在本发明实施例中,步骤S33中,由于激活函数不影响随机位流的缩放因子,神经元结构的缩放比例sz等于偏置加法单元的缩放因子sbias,神经元结构的缩放比例sz的计算公式为:
sz=sbias
在本发明实施例中,以对MNIST数据集进行图像分类的贝叶斯神经网络为例:
首先,确定贝叶斯神经网络的网络结构。设置网络的输入神经元个数为手写体数字图像的像素数据28*28,输出神经元个数为对输入图片内容的判断分类结果10,隐含层神经元个数为500。在此基础上,进行基于随机计算的贝叶斯神经网络图像分类任务。
(1)对贝叶斯神经网络的输入数据、权重参数和偏置参数进行按比例缩放。
基于训练好的贝叶斯神经网络,采集网络的输入数据x、采集权重的均值作为权重参数w,采集偏置的均值作为偏置参数b。确定通用的缩放因子s,对浮点形式的输入数据x、权重参数w,偏置参数b进行按比例缩放,将其限制于[-1,1]之内。缩放因子s表示为:
Figure BDA0003073215290000091
其中,m表示数据范围的左界限,n表示数据范围的右界限,log(·)表示对数运算,m≥0,n≥0,。
缩放后的浮点输入数据xf、浮点权重参数wf和浮点偏置参数bf分别表示为:
Figure BDA0003073215290000092
其中,sx表示输入数据x的缩放因子,sw表示权重参数w的缩放因子,sb表示偏置参数b的缩放因子。
(2)设计贝叶斯神经网络的前向转换单元。
设置拟生成的随机位流长度分别为2n(n∈N),利用随机数发生器生成随机数r∈[-1,1],将其与输入数据xf进行比较,若r>xf,则生成数字“1”,反之生成数字“0”,由此将浮点输入数据转换为不相关的随机位流。类似地,将浮点权重参数wf和浮点偏置参数bf转换为随机位流的形式。仿真比较上述不同随机位流长度用于数据表示的精度,选定合适的位流长度进行随机计算网络推理。
(3)搭建贝叶斯神经网络的随机计算神经元结构。
神经元的内积运算单元由异或门与多路复用器构成。利用异或门电路对输入数据位流x′和权重参数位流w′进行乘积运算,利用多路复用器累加乘积运算结果,内积运算单元的输出y为按内积运算单元的缩放因子sdot缩小的位流。内积单元的缩放因子sdot的计算公式为:
sdot=N·sw·sx
其中,N表示内积运算单元的输入个数,sw表示权重参数w的缩放因子,sx表示输入数据x的缩放因子。
神经元的偏置加法单元由多路复用器构成。由于当且仅当输入数据按相同比例缩减时,基于多路复用器的加法操作才有意义。因此需要对内积运算单元的输出位流y与偏置参数位流b'进行重新缩放。计算内积运算单元缩放因子sdot和偏置参数b的缩放因子sb的最大值,将其作为偏置加法单元的缩放因子s′,计算公式为:
s′=max{sdot,sb};
其中,sdot表示内积运算单元的缩放因子,sb表示偏置参数b的缩放因子。
若sdot>sb,则计算偏置参数位流的重缩放因子sb′,并对b'进行重新缩放;若sb>sdot,则计算内积运算单元的重缩放因子sdot′,并对y进行重新缩放。偏置参数位流b'的重缩放因子sb′和内积运算单元的重缩放因子sdot′的计算公式分别为:
Figure BDA0003073215290000101
Figure BDA0003073215290000102
偏置加法单元对重新缩放后的内积运算单元的输出位流y和偏置参数位流b'进行加法运算,其缩放因子sbias的计算公式为:
sbias=2·s′
神经元的激活函数由线性有限状态机(FSM)设计实现,由于激活函数不影响随机位流的缩放系数。因此神经元结构的缩放比例sz等于偏置加法单元的缩放因子,神经元结构的缩放比例sz的计算公式为:
sz=sbias
(4)进行基于随机计算的贝叶斯神经网络前向推理。
计算贝叶斯神经网络中各个神经元节点的缩放比例,将贝叶斯神经网络同一层中各个神经元节点的最大缩放比例作为该层的公共缩放比例参数,将其用于整个网络中的数据传播,以随机计算的方式进行贝叶斯神经网络的前向推理。
(5)设计贝叶斯神经网络的后向转换单元。
以计数器作为后向转换电路,通过计数器统计输出随机位流中“1”的个数,将“1”的个数除以随机位流长度,计算其浮点数值。按输出层的公共缩放比例参数对其进行按比例放大,得到贝叶斯神经网络单次推理的输出结果。
(6)重复贝叶斯神经网络的前向推理,完成图像分类。
重复进行多次上述基于随机计算的贝叶斯神经网络前向推理,将输出结果取均值,得到图像分类结果。如若网络分类效果符合预期,则表明随机计算各个环节注入的误差符合贝叶斯神经网络误差的预定分布;如若网络分类效果未达到预期,则根据网络对MNIST数据集的分类准确率结果,基于已确定的缩放比例因子,对神经元运算中包括内积运算单元、偏置加法单元在内的按比例加法电路的缩放因子逐步进行微调,以改变数据缩放注入的误差水平。
不同位流长度下,基于随机计算的贝叶斯神经网络与浮点网络的分类准确率对比如图4所示。结果表明:利用随机计算固有的噪声特性,能够实现贝叶斯神经网络推理过程中计算与误差注入的统一。
本发明的工作原理及过程为:本发明提供的面向贝叶斯神经网络误差注入的图像分类方法,旨在有效处理贝叶斯神经网络的推理阶段,属于前向神经网络的范畴。基于任意训练好的贝叶斯神经网络,将其转化成为等效的随机计算网络模型。
由于随机计算具有固有的误差特性,多次采集随机计算网络推理结果的输出,可以得到一个近似正态分布的结果。此过程中,控制随机计算各部分引入的误差,以满足符合贝叶斯神经网络每次计算随机性的预测分布,从而完成贝叶斯神经网络的误差注入并实现网络的整体功能。首先,前向转换中,以随机数发生器分别生成不相关的随机位流用于后续计算过程,降低随机位流的相关性以有效减小随机波动引入的计算误差;其次,选定随机位流长度并加以调节,选择能够使浮点数据得到相对精确表示的随机位流长度,以尽可能减小前向转换与后向转换过程中由于浮点数据与随机序列之间相互转换引入的舍入误差;网络推理中,将随机计算缩放引入的误差注入贝叶斯神经网络。综合考虑输入数据、缩放参数和网络兼容系数等因素,确保整个随机计算网络中各个层的输出与下一级输入所需的格式兼容。根据图像分类任务的准确率结果,对已确定的缩放比例因子逐步进行微调,进一步有效控制随机计算中缩放引入的误差。
本发明的有益效果为:本发明所提供的基于误差注入的图像分类方法,利用随机计算固有的噪声特性,无需引入额外的误差注入电路,实现了贝叶斯神经网络推理过程中计算与误差注入的统一。由于随机计算能够以简单的门电路实现逻辑运算功能,因此在基于随机计算的贝叶斯神经网络保持与原有网络近似预测效果的同时,能够达到降低资源占用与硬件开销的效果,实现良好的图像分类效果。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (7)

1.一种基于随机计算贝叶斯神经网络误差注入的图像分类方法,其特征在于,包括以下步骤:
S1:采集图像数据集作为贝叶斯神经网络的输入数据,采集贝叶斯神经网络训练所得的权重参数和偏置参数,对贝叶斯神经网络浮点形式的输入数据、权重参数和偏置参数进行缩放;
S2:利用线性反馈移位寄存器和比较器构成前向转换电路,并通过前向转换电路分别将缩放后的浮点输入数据、浮点权重参数和浮点偏置参数转换为随机位流形式,得到输入数据位流、权重参数位流和偏置参数位流;
S3:根据输入数据位流、权重参数位流和偏置参数位流,搭建贝叶斯神经网络的随机计算神经元结构;
S4:计算贝叶斯神经网络中各个神经元节点的缩放比例,将贝叶斯神经网络同一层中各个神经元节点的最大缩放比例作为该层的公共缩放比例参数,并以随机计算的方式进行贝叶斯神经网络的前向推理;
S5:利用计数器构成的后向转换电路将前向推理得到的输出位流转换为浮点形式,并按输出层的公共缩放比例参数对其进行按比例放大,得到贝叶斯神经网络单次推理的输出结果;
S6:重复步骤S4-S5,将输出结果取均值,并作为贝叶斯神经网络对图像数据集的分类结果,完成图像分类。
2.根据权利要求1所述的基于随机计算贝叶斯神经网络误差注入的图像分类方法,其特征在于,所述步骤S1中,贝叶斯神经网络的权重和偏置均为训练所得的网络参数,符合均值为μ且方差为σ的高斯分布,将权重的均值作为权重参数w,将偏置的均值作为偏置参数b;
所述步骤S1中,对贝叶斯神经网络的输入数据x、权重参数w和偏置参数b进行缩放的具体方法为:利用对应的缩放因子s分别对贝叶斯神经网络的输入数据x、权重参数w和偏置参数b进行按比例缩放,将其限制于随机计算的表示范围[-1,1]内,得到缩放后的浮点输入数据xf、浮点权重参数wf和浮点偏置参数bf
3.根据权利要求2所述的基于随机计算贝叶斯神经网络误差注入的图像分类方法,其特征在于,所述缩放后的浮点输入数据xf、浮点权重参数wf和浮点偏置参数bf的计算公式分别为:
Figure FDA0003073215280000021
Figure FDA0003073215280000022
Figure FDA0003073215280000023
缩放因子s的计算公式为:
Figure FDA0003073215280000024
其中,sx表示输入数据x的缩放因子,sw表示权重参数w的缩放因子,sb表示偏置参数b的缩放因子,m表示数据范围的左界限,n表示数据范围的右界限,log(·)表示对数运算。
4.根据权利要求1所述的基于随机计算贝叶斯神经网络误差注入的图像分类方法,其特征在于,所述步骤S3中,搭建贝叶斯神经网络的随机计算神经元的具体方法为:
S31:将异或门电路和多路复用器作为随机计算神经元结构的内积运算单元,利用异或门电路对输入数据位流x′和权重参数位流w′进行乘积运算,并利用多路复用器对乘积运算结果进行累加,其输出的累加结果为按内积运算单元的缩放因子sdot缩小的位流;
S32:将多路复用器作为随机计算神经元结构的偏置加法单元,计算内积运算单元的输出位流y和偏置参数位流b'的共同缩放因子s′,以共同缩放因子s′重新缩放内积运算单元的输出位流y和偏置参数位流b',并对其进行加法运算,得到偏置加法单元的输出位流和缩放因子sbias
S33:基于线性有限状态机确定激活函数,将偏置加法单元的输出位流输入至激活函数,得到神经元结构的缩放比例sz和输出位流z,完成随机计算神经元结构的搭建。
5.根据权利要求4所述的基于随机计算贝叶斯神经网络误差注入的图像分类方法,其特征在于,所述步骤S31中,内积运算单元的缩放因子sdot的计算公式为:
sdot=N·sw·sx
其中,N表示内积运算单元的输入个数,sw表示权重参数w的缩放因子,sx表示输入数据x的缩放因子。
6.根据权利要求4所述的基于随机计算贝叶斯神经网络误差注入的图像分类方法,其特征在于,所述步骤S32中,偏置加法单元的缩放因子sbias的确定方法为:将内积运算单元的缩放因子sdot和偏置参数b的缩放因子sb的最大值作为共同缩放因子s′,共同缩放因子s′的计算公式为:
s'=max{sdot,sb}
若sdot>sb,则计算偏置参数位流b'的重缩放因子sb′,并对偏置参数位流b'进行重新缩放;若sb>sdot,则计算内积运算单元的重缩放因子sdot′,并对内积运算单元输出位流y进行重新缩放,偏置参数位流b'的重缩放因子sb′和内积运算单元的重缩放因子sdot′的计算公式分别为:
Figure FDA0003073215280000031
Figure FDA0003073215280000041
偏置加法单元对重新缩放后的内积运算单元的输出位流y和偏置参数位流b'进行加法运算,因而偏置加法单元的缩放因子sbias的计算公式为:
sbias=2·s′。
7.根据权利要求4所述的基于随机计算贝叶斯神经网络误差注入的图像分类方法,其特征在于,所述步骤S33中,神经元结构的缩放比例sz等于偏置加法单元的缩放因子sbias,神经元结构的缩放比例sz的计算公式为:
sz=sbias
CN202110545001.4A 2021-05-19 2021-05-19 基于随机计算贝叶斯神经网络误差注入的图像分类方法 Active CN113516172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110545001.4A CN113516172B (zh) 2021-05-19 2021-05-19 基于随机计算贝叶斯神经网络误差注入的图像分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110545001.4A CN113516172B (zh) 2021-05-19 2021-05-19 基于随机计算贝叶斯神经网络误差注入的图像分类方法

Publications (2)

Publication Number Publication Date
CN113516172A true CN113516172A (zh) 2021-10-19
CN113516172B CN113516172B (zh) 2023-05-12

Family

ID=78064576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110545001.4A Active CN113516172B (zh) 2021-05-19 2021-05-19 基于随机计算贝叶斯神经网络误差注入的图像分类方法

Country Status (1)

Country Link
CN (1) CN113516172B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12001693B2 (en) 2022-06-22 2024-06-04 Western Digital Technologies, Inc. Data storage device with noise injection

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103713270A (zh) * 2013-10-31 2014-04-09 江苏绿扬电子仪器集团有限公司 针对逻辑分析仪前向通道的测试装置
CN106030620A (zh) * 2014-02-21 2016-10-12 高通股份有限公司 用于随机尖峰贝叶斯网络的基于事件的推断和学习
US20170223097A1 (en) * 2016-02-01 2017-08-03 Sas Institute Inc. Node device function and cache aware task assignment
CN107069716A (zh) * 2017-05-05 2017-08-18 山东大学 一种计及注入转移分布因子估计误差的鲁棒实时调度方法
US20190113572A1 (en) * 2017-10-18 2019-04-18 International Business Machines Corporation Determination and correction of physical circuit event related errors of a hardware design
US20190138882A1 (en) * 2017-11-07 2019-05-09 Samusung Electronics Co., Ltd. Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
CN110719115A (zh) * 2019-09-29 2020-01-21 中国工程物理研究院电子工程研究所 一种基于fpga的数字射频发射机
CN110852434A (zh) * 2019-09-30 2020-02-28 成都恒创新星科技有限公司 基于低精度浮点数的cnn量化方法、前向计算方法及装置
CN111062481A (zh) * 2019-12-02 2020-04-24 北京航空航天大学青岛研究院 基于随机计算理论的贝叶斯网络推理方法
CN111144558A (zh) * 2020-04-03 2020-05-12 深圳市九天睿芯科技有限公司 基于时间可变的电流积分和电荷共享的多位卷积运算模组
US20200302299A1 (en) * 2019-03-22 2020-09-24 Qualcomm Incorporated Systems and Methods of Cross Layer Rescaling for Improved Quantization Performance
WO2020227429A1 (en) * 2019-05-06 2020-11-12 Strong Force Iot Portfolio 2016, Llc Platform for facilitating development of intelligence in an industrial internet of things system
CN112001393A (zh) * 2020-07-06 2020-11-27 西安电子科技大学 一种特定字符识别fpga实现方法、系统、存储介质及应用
CN112534404A (zh) * 2019-03-15 2021-03-19 英特尔公司 用于矩阵加速器架构的稀疏优化

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103713270A (zh) * 2013-10-31 2014-04-09 江苏绿扬电子仪器集团有限公司 针对逻辑分析仪前向通道的测试装置
CN106030620A (zh) * 2014-02-21 2016-10-12 高通股份有限公司 用于随机尖峰贝叶斯网络的基于事件的推断和学习
US20170223097A1 (en) * 2016-02-01 2017-08-03 Sas Institute Inc. Node device function and cache aware task assignment
CN107069716A (zh) * 2017-05-05 2017-08-18 山东大学 一种计及注入转移分布因子估计误差的鲁棒实时调度方法
US20190113572A1 (en) * 2017-10-18 2019-04-18 International Business Machines Corporation Determination and correction of physical circuit event related errors of a hardware design
US20190138882A1 (en) * 2017-11-07 2019-05-09 Samusung Electronics Co., Ltd. Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
CN112534404A (zh) * 2019-03-15 2021-03-19 英特尔公司 用于矩阵加速器架构的稀疏优化
US20200302299A1 (en) * 2019-03-22 2020-09-24 Qualcomm Incorporated Systems and Methods of Cross Layer Rescaling for Improved Quantization Performance
WO2020227429A1 (en) * 2019-05-06 2020-11-12 Strong Force Iot Portfolio 2016, Llc Platform for facilitating development of intelligence in an industrial internet of things system
CN110719115A (zh) * 2019-09-29 2020-01-21 中国工程物理研究院电子工程研究所 一种基于fpga的数字射频发射机
CN110852434A (zh) * 2019-09-30 2020-02-28 成都恒创新星科技有限公司 基于低精度浮点数的cnn量化方法、前向计算方法及装置
CN111062481A (zh) * 2019-12-02 2020-04-24 北京航空航天大学青岛研究院 基于随机计算理论的贝叶斯网络推理方法
CN111144558A (zh) * 2020-04-03 2020-05-12 深圳市九天睿芯科技有限公司 基于时间可变的电流积分和电荷共享的多位卷积运算模组
CN112001393A (zh) * 2020-07-06 2020-11-27 西安电子科技大学 一种特定字符识别fpga实现方法、系统、存储介质及应用

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIA X等: ""SPINBIS:Spintronics-based Bayesian Inference System With Stochastic Computing"", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 *
TOMAS FIGLIOLIA等: ""An FPGA multiprocessor architecture for Bayesian online change point detection using stochastic computation"", 《MICROPROCESSORS AND MICROSYSTEMS》 *
周双酉等: ""基于经验似然贝叶斯计算方法在随机波动模型中的应用"", 《数学的实践与认识》 *
杨明等: ""计及注入转移分布因子估计误差的鲁棒实时调度"", 《电工技术学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12001693B2 (en) 2022-06-22 2024-06-04 Western Digital Technologies, Inc. Data storage device with noise injection

Also Published As

Publication number Publication date
CN113516172B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
Zamanlooy et al. Efficient VLSI implementation of neural networks with hyperbolic tangent activation function
CN109214509B (zh) 一种用于深度神经网络高速实时量化结构和运算实现方法
Brown et al. Stochastic neural computation. I. Computational elements
Parhami Efficient hamming weight comparators for binary vectors based on accumulative and up/down parallel counters
CN110377267B (zh) 一种基于概率计算集中序列的有符号数的加/减法器
Kagalkar et al. CORDIC based implementation of the softmax activation function
Kanigowski et al. Rigidity in dynamics and M\" obius disjointness
Rosselló et al. Probabilistic-based neural network implementation
Nojehdeh et al. Efficient hardware implementation of artificial neural networks using approximate multiply-accumulate blocks
Rios et al. LSPIA,(stochastic) gradient descent, and parameter correction
KR102340412B1 (ko) 스토캐스틱 연산을 위한 로그-양자화된 곱셈 및 누적기와 이를 포함하는 가속기
CN113516172A (zh) 基于随机计算贝叶斯神经网络误差注入的图像分类方法
CN113516171B (zh) 基于贝叶斯神经网络随机加法分解结构的图像分类方法
CN110837624A (zh) 一种针对sigmoid函数的近似计算装置
CN113516170B (zh) 基于贝叶斯神经网络随机加法饱和结构的图像分类方法
Li et al. Case studies of logical computation on stochastic bit streams
Tang et al. A delta sigma modulator-based stochastic divider
Aleksandrovich et al. A dual active set algorithm for optimal sparse convex regression
US20230004351A1 (en) Method and device for additive coding of signals in order to implement digital mac operations with dynamic precision
Ni et al. LBFP: Logarithmic block floating point arithmetic for deep neural networks
Acevedo-Mosqueda et al. A new model of BAM: Alpha-beta bidirectional associative memories
Min et al. A study on the stochastic computation using the ratio of one pulses and zero pulses
Nedjah et al. Stochastic reconfigurable hardware for neural networks
Jagadeeshkumar et al. A novel design of low power and high speed hybrid multiplier
Rudas et al. Generators of fuzzy operations for hardware implementation of fuzzy systems

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