FBNet系列论文解析

FBNet系列由Facebook提出,通过NAS(神经架构搜索)寻找高效且准确的网络结构。FBNetV1采用DARTS的Supernet和微分梯度方法,V2增加了通道和分辨率的搜索空间,而V3引入JointNAS,将超参数和训练策略纳入搜索。损失函数结合了准确率和Latency/FLOPS,以实现性能与速度的平衡。实验结果显示,FBNet系列在网络性能和计算效率上均有优秀表现。

FBNet系列论文是由Facebook推出的NAS算法搜索到的网络,V1、V2采用的是和DARTS一样的方法,通过构建Supernet和微分梯度方法计算出最佳的网络;V3采用的是自己独特的方法——JointNAS,将超参数和训练策略都作为搜索空间,通过粗粒度和细粒度两个stage搜索出来最好的网络和训练参数。

FBNetV1

网络结构和搜索空间设计

FBNet的训练方法和构建网络的方法基本上沿用了DARTS的方法,不同的是DARTS的Supernet主要体现在Cell结构里,搜索空间包括cell内部的连接和路径上的操作;而FBNet体现在整个网络的主体里,连接是确定的,只搜索路径上的操作。

图1. 可微NAS的过程
在这里插入图片描述

图1是经典的可微NAS的搜索过程。搜索空间是一系列的可选操作,在super net里,每个搜索路径上都并列放置着搜索空间里的操作,有不同的架构参数用于表示这些操作的权重;FBNet在损失函数里加入端侧Latency的项,和准确率一起作为优化的目标;在搜索结束后,根据架构参数生成每条路径上的概率分布,从中采样出最好的网络作为输出(一般选取每条路径上概率值最高的操作)。

表1. FBNet的整体网络架构

在这里插入图片描述

FBNet的整体网络架构如表1所示。左起第一栏表示每个block的输入shape;第2栏表示block的模块设计,除了第一个阶段是 3 × 3 3\times3 3×3的卷积和最后三层conv+avgpool+fc外,中间全部都是TBS模块,TBS模块的结构如图2所示;第3栏表示每个阶段的输出channel大小;第4栏表示每个stage模块的重复个数;最右边一栏表示每个stage的缩放的倍数,也就是stride的大小。

从表1可以看出,FBNet的整体结构类似ResNet,从头到尾是一个直筒的按顺序操作的架构,并没有旁路的分叉,不像DARTS的cell里面还有不同block之间的连接。

图2. TBS内部结构
TBS结构

表2. TBS的可选搜索空间
在这里插入图片描述

图2显示的是TBS block的内部结构,这个结构的设计借鉴于MobileNetV2和ShiftNet的思想。TBS由两条路组成,左边先通过 1 × 1 1\times1 1×1的分组卷积将channel放大(后面跟一个shuffle的操作,混合不同group的特征),然后再用核为 K × K K\times K K×K大小的可分离卷积进行计算(如果某个stage的stride为2,在该stage的第一个TBS block的可分离卷积stride设置成2),最后再用 1 × 1 1\times1 1×1的分组卷积将channel调整成stage的输出通道数大小;右边的分支就是一个跳跃连接,如果stride为1,就是直接连接,如果stride为2,通过stride=2的卷积将特征图调整成和左边一致的shape大小。

表2表示的TBS的9个可选操作,名称也很容易理解,k表示可分离卷积核大小,e表示中间channels的放大倍数,g表示分组的个数。

损失函数设计

FBNet的损失函数不只有标准的分类交叉熵损失项,还加上了网络的时延Latency,具体公式如下所示:

L ( a , w a ) = C E ( a , w a ) ⋅ α l o g ( L A T ( a ) ) β L(a, w_a)=CE(a, w_a)\cdot \alpha log(LAT(a))^{\beta} L(a,wa)=CE(a,wa)αlog(LAT(a))β

其中, a a

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值