卷积神经网络笔记

本文最后更新于:几秒前

《神经网络与机器学习》第五章笔记

点击下载

前提

  1. 全连接神经网络的权重矩阵参数非常多,容易受到干扰。
  2. 自然图像中的物体都具有局部不变性特征。

卷积神经网络的特性

  1. 局部连接
  2. 权重共享(卷积核)
  3. 空间或时间上的次采样

卷积

概念

卷积经常用在信号处理的过程中,用于计算信号的延迟累积

假设信号发生器每个时刻$t$产生一个信号$x_t$,信号的衰减系数分别为$[w_1,w_2,…,w_K]$,则有收到的信号$y_t$为
$$
y_t = \displaystyle \sum_{k=1} ^K w_k x_{t-k+1}
$$
注意是,衰减系数$w$和信号$x$的下标是逆序的,这样,通过$K$个衰减系数可知,下一层的参数只与上一层的$K$个参数相关,这个过程大大降低了参数的量。

image-20221028160049793

特定卷积核/特定滤波器

在这个问题中,衰减系数$w$又可以叫做卷积核或滤波器,其中,对于滤波器的不同值,其也有不同的作用

滤波器和作用的对应关系如下:

  • $w = [{1\over 2}, 0, -{1 \over 2}]$,近似于信号序列的一阶微分。

    $x^ \prime (t) = {x(t+1) - x(t-1) \over 2}$

  • $w = [1,-2,1]$,近似于信号序列的二阶微分,二阶微分及更为高阶的微分可以用于提取高频信息(高频变化信号)。

    $x^{\prime \prime}(t)={x^ \prime(t+1) - x ^\prime (t-1) \over 2}$

  • $w=[{1\over 3},{1\over 3},{1\over 3}]$,均值信号,可以用于提取信号的低频信息(低频变化信号)。

步长S与零填充P

进一步的,引入滤波器的滑动步长$S$和零填充$P$。

image-20221028163459422

卷积类型(K为卷积核size)

  1. 窄卷积:步长$S=1$,零填充$P=0$,卷积后输出长度$L=M-K+1$
  2. 宽卷积:步长$S=1$,零填充$P = K-1$,卷积后输出长度$L=M-K+1+2\times(K-1) = M +K -1$
  3. 等宽卷积:步长$S=1$,零填充$P = (K-1)/2$,卷积后输出长度$L = M$

早期的文献中,卷积一般默认为窄卷积;目前的文献中,卷积一般都认为是等宽卷积

互相关

计算卷积的过程中,由于下标逆序,因此需要进行卷积核翻转,但卷积操作目标的本质是提取特征,这个过程与卷积核是否翻转没有关系,因此可以直接使用互相关代替卷积核
$$
y_{ij} = \sum_{u=1} ^m \sum_ {v=1} ^n w_ {uv} ·x_ {i+u-1,j+v-1}
$$

二维卷积

img

多个卷积核

image-20221028205612740

多个卷积核可以作为平行的单位进行卷积,每个卷积核可以卷积多次,因此输入和输出的第三维度可以有所不同。
$$
\begin{align}
\pmb Z^p & = \pmb W^p \otimes \pmb X + b^p = \sum_{d=1} ^D \pmb W^{p,d} \otimes \pmb X^d + b^p, \\\
Y^p & = f(\pmb Z^p)
\end{align}
$$
img

池化/汇聚

卷积层虽然可以显著减少连接的个数,但每个特征映射的神经元个数并没有显著减少,为了进一步减少卷积后的特征维度,可以采用池化的方法,通过一定策略进行缩小。image-20221028213224959

卷积网络的结构

典型结构

image-20221028215631823

池化层/汇聚层其实可以看作是一种stride为K,卷积策略特殊的卷积层;一个卷积块为连续的$M$个卷积层和$b$个汇聚层(M通常设置为2-5,b为0或1)。一个卷积网络中可以堆叠$N$个连续的卷积块,然后再接着$K$个全连接层($N$的取值区间比较大,比如1-100或者更大;$K$一般为0~2)。

其他卷积种类

转置卷积/微步卷积

中间补充空洞(0),之前只需要走一步现在需要走两步,因此可以看作$stride = {1\over2}$

查看源图像

空洞卷积

空洞卷积可以通过给卷积核插入”空洞“来变相增加其大小,从而提高输出单元的感受野

动图

典型卷积网络

LeNet-5

最早的成功在业界进行应用的神经网络模型,用于手写数字识别,共有七层。

image-20221028222742829

AlexNet

2012 ILSVRC winner

第一个现代深度卷积网络模型,采用了五个卷积层、三个池化层和两个全连接层,分成两路来降低显卡的显存要求。

image-20221028224724159

Inception

2014 ILSVRC winner

在Inception网络中,一个卷积层包含多个不同大小的卷积操作,称为Inception模块,并将得到的特征映射在深度上拼接起来作为输出特征映射。

image-20221028225144744

image-20221028225157574

在Inception v3中,用了多层小卷积核代替了大卷积核,进一步降低了计算量和参数量

ResNet

残差网络:是通过给非线性的卷积层增加直连边的方式来提高信息的传播效率。假设在一个深度网络中,我们期望一个非线性单元$f(x;\theta)$去逼近一个目标函数为$h(x)$,可以将目标函数拆成恒等函数(不可逼近)和残差函数(可逼近)两个部分。
$$
h(\pmb x) = \pmb x+ (h(\pmb x)-\pmb x) \approx \pmb x+f(\pmb x;\theta)
$$
其中,直连边可以直接传递恒等函数,即$\pmb x$的部分,由中间的卷积部分去逼近残差函数的部分。

image-20221028230918825

对于含残差的函数,可以得到
$$
h ^\prime(x) = 1+{\partial f(\pmb x;\theta) \over \partial \pmb x}
$$
导数中有一个常数1,因此导数值无论如何不会过低,也降低了出现梯度消失的可能性。

文本序列卷积

以部分的单词编码为基础,卷积核不一定保持size一致,需要在池化层通过采用时间维度pooling等手段将句子卷积结果合并到一起,形成合理的维度结构。

image-20221028231335599

image-20221028231657503


卷积神经网络笔记
http://paopao0226.site/post/9c21e22e.html
作者
Ywj226
发布于
2022年10月27日
更新于
2023年9月23日
许可协议