当前位置 博文首页 > 风信子的猫Redamancy的快乐星球:Pytorch Note26 卷积神经网络

    风信子的猫Redamancy的快乐星球:Pytorch Note26 卷积神经网络

    作者:[db:作者] 时间:2021-08-21 22:10

    Pytorch Note26 卷积神经网络

    全部笔记的汇总贴:Pytorch Note 快乐星球

    在卷积神经网络中,有三个观点很重要

    局部性

    对于一张图片而言,需要检测图片中的特征来决定图片的类别,通常情况下这些特征都不是由整张图片决定的,而是由一些局部的区域决定的:

    比如下图中的中的鸟喙,该特征只存在于图片的局部中。

    请添加图片描述

    相同性

    对不同图片,如果它们有同样特征,这些特征出现在图片不同的位置,也就是说可用同样的检测模式去检测不同图片的相同特征,不过这些特征处于图片中不同的位置,但是特征检测所做的操作几儿乎一样

    比如鸟喙处不同的位置,可用相同的检測模式去检测。

    不变性

    一张大图片,进行下采样,图片性质基本不变。

    请添加图片描述

    这三个性质分别对应着卷积神经网络中的三种思想

    卷积层的性质

    这里不详细介绍卷积层了,就给出卷积层的总结的一些性质

    (1)输入数据体的尺寸是 W 1 × H 1 × D 1 W_1 \times H_1 \times D_1 W1?×H1?×D1?

    (2)四个超参数:

    • 滤波器数量K
    • 滤波器空间尺寸F
    • 滑动步长S
    • 零填充的数量P

    (3)输入数据体的尺寸为$W_2 \times H_2 \times D_2 , 其 中 ,其中 W_2=\frac{W_1-F+2P}{S}+1,H_2=\frac{H_1-F+2P}{S}+1,D_2=K$

    (4)由于参数共享,每个滤波器包含的权重数目为 F × F × D 1 F × F × D_1 F×F×D1?,卷积层一共有前面称 F × F × D 1 × K F × F × D_1 \times K F×F×D1?×K 个权重和K个偏置

    (5)在输出体数据中,第 d d d个深度切片(空间尺寸是 W 2 × H 2 W_2 \times H_2 W2?×H2?),用第 d d d个滤波器和输入数据进行有效卷积运算的结果,再加上第 d d d个偏置

    • 常见的设置是 F = 3 , S = 1 , P = 1 F=3,S=1,P=1 F=3,S=1,P=1,同时这些超参数也有一些约定俗成的惯例和经验,在之后的章节介绍

    池化层的性质

    详细可以看链接

    池化之所以有效,是因为之前介绍的图片特征具有不变性,也就是通过下采样不会丢失图片拥有的特征,由于这种特性,我们可以将图片缩小再进行卷积处理,这样能够大大降低卷积运算的时间。

    最常用的池化层形式是尺寸为2x2的窗口,滑动步长为2,对图像进行下采样,将其中75%的激活信息都丢掉,选择其中最大的保留下来,这其实是因为我们希望能够更加激活里面的数值大的特征,去除一些噪声信息。

    池化层有一些和卷积层类似的性质。

    (1)输人数据体的尺寸是 W 1 × H 1 × D 1 W_1 \times H_1 \times D_1 W1?×H1?×D1?

    (2)有两个需要设置的超参数,空间大小 F F F和滑动步长 S S S

    (3)输出数据体的尺寸是 W 2 × H 2 × D 2 W_2 \times H_2 \times D_2 W2?×H2?×D2?,其中 W 2 = W 1 ? F S + 1 , H 2 = H 1 ? F S + 1 , D 2 = D 1 W_2=\frac{W_1-F}{S}+1,H_2= \frac{H_1-F}{S}+1,D_2=D_1 W2?=SW1??F?+1,H2?=SH1??F?+1,D2?=D1?

    (4)对输人进行固定函数的计算,没有参数引人。

    (5)池化层中很少引人零填充

    在实际中,有两种方式:一种是 F = 3 , S = 2 F=3,S=2