3 个月前

基于知识蒸馏的分块监督神经架构搜索

基于知识蒸馏的分块监督神经架构搜索

摘要

神经架构搜索(Neural Architecture Search, NAS)旨在通过机器自动设计网络架构,被寄予厚望,有望在机器学习领域引发新一轮革命。然而,尽管期望甚高,现有NAS方案的有效性与效率仍不明确,部分近期研究甚至指出,许多现有NAS方法的实际表现并不优于随机选择架构。NAS效率低下的主要原因在于架构评估的不准确:为加速搜索过程,近期方法普遍采用共享网络参数的方式,在大规模搜索空间中对多个候选架构进行欠训练(under-training)并行评估;然而,这种做法导致了架构评分的偏差,进一步削弱了NAS的有效性。针对上述问题,本文提出将NAS的大规模搜索空间划分为模块化块(blocks),以确保候选架构能够得到充分训练。这一策略有效缓解了因参数共享带来的表征偏移(representation shift),从而实现对候选架构的准确评估。得益于块级(block-wise)搜索机制,我们还可对同一块内的所有候选架构进行完整评估。此外,我们发现网络模型的知识不仅体现在其参数中,也深植于其架构结构之中。因此,本文提出从教师模型中蒸馏神经架构(即“神经架构知识”或DNA)作为监督信号,指导块级架构搜索,显著提升了NAS的有效性。值得注意的是,所搜索得到的架构性能甚至超越了教师模型,充分验证了本方法的实用性与可扩展性。最终,该方法在移动设备场景下于ImageNet数据集上实现了78.4%的Top-1准确率,较EfficientNet-B0提升了约2.1个百分点,达到当前最优水平。所有搜索得到的模型及其评估代码均已公开,可供研究与应用参考。

代码仓库

changlin31/DNA
官方
pytorch
GitHub 中提及

基准测试

基准方法指标
neural-architecture-search-on-cifar-10DNA-c
Top-1 Error Rate: 1.7%
neural-architecture-search-on-cifar-100-1DNA-c
Percentage Error: 11.7
neural-architecture-search-on-imagenetDNA-d
Accuracy: 78.4
FLOPs: 611M
Params: 6.4M
Top-1 Error Rate: 21.6
neural-architecture-search-on-imagenetDNA-c
Accuracy: 77.8
FLOPs: 466M
Params: 5.3M
Top-1 Error Rate: 22.2
neural-architecture-search-on-imagenetDNA-b
Accuracy: 77.5
FLOPs: 406M
Params: 4.9M
Top-1 Error Rate: 22.5
neural-architecture-search-on-imagenetDNA-a
Accuracy: 77.1
FLOPs: 348M
Params: 4.2M
Top-1 Error Rate: 22.9

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
基于知识蒸馏的分块监督神经架构搜索 | 论文 | HyperAI超神经