文章快速检索 高级检索
BP神经网络子批量学习方法研究

Subbatch learning method for BP neural networks
LIU Wei, LIU Shang , ZHOU Xuan
College of Science, Liaoning Technical University, Fuxin 123000, China
Abstract: When solving problems in shallow neural networks, the full-batch learning method converges slowly and the single-batch learning method fluctuates easily. By referring to the subbatch training method for deep neural networks, this paper proposes the subbatch learning method and the subbatch learning parameter optimization and allocation method for shallow neural networks. Experimental comparisons indicate that subbatch learning in shallow neural networks converges quickly and stably. The batch size and learning rate have significant impacts on the net convergence, convergence time, and generation ability. Selecting the optimal parameters can dramatically shorten the iteration time for convergence and the training time as well as improve the classification accuracy.
Key words: subbatch learning     neural network     backpropagation algorithms     batch size     training methods and evaluation     classification

1985年，Rumelhart把BP算法应用到神经网络的训练过程，提出了著名的“BP神经网络”。经过近30年的发展，针对经典BP算法存在的收敛慢、易陷入局部最优和分类泛化能力差等缺点，不同学者提出了很多改进学习方法。

1 BP 神经网络学习方法

BP算法由信号前馈传递和误差反向传递两阶段组成。信号前馈传递阶段，信号从输入节点先传向隐层节点，再传向输出层产生输出信号；误差反向传递阶段，依据标签数据和网络输出之间的误差，把误差逐层向前传播来调节网络权值，通过权值的不断修正使网络的实际输出更接近期望输出。网络训练过程中，根据权值更新执行方式的不同，神经网络学习方法可分为全批量学习(Off-line learning)和单批量学习(On-line learning)两种方法[11]

1.1 单批量学习

1)初始化网络结构，随机初始化网络权值。

2)计算网络单个样本误差ei

 $${e_i} = {(f({x_i}) -{y_i})^2}$$ (1)

3)单个样本内修正网络权值：

 $${w_i}(k + 1) = {w_i}(k) + a{{\partial {e_i}} \over {\partial {w_i}}}$$ (2)

4)计算所有样本的均方误差：

 $$E = {1 \over m}\sum\limits_{i = 1}^m {{e_i}}$$ (3)

5)根据误差结果和迭代次数进行判断是否达到收敛要求，若达到要求则网络完成训练，否则循环2)~4)。

1.2 全批量学习

1)初始化网络结构，随机初始化网络权值。

2)计算网络批量均值误差：

 $$E = {1 \over m}\sum\limits_{i = 1}^m {{{(f({x_i}) - {y_i})}_2}}$$ (4)

3)批量内修正网络权值：

 $$w(k + 1) = w(k) + a{{\partial E} \over {\partial w}}$$ (5)

4)根据均方误差和迭代次数进行判断是否达到收敛要求，若达到要求则网络完成训练，否则循环2)~3)。

2 子批量学习方法及参数配置

2.1 子批量学习方法

 图 1 BP神经网络子批量学习方法流程图Fig. 1 Flow chart of sub-batch learning method

2.2 子批量学习参数配置研究

3 数值实验

3.1 Seeds数据集分类实验

Seeds数据集是由UCI提供的用于分类算法测试的实验数据集之一，该数据记录了3类种子的7种特征数据，总计210个样本。实验从3个类别中分别随机抽取36个样本组成训练集，剩余样本组成测试集。网络隐层节点个数设置为10，选取批量s为1、4、9、18、54、108，其中s=1为单批量学习，s=108为全批量学习，中间为不同批量大小的子批量学习方法，在相同网络初始权值下取20次实验的平均结果作为讨论对象。

3.1.1 不同批量收敛性研究

 图 2Seeds数据集不同批量下均值误差Fig. 2 MSE of seeds under different batch size

3.1.2 Seeds数据集迭代次数比较分析

 图 3Seeds数据集不同批量下均值误差Fig. 3 MSE of seeds under different batch size

 α 1 2 4 9 18 27 54 108 0.01 86.75 50.11 25.78 12.21 6.74 4.82 2.92 2.03 0.1 10.83 11.35 11.39 11 6.91 4.98 3 2.1 0.5 2.13 2.04 2.12 2.24 2.5 2.76 2.68 1.95 1 1.19 1.02 1 1.07 1.18 1.26 1.54 1.84 3 1.15 0.52 0.37 0.41 0.42 0.43 0.52 0.72 5 3.55 0.49 0.24 0.24 0.2 0.22 0.26 0.37 7 48.39 0.76 0.27 0.2 0.23 0.19 0.22 0.33

 图 4Seeds数据集不同学习率和批量下错误率Fig. 4 Error rates of seeds under different learning rates and batch size

1) 依据图 3，学习率相同时，网络首先在小批量上达到收敛，之后逐渐在所有批量上都达到收敛,随着批量增加，在不引起较大波动的情况下，网络收敛所需的迭代次数也逐渐增加，说明小批量对比大批量学习具有较快的收敛速度。

2) 当学习率过大，批量较小时，会引起网络波动，从而导致收敛迭代次数增大，如α=7，s=1时，迭代2 500次才收敛，而批量较大时则不会引起波动现象，说明大批量具有一定的稳定性，可以使网络平稳收敛。

3.1.3 Seeds数据集训练时间分析

1) 依据表 1，当学习率过小，如α=0.01时，网络收敛速度较慢，导致网络在s>1时，迭代5 000次的情况下都未达到收敛，但在迭代次数相同的情况下，随着批量的增大，凭借矩阵运算快速的优势，网络训练时间呈指数级减小，所以子批量学习可以大幅减少每次迭代计算时间。

2) 相同批量下，网络收敛时间并没有随着学习率的增大而逐渐减小。当批量s<18时，随着学习率的增大，网络的收敛时间呈现先减小后增大的趋势，这是由于小批量下存在误差权值的扰动，在小的学习率下这种扰动有利于网络学习，但这种扰动随着学习率的增大，导致每次批量更新权值过度扰动，从而使网络收敛困难，收敛所需迭代次数增多，网络训练时间增加。

3) 相同学习率下，随着批量的增大，网络的训练时间也呈现先减小后增大的趋势，这是由于随着批量的增大，基于均值的权值更新方法逐渐抑制扰动的同时，平滑滤波效果也逐渐增强，适合的批量，使扰动抑制和平滑效果最佳，使网络最快收敛。

3.1.4 Seeds数据集错误率分析

 学习率 0.01 0.1 0.5 1 3 5 7 最优批量 1 2 4 9 108 54,108 54 错误率/% 6.76 5.05 5.78 6.18 5.2 5.83 5.44

3.2 Music分类实验

Music数据集通过倒谱系数法提取4种音乐类型总计500组24维的音素特征。实验在每类音乐随机抽取250个样本作为训练集，剩余样本为训练集。网络隐层节点为50，E=0.001，迭代5 000次，选取批量s为1、2、5、10、20、50、100、250、500、1 000，相同条件下，取20次实验的平均结果作为讨论对象，来测试学习率和批量对于网络迭代次数(图 5)、训练时间(表 3)和分类错误率(图 6)的影响。

 图 5Music数据集不同学习率和批量下的迭代次数Fig. 5 Converge epochs of music under different learning rates and batch size

 α 1 2 5 10 20 50 100 250 500 1 000 0.01 880 712 375 204 128 88 57 34 29 27 0.1 399 225 136 109 109 88 58 34 29 27 0.5 397 107 51 35 31 39 45 34 29 27 1 613 160 82 46 33 33 31 31 28 25 3 1 640 694 86 8 4 7 9 13 21 26 5 1 700 843 168 69 17 21 16 14 16 20 9 1 695 843 334 120 19 4 11 13 11 15

 图 6 Music数据集不同学习率和批量下的错误率Fig. 6 Error rates of music under different learning rates and batch size
3.2.1 Music数据集迭代次数比较

3.2.2 Music数据集训练时间比较

3.2.3Music数据集分类准确率比较

3.3 Waveform分类实验

Waveform数据集由UCI提供的用于分类算法测试的实验数据集之一，该数据集包含5 000个样本的3分类数据集，实验在每个类别中随机抽取1 000个样本作为训练集，剩余2 000个样本为训练集。网络隐层节点为50，E=0.005，迭代8 000次，选取批量s为5、15、30、75、150、300、750、1 500、3 000，相同条件下，取10次实验的平均结果作为讨论对象，来测试学习率和批量对于训练时间(表 3)和分类错误率(图 6)的影响。

3.3.1 Waveform数据集训练时间比较

 α 5 15 30 75 150 300 750 1 500 3 000 0.01 81 87.0 105.1 82.9 61.4 50.3 40.5 39.6 37.5 0.05 155 22.5 25.2 40.9 53.5 47.8 37.8 35.7 32.8 0.1 1 109 14.1 12.9 19.7 28.8 37.7 39 36.3 33.4 0.5 1 101 307.4 150.7 7.4 12.4 12.8 23.8 33.7 35.1 1 1 173 325.2 160.1 65.4 14 7.7 21.7 24.4 29.9 3 1 312 3 42.4 166.4 84.6 60.9 50 39.8 38.1 34.9 7 4 009 428.0 193 90.1 64 52.4 41.5 39.1 35.0

1)固定迭代次数下，当学习率小、批量大和学习率大、批量小的情况下，网络不收敛。前者是由于扰动较大导致网络不容易收敛造成，后者是由于过渡平滑导致网络收敛缓慢引起。

2)在收敛的情况下，批量保持稳定时，随着学习率的增大，网络训练时间呈现先减小后增大的趋势；学习率保持稳定时，随着批量的逐渐增大，网络训练时间也呈现先减小后增大的趋势。

3)选择最优的批量和学习率组合可以成倍地减小网络训练时间，而且数据集越大批量对网络收敛时间的影响越关键。 3.3.2 Waveform数据集分类准确率比较

 图 7Music数据集不同学习率和批量下的错误率Fig. 7 Error rates of Waveform under different learning rates and batch size

4 结论

 [1] JACOBS R A. Increased rates of convergence through learning rate adaptation[J]. Neural networks, 1988, 1(4): 295-307. [2] 刘幺和, 陈睿, 彭伟, 等. 一种BP神经网络学习率的优化设计[J]. 湖北工业大学学报, 2007, 22(3): 1-3. LIU Yaohe, CHEN Rui, PENG Wei. Optimal design for learning rate of BP neutral network[J]. Journal of Hubei university of technology, 2007, 22(3): 1-3. [3] 贾立山, 谈至明, 王知. 基于随机参数调整的改进反向传播学习算法[J]. 同济大学学报:自然科学版, 2011, 39(5): 751-757. JIA Lishan, TAN Zhiming, WANG Zhi. Modified BP algorithm based on random adjustment of parameters[J]. Journal of Tongji university (natural science), 2011, 39(5): 751-757. [4] RIEDMILLER M, BRAUN H. RPROP-A fast adaptive learning algorithm[C]//Proceedings of the International Symposium on Computer and Information Sciences (ISCIS VII).Ankara, Turkey, 1992. [5] CHARALAMBOUS C. Conjugate gradient algorithm for efficient training of artificial neural networks[J]. Devices and systems, IEE proceedings G-Circuits, 1992, 139(3): 301-310. [6] VOGL T P, MANGIS J K, RIGLER A K, et al. Accelerating the convergence of the back-propagation method[J]. Biological cybernetics, 1988, 59(4/5): 257-263. [7] DENNIS J E Jr, SCHNABEL R B. Numerical methods for unconstrained optimization and nonlinear equations[M]. Philadelphia, USA: SIAM, 1996. [8] MOR J J. The Levenberg-Marquardt algorithm: implementation and theory[M]//WATSON G A. Numerical Analysis. Berlin Heidelberg: Springer, 1978: 105-116. [9] 侯祥林, 陈长征, 虞和济, 等. 神经网络权值和阈值的优化方法[J]. 东北大学学报:自然科学版, 1999, 20(4): 447-450. HOU Xianglin, CHEN Changzheng, YU Heji, et al. Optimum method about weights and thresholds of neural network[J]. Journal of northeastern university: natural science, 1999, 20(4): 447-450. [10] 刘奕君, 赵强, 郝文利. 基于遗传算法优化BP神经网络的瓦斯浓度预测研究[J]. 矿业安全与环保, 2015, 42(2): 56-60. LIU Yijun, ZHAO Qiang, HAO Wenli. Study of gas concentration prediction based on genetic algorithm and optimizing BP neural network[J]. Mining safety & environmental protection, 2015, 42(2): 56-60. [11] HAM F M, KOSTANIC I. Principles of neurocomputing for science and engineering[M]. New York, NY: McGraw-Hill Science, 2000. [12] http://archive.ics.uci.edu/ml/datasets/seeds. [13] 史峰, 王小川, 郁磊, 等. MATLAB神经网络30个案例分析[M]. 北京: 北京航空航天大学出版社, 2010: 1-3.
DOI: 10.11992/tis.201509015

0

#### 文章信息

LIU Wei, LIU Shang, ZHOU Xuan
BP神经网络子批量学习方法研究
Subbatch learning method for BP neural networks

CAAI Transactions on Intelligent Systems, 2016, 11(02): 226-232.
DOI: 10.11992/tis.201509015