
摘要
可微分架构搜索(DARTS)为寻找有效的网络架构提供了一种快速解决方案,但在联合训练超级网络和搜索最优架构时面临较大的内存和计算开销问题。在本文中,我们提出了一种新颖的方法,即部分连接DARTS(Partially-Connected DARTS),通过采样超级网络的一小部分来减少探索网络空间中的冗余,从而实现更高效的搜索而不牺牲性能。具体而言,我们在通道子集上执行操作搜索,同时通过旁路跳过未选中的部分。这种策略可能会因采样不同通道而导致超级网络边缘选择的不一致性问题。我们通过边缘归一化缓解了这一问题,该方法引入了一组新的边缘级参数以减少搜索过程中的不确定性。得益于降低的内存成本,PC-DARTS可以使用更大的批量进行训练,因此不仅速度更快,而且训练稳定性更高。实验结果验证了所提方法的有效性。具体来说,在CIFAR10数据集上,我们的方法仅需0.1个GPU天即可达到2.57%的错误率;在ImageNet数据集(移动设置下)上,使用3.8个GPU天进行搜索后,我们达到了24.2%的最先进top-1错误率。我们的代码已公开发布在:https://github.com/yuhuixu1993/PC-DARTS。
代码仓库
chenxin061/pdarts
pytorch
GitHub 中提及
ddghost/new_darts
pytorch
GitHub 中提及
Mind23-2/MindCode-5/tree/main/PDarts
mindspore
MS-Mind/MS-Code-06/tree/main/PDarts
mindspore
aragakiyuiii/gumbel-pdarts-master
pytorch
GitHub 中提及
xkp793003821/PC-DARTS-COOPER
pytorch
GitHub 中提及
peteryuX/pcdarts-tf2
tf
GitHub 中提及
yuhuixu1993/PC-DARTS
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| neural-architecture-search-on-cifar-10 | PC-DARTS-CIFAR | Top-1 Error Rate: 2.51% |
| neural-architecture-search-on-cifar-10 | PC-DARTS | Parameters: 3.6M Search Time (GPU days): 0.1 Top-1 Error Rate: 2.57% |
| neural-architecture-search-on-imagenet | PC-DARTS (ImageNet) | Accuracy: 75.8 MACs: 597M Params: 5.3M Top-1 Error Rate: 24.2 |