[论文解读] Automatically Evolving CNN Architectures Based on Blocks
该论文提出一种自动遗传算法 AE-CNN,通过使用残差网络(ResNet)和密集网络(DenseNet)模块并采用可变长度编码,实现对卷积神经网络(CNN)架构的自动演化,结合新颖的交叉与变异算子,实现局部与全局搜索。该方法在 CIFAR-10 和 CIFAR-100 数据集上实现了最先进(SOTA)的分类准确率,且计算成本显著低于同类方法。
The performance of Convolutional Neural Networks (CNNs) highly relies on their architectures. In order to design a CNN with promising performance, extended expertise in both CNNs and the investigated problem is required, which is not necessarily held by every user interested in CNNs or the problem domain. In this paper, we propose to automatically evolve CNN architectures by using a genetic algorithm based on ResNet blocks and DenseNet blocks. The proposed algorithm is extbf{completely} automatic in designing CNN architectures, particularly, neither pre-processing before it starts nor post-processing on the designed CNN is needed. Furthermore, the proposed algorithm does not require users with domain knowledge on CNNs, the investigated problem or even genetic algorithms. The proposed algorithm is evaluated on CIFAR10 and CIFAR100 against 18 state-of-the-art peer competitors. Experimental results show that it outperforms state-of-the-art CNNs hand-crafted and CNNs designed by automatic peer competitors in terms of the classification accuracy, and achieves the competitive classification accuracy against semi-automatic peer competitors. In addition, the proposed algorithm consumes much less time than most peer competitors in finding the best CNN architectures.
研究动机与目标
- 开发一种完全自动化的 CNN 架构搜索方法,无需人工在 CNN、问题领域或遗传算法方面具备专业知识。
- 克服现有自动与半自动 CNN 架构搜索方法的局限性,包括计算成本过高以及对人工设计组件的依赖。
- 设计一种具有可变长度表示的遗传算法,可自适应演化最优网络深度与模块组合。
- 通过新颖的交叉算子与面向模块化 CNN 的定制化变异算子,实现有效的全局与局部搜索。
- 在最小化 GPU 资源消耗的前提下,实现图像数据集上的高分类准确率。
提出的方法
- 该方法采用可变长度编码方案,表示由 ResNet 和 DenseNet 模块组成的 CNN 架构,支持网络深度的动态演化。
- 设计了一种新颖的交叉算子,通过基于结构相似性的对齐与重组模块序列,实现对可变长度个体的有效处理。
- 应用多种变异算子作用于模块,包括模块插入、删除、替换以及超参数变异,实现局部与全局搜索的协同。
- 算法采用基于验证准确率的适应度函数,无需任何预处理或后处理步骤。
- 进化过程通过世代选择机制驱动,适应度更高的架构在多代中被选中进行繁殖。
- 整个过程完全自动化,无需人工干预或领域特定的调参。
实验结果
研究问题
- RQ1基于 ResNet 和 DenseNet 模块的遗传算法能否在无需人工专业知识的情况下自动演化出高性能的 CNN 架构?
- RQ2与固定长度或无交叉方法相比,所提出的可变长度编码结合新颖交叉算子是否能提升搜索效率与性能?
- RQ3所提出的自动 CNN 架构搜索方法在准确率与计算成本方面,与最先进的人工设计与自动化方法相比表现如何?
- RQ4该方法能否在 CIFAR-10 和 CIFAR-100 上实现具有竞争力或更优的准确率,同时显著减少 GPU 使用天数?
主要发现
- 在 CIFAR-10 上,AE-CNN 达到了 4.7% 的测试误差,优于所有最先进的人工设计 CNN,包括 ResNet(深度=1,202)和 DenseNet(k=12),误差降低 0.5% 至 4.5%。
- 在 CIFAR-100 上,AE-CNN 的误差低于 Maxout、Network in Network、Highway Network 和 All-CNN,且与 FractalNet 和 ResNet(深度=101)相当。
- 尽管性能更优,AE-CNN 在 CIFAR-10 和 CIFAR-100 上分别仅消耗了 Hierarchical Evolution 的 1/5 和 Block-QNN-S 的 1/3 的 GPU 天数。
- 在完全自动化的同类方法中,AE-CNN 在 CIFAR-10 上实现了最佳准确率(4.7% 误差),优于 NAS(5.4% 误差)、Large-scale Evolution(5.4% 误差)和 MetaQNN。
- 所演化出的 CNN 拥有 3200 万参数,少于 VGG 和 FractalNet,且与 ResNet(深度=1,202)相当,表明其具有优异的参数效率。
- AE-CNN 在性能上与半自动方法如 EAS 和 Block-QNN-S 竞争,同时无需人工专业知识或预定义的基础网络。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。