留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

混合PSO优化卷积神经网络结构和参数

唐贤伦 刘庆 张娜 周家林

唐贤伦, 刘庆, 张娜, 周家林. 混合PSO优化卷积神经网络结构和参数[J]. 电子科技大学学报, 2018, 47(2): 230-234. doi: 10.3969/j.issn.1001-0548.2018.02.011
引用本文: 唐贤伦, 刘庆, 张娜, 周家林. 混合PSO优化卷积神经网络结构和参数[J]. 电子科技大学学报, 2018, 47(2): 230-234. doi: 10.3969/j.issn.1001-0548.2018.02.011
TANG Xian-lun, LIU Qing, ZHANG Na, ZHOU Jia-lin. Optimizing Structure and Parameters of Convolutional Neural Networks Using Hybrid PSO[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(2): 230-234. doi: 10.3969/j.issn.1001-0548.2018.02.011
Citation: TANG Xian-lun, LIU Qing, ZHANG Na, ZHOU Jia-lin. Optimizing Structure and Parameters of Convolutional Neural Networks Using Hybrid PSO[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(2): 230-234. doi: 10.3969/j.issn.1001-0548.2018.02.011

混合PSO优化卷积神经网络结构和参数

doi: 10.3969/j.issn.1001-0548.2018.02.011
基金项目: 

国家自然科学基金 60905066

重庆市教委科学技术研究项目 KJ1500401

详细信息
    作者简介:

    唐贤伦(1977-), 男, 博士, 教授, 主要从事计算机智能方面的研究

  • 中图分类号: TP183

Optimizing Structure and Parameters of Convolutional Neural Networks Using Hybrid PSO

图(2) / 表(5)
计量
  • 文章访问数:  6470
  • HTML全文浏览量:  2094
  • PDF下载量:  227
  • 被引次数: 0
出版历程
  • 收稿日期:  2016-09-21
  • 修回日期:  2017-03-25
  • 刊出日期:  2018-03-30

混合PSO优化卷积神经网络结构和参数

doi: 10.3969/j.issn.1001-0548.2018.02.011
    基金项目:

    国家自然科学基金 60905066

    重庆市教委科学技术研究项目 KJ1500401

    作者简介:

    唐贤伦(1977-), 男, 博士, 教授, 主要从事计算机智能方面的研究

  • 中图分类号: TP183

摘要: 为了使卷积神经网络在非经验指导下自动寻得最优连接,并提高其参数优化效率,提出用粒子群优化卷积网络参数,并用离散粒子群优化卷积网络特征图之间连接结构的新方法。先使用粒子群优化所有权值,再采用离散粒子群优化降采样层和卷积层之间特征图连接结构。将该方法用于MNIST数据集和CIFAR-10数据集,实验结果表明,相比其他连接结构的卷积神经网络和其他识别方法,该方法可以有效实现网络结构及参数的优化,加速网络收敛并提高识别准确比。

English Abstract

唐贤伦, 刘庆, 张娜, 周家林. 混合PSO优化卷积神经网络结构和参数[J]. 电子科技大学学报, 2018, 47(2): 230-234. doi: 10.3969/j.issn.1001-0548.2018.02.011
引用本文: 唐贤伦, 刘庆, 张娜, 周家林. 混合PSO优化卷积神经网络结构和参数[J]. 电子科技大学学报, 2018, 47(2): 230-234. doi: 10.3969/j.issn.1001-0548.2018.02.011
TANG Xian-lun, LIU Qing, ZHANG Na, ZHOU Jia-lin. Optimizing Structure and Parameters of Convolutional Neural Networks Using Hybrid PSO[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(2): 230-234. doi: 10.3969/j.issn.1001-0548.2018.02.011
Citation: TANG Xian-lun, LIU Qing, ZHANG Na, ZHOU Jia-lin. Optimizing Structure and Parameters of Convolutional Neural Networks Using Hybrid PSO[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(2): 230-234. doi: 10.3969/j.issn.1001-0548.2018.02.011
  • 深度学习可以自动提取特征并将特征进行分类,因此得以广泛应用[1-3]。作为深度学习方法之一的卷积神经网络(convolutional neural networks, CNNs),在视频人体动作识别[4]等领域已得到成功应用。

    文献[5]把卷积神经网络第一次成功应用在手写字符识别领域。在特征图连接问题上,传统CNNs第一降采样层与第二卷积层之间特征图全连接,对于经典的LeNet[6]结构,第一降样层和第二卷积层之间特征图连接也是由人为经验决定的特定连接。虽然利用粒子群优化算法[7]和遗传算法等智能算法[8]训练相对简单的神经网络已经取得了很好的结果,把粒子群应用到光学字符识别应用中也取得了显著成效[9],但是这些算法训练的网络特征图之间都是经验指导的固定连接结构,而全连接结构使得连接数量过多,降低网络的运算速率,同时全连接结构使得网络结构对称,不利于提取不同的特征;而特定的连接结构又受到经验的影响,不能普遍适用。

    本文提出一种将粒子群优化卷积网络参数和离散粒子群优化[10]卷积神经网络特征图连接结构相结合的新方法,使用粒子群预训练参数,并使用离散粒子群优化第一采样层和第二卷积层特征图之间结构连接,使得网络在非经验指导下自动寻得最优连接。网络结构在传统结构基础上增加一个全连接层,非线性函数采用指数激活单元(exponential linear unit, ELU)[11],实验证明,将经过参数和结构优化后的网络应用到手写数字识别应用中可以达到较理想的识别效果。

    • 权值共享、局域感受野和降采样是卷积神经网络的三大特征,可以实现识别图像的缩放、位移和扭曲不变性。图 1为本文构建网络。

      图  1  卷积神经网络结构图

      本文采用非线性激活函数指数激活单元(exponential linear unit, ELU)[11]来加速深度网络学习并提高分类识别率。跟修正线性单元(rectified linear units, ReLUs)[12]相似,ELU激活函数同样可以取得正值来避免梯度消失。与ReLUs激活函数不同的是,ELU激活函数可以取得负值使得平均单元激活值接近于零。ELU非线性函数的表达式为:

      $$ f(x) = \left\{ \begin{array}{l} x\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;x \ge 0\\ \alpha (\exp (x)-1)\;\;\;\;\;\;x < 0 \end{array} \right. $$ (1)
      $$ f'(x) = \left\{ \begin{array}{l} 1\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;x \ge 0\\ f(x) + \alpha \;\;\;\;\;\;x < 0 \end{array} \right. $$ (2)

      式中,超参数α控制值使当网络输入为负值时输出也为负值,α > 0。

    • 本文采用粒子群优化卷积神经网络参数,和离散粒子群优化卷积神经网络特征图之间的连接结构,用BP对该网络微调参数。

    • 粒子群算法(particle swarm optimization, PSO)通过随机初始化一群粒子,并根据法则更新其速度和位置,最终找到最优解。首先对粒子群进行初始化[13]

      $$ {U_i}(0) = {U_{\max }}-r({U_{\max }}-{U_{\min }}) $$ (3)
      $$ {X_i}(0) = 0.1\bf{RS} + \mathit{\boldsymbol{G}} $$ (4)

      式中,Ui(0)、Umax以及Umin分别表示粒子向量初速度、速度上限及下限;Xi(0)表示粒子的初始位置;RS表示元素为(-1, 1)的随机向量,向量的维数与Xi(0)相同;G是待优化参数之前经验值组成的向量;r是(0, 1)范围内随机值。速度及位置更新公式为:

      $$ {U_i}(t + 1) = w{U_i}(t) + {c_1}{r_1}({P_i}-{X_i}(t)) + {c_2}{r_2}({P_g}-{X_i}(t)) $$ (5)
      $$ {X_i}(t + 1) = {X_i}(t) + {U_i}(t + 1) $$ (6)

      式中,c1c2为加速因子,为正常数;r1r2为(0, 1)范围内的随机数;w为惯性因子。

      惯性因子是粒子保持飞行速度的系数,本文采用非线性化调整策略对惯性因子进行改进,即:

      $$ w(t) = {w_{\max }}-({w_{\max }}-{w_{\min }}){\sin ^2}\left( {\frac{{\pi i}}{{\rm 2Maxgin}}} \right) $$

      式中,wmaxwmin分别为最大、最小惯性因子;i、Maxgin是当前的及最大的迭代次数。

    • 离散粒子群优化算法(discrete particle swarm optimization, D-PSO)和PSO几乎相似,有以下不同。位置的初始化方式为:

      $$ {X_i}(0) = F(0.1\bf{RS} + \mathit{\boldsymbol{G}}) $$ (7)

      式中,函数$ Y = F(X)$定义为:${y_i} = \left\{ {\begin{array}{*{20}{c}} {0\;\;{x_i} < 0.5}\\ {1\;\;{x_i} \ge 0.5} \end{array}} \right. $;RS表示元素为(-1, 1)的随机向量,向量的维数与Xi(0)相同;G表示S2与C3层之间的特征图连接结构为全连接的向量。

      位置更新公式为:

      $$ {x_{ij}}(t + 1) = \left\{ {\begin{array}{*{20}{c}} {0\begin{array}{*{20}{c}} {}&{\begin{array}{*{20}{c}} {{r_i}(t) \ge f({u_{ij}}(t))}&{} \end{array}} \end{array}}\\ {1\begin{array}{*{20}{c}} {}&{\begin{array}{*{20}{c}} {{r_i}(t) < f({u_{ij}}(t))}&{} \end{array}} \end{array}} \end{array}} \right. $$ (8)

      其中非线性函数为sigmoid函数:

      $$ f({u_{ij}}(t)) = \frac{1}{{1 + {{\rm{e}}^{-{u_{ij}}(t)}}}} $$

      式中,xij(t)表示粒子i在时间tj个位置;uij(t)为对应速度;rij(t)为(0, 1)之间随机数。其中uij(t)要设定一个上下限,保证f(uij(t))值不能太靠近0或1。

    • 算法的基本流程如下。

      1) 在S2层和C3层间用全连接方式的情况下,用PSO优化参数。

      ① 初始粒子群相关参数;根据式(3)、式(4)初始化各粒子参数变量速度及位置,其中式(4)中的G表示按照经验值初始化卷积神经网络时的网络权值向量,由卷积核、连接层权值及偏置等参数组成;把位置转换成网络参数形式,并把均方差作为适应度值。

      ② 对所有粒子执行如下操作:

      a. 根据式(5)和式(6)更新粒子的速度和位置;

      b. 计算粒子适应度,若得到的适应度值优于个体极值,则将个体极值位置向量设成当前位置向量;

      c. 若粒子适应度优于全局最优,就把全局最优位置设成当前位置;

      d. 如果满足停止条件,全局极值位置即为所求变量值,并停止搜索;否则,返回步骤②继续搜索;

      2) 用D-PSO优化特征图连接结构。

      ① 初始化D-PSO相关参数;根据式(3)随机初始化速度和由式(7)初始化位置;对每个粒子,将粒子的位置变量转换成特征图连接结构的形式,计算粒子的适应度值。

      ② 对所有粒子执行如下操作:

      a. 根据式(5)和式(8)更新粒子的速度和位置;

      b. 计算适应度,若得到的适应度优于个体最优值,就将个体最优值位置设成当前位置;

      c. 若粒子适应度优于全局最优值,就将全局最优值位置设成当前位置;

      d. 如果达到停止要求,立即停止循环,全局极值位置为所求变量值;否则,返回步骤②继续搜索。

      3) 先将PSO寻得的全局最优位置转换为网络权值的形式初始化卷积神经网络参数,在此基础之上再用D-PSO寻得的全局最优位置转换为特征图的连接结构,最后用BP算法微调混合PSO训练后的网络参数。

    • 在MNIST及CIFAR-10数据集上进行了实验分析。为了避免随机性和不稳定性,实验均进行了10次重复,最后取均值作为最终结果。实验用的电脑处理器是Intel(R)Core(TM)i5-3470 CPU @ 3.20 GHz,安装内存(RAM)为8.00 GB,64位的Windows 7操作系统,没有采用GUP进行并行计算。

    • MNIST手写数字数据集包含60 000个训练样本,10 000个测试样本,共10类,图像为灰度图像。

    • 3种网络结构与图 1类似,但缺少F5全连接层,其中S2与C3层之间特征图为全连接方式,使用不同的非线性函数。CNN-S使用常用的Sigmoid函数,CNN-ReL使用ReLUs,CNN-ELU使用ELU。网络样本分批训练,每个批次50个样本。

      图 2表 1表明,相同的结构和训练样本时,CNN-ELU网络收敛速度及识别率都优于其余二者。网络为Sigmoid函数时,训练速度缓慢,易陷入过拟合;而ReLUs函数相比Sigmoid函数具有单侧抑制性及稀疏激活性;与ReLUs函数相似,ELU函数同样可以取得正值来避免梯度消失并能取负值以使平均单元激活值接近零,提高学习速度。本文方法采用ELU非线性激活函数,加速了网络收敛。

      图  2  采用不同非线性函数各网络结构误差收敛状况对比

      表 1  采用不同非线性函数各网络结构错误率对比

      %
      不同激活函数的CNN 训练次数(epochs)
      1 5 10 50 100
      CNN-S 11.11 4.22 2.68 1.36 1.15
      CNN-ReL 3.18 1.72 1.34 0.96 0.94
      CNN-ELU 2.12 1.36 1.12 0.94 0.93
    • 实验中CNN-1网络为S2与C3层全连接;CNN-2网络的S2层与C3层特征图连接结构为经验连接;CNN-3网络的S2与C3层结构为随意连接;CNN-DPSO网络S2层与C3层特征图之间连接结构由离散粒子群优化过后得到。离散粒子群的粒子数为20个,c1=c2=1.494,wmax=0.9,wmin=0.2,迭代20次。本文采用ELU函数,由表 1可以看出采用ELU的网络,迭代次数超过10次,图像识别率的提高并不明显,故后面所有实验均最多迭代10次。10次迭代后,CNN-3、CNN-2、CNN-1、CNN-DPSO这4种结构的网络误识别率分别为1.37%、1.36%、1.28%、1.20%。

      由于S2与C3层特征图之间为全连接时,使得连接数量过多,降低网络的运算速率;而固定连接结构受到经验的影响,不能普遍适用。离散粒子群算法在无经验指导的情况下智能优化S2与C3层特征图之间的连接,可以消除冗余连接,从而提高了效率。因此采用DPSO优化后的网络使识别率高于其他连接结构的网络。证明了将DPSO用来优化特征图连接能够使卷积神经网络在无经验指导下获得较好的识别效果。

    • 实验中NN表示神经网络;DBN表示深度信念网络;CNN-ELU网络结构与3.1.1节中描述相同;CNN-F网络如图 1,用反向传播算法训练;CNN-F-PSO网络结构与CNN-F相同,用PSO训练网络。CNN-F-HPSO网络采用混合PSO训练网络。

      表 2表 3可以看出,卷积神经网络效果普遍优于NN和DBN网络,说明CNN结构更适合用于提取二维图像特征。本文采用混合PSO优化参数及特征图间的连接防止网络过早陷入局部最优,并有效利用特征图间的信息,使得在相同的迭代次数时,本文算法识别率略高于其他算法。在达到几乎相同甚至更高的识别率时,本文方法较传统CNN方法需要更少运行时间,从而表明本文方法的可行性。

      表 2  不同训练方法不同训练次数的误识别率对比

      %
      训练方法 训练次数(epochs)
      1 5 10
      NN 8.12 4.73 3.58
      DBN 6.30 3.68 3.15
      CNN-F 1.93 0.98 0.89
      CNN-F-PSO 1.84 0.93 0.78
      CNN-F-HPSO 1.75 0.89 0.71

      表 3  传统CNN方法与本文方法识别错误率与消耗时间对比

      方法 错误率/% 寻优时间/s 训练测试时间/s 总时间/s
      CNN-ELU 1.14 - 2 233.5 2 233.5
      本文方法 0.71 935.5 919.8 1 855.3
    • 表 4中其他方法是国内外学者在MNIST数据集上的研究成果[14]。由表 4可知,本文方法优于上述传统方法,但也不是最优方法,因为相对于其他卷积网络,本文方法网络较浅,特征图数较少,且没有对图像进行移动、缩放、倾斜、压缩等人为的扭曲变形预处理,也没有进行去斜处理和宽度归一化处理。但本文方法加速了网络收敛,相对上述传统方法,提高了识别率,证明该方法的可行性。

      表 4  各种方法误识率对比

      识别方法 预处理 误识率/%
      linear classifier (1-layer NN) 去斜 8.4
      K-nearest-neighbors, Euclidean (L2) 5.0
      40 PCA + quadratic classifier 3.3
      SVM, Gaussian Kernel 1.4
      Trainable feature extractor + SVMs [no distortions] 0.83
      本文方法 0.71
      committee of 35 conv. net, 1-20-P-40-P-150-10 宽度归一化 0.23
    • CIFAR-10数据集包含10类彩色图像,其中有50 000个训练样本,10 000个测试样本。简单地对CIFAR-10进行灰度化等预处理操作后,称之为CIFAR-10-gray。数据的预处理方式与文献[15]的相同,即先灰度化,再均值方差归一化,然后白化处理;网络迭代训练次数同样是50次。网络结构设置8C-8S-16C-16S-240F也与文献[15]中的3种结构相同。本文将文献[15]中的3种网络结构称为CNN-1、CNN-2、CNN-3网络,它们的激活函数均用ReLUs-Softplus[15],池化方式分别为最大池化、随机池化、概率加权池化。结果对比如表 5所示。

      表 5  不同方法的误识率对比

      %
      数据集 算法
      CNN-1 CNN-2 CNN-3 本文算法
      CIFAR-10-gray 33.34 36.56 34.93 30.10

      由于只对数据集进行灰度化预处理,并且灰度化也会损失一些重要特征,从表 5可知文中方法并没有达到非常好的效果,但仍略微优于文献[15]中的CNN-1、CNN-2、CNN-3网络的识别效果,证明了本文方法不仅在MNIST数据集上有较好的识别效果,应用于CIFAR-10数据集上也是有效可行的。

    • 基于混合PSO的卷积神经网络训练方法与其他方法相比提高了训练效率,并在训练时间接近时,网络识别率得到提高;达到同样的识别效果,本文方法收敛需要的训练次数较少。因此本文方法加速了误差收敛,只需少量次数迭代训练网络就能达到甚至优于其他传统方法的识别效果。虽然优化结构和参数时增加了训练复杂度,但经优化后的网络提高了信息处理效率,因此比较适合识别大规模数据。

参考文献 (15)

目录

    /

    返回文章
    返回