改进粒子群算法的超参数优化方法
摘 要:深度学习模型中,超参数的设置对分类效果有较大的影响。本文为了提高超参数优化的效率,提出了一种改进粒子群优化算法对超参数进行优化。该算法对惯性因子采用非线性化的调整策略,并引入了停滞检测及对全局最佳粒子进行扰动的方法,进而改善算法的收敛性和优化性。实验结果表明,该改进算法具有较好的收敛和优化效果。
关键词:深度学习;超参数;粒子群优化算法
中图分类号: TP391
深度学习[1]是机器学习领域的一个重要研究热点。首先,它通过把低层特征进行组合形成高层属性特征,以发现数据的分布式特征表示[2]。其次,它能够解决浅层结构算法存在的局限性,实现复杂函数的逼近,表征数据的分布式特征表示[3-5]。目前,深度学习已经在计算机视觉、语音识别和自然语言处理等方面取得了显著的进步。
虽然深度学习已经取得了不错的成就,但是超参数优化仍然是一个亟待解决的问题。超参数是指在开始学习之前设置的值,不是由训练得到的。比如,学习率、样本量等。由于任何深度学习模型都不能对所有的数据集取得最佳泛化,所以必须选择合理有效的超参数。否则,在训练中深度模型的超参数很容易崩溃或无法学到有用的特征。目前针对超参数的选取还没有明确的计算公式,更多的是实验和经验的错误组合。而针对深度学习模型,重复的实验不仅效率低而且耗费时间。并且被调整的超参数的数量和每个新的超参数集合的评估时间使得对深度学习模型的超参数优化极其困难。
针对这种黑盒函数优化的情况,粒子群优化算法(PSO)提供了一种有效的方法。此方法通过随机初始化一群粒子,并根据一定的法则更新其速度和位置,最终找到其最优解[6]。目前比较经典的优化算法:局部搜索算法、模拟退火算法等已经不再适用[7]。文献[8]提出将量子粒子群优化算法运用到径向基函数神经网络的参数优化中。但此方法需要提前确定网络的隐层节点数。Huang等人利用遗传算法对SVM参数进行优化,并基于权重惩罚因子和精确率提出了一种较新的适应性评估函数[9]。Friedrichs等人提出通过利用固定的步长进行网络搜索,从而寻找合适的参数。但是这只适用于少量参数的情况,实际过程中消耗时间较长,计算复杂[10]。Pan等人[11]通过在遗传算法的基础上对训练样本进行加权,并将遗传算法与
网格算法进行比较。结果表明,加权算法的分类效果虽然获得明显提升,但是参数个数也大大增加。
鉴于此,本文提出了一种基于改进粒子群算法的深度学习超参数优化方法。其核心思想是在发现优化有可能停滞的情况下才需要调整 EMBED Equation.DSMT4 \* MERGEFORMAT ,并扰动最优粒子[12],使增强粒子的活性更有效且具有针对性。该算法应用于深度学习超参数优化中,实验结果表明了此改进算法的有效性。
1 改进PSO算法
PSO算法其实是一种群体智能算法,它通过随机对 EMBED Equation.DSMT4 \* MERGEFORMAT 个粒子进行初始化,并按照一定的规则更新其位置和速度,进而找到最优解。首先对粒子群初始化可描述如下:
EMBED Equation.DSMT4 \* MERGEFORMAT (1)
EMBED Equation.DSMT4 \* MERGEFORMAT (2)
式中, EMBED Equation.DSMT4 \* MERGEFORMAT 、 EMBED Equation.DSMT4 \* MERGEFORMAT 和 EMBED Equation.DSMT4 \* MERGEFORMAT 分别表示粒子的向量初始速度及速度的最大和最小值; EMBED Equation.DSMT4 \* MERGEFORMAT 表示粒子的初始位置; EMBED Equation.DSMT4 \* MERGEFORMAT 表示元素随机向量值为(-1,1),与 EMBED Equation.DSMT4 \* MERGEFORMAT 是同维向量; EMBED Equation.DSMT4 \* MERGEFORMAT 表示未优化超参数之前有经验值组成的向量; EMBED Equation.DSMT4 \* MERGEFORMAT 为(0,1)范围的随机数。速度和位置更新可以描述为:
EMBED Equation.DSMT4 \* MERGEFORMAT (3)
EMBED Equation.DSMT4 \* MERGEFORMAT (4)
式中, EMBED Equation.DSMT4 \* MERGEFORMAT 和 EMBED Equation.DSMT4 \* MERGEFORMAT 是正常数,表示加速度因子; EMBED Equation.DSMT4 \* MERGEFORMAT 和 EMBED Equation.DSMT4 \* MERGEFORMAT 是(0,1)范围内均匀分布的随机数; EMBED Equation.DSMT4 \* MERGEFORMAT 表示惯性因子。
惯性因子是粒子保持飞行速度的系数,本文采用非线性化的调整策略对其进行改进。通过调整 EMBED Equation.DSMT4 \* MERGEFORMAT 以此来对全局的最佳粒子进行扰动。并且增加了停滞检测,有针对性的调整参数。在改进的算法中,惯性权重 EMBED Equation.DSMT4 \* MERGEFORMAT 在算法停滞的情况下进行递减,当优化稳定时 EMBED Equation.DSMT4 \* MERGEFORMAT 值不变。与此同时,在停滞的情况下对全局最优粒子 EMBED Equation.DSMT4 \* MERGEFORMAT 之外的粒子进行重新初始化。惯性权重 EMBED Equation.DSMT4 \* MERGEFORMAT 的计算过程可以描述为:
EMBED Equation.DSMT4 \* MERGEFORMAT (5)
式中, EMBED Equation.DSMT4 \* MERGEFORMAT 表示最大惯性因子; EMBED Equation.DSMT4 \* MERGEFORMAT 表示最小惯性因子; EMBED Equation.DSMT4 \* MERGEFORMAT 表示当前的迭代次数; EMBED Equation.DSMT4 \* MERGEFORMAT 表示最大迭代次数,本文取值为100。
同时改进算法在每次迭代时,需要检测当前 EMBED Equation.DSMT4 \* MERGEFORMAT 是否停滞。如果经过连续的 EMBED Equation.DSMT4 \* MERGEFORMAT 次迭代, EMBED Equation.DSMT4 \* MERGEFORMAT 的变化小于某一个阈值,则表明此时种群可能陷入了局部最优,即此时的超参数不太合理,需要按照预定好的策略对其进行调整,并对当前的粒子进行扰动以改变它的位置,其余粒子仍然采用原来的方法进行更新,实验表明此改进算法取得了较好的效果。
2 算法基本流程
此改进算法的基本流程如下:
EMBED Visio.Drawing.15 \* MERGEFORMAT
Fig1 改进PSO算法基本流程
对粒子群相关超参数进行初始化。根据公式(1)(2)初始化各粒子的速度和位置。其中(2)中的 EMBED Equation.DSMT4 \* MERGEFORMAT 表示按照经验值初始化深度模型中网络权值向量;把位置转换成网络参数的形式,并将均方差视为适应度值。
计算每个粒子的适应度值,并对其进行更新。如果 EMBED Equation.DSMT4 \* MERGEFORMAT 的适应度值减小,小于设定的阈值,则将停滞计数器值加1,否则,将计算器清零。
判断是否满足收敛的条件,如果收敛,则执行步骤(7)。
若停滞计数器Count的值大于等于 EMBED Equation.DSMT4 \* MERGEFORMAT ,执行步骤(6);反之,执行步骤(5)。
对所有的粒子按照公式(3)(4)的计算过程更新其速度和位置,执行步骤(2)。
计数器清零,根据公式(5)更新 EMBED Equation.DSMT4 \* MERGEFORMAT ,并对除全局最优粒子 EMBED Equation.DSMT4 \* MERGEFORMAT 外的其他粒子进行重新初始化,执行步骤(2)。
输出 EMBED Equation.DSMT4 \* MERGEFORMAT 作为深度学习模型的优化参数,到此结束。
本文采用Matlab工具进行仿真实验。实验结果表明,本文提出的改进PSO算法在加速系数 EMBED Equation.DSMT4 \* MERGEFORMAT 和 EMBED Equation.DSMT4 \* MERGEFORMAT 都等于1.612, EMBED Equation.DSMT4 \* MERGEFORMAT ,迭代60次的情况下,取得了较好的效果,验证了此算法的有效性。
3 实验结果及分析
本文用QPSO与改进的PSO算法进行对比,从下图Fig2中的曲线收敛趋势可以看出,改进的PSO算法具有更好的收敛速度和搜索能力,说明了此改进算法的有效性。
Fig2 不同PSO适应度值收敛曲线
4 结论
在深度学习模型中,当超参数选择不当时会产生过拟合或欠拟合现象,同时由于超参数较多且模型不同时,对应的最优超参数也是不同的。所以本文为了节省时间并获得更好的超参数,对PSO算法进行了改进,引入了停滞检测,并将改进后的PSO算法应用于深度学习模型超参数优化中,寻找最优参数。实验结果表明,与QPSO算法相比本文提出的改进PSO算法具有更好的收敛速度和搜索能力。优化之后超参数具有更好的分类效果。