卷积神经网络 I

  • 卷积运算
  • 卷积网络的动机:稀疏交互、参数共享、平移不变性
  • 池化

卷积神经网络

给定一个卷积层:

参数 表示
卷积核数目 FF
卷积核大小 KK
步长 SS
零填充个数 PP

假如输入图片大小:W1×H1×D1W_1 \times H_1 \times D_1

经过卷积后输出大小:W2×H2×D2W_2 \times H_2 \times D_2

其中:

W2=(W1K+2P)/S+1H2=(H1K+2P)/S+1D2=F\begin{aligned} & W_2=\left(W_1-K+2 P\right) / S+1 \\ & H_2=\left(H_1-K+2 P\right) / S+1 \\ & D_2=F \end{aligned}

通过参数共享,每个滤波器的参数:K×K×D1+1K \times K \times D_1+1FF 个滤波器 F(KKD1)+FF *\left(K * K * D_1\right)+F

卷积神经网络 II

参数学习

设计和学习一个神经网络结构:

  1. 设计网络结构:卷积层,池化层,全连接层

  2. 设定超参数:开始学习过程之前设置,而不是通过训练获得。定义了关于模型的更高层次的概念,如复杂度或学习能力(容量)

    • 卷积层:层数,步长,填充
      • 卷积核:尺寸,个数
    • 其他…
  3. 参数学习:基于大量样本数据,通过误差逆传播算法进行参数学习。

    1. 前向传播
    2. 损失函数
    3. 反向传播
    4. 更新权重

其他卷积方式:转置

卷积操作实现了高维特征到低维特征的转换。

转置卷积:实现高维特征到低维特征的转换

  • 仿射变换可以实现低维特征到高维特征的转换。

高维向量 xRd\boldsymbol{x} \in \mathbb{R}^d ,低维向量为 zRp,p<d\boldsymbol{z} \in \mathbb{R}^p, p<d

高维d低维p\text {高维}d \rightarrow \text {低维}pz=Wx,WRp×d:\mathbf{z}=\boldsymbol{W} \boldsymbol{x}, \boldsymbol{W} \in \mathbb{R}^{p \times d}

高维p低维d\text {高维}p \rightarrow \text {低维}dx=WTZ,WTRd×p:\boldsymbol{x}=\boldsymbol{W}^{\mathrm{T}} \boldsymbol{Z}, \boldsymbol{W}^{\mathrm{T}} \in \mathbb{R}^{d \times p}

举例:输入 x=[x1,x2,x3,x4,x5]R5\boldsymbol{x}=\left[x_1, x_2, x_3, x_4, x_5\right] \in \mathbb{R}^5 ,卷积核 w=[w1,w2,w3]T\boldsymbol{w}=\left[w_1, w_2, w_3\right]^{\mathbf{T}}

高维5低维3\text {高维}5 \rightarrow \text {低维}3

z=Cx=[w1w2w3000w1w2w3000w1w2w3]x=wx\begin{aligned} \boldsymbol{z}& =\boldsymbol{C} \boldsymbol{x} \\ & =\left[\begin{array}{ccccc} w_1 & w_2 & w_3 & 0 & 0 \\ 0 & w_1 & w_2 & w_3 & 0 \\ 0 & 0 & w_1 & w_2 & w_3 \end{array}\right] \boldsymbol{x} \\ & =\boldsymbol{w} \otimes \boldsymbol{x} \end{aligned}

低维3高维5\text {低维}3 \rightarrow \text {高维}5

x=Cz=[w100w2w10w3w2w10w3w200w3]z=rot180(w)~z\begin{aligned} & \boldsymbol{x}=\boldsymbol{C}^{\top} z \\ & =\left[\begin{array}{ccc} w_1 & 0 & 0 \\ w_2 & w_1 & 0 \\ w_3 & w_2 & w_1 \\ 0 & w_3 & w_2 \\ 0 & 0 & w_3 \end{array}\right] z \\ & =\operatorname{rot} 180(\boldsymbol{w}) \tilde{\otimes} \boldsymbol{z} \\ & \end{aligned}

其他卷积方式:空洞

空洞卷积/膨胀卷积:不增加参数,同时增加单元感受野的方法。

如果在卷积核的每两个元素之间插入 D1D-1 个空洞,卷积核的有效大小为:

K=K+(K1)×(D1),K^{\prime}=K+(K-1) \times(D-1),

  • DD 称为膨胀率。当 D=1D=1 时卷积核为普通的卷积核。

典型网络简介

LetNet

LeNet\text {LeNet} 提供了利用卷积层堆叠进行特征提取的框架,开启了深度卷积神经网络的发展。

卷积核 115×55\times 566

卷积核 225×55 \times 51616

输入/层/输出 大小 通道
输入图像 32×3232 \times 32 11
C1C_1 $28 \times 28 $ 66
S2S_2 14×1414 \times 14 66
C3C_3 10×1010 \times 10 1616
S4S_4 5×55 \times 5 1616
C5C_5 1×11 \times 1
S6S_6 1×11 \times 1

S2\text S_266 通道到 C3\text C_31616 通道,采用连接表来进行组合:

AlexNet

  • 大数据训练:百万级 ImageNet\text {ImageNet} 图像数据
  • 非线性激活函数 ReLU\text {ReLU}
  • 55 个卷积层、 33 个汇聚层和 33 个全连接层
  • Group\text {Group} 实现双 GPU\text {GPU} 并行局部响应归一 化(LRN\text {LRN} 层)
  • 防止过拟合:Dropout\text {Dropout} 、数据增强

InceptionNet

残差网络