1. 卷积神经网络 CNN

1.1 卷积基础知识 **

  • 卷积操作:局部连接、权值共享、结构化(基本一致的对应关系)

  • 感受野:R(i)=min(R(i1)+(k1)j=0i1s(j),L)R^{(i)}=\min(R^{(i-1)}+(k-1)\prod_{j=0}^{i-1}s^{(j)}, L)

  • 输出尺寸:l(o)=l+2pks+1l^{(o)}=\lfloor\frac{l+2p-k}{s}\rfloor+1(padding=same/valid)

1.2 卷积的变种 ***

  • 分组卷积(group):降低参数量、计算量(1/g),e.g. 移动设备

  • 转置卷积 / 反卷积(transposed):扩张 / 上采样,e.g. 语义 / 实例分割、物体 / 关键点检测、自编码器 / GAN

  • 空洞卷积(dilated/atrous):不通过 pooling 扩大感受野,不会降低分辨率(扩张率 r)

  • 可变形卷积(deformable):可学习偏移量(offset),几何形变学习能力

1.3 CNN 整体结构 ****

  • AlexNet:ReLU,局部响应归一化 LRN,Dropout / 数据扩充,分组卷积

  • VGGNet:多个3x3,2x2池化,去掉LRN(20层,更加简洁)

  • GoogLeNet/Inception-v1:1+3+5多路卷积,瓶颈结构1x1通道压缩,中间层辅助分类器,全局平均池化

  • Inception-v2/3:避免表达瓶颈,通道多,通道压缩,平衡深度宽度

  • ResNet:跳层连接,解决网络退化(抑制梯度消失、具备自我关闭能力)

  • Inception-v4/ResNet:

  • ResNeXt:缩小瓶颈比,分组卷积

1.4 CNN 基础模块 ****

  • BatchNorm y(k)=γ(k)x(k)μ(k)(σ(k))2+ϵ+β(k)y^{(k)}=\gamma^{(k)}\frac{x^{(k)}-\mu^{(k)}}{\sqrt{(\sigma^{(k)})^2+\epsilon}}+\beta^{(k)}

    • 内部协变量偏移:影响效率稳定性,饱和区,更小的学习率

    • BN:训练稳定,对初始值不敏感,采用更大学习率,加速收敛

    • 可以放在激活层 之前 / 之后

  • 最后几层

    • 几层全连接层:全局的、位置敏感的

    • 全局平均池化(特征图):参数量 / 计算量降低,可解释性

  • 瓶颈结构:1x1卷积,压缩输入特征图的 通道数目,降低计算量

  • 沙漏结构

    • bottom-up(encoder):conv + pool,逐层压缩

    • top-down(decoder):反卷积 / 插值 上采样,逐层扩大

Last updated