Skip to main content
QUICK REVIEW

[论文解读] GP-CNAS: Convolutional Neural Network Architecture Search with Genetic Programming

Yiheng Zhu, Yichen Yao|arXiv (Cornell University)|Nov 26, 2018
Evolutionary Algorithms and Applications参考文献 3被引用 7
一句话总结

该论文提出 GP-CNAS,一种用于自动卷积神经网络架构搜索的遗传编程框架。它将 CNN 表示为树结构,其中残差块作为叶节点,组合操作作为函数,并采用一种动态交叉算子,在探索与利用之间取得平衡,从而高效地发现高性能且结构均衡的架构——在有限的搜索尝试下于 CIFAR-10 上实现了具有竞争力的准确率。

ABSTRACT

Convolutional neural networks (CNNs) are effective at solving difficult problems like visual recognition, speech recognition and natural language processing. However, performance gain comes at the cost of laborious trial-and-error in designing deeper CNN architectures. In this paper, a genetic programming (GP) framework for convolutional neural network architecture search, abbreviated as GP-CNAS, is proposed to automatically search for optimal CNN architectures. GP-CNAS encodes CNNs as trees where leaf nodes (GP terminals) are selected residual blocks and non-leaf nodes (GP functions) specify the block assembling procedure. Our tree-based representation enables easy design and flexible implementation of genetic operators. Specifically, we design a dynamic crossover operator that strikes a balance between exploration and exploitation, which emphasizes CNN complexity at early stage and CNN diversity at later stage. Therefore, the desired CNN architecture with balanced depth and width can be found within limited trials. Moreover, our GP-CNAS framework is highly compatible with other manually-designed and NAS-generated block types as well. Experimental results on the CIFAR-10 dataset show that GP-CNAS is competitive among the state-of-the-art automatic and semi-automatic NAS algorithms.

研究动机与目标

  • 自动化设计高效的卷积神经网络架构,以减少深度学习中的人工试错。
  • 解决在 CNN 架构搜索中平衡网络深度与宽度的挑战。
  • 开发一个灵活且可扩展的框架,兼容手工设计与 NAS 生成的残差块。
  • 通过在进化过程中动态调整探索与利用,提升搜索效率。
  • 在极小的搜索预算下实现 CIFAR-10 上的最先进性能。

提出的方法

  • CNN 架构被编码为树结构,其中叶节点表示残差块,内部节点表示块的组合操作。
  • 应用遗传编程算子——选择、交叉和变异——以进化树状架构群体。
  • 引入一种动态交叉算子,早期强调架构复杂性,后期强调多样性,以在深度与宽度之间实现平衡。
  • 该框架支持与多种块类型集成,包括手工设计和 NAS 生成的块,提升了兼容性。
  • 通过在 CIFAR-10 数据集上训练和验证的准确率来评估搜索性能。
  • 适应度评估基于验证准确率,引导进化选择向性能更优的架构发展。

实验结果

研究问题

  • RQ1遗传编程框架能否在无需大量人工干预的情况下有效搜索高性能 CNN 架构?
  • RQ2在神经架构搜索过程中,如何动态平衡探索与利用,以提升收敛速度与性能?
  • RQ3该框架在不同类型的残差块(包括手工设计与 NAS 生成的)之间具有多大程度的泛化能力?
  • RQ4GP-CNAS 在标准基准上与现有自动及半自动 NAS 方法相比表现如何?
  • RQ5GP-CNAS 是否能在有限的搜索尝试次数内发现结构平衡且高效的架构?

主要发现

  • GP-CNAS 在 CIFAR-10 上实现了具有竞争力的测试准确率,表现优于当前最先进的自动与半自动 NAS 方法。
  • 动态交叉算子成功平衡了架构复杂性与多样性,从而实现更快的收敛与更优的最终架构。
  • 该框架与多种残差块类型高度兼容,包括手工设计与 NAS 生成的块,支持灵活集成。
  • 基于树的表示方式使得遗传算子能够高效且灵活地应用,提升了搜索效率。
  • 该方法在有限的尝试次数内发现了深度与宽度均衡的 CNN 架构,显著减少了对大量超参数调优的需求。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。