APP下载

基于聚粒子群算法的神经网络权值优化方法

2017-10-23邓文杰

计算机技术与发展 2017年10期
关键词:权值神经元阈值

邓文杰

(四川大学 计算机学院,四川 成都 610065)

基于聚粒子群算法的神经网络权值优化方法

邓文杰

(四川大学 计算机学院,四川 成都 610065)

神经网络作为机器智能分支中一种优秀的分类算法,在图像分类、人脸识别等领域中都有非常广泛的应用。但由于其参数过多,所以容易陷入局部最优解。针对BP神经网络易陷入局部最优的问题,提出了一种粒子群算法和聚类算法结合的优化神经网络权值的方法。该方法通过把神经网络的权值作为粒子群算法的初始粒子并利用粒子群算法的随机性全局搜索神经网络的待选初始权值,然后利用C均值算法找出包含权值较多的那一类,并把其聚类中心作为BP神经网络的初始权值。仿真结果表明,利用这种新的融合算法在防止BP神经网络易陷入局部最优的问题上能比普通的粒子群算法更加优秀。

BP神经网络;粒子群优化;聚类;权值;局部最优

0 引 言

人工神经网络(Artificial Neural Networks,ANNs)的研究最早可以追溯到19世纪50年代末。F·Rosenblatt设计的“感知机”[1]在当时便引发了神经网络的研究热潮,各大实验室纷纷制作出感知机模型并应用在文字识别、声音识别等领域。但是,感知机只有输出层神经元进行激活处理,即只拥有一层功能神经元(functional neuron),其学习能力非常有限。于是科学家们开始尝试训练多层网络,但感知机的学习规则就捉襟见肘了。为了解决这个问题,以Rumelhart和McCelland为首的科学家小组于1986年提出了误差逆传播(Error Back Propagation)算法[2],现已成为最热的神经网络学习算法。

BP算法通过对网络的均方误差求导得到权值和阈值的梯度,并依梯度方向修正权值和阈值,简单有效却存在局部最优和初值敏感问题[3-4]。为了解决这些问题,学者们提出通过遗传算法[5-6]、粒子群算法[7-9]和蚁群算法[10]改进神经网络的参数和结构。

针对BP神经网络易陷入局部最优的问题,文中提出一种融合K-means[11]与传统粒子群算法特性的群智能方法—聚粒子群算法,直接得到接近全局最优的网络权值,并利用BP使网络快速收敛。

1 基本BP算法原理

给定训练集(xk,yk),k=1,2,…,N,组成了拥有n个输入神经元,m个隐藏神经元,l个输出神经元的典型BP神经网络。其中隐藏层第i个神经元的阈值为b1i,输出层第i个神经元的阈值为b2i,输入层第i个神经元和隐藏层第j个神经元的权值为wij,隐藏层第i个神经元和输出层第j个神经元的权值为vij,第j个隐藏层神经元接收的输入和第j个输出层神经元接收的输入分别为:

(1)

(2)

(3)

因为BP算法基于梯度下降策略,以目标梯度的方向对参数进行调整,给定学习率η,有:

(4)

而根据求导的链式法则有:

(5)

根据式(1)、(2)和式(5)有:

(6)

将式(6)带入式(5)再带入式(4),就得到了BP算法中的权值更新公式:

Δvij=nhjbi

(7)

同理,可计算出:

Δb2j=-ηhj,Δb1j=-ηej,Δwij=-ηejxi

(8)

其中

(9)

BP神经网络任意参数θ的更新公式为:

θ=θ+Δθ

(10)

从以上推导可知,BP神经网络算法是根据均方误差的梯度方向修正权值和阈值,这就意味着如果初始权值选择不当,BP神经网络在学习过程中很容易陷入局部最优,由于均方误差曲面比较复杂,故满足条件的解不唯一,这就使得选择初始权值非常困难。

2 聚粒子群算法优化

通过PSO确定网络权值的一般思路是:先将神经网络的性能函数作为粒子群的性能函数,粒子代表网络中的权值和阈值[12],然后通过式(11)和式(12)分别对粒子的位置和速度进行更新。

vij(t+1)=vij(t)+c1×r1j(t)×(pij(t)-xij(t))+c2×r2j(t)×(pgj(t)-xij(t))

(11)

xij(t+1)=xij(t)+vij(t+1)

(12)

其中,i表示第i个粒子;j表示第i个粒子的维度;c1和c2表示学习因子;r1和r2表示[0,1]范围内的随机数;vij(t)和xij(t)分别表示t时刻i粒子的第j维的速度和位置。

PSO算法虽然能利用自己的随机性以大概率将神经网络的初始权值定位在全局最优值附近,但是其计算出的权值依然会有部分概率收敛到局部最优值[13]。不过经以上实验不难发现,PSO得到的网络权值要大概率靠近全局最优,小概率靠近局部最优。所以,文中采用改进的PSO算法(CPSO)。将这种使用CPSO确定神经网络权值结合BP算法的方法称为CPSO-BP算法。

CPSO-BP算法流程为:

Step1:将网络的权值向量化作为粒子群每个粒子个体;

Step3:按PSO算法更新,并记录下更新结束后最优的粒子个体;

Step4:重复N次Step2-Step3并且得到N个粒子个体;

Step5:将N个粒子个体用C均值方法进行聚类,并设聚类中心数C=log2N+1。将包含结果较多的类别的聚类中心作为神经网络的初始权值和阈值;

Step6:利用Step5计算出的权值和阈值创建神经网络,然后用BP算法训练神经网络,对其权阈值进行微调;

Step7:输入测试数据,验证网络误差。

3 验证和仿真

为了说明CPSO-BP的优越性,对其进行仿真实验,并与BP算法进行比较。图1是一个1-2-1的网络,具有如下权值和阈:w1=10,w2=10,w3=1,w4=1,w5=5,w6=-5,w7=-1。输入P在[-2,2]中采样。

图1 1-2-1神经网络

为做出权值分布图,只调整参数w1和w3。设BP算法最大运算步数为5 000,学习速率eta=0.5,目标误差为1e-9。CPSO-BP算法选用的粒子数为30,迭代次数为30。图2显示了不同算法优化出的权值所处的位置分布,(a)是标准PSO优化出的权值位置,可见依然会陷入局部最优,而(b)是CPSO算法优化出的权值分布,其很明显地分布在全局最优周围。

表1是对参数w1和w2进行20次训练后的误差平均值和平均迭代次数。

图2 使用不同算法优化出的初始权值

表1 对参数w1和w2进行20次训练后的平均误差和平均迭代次数

当训练整个网络的参数时,设BP算法最大运算步数为10 000,学习速率eta=0.5,目标误差为0.001。CPSO-BP算法选用的粒子数为30,迭代次数为30。表2是对整个网络进行20次训练后得到的误差平均值和平均迭代次数,图3为不同优化结果的输出和期望输出。

表2 对整个网络20次训练得到的误差平均值和迭代次数

图3 使用不同的算法对网络的拟合

由上述对比结果可以看出,CPSO选出的初始权值明显优于PSO,其训练后的误差和收敛速度也优于普通PSO算法。

4 结束语

针对BP神经网络容易陷入局部最优等缺点,利用CPSO算法将神经网络权值和阈值作为粒子进行全局优化,然后通过C均值算法将粒子族群数较多的族群的聚类中心作为神经网络的初始权值。仿真实验表明,CPSO-BP算法能极大限度地克服BP神经网络对初始值敏感,容易陷入局部极小值等缺点。

[1] Rosenblatt F.The perceptron:a probabilistic model for information storage and organization in the brain[J].Psychological Review,1958,65(6):386-408.

[2] Rumelhart D E,Hinton G E,Williams R J.Learning internal representation by back-propagation errors[J].Nature,1986,323(323):533-536.

[3] 余本国.BP神经网络局限性及其改进的研究[J].山西农业大学学报:自然科学版,2009,29(1):89-93.

[4] 王美玲,王念平,李 晓.BP神经网络算法的改进及应用[J].计算机工程与应用,2009,45(35):47-48.

[5] 王 晶.蚁群算法优化前向神经网络的一种方法[J].计算机工程与应用,2006,42(25):53-55.

[6] Trelea I C.The particle swarm optimization algorithm:convergence analysis and parameter selection[J].Information Processing Letters,2003,85(6):317-325.

[7] 高海兵,高 亮,周 驰,等.基于粒子群优化的神经网络训练算法研究[J].电子学报,2004,32(9):1572-1574.

[8] 刘洪波,王秀坤,孟 军,等.神经网络基于粒子群优化的学习算法研究[J].小型微型计算机系统,2005,26(4):638-640.

[9] 王崇骏,于汶滌,陈兆乾,等.一种基于遗传算法的BP神经网络算法及其应用[J].南京大学学报:自然科学版,2003,39(5):459-466.

[10] 翟宜峰,李鸿雁,刘寒冰,等.用遗传算法优化神经网络初始权重的方法[J].吉林大学学报:工学版,2003,33(2):45-50.

[11] 孙吉贵,刘 杰,赵连宇.聚类算法研究[J].软件学报,2008,19(1):48-61.

[12] 杨 维,李歧强.粒子群优化算法综述[J].中国工程科学,2004,6(5):87-94.

[13] 吴晓军,杨战中,赵 明.均匀搜索粒子群算法[J].电子学报,2011,39(6):1261-1266.

ANeuralNetworkWeightsOptimizationMethodBasedonClusteringParticleSwarmOptimization

DENG Wen-jie

(School of Computer Science,Sichuan University,Chengdu 610065,China)

Neural network is a kind of excellent classification algorithm in the branch of machine intelligence,which has a wide range of applications in the field of image classification,face recognition and so on.However,because of its excessive parameters,it is easy to fall into the local optimal solution.According to this problem,a method combining particle swarm algorithm and clustering algorithm to optimize the weights of neural networks is proposed,which takes the neural network weights as the initial particle of particle swarm algorithm and uses the random of particle swarm algorithm to search the initial weights of neural network.Then the class contains more weight is found using C-means algorithm and its clustering center is regarded as the initial weights of BP neural network.The simulation results show that it is more excellent than the conventional particle swarm optimization algorithm in preventing the BP neural network from falling into local optimum.

BP neural networks;particle swarm optimization;clustering;weight;local optimum

TP183

A

1673-629X(2017)10-0016-03

2016-10-24

2017-02-15 < class="emphasis_bold">网络出版时间

时间:2017-07-19

国家自然科学基金资助项目(61571312)

邓文杰(1993-),男,硕士研究生,CCF会员(200051867G),研究方向为神经网络优化。

http://kns.cnki.net/kcms/detail/61.1450.TP.20170719.1109.026.html

10.3969/j.issn.1673-629X.2017.10.004

猜你喜欢

权值神经元阈值
一种融合时间权值和用户行为序列的电影推荐模型
土石坝坝体失稳破坏降水阈值的确定方法
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
AI讲座:神经网络的空间对应
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
仿生芯片可再现生物神经元行为
强规划的最小期望权值求解算法∗
程序属性的检测与程序属性的分类
这个神经元负责改变我们的习惯
研究人员精确定位控制饮酒的神经元