超网训练伪代码
在超网训练之后,再单独训练已经搜索到的针对于特定任务的网络结构,以测试它们的性能。
大量实验表明FBNetV5产生的紧凑模型可以在所有三个目标任务上实现SoTA性能。值得注意的是,所有性能良好的架构都是在一次运行中同时搜索的,然而它们却击败了为每项任务精心搜索或设计的SoTA神经架构。
实验结果
Meta Reality Lab在基于Pytorch和Detectron2的D2Go中实现了搜索过程和目标任务的训练管道。
对于搜索(训练超网)过程,研究人员构建了一个从FBNetV3-A模型扩展而来的超网,在16个V100 GPU上训练,大概需要10个小时完成。
针对ImageNet分类、ADE20K语义分割和COCO目标检测,FBNetV5搜索的体系结构会与现有的NAS搜索和手动设计的紧凑模型进行比较。
通过训练一次supernet,为每个任务采样一个拓扑来搜索所有任务的拓扑,并将搜索到的拓扑转移到不同大小的不同版本FBNetV5模型中。
在ImageNet图像分类任务上与SoTA模型的比较。
FBNetV5使用FBNetV5-{A,C,F}的不同版本命名,并通过从FBNetV5-A分别收缩分辨率和通道大小来构建两个更小的模型FBNetV5-AR和FBNetV5-AC,并最终使用FBNetV5-{version}-{task}的格式来命名模型。
与所有现有的紧凑模型(包括自动搜索和手动设计的模型)相比,FBNetV5在ImageNet 分类中提供了具有更好精度与FLOPs平衡的架构。与FBNetV3-G相比,在相同FLOPs下,top-1精度提高了1.3%。
在ADE20K语义分割任务中,FBNetV5与以MiT-B1为主干的SegFormer相比,mIoU提高了1.8%,FLOPs减少了3.6倍。
在ADE20K语义分割任务上与SoTA模型的比较。
在COCO目标检测任务中,FBNetV5与YOLOX-Nano相比,获得了1.1%的mAP增益,但是FLOPs减少了1.2倍。
在COCO目标检测任务上与SoTA模型的比较。
为了验证FBNetV5搜索算法的有效性,研究人员将提出的多任务搜索与单任务搜索和随机搜索进行了比较。
与随机搜索相比,使用相同的FLOPs,来自多任务搜索的模型明显优于随机采样模型,在图像分类上实现了0.3%的性能增益,在语义分割上实现了1.6%的性能增益,在目标检测上实现了0.4%的性能增益。
与单任务搜索相比,通过多任务搜索搜索到的模型提供了非常相似的性能(例如,在ADE20K 上相同mIoU下,2.8 GFLOPs对2.7 GFLOPs),同时将每个任务的搜索成本降低了T倍。T代表任务的数量。
当在ImageNet图像分类(CLS)、ADE20K语义分割(SEG)和COCO目标检测(DET)中进行基准测试时,FBNetV5搜索算法的有效性。T代表任务数。
最终搜索到的结构如下:语义分割(SEG)、目标检测(DET)和图像分类(CLS)任务的搜索架构的可视化。
未来,研究人员在FBNetV5的基础上,还会探索更细粒度的搜索空间,例如,搜索分块的信道大小,这可以进一步提高搜索模型的性能。