神经网络与深度学习——第5章 卷积神经网络

打印 上一主题 下一主题

主题 827|帖子 827|积分 2481

本文讨论的内容参考自《神经网络与深度学习》https://nndl.github.io/ 第5章 卷积神经网络
卷积神经网络


卷积

卷积的定义


一维卷积



二维卷积



互相关



卷积的变种


卷积的数学性质


交换性


导数



卷积神经网络


用卷积来代替全连接




卷积层





汇聚层




卷积网络的整体结构


参数学习



卷积神经网络的反向传播算法




几种典型的卷积神经网络

LeNet-5



这里解释一下(2),平均汇聚是相加然后乘以一个可训练参数,再加上一个可训练偏置,因此可训练参数的数量是                                        6                            ∗                            (                            1                            +                            1                            )                                  6 * (1 + 1)                     6∗(1+1),而连接数是                                        6                            ∗                            14                            ∗                            14                            ∗                            (                            2                            ∗                            2                            +                            1                            )                                  6 * 14 * 14 * (2 * 2 + 1)                     6∗14∗14∗(2∗2+1),这里包括了偏置在内。
(3)C3这里使用了60个卷积核,为什么只得到了16个特征图,而不是60个特征图,这是LeNet-5的特殊的连接,连接表如下:


(5)C5卷积层是使用了120*16个二维的                                        5                            X                            5                                  5X5                     5X5的卷积核,实际上就是120个三维的                                        5                            X                            5                            X                            16                                  5X5X16                     5X5X16的卷积核。
实际上,上面的卷积核都是二维的,所以算起来不太一样,卷积层输出的特征图数目等于卷积核数目,不论上一层的特征图有多少,卷积核都可以进行卷积,最终只输出一个特征图(见下图),因为卷积核的通道数和输入特征图的通道数相同,每个通道都和卷积核对应通道的部分卷积,最后再相加,变成一个特征图。

AlexNet




Inception网络




残差网络



其他卷积方式


转置卷积






空洞卷积



总结和深入阅读



习题



这里再解释一下窄卷积和宽卷积,以1维举例

比如说我有7个元素,卷积核长度是5,那么窄卷积出来的元素个数就是(7-5+1)= 3,而为了把边缘特征也提取出来,就需要进行0填充,在7个元素的左右各填充(5-1)=4个0,总共就有15个元素,那么宽卷积出来的元素个数就是(15-5+1)=11。接下来来证明宽卷积的可交换性:
首先给定一个二维图像                                        X                            ∈                                       R                                           M                                  X                                  N                                                       X \in R^{MXN}                     X∈RMXN和一个二维卷积核                                        W                            ∈                                       R                                           U                                  X                                  V                                                       W \in R^{UXV}                     W∈RUXV,由于要使用宽卷积,所以对图像进行填充,两端各补                                        U                            −                            1                                  U-1                     U−1和                                        V                            −                            1                                  V-1                     V−1个零,得到全填充图像                                        X                            ∈                                       R                                           (                                  M                                  +                                  2                                  U                                  −                                  2                                  )                                  X                                  (                                  N                                  +                                  2                                  V                                  −                                  2                                  )                                                       X \in R^{(M+2U-2)X(N+2V-2)}                     X∈R(M+2U−2)X(N+2V−2)


结果是一样的,所以是可交换的。

1X1的卷积核可以用来升降维,因为卷积后的特征图通道数和卷积核个数是相同的,那么通过给定个数的1X1卷积核就可以实现升降维。
1X1卷积核的升维和降维就是通道之间的线性组合,实现跨通道的信息交互,比如说3X3,64channel的卷积核后面再加一个1X1,28channel的卷积核,就会变成3X3,28channel的卷积核,原来的64个channel可以理解为跨通道线性组合变成了28个channels。
1X1卷积核增加了网络深度,因为添加了一层卷积层,卷积过程会包含一个激活函数,所以在特征图从尺寸不改变的情况下,增加了网络深度,增加了非线性,所以会增加整个网络的表达能力。


(1)通道数为256到256,相当于使用了256个3X3的卷积核,所以时间复杂度是                                        100                            ∗                            100                            ∗                            256                            ∗                            3                            ∗                            3                            ∗                            256                            =                            5898240000                                  100*100*256*3*3*256=5898240000                     100∗100∗256∗3∗3∗256=5898240000
空间复杂度是                                        256                            ∗                            100                            ∗                            100                            =                            2560000                                  256*100*100=2560000                     256∗100∗100=2560000
(2)通道数先从256到64再到256
时间复杂度是                                        100                            ∗                            100                            ∗                            256                            ∗                            1                            ∗                            1                            ∗                            64                            +                            100                            ∗                            100                            ∗                            64                            ∗                            3                            ∗                            3                            ∗                            256                            =                            1638400000                                  100*100*256*1*1*64+100*100*64*3*3*256=1638400000                     100∗100∗256∗1∗1∗64+100∗100∗64∗3∗3∗256=1638400000
空间复杂度是                                        64                            ∗                            100                            ∗                            100                            +                            256                            ∗                            100                            ∗                            100                            =                            3200000                                  64*100*100+256*100*100=3200000                     64∗100∗100+256∗100∗100=3200000
可以看到1X1的卷积核虽然多了些空间复杂度,但能大幅减少时间复杂度。





以习题5-5的例子来说,

比如前向计算的时候,第                                   l                         +                         1                              l+1                  l+1层的净输入为                                             z                                       (                               l                               +                               1                               )                                            =                                   W                                       (                               l                               +                               1                               )                                                      z                                       (                               l                               )                                                 z^{(l+1)}=W^{(l+1)}z^{(l)}                  z(l+1)=W(l+1)z(l),那么反向传播时,第                                   l                              l                  l层的误差项为                                             δ                                       (                               l                               )                                            =                         (                                   W                                       (                               l                               +                               1                               )                                                      )                            T                                            δ                                       (                               l                               +                               1                               )                                                 \delta^{(l)}=(W^{(l+1)})^T \delta^{(l+1)}                  δ(l)=(W(l+1))Tδ(l+1),是一种转置关系。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表