1 Star 0 Fork 0

王浩天 / MyNote

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
卷积神经网络.md 5.47 KB
一键复制 编辑 原始数据 按行查看 历史
王浩天 提交于 2022-02-25 17:23 . 卷积神经网络总结

卷积神经网络

1、二维卷积层

1.1 二维互相关运算

image-20220224164135501

中间的2*2数组在卷积计算中称为核数组、卷积核或过滤器

1.2 二维卷积层

二维卷积层将输入和卷积核做互相关运算,并加上一个标量偏差来得到输出。卷积层的模型参数包括了卷积核和标量偏差。在训练模型的时候,先对卷积核随机初始化,然后不断迭代卷积核和偏差

卷积窗口形状为$p\times q$的卷积层称为$p\times q$卷积层或$p\times q$卷积核

卷积层可以通过重复使用卷积核有效的表征局部空间

1.5 互相关运算和卷积运算

实际上,卷积运算与互相关运算类似。为了得到卷积运算的输出,我们只需要将核数组左右翻转并上下翻转,在与输入数组做互相关运算。

1.6 特征图和感受野

二维卷积层输出的二维数组可以看作输入在空间维度(宽和高)上某一级的表征,也叫特征图。影响元素x的前向计算的所有可能的输入区域(可能大于输入的实际尺寸)叫作x的感受野

我们可以通过更深的卷积神经网络使特征图中的单个元素的感受野变得更加广阔,从而捕捉输入上更大尺寸的特征。

2、填充和步幅

一般来说,假设输入形状是$n_h\times n_w$,卷积核窗口形状是$k_h\times k_w$,那么输出形状将会是 $$ (n_h-k_h+1)\times (n_w-k_w+1) $$ 所以卷积层的输出形状由输入形状和卷积核窗口形状决定。下面介绍卷积层的两个超参数填充和步幅。

2.1 填充

填充是指在输入高和宽的两侧填充元素(通常是0元素)。

一般来说,如果在高的两侧一共填充$p_h$行,在宽的两侧一共填充$p_w$列,那么输出形状将会是 $$ (n_h-k_h+p_h+1)\times (n_w-k_w+p_w+1) $$ 很多情况下,会设置$p_h=k_h-1$和$p_w=k_w-1$来使输入和输出具有相同的高和宽。卷积神经网络经常使用奇数高和宽的卷积核。

2.2 步幅

一般来说,当高上步幅为$s_h$,宽上步幅为$s_w$时,输出形状为 $$ \lfloor(n_h-k_h+p_h+s_h)/s_h\times (n_w-k_w+p_w+s_w)/s_w\rfloor $$ 如果设置$p_h=k_h-1$和$p_w=k_w-1$,那么输出形状将简化为$\lfloor(n_h+s_h-1)/s_h\times (n_w+s_w-1)/s_w\rfloor$。更进一步,如果输入的高和宽能分别被高和宽上的步幅整除,那么输出形状将是$\lfloor(n_h/s_h)\times (n_w/s_w)\rfloor$。

小结:

  • 填充可以增加输出的高和宽。这常用来使输入与输出具有相同的高和宽。
  • 步幅可以减小输出的高和宽。

3、多输入通道和多输出通道

之前我们用到的输入和输出都是二维数组,但真实数据的维度经常更高。例如,彩色图像在高和宽两个维度外还有RGB(红、绿、蓝)3个颜色通道。

3.1 多输入 通道

当输入数据含有多个通道时,我们需要构造一个输入通道数与输入数据的通道数相同的卷积核。

image-20220225112007596

3.2 多输出通道

设卷积核输入通道数和输出通道数分别为$c_i$和$c_o$,高和宽分别为$k_h$和$k_w$。如果希望得到含多个通道的输出,我们可以为每个输出通道分别创建形状为$c_i\times k_h\times k_w$的核数组。将他们在输出通道维上连结,卷积核的形状即$c_o\times c_i\times k_h\times k_w$。在做互相关运算时,每个输出通道上的结果有卷积核在该输出通道上的核数组与整个输入数组计算而来。

3.3 $1\times 1$卷积层

$1\times 1$卷积层是卷积窗口形状为$1\times 1$的多通道卷积层。$1\times 1$卷积失去了卷积层可以识别高和宽维度上相邻元素构成的模式的功能。实际上$1\times1$卷积的主要计算发生在通道维上。

image-20220225140307845

输出中的每个元素来自输入中在高和宽上相同位置的元素在不同通道之间的按权重累加。假设我们将通道维作为特征维将高和宽维度上的元素当成数据样本,那么**$1\times1$卷积层的作用与全连接层等价。**

小结:

  • 使用多通道可以拓展卷积层的模型参数
  • 假设将通道维当做特征维,将高和宽维度上的元素当成数据样本,那么$1\times1$卷积层的作用与全连接层等价。
  • $1\times1$卷积层通常用来调整网络层之间的通道数,并控制模型复杂度。

4、池化层

池化层的提出是为了缓解卷积层对位置的过度敏感性。

image-20220225142030962

4.1 二维最大池化层和平均池化层

池化层直接计算池化窗口内元素的最大值或者平均值,该计算也分别叫作最大池化平均池化

4.2 填充和步幅

同卷积层一样,池化层也可以在输入的高和宽两侧的填充并调整窗口来移动步幅来改变输出形状。

4.3 多通道

在处理多通道输入数据时,池化层对每个输入通道分别池化,而不是想卷积层那样各通道的输入按通道相加。这意味着池化层的输出通道数和输入通道数相等

小结:

  • 最大池化和平均池化分别取池化窗口中输入元素的最大值和平均值作为输出。
  • 池化层的一个主要作用是缓解卷积层对位置的过度敏感性。
  • 可以指定池化层的填充和步幅。
  • 池化层的输出通道数与输入通道数相同。
1
https://gitee.com/wanghaotian123/my-no.git
git@gitee.com:wanghaotian123/my-no.git
wanghaotian123
my-no
MyNote
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891