Efficient-AI-Backbones
华为诺亚方舟开源的高效AI骨干网络模型库,含14种轻量级模型(GhostNet、TNT、ViG等),覆盖CNN/ViT/MLP三大架构
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
华为诺亚方舟开源的高效AI骨干网络模型库,含14种轻量级模型(GhostNet、TNT、ViG等),覆盖CNN/ViT/MLP三大架构
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你是一名算法工程师,手头有一台算力有限的嵌入式设备,需要在上面跑一个图像分类模型。精度不能太low,但设备的算力和内存撑不起ResNet、EfficientNet这些大块头网络。怎么办?
去GitHub搜轻量级网络,十有八九会碰到一个名字:GhostNet。这是华为诺亚方舟实验室(Huawei Noah's Ark Lab)开源的系列模型库,如今已汇聚从2018年到2024年共14种高效骨干网络,横跨CNN、ViT、MLP三大技术路线,在学术界和工业界都有极高引用量。

图1:GhostNetV2 解耦全聚焦注意力(Decoupled Fully-Collected Attention)机制示意
华为诺亚方舟实验室长期聚焦模型压缩与高效推理。2019年,他们发表了GhostNet论文,提出Ghost Module——用少量卷积核生成内在特征图,再通过廉价深度卷积生成幻影特征图(Ghost Feature Maps),用约一半的计算量达到和标准卷积相近的表达能力。
具体做法:先用s个卷积核生成m=n/s个内在特征图(s通常取2),再对每个内在特征图用d×d深度卷积生成s-1个幻影特征图。总计算量从O(n·k²·c·h·w)降到O(m·k²·c·h·w) + O((s-1)·m·d²·h·w),减少约50%。
这项工作有多炸裂?GhostNet 被 CVPR 2020 评选为最具影响力论文之一。论文发表至今引用量超过7000次,是计算机视觉领域引用最高的轻量网络论文之一。
之后这个团队持续高产:
14个模型,跨越6年,全部收敛在同一个仓库里。
Ghost Module的核心洞察是:内在特征图已经包含了足够的信息,其他特征图可以通过简单的廉价变换(深度可分离卷积)从内在特征图复制出来。这一思想深刻影响了后续模型设计——MobileNetV3、ShuffleNetV2等轻量网络都借鉴了类似思路,ConvNeXt、RepLKNet等现代CNN架构也从中受益。
2022年的GhostNetV2引入了Decoupled Fully-Collected Attention(DFC Attention):在水平和垂直方向分别做注意力聚合,实现长距离依赖建模,且完全基于矩阵乘法,无额外注意力开销。这个设计非常聪明:不用复杂的自注意力机制,而是用两个简单的FC层 + H方向和W方向的分别处理,以极低代价获取全局信息。GhostNetV2论文成为NeurIPS 2022 Spotlight。
除了Ghost系列,项目还收录了多种高效架构路线:
TNT(Transformer in Transformer):将每个patch进一步拆分为sub-patches,在inner-block做attention、outer-block做cross-block交互,在ImageNet上以相近计算量超越ViT。
ViG(Vision GNN):将图像建模为图结构,用图卷积替代传统的网格卷积,在ImageNet和下游任务上取得SOTA。
WaveMLP:受量子力学波动方程启发的MLP架构,在ImageNet上超越了同期MLP-Mixer和Swin Transformer。
项目采用多子模块并行结构:每个模型独立子目录,包含独立的README、模型定义、预训练权重和使用脚本。
Efficient-AI-Backbones/
├── ghostnet_pytorch/ # GhostNet PyTorch实现
│ ├── ghostnet.py # 核心网络定义
│ ├── models/ # 预训练权重
│ └── validate.py # 评估脚本
├── ghostnetv2_pytorch/ # GhostNetV2实现
├── g_ghost_pytorch/ # G-Ghost RegNet
├── tnt_pytorch/ # Transformer in Transformer
├── vig_pytorch/ # Vision GNN
├── cmt_pytorch/ # CNN + ViT混合
├── wavemlp_pytorch/ # WaveMLP
├── tinynet_pytorch/ # TinyNet
├── augvit_pytorch/ # AugViT
├── snnmlp_pytorch/ # SNN-MLP(类脑脉冲网络)
├── parameternet_pytorch/ # ParameterNet(CVPR 2024)
└── hubconf.py # PyTorch Hub统一入口
最友好的设计是 hubconf.py:一行代码即可加载任意预训练模型:
import torch
model = torch.hub.load('huawei-noah/Efficient-AI-Backbones', 'ghostnet')
model.eval()
所有子模块均提供MindSpore版本,与华为昇腾生态深度绑定。
优点:
局限性:
从GitHub stars增长曲线来看,该项目自2019年发布以来持续稳定增长。GhostNet系列在边缘端推理场景(低功耗AI芯片、视频监控、移动端图像处理)仍然不可替代。在AIGC时代,虽然Transformer成为主流架构,但Ghost Module用一半算力达到同等精度的哲学,在资源受限场景下始终是工程师的首选工具之一。
Ghost Module的核心思想已经深刻影响了端侧AI部署生态——在手机、摄像头、嵌入式设备上,GhostNet仍是主流选择。