- ResNet
- EfficientNet
- DenseNet
模型
- InceptionNet
- V1:GoogleNet
- 四條不同空間尺度的路線來擷取特徵
- 使用1x1先降維來降低計算量
- 使用Global Average Pool取代FC
- 中間層使用輔助分類節點?
- V2
- 分解filter
- 5x5 ⇒ 2個3x3、
- 2個3x1代替3x3
- 實驗證明降低參數量但不會影響準確度
- 增加BN,減少Internal Covariate Shift
- V3
- 分解filter
- 7x7 ⇒ 1x7, 7x1, 2個1x1
- 3x3 ⇒ 1x3, 3x1
- 優化auxiliary classifiers
- 作者認為在訓練初期的時候並不能加速收斂,只有訓練快結束時,它才會略微提高網絡精度。因此去掉第一個輔助分類節點,保留第二個並認為它有 regularizer 的作用。
- 嘗試新的pooling層設計
- 用RMSProp替代SGD,增加gradient clipping去穩定訓練
- Label Smoothing Regularization(LSR)
- 是一種通過在輸出y中添加noise,來降低模型過擬合(overfitting)程度的一種regularization方式。
- ResNet
- identity mapping
- residual mapping
- $y=F(x)+x\quad if\ 維度相同\ else\quad y=F(x)+Wx$
- 指的是“差”,也就是y−x,所以残差指的就是F(x)部分。
- resnet34的block設計
- 3x3, 64 ⇒ 3x3, 64 ⇒ residual mapping
- resnet50的bottleneck design
- 1x1用來降維:256-d ⇒ 1x1, 64 ⇒ 3x3, 64 ⇒ 1x1, 256 ⇒ residual mapping
- 為了降低計算量
- DenseNet
- DenseBlock
- Denseblock密集連接:每个子block都会接受其前面所有小block作为其额外的输入
- Resnet只是前後block連接而已
- 每個子block ⇒ BN+ReLU+3x3 Conv
- 每個conv輸出channel為k,k又稱為growth rate
- concat以後會輸出越來越多個channel,怎辦? 引入 bottleneck:原有的子block加入1x1降維 ⇒ BN+ReLU+1x1 Conv+BN+ReLU+3x3 Conv
- 連接方式為concat (not add) through channel
- $x_l = H([x_1, x_2, ..., x_{l-1}])$
- 為了能concat,在一個DenseBlock中的所有子block其H, W都須維持一致
- Transition
- 連接Denseblock
- 使用Pooling縮小特徵圖
- BN+ReLU+1x1 Conv+2x2 AvgPooling
- 優點
- 由于密集连接方式,DenseNet提升了梯度的反向传播,使得网络更容易训练。由于每层可以直达最后的误差信号,实现了隐式的“deep supervision”;
- 参数更小且计算更高效,这有点违反直觉,由于DenseNet是通过concat特征来实现短路连接,实现了特征重用,并且采用较小的growth rate,每个层所独有的特征图是比较小的;
- 由于特征复用,最后的分类器使用了低级特征。
- 缺點
- 如果实现方式不当的话,DenseNet可能耗费很多GPU显存
- SqueezeNet
- 再壓縮
- 3x3 ⇒ 1x1
- 減少3x3的input/output通道數
- 将降采样后置:作者认为较大的Feature Map含有更多的信息,因此将降采样往分类层移动。注意这样的操作虽然会提升网络的精度,但是它有一个非常严重的缺点:即会增加网络的计算量。
- MobileNetV1
- 引入了Depth-wise及Point-wise的conv,合併為Depth-wise Separable Conv來降低運算量
- 引入了RELU6
- 最大值clip為6,避免數值過大
- 為了能在移動端設備float16低精度運算下也能有很好的数值分辨率
- MobileNetV2
- 為了避免input太低維使DW作用效果不好(上一層給幾維, DW就只能幾維),所以在DW前引入PW來升維
- 定义升维系数 t=6 ,这样不管输入通道数 Cin 是多是少,经过第一个 PW 升维之后,DW 都是在相对的更高维 ( t*Cin ) 进行着辛勤工作的。
- V2把DW後的RELU6改成linear
- 作者認為activation function 在高維空間可以有效地增加非線性,但在低維空間會破壞特徵(PW本來就是用來降維用的,所以輸出是低維度)
- MnasNet
- 终端轻量化模型新思路,追求三個維度:参数少、速度快和精度高。
- 使用强化学习的思路,提出一种资源约束的终端 CNN 模型的自动神经结构搜索方法。
- 准确性和实时性实现良好平衡的模型