一种基于贝叶斯神经网络权重约束的图像分类方法

文档序号:26232288发布日期:2021-08-10 16:33阅读:293来源:国知局
一种基于贝叶斯神经网络权重约束的图像分类方法

本发明属于神经网络技术领域,具体涉及一种基于贝叶斯神经网络权重约束的图像分类方法。



背景技术:

贝叶斯神经网络(bnns)的各个权值与阈值都以随机分布的形式来表示,是一个服从于后验随机分布的随机数,即在神经网络模型中引入贝叶斯推理算法。考虑贝叶斯神经网络的硬件实现,为降低实现权值与阈值的随机分布而引入额外的硬件开销,一种可行的方案为:利用随机计算的固有误差特性,产生满足网络每次运算中随机性的预定分布。由于随机计算所表示的数值范围有限,通常需要施加很大的缩放比例系数将表示的数值限制在固定范围内,这会引入大量误差。因此,搭建并训练得到性能表现良好的贝叶斯神经网络,获得数值范围更小的权重参数,是有效实现基于随机计算的贝叶斯神经网络推理的前提。

面向传统神经网络,进行权重约束的目的是降低模型的复杂程度,减少模型对训练数据的过度拟合。为取得数值范围更小的权重参数,可采取的方法主要包括:使用不同训练算法、设置较小的权重初始值、进行l2正则化等。面向贝叶斯神经网络,上述权重约束方法中,选取不同的训练算法、以及设置较小的权重初始值,能够一定程度上改变和缩小权重参数的数值范围,但其约束范围有限。l2正则化的方法相当于在原始损失函数中加入惩罚项,对复杂度高的模型进行“惩罚”,有效减小权重参数的分布范围。该方法通常用于减轻模型的过拟合,由于贝叶斯神经网络自身具有减轻过拟合现象的作用,因而未应用于贝叶斯神经网络的训练过程。



技术实现要素:

本发明的目的是为了解决权重约束的问题,提出了一种基于贝叶斯神经网络权重约束的图像分类方法。

本发明的技术方案是:一种基于贝叶斯神经网络权重约束的图像分类方法包括以下步骤:

s1:采集待处理图像数据集,将待处理图像数据集划分为训练集和测试集,并对其进行数据增强的预处理操作;

s2:根据预处理后的待处理图像数据集,搭建用于图像分类任务的贝叶斯神经网络;

s3:基于变分推理方法,利用训练集训练贝叶斯神经网络,使用l2正则化对贝叶斯神经网络的权重参数进行衰减,实现对贝叶斯神经网络的初步权重约束,并评估初步权重约束后的贝叶斯神经网络的分类性能;

s4:基于测试集,提取初步权重约束后的贝叶斯神经网络各层的权重参数,若初步权重约束后的贝叶斯神经网络的分类性能达到设定阈值且各层的权重参数分布位于设定期望阈值内,则完成对贝叶斯神经网络的权重约束;否则返回步骤s3,继续训练贝叶斯神经网络并进行权重约束;

s5:利用权重约束后的贝叶斯神经网络对待处理图像数据集进行分类。

进一步地,步骤s2中,搭建贝叶斯神经网络的方法为:根据待处理数据集的数据量与复杂度,定义网络结构,具体包括:设定贝叶斯神经网络的输入层和输出层节点数,设定隐含层数量及其节点数,设定激活函数。

进一步地,步骤s3包括以下子步骤:

s31:假设变分后验分布为高斯分布,变分参数为θ=(μ,ρ),其中,μ表示均值参数,ρ表示标准差参数;

s32:从高斯分布(μ,ρ)中采样得到贝叶斯神经网络权重参数w的样本;

s33:基于变分推理方法,寻找使后验分布和可变分布q(w|θ)之间的kl散度最小的新变分参数θ*,表示训练集数据;

s34:利用蒙特卡罗法,将求解新变分参数θ*的过程转化为目标函数的形式,并记为贝叶斯神经网络的初始损失函数j0;

s35:将l2范数作为约束条件,在初始损失函数j0中添加约束项ω(θ),得到损失函数

s36:利用梯度下降法,训练贝叶斯神经网络,迭代更新变分参数θ,直至贝叶斯神经网络的整体误差小于阈值或达到预定的迭代次数,取得新变分参数θ*的集合;

s37:基于训练获得的新变分参数θ*,获得基于l2正则化训练后贝叶斯神经网络的权重参数w*,实现对贝叶斯神经网络的初步权重约束。

进一步地,步骤s32中,贝叶斯神经网络权重参数w的样本通过采样单位高斯分布ε~n(0,1),按均值参数μ进行平移,并按非负的标准差参数σ进行缩放获得,其计算公式为:

其中,表示逐点乘法,σ=log(1+exp(ρ)),log(·)表示对数运算,exp(·)表示指数运算;

所述步骤s33中,新变分参数θ*的计算公式为:

其中,argminθ表示变分参数θ取最小值运算,dkl表示kl散度,表示后验分布,q(w|θ)表示可变分布;

所述步骤s34中,贝叶斯神经网络的初始损失函数j0的计算公式为:

其中,f(w,θ)表示目标函数的表达形式,log(·)表示对数运算,表示训练集数据。p(w)表示权重参数w的先验分布,表示给定权重参数w后训练数据的似然分布。

步骤s35中,约束项ω(θ)的表达式为:

其中,θi为变分参数θ的各个分量;

损失函数的表达式为:

其中,λ表示正则化系数。

进一步地,步骤s36中,对贝叶斯神经网络进行训练的具体方法为:设置学习率α、正则化系数λ和迭代次数,迭代更新变分参数θ,并利用损失函数评估贝叶斯神经网络的分类性能,直至贝叶斯神经网络的误差小于阈值或达到预定的迭代次数,取得新变分参数θ*的集合,迭代公式为:

μ←μ(1-λα)-αδμ

ρ←ρ(1-λα)-αδρ

其中,μ表示均值参数,δμ表示均值参数μ的梯度,ρ表示标准差参数,δρ表示标准差参数ρ的梯度,

进一步地,步骤s37中,基于l2正则化训练后贝叶斯神经网络的权重参数w*的获取方式为:基于新变分参数θ*=(μ*,ρ*),采样单位高斯分布ε~n(0,1),按新均值参数μ*进行平移,并按非负的新标准差参数σ*进行缩放,其计算公式为:

其中,表示逐点乘法,σ*=log(1+exp(ρ*)),log(·)表示对数运算,exp(·)表示指数运算,ρ*表示新标准差参数。

本发明的有益效果是:本发明在贝叶斯神经网络的训练阶段使用l2正则化,以改变网络权重参数的分布,将其约束至较小的范围,便于以随机计算的方式进行网络推理,便于进行后续处理。

附图说明

图1为图像分类方法的流程图;

图2为本发明实施例中不使用l2正则化训练所得的贝叶斯神经网络各层权重参数分布图;

图3为本发明实施例中使用l2正则化训练所得的贝叶斯神经网络各层权重参数分布图。

具体实施方式

下面结合附图对本发明的实施例作进一步的说明。

如图1所示,本发明提供了一种基于贝叶斯神经网络权重约束的图像分类方法,包括以下步骤:

s1:采集待处理图像数据集,将待处理图像数据集划分为训练集和测试集,并对其进行数据增强的预处理操作;

s2:根据预处理后的待处理图像数据集,搭建用于图像分类任务的贝叶斯神经网络;

s3:基于变分推理方法,利用训练集训练贝叶斯神经网络,使用l2正则化对贝叶斯神经网络的权重参数进行衰减,实现对贝叶斯神经网络的初步权重约束,并评估初步权重约束后的贝叶斯神经网络的分类性能;

s4:基于测试集,提取初步权重约束后的贝叶斯神经网络各层的权重参数,若初步权重约束后的贝叶斯神经网络的分类性能达到设定阈值且各层的权重参数分布位于设定期望阈值内,则完成对贝叶斯神经网络的权重约束;否则返回步骤s3,继续训练贝叶斯神经网络并进行权重约束;

s5:利用权重约束后的贝叶斯神经网络对待处理图像数据集进行分类。

在本发明实施例中,步骤s2中,搭建贝叶斯神经网络的方法为:根据待处理数据集的数据量与复杂度,定义网络结构,具体包括:设定贝叶斯神经网络的输入层和输出层节点数,设定隐含层数量及其节点数,设定激活函数。

在本发明实施例中,步骤s3包括以下子步骤:

s31:假设变分后验分布为高斯分布,变分参数为θ=(μ,ρ),其中,μ表示均值参数,ρ表示标准差参数;

s32:从高斯分布(μ,ρ)中采样得到贝叶斯神经网络权重参数w的样本;

s33:基于变分推理方法,寻找使后验分布和可变分布q(w|θ)之间的kl散度最小的新变分参数θ*,表示训练集数据;

s34:利用蒙特卡罗法,将求解新变分参数θ*的过程转化为目标函数的形式,并记为贝叶斯神经网络的初始损失函数j0;

s35:将l2范数作为约束条件,在初始损失函数j0中添加约束项ω(θ),得到损失函数

s36:利用梯度下降法,训练贝叶斯神经网络,迭代更新变分参数θ,直至贝叶斯神经网络的整体误差小于阈值或达到预定的迭代次数,取得新变分参数θ*的集合;

s37:基于训练获得的新变分参数θ*,获得基于l2正则化训练后贝叶斯神经网络的权重参数w*,实现对贝叶斯神经网络的初步权重约束。

在本发明实施例中,步骤s32中,贝叶斯神经网络权重参数w的样本通过采样单位高斯分布ε~n(0,1),按均值参数μ进行平移,并按非负的标准差参数σ进行缩放获得,其计算公式为:

其中,表示逐点乘法,σ=log(1+exp(ρ)),log(·)表示对数运算,exp(·)表示指数运算;

所述步骤s33中,新变分参数θ*的计算公式为:

其中,argminθ表示变分参数θ取最小值运算,dkl表示kl散度,表示后验分布,q(w|θ)表示可变分布;

步骤s34中,贝叶斯神经网络的初始损失函数j0的计算公式为:

其中,f(w,θ)表示目标函数的表达形式,log(·)表示对数运算,表示训练集数据。p(w)表示权重参数w的先验分布,表示给定权重参数w后训练数据的似然分布。

步骤s35中,约束项ω(θ)的表达式为:

其中,θi为变分参数θ的各个分量;

损失函数的表达式为:

其中,λ表示正则化系数。

在本发明实施例中,步骤s36中,对贝叶斯神经网络进行训练的具体方法为:设置学习率α、正则化系数λ和迭代次数,迭代更新变分参数θ,并利用损失函数评估贝叶斯神经网络的分类性能,直至贝叶斯神经网络的误差小于阈值或达到预定的迭代次数,取得新变分参数θ*的集合,迭代公式为:

μ←μ(1-λα)-αδμ

ρ←ρ(1-λα)-αδρ

其中,μ表示均值参数,δμ表示均值参数μ的梯度,ρ表示标准差参数,δρ表示标准差参数ρ的梯度,

在本发明实施例中,步骤s37中,基于l2正则化训练后贝叶斯神经网络的权重参数w*的获取方式为:基于新变分参数θ*=(μ*,ρ*),采样单位高斯分布ε~n(0,1),按新均值参数μ*进行平移,并按非负的新标准差参数σ*进行缩放,其计算公式为:

其中,表示逐点乘法,σ*=log(1+exp(ρ*)),log(·)表示对数运算,exp(·)表示指数运算,ρ*表示新标准差参数。

以对mnist数据集进行图像分类的贝叶斯神经网络为例,对本发明的技术方案进行描述。

(1)将贝叶斯神经网络应用于mnist手写数字图片数据集的分类任务,mnist数据集包含60000张训练样本与10000张测试样本,并对其进行预处理操作;

(2)搭建用于mnist数据集分类任务的贝叶斯神经网络。设置网络的输入神经元个数为手写体数字图像的像素数据28*28,输出神经元个数为对输入图片内容的判断分类结果10。考虑分类任务的复杂程度较低,因而使用单隐含层的贝叶斯神经网络,设置隐含层神经元个数为500,选择线性整流单元relu作为激活函数。该例中,贝叶斯神经网络的结构与使用的训练参数如表1和表2所示。

(3)假设变分后验分布为高斯分布,指定其变分参数为θ=(μ,ρ),μ表示均值参数,ρ表示标准差参数,从中采样得到权重参数w的样本:

其中,表示逐点乘法,μ表示均值参数,σ表示非负的标准差参数,σ=log(1+exp(ρ)),log(·)表示对数运算,exp(·)表示指数运算。

(4)基于变分推理的方法,获取最使先验分布p(w)与可变分布q(w|θ)间的kl散度最小的分布参数θ。在此条件下,贝叶斯神经网络的损失函数j0为:

其中,f(w,θ)表示目标函数的表达形式,log(·)表示对数运算,表示训练集数据。p(w)表示权重参数w的先验分布,表示给定权重参数w后训练数据的似然分布,q(w∣θ)表示由变分参数θ控制的权重参数w的可变分布。

(5)在原损失函数中添加约束项,以l2范数作为约束条件:

设置正则化系数为λ,则加入l2正则项后的损失函数为:

(6)以梯度下降法对贝叶斯神经网络进行优化,使用单独的小批量数据,来加快推理速度。设置学习率α、正则化系数λ和迭代次数,迭代更新变分参数θ,并利用损失函数评估贝叶斯神经网络的分类性能,直至贝叶斯神经网络的误差小于阈值或达到预定的迭代次数,取得新变分参数θ*的集合,迭代公式的表达式为:

μ←μ(1-λα)-αδμ

ρ←ρ(1-λα)-αδρ

其中,μ表示均值参数,δμ表示均值参数μ的梯度,ρ表示标准差参数,δρ表示标准差参数ρ的梯度,

(7)基于训练获得的新变分参数θ*=(μ*,ρ*),获得基于l2正则化训练后贝叶斯神经网络的权重参数w*:

其中,表示逐点乘法,σ*=log(1+exp(ρ*)),log(·)表示对数运算,exp(·)表示指数运算,μ*表示新均值参数,ρ*表示新标准差参数。

(8)使用贝叶斯神经网络对测试集进行预测。对于给定输入,对权重参数进行多次随机采样,求取多个采样网络输出值的平均值作为最终的预测结果。评估贝叶斯神经网络的分类性能,并提取网络各层的权重参数。若网络分类性能达到设定阈值且各层的权重参数分布位于设定期望阈值内,则完成对贝叶斯神经网络的权重约束;否则返回继续训练贝叶斯神经网络,调节正则化系数λ来控制正则化作用的强弱程度,以进行权重约束。

表1

表2

此例中,不使用l2正则化训练所得的贝叶斯神经网络各层权重参数分布如图2所示,使用l2正则化训练所得的贝叶斯神经网络各层权重参数分布如图3所示。由仿真结果易知:使用l2正则化进行网络训练,所得权重参数的分布范围更小。

本发明的工作原理及过程为:本发明所提供的方法,在贝叶斯神经网络的训练过程中,为原始损失函数添加l2正则化项,实现对网络权重的有效约束。通过调节正则化系数λ来控制正则化作用的强弱程度,实现对原最优解对应的各个参数不同比例的放缩,将其约束至期望的较小范围之内。由此,为实现贝叶斯神经网络的权重参数与随机计算的兼容奠定基础。

该方法中,正则化系数λ基于其他已确定的贝叶斯神经网络训练参数选取,首先对λ赋初值(如λ=1.0)。贝叶斯神经网络的训练过程中,获取损失函数值与准确率信息,确定l2正则化操作对于模型的作用情况。在添加l2正则化作为约束项的条件下,若权重参数的分布位于设定期望阈值内,则完成对贝叶斯神经网络的权重约束;否则返回继续训练贝叶斯神经网络,将正则化系数λ增大或者减小10倍进行粗调节。找到合适的数量级之后,进一步细调节,反复实施上述过程,在不改变贝叶斯神经网络预测准确率的同时,有效约束其权重参数至更小范围。

本发明的有益效果为:本发明在贝叶斯神经网络的训练阶段使用l2正则化,以改变网络权重参数的分布,将其约束至较小的范围,便于以随机计算的方式进行网络推理,便于进行后续处理。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1