分享自:

粒子群优化深度神经网络架构用于图像分类

期刊:Swarm and Evolutionary ComputationDOI:10.1016/j.swevo.2019.100013

类型a

基于粒子群优化的深度卷积神经网络架构搜索研究

主要作者与机构及发表信息
本研究由Francisco Erivaldo Fernandes Junior和Gary G. Yen∗完成,他们隶属于美国俄克拉荷马州立大学电气与计算机工程学院。该研究于2019年5月24日提交至《Swarm and Evolutionary Computation》期刊,并在Elsevier出版。

学术背景
近年来,深度神经网络(Deep Neural Networks, DNNs)已成为计算机视觉领域的黄金标准算法。尤其是深度卷积神经网络(Convolutional Neural Networks, CNNs),几乎在所有图像分类基准测试中都取得了最佳结果,超越了人类专家的分类能力。然而,设计一个有意义的CNN架构仍然是一项复杂的任务。例如,VGG16、Inception、ResNet和DenseNet等一些最成功的CNN模型都是通过精心手工设计而成,结合了特定问题领域的知识。这种方法通常需要耗费大量时间和计算资源。因此,研究者们试图开发一种自动化方法来快速搜索高质量的CNN架构。

为了应对这一挑战,本研究提出了一种基于粒子群优化(Particle Swarm Optimization, PSO)的新算法,称为PSOCNN。该算法旨在快速收敛的同时,能够自动搜索适用于图像分类任务的深度卷积神经网络架构。其目标是通过优化技术减少人工干预,从而提高效率并降低对领域知识的依赖。

研究流程
本研究的工作流程包括六个主要步骤:初始化粒子群、评估个体适应度、计算粒子差异、更新粒子速度、更新粒子架构以及最终结果分析。

  1. 初始化粒子群
    粒子群的初始化函数(initializeswarm())会生成随机的CNN架构,每个粒子包含3到最大层数之间的随机层数。为确保架构的可行性,第一层始终为卷积层,最后一层为全连接层。此外,全连接层只能位于架构末尾,避免在卷积层或池化层之间插入。

  2. 适应度评估
    适应度评估通过computeloss()函数完成,将粒子架构编译为完整的CNN并进行训练。评估指标为交叉熵损失函数,目标是最小化损失值。训练使用Adam优化器,权重初始化采用Xavier方法,并可选地加入Dropout和Batch Normalization以避免过拟合。

  3. 计算粒子差异
    在计算粒子速度之前,需定义如何衡量两个粒子之间的差异。本研究提出了一种新颖的差异运算符,允许比较不同层数和参数的粒子。差异仅考虑层的类型,而不涉及超参数。例如,如果两粒子的某一层均为卷积层,则差异为零,表示该位置不应改变。

  4. 更新粒子速度
    粒子的速度基于其与全局最优(gbest)和个体最优(pbest)的差异计算。速度更新公式引入了一个决策因子cg,用于控制粒子向全局最优靠拢的速度。

  5. 更新粒子架构
    粒子架构更新根据速度信息进行,添加或删除层以调整架构。为确保架构的合理性,算法限制了池化层的数量,避免因过多池化操作导致输出尺寸过小。

  6. 数据分析流程
    实验数据来自九个公开数据集,包括MNIST及其变体、Rectangles、Rectangles-I、Convex和MNIST-Fashion。实验使用NVIDIA Tesla P100 GPU进行,参数设置如表2所示。每组实验重复30次以获得统计学意义的结果。

主要结果
实验结果显示,PSOCNN在多个数据集上表现优异。例如,在MNIST数据集中,最佳测试错误率为0.32%,平均错误率为0.44%;在MNIST-RD、MNIST-RB和MNIST-BI数据集中,最佳错误率分别为3.58%、1.79%和1.90%。对于MNIST-Fashion数据集,当使用Dropout和Batch Normalization时,最佳测试错误率为5.53%,平均错误率为5.90%。这些结果表明,PSOCNN能够在较短时间内找到性能接近甚至优于复杂模型的CNN架构。

进一步分析发现,PSOCNN倾向于使用单个全连接层作为架构的最后部分,这与近期研究一致,即单个全连接层比多层全连接层效果更好。此外,算法在小型GPU上运行时间显著低于其他进化算法,如EvoCNN,显示出其高效性。

结论与价值
本研究提出的PSOCNN算法为深度学习从业者提供了一种自动设计CNN模型的有效工具。其科学价值在于通过优化技术减少了人工设计的工作量,同时保持了高性能。应用价值体现在其能够快速搜索适用于不同领域问题的CNN架构,尤其适合计算资源有限的研究团队。

研究亮点
1. 提出了一种新颖的直接编码策略,允许使用标准PSO算法比较和组合可变长度的CNN架构。
2. 开发了新的差异运算符和速度运算符,使PSOCNN能够高效更新粒子架构。
3. 相较于传统进化算法,PSOCNN具有更快的收敛速度和更高的计算效率。

其他有价值内容
未来研究方向包括扩展PSOCNN以支持多目标优化(如计算复杂性和分类精度之间的权衡),以及探索更复杂的架构(如ResNet和DenseNet)。此外,作者计划优化算法以支持更大规模的数据集和更深的网络结构。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com