CNN的五脏六腑
思路大纲
1)手动设计网络结构 -> NAS搜索;
2)固定感受野 -> 引入空间注意力做感受野自动调节;
3)效果提升不上去 -> 换个思路做实时分割来对比结果;
4)自监督太热门 -> 引入弱监督 (GAN, 知识蒸馏, …) + trick = 差不多的score;
5)DNN太枯燥,融入点传统视觉的方法搞成end-to-end训练;
6)CNN太单调,配合GCN搞点悬念;
7)嫌2D太low逼,转3D点云分割;觉得太懒?积木堆起:A+B,A+B+C,A+B+C+D,…
积木总结
A-注意力机制
SE ~ Non-local ~ CcNet ~ GC-Net ~ Gate ~ CBAM ~ Dual Attention ~ Spatial Attention ~ Channel Attention ~
【只要你能熟练的掌握加法、乘法、并行、串行四大法则,外加知道一点基本矩阵运算规则(如:HW * WH = HH)和sigmoid/softmax操作,那么你就能随意的生成很多种注意力机制】
B-卷积结构
Residual block ~ Bottle-neck block ~ Split-Attention block ~ Depthwise separable convolution ~ Recurrent convolution ~ Group convolution ~ Dilated convolution ~ Octave convolution ~ Ghost convolution ~ …【直接替换掉原始卷积块就完事了】
C-多尺度模块
ASPP ~ PPM ~ DCM ~ DenseASPP ~ FPA ~ OCNet ~ MPM
【好好把ASPP和PPM这两个模块理解一下,搞多/减少几条分支,并联改成串联或者串并联结合,每个分支搞点加权,再结合点注意力或者替换卷积又可以组装上百种新结构出来了】
D-损失函数
Focal loss ~ Dice loss ~ BCE loss ~ Wetight loss ~ Boundary loss ~ Lovász-Softmax loss ~ TopK loss ~ Hausdorff distance(HD) loss ~ Sensitivity-Specificity (SS) loss ~ Distance penalized CE loss ~ Colour-aware Loss
E-池化结构
Max pooling ~ Average pooling ~ Random pooling ~ Strip Pooling ~ Mixed Pooling ~
F-归一化模块
Batch Normalization ~Layer Normalization ~ Instance Normalization ~ Group Normalization ~ Switchable Normalization ~ Filter Response Normalization…
G-学习衰减策略
StepLR ~ MultiStepLR ~ ExponentialLR ~ CosineAnnealingLR ~ ReduceLROnPlateau ~…
H-优化算法
BGD ~ SGD ~ Adam ~ RMSProp ~ Lookahead ~…
I-数据增强
水平翻转、垂直翻转、旋转、平移、缩放、裁剪、擦除、反射变换 ~ 亮度、对比度、饱和度、色彩抖动、对比度变换 ~ 锐化、直方图均衡、Gamma增强、PCA白化、高斯噪声、GAN ~ Mixup
J-骨干网络
LeNet ~ ResNet ~ DenseNet ~ VGGNet ~ GoogLeNet ~ Res2Net ~ ResNeXt ~ InceptionNet ~ SqueezeNet ~ ShuffleNet ~ SENet ~ DPNet ~ MobileNet ~NasNet ~ DetNet ~ EfficientNet