Q1CNN 中的全连接层为什么可以看作是使用卷积核遍历整个输入区域的卷积操作
A1以 AlexNet 为例AlexNet 最后 3 层为全连接层第一个全连接层的输入层是由卷积层做拉伸而得。对于第一个全连接层中的任一个神经元FC(1)iFCi(1)其都和输入层中所有神经元相连如果我们将输入层神经元排列成 6×6×256即对输入层不进行拉伸那么神经元FC(1)iFCi(1)就相当于对输入层乘以一个 6×6×256 的 filter即 filter 的大小和 feature map 是一样的经激活函数后得到的就是该神经元FC(1)iFCi(1)的输出。如果有 4096 个 filter那么第一个全连接层就会有 1×1×4096 个神经元。
之后情况类似用 4096 个 1×1×4096 的 fiter 进行卷积即可得到第二层全连接层1×1×4096用 1000 个 1×1×4096 的 fiter 进行卷积即可得到第三层全连接层1×1×1000。所以全连接层也可以看成是卷积核遍历整个输入区域的卷积操作。
图 1 AlexNet
Q21×1 的卷积核filter怎么理解
A2首先需要搞清楚1×1 的 filter 都干了些什么。
1不改变 feature map 的大小。即当 stride 和 padding 分别为 1 和 0 时使用 1×1 的 filter 对大小为 6×6 的 feature map 进行卷积并不会改变 feature map 的大小。
2会改变 channel 的数量以此来达到升维和降维。下一层 channel 数量由该层 filter 的个数决定。
3增加了非线性。下一层每一个 channel 的 feature map 中任意一点都是上一层同一位置所有 channel 的非线性组合因为有非线性激活函数。
4channel 间信息的交互。
Q3什么是感受野Receptive field
A3感受野是指卷积神经网络每一层特征图feature map上的神经元在原始图像上映射的区域大小。
图 2 中原始图像上的像素点只能看到本身故可以认为其感受野为 1×1conv1 中神经元能看到原始图像的 3×3故其感受野为 3×3而 conv2 中神经元能看到原始图像 5×5 的区域故其感受野为 5×5。
图 2 卷积
Q4对含有全连接层的 CNN输入图像的大小必须固定
A4以图 1 中展示的 AlexNet 为例如果 CNN 的输入层大小改变那么 AlexNet 全连接层的输入层由卷积层拉伸而得的神经元个数是会改变的或者说拉伸前 feature map 的大小变了后面的全连接操作也没法做了全连接层参数的个数都改变了。
完全卷积网络Fully Convolutional NetworkFCN的输入图像可以为任意大小当然输出结果的大小和输入图像大小相关。FCN 的做法就是把全连接层换成了卷积层参数个数没变。如图 3 把 AlexNet 最后三层全连接层变为卷积层就得到一个 FCN。
图 3 AlexNet to FCN
出处https://www.cnblogs.com/wuliytTaotao/
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接。
共同学习,写下你的评论
评论加载中...
作者其他优质文章