经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 大数据/云/AI » 人工智能基础 » 查看文章
“卷积神经网络(Convolutional Neural Network,CNN)”之问
来源:cnblogs  作者:wuliytTaotao  时间:2019/3/5 8:45:43  对本文有异议

Q1:CNN 中的全连接层为什么可以看作是使用卷积核遍历整个输入区域的卷积操作?

A1:以 AlexNet 为例,AlexNet 最后 4 层为全连接层,其中第一层全连接层是由卷积层做拉伸而得,所以我们只需要考虑后面三个全连接层即可。对于第二个全连接层中的任一个神经元 \(FC_i^{(2)}\),其都和上一层中所有神经元相连,如果我们将上一层神经元排列成 6×6×256,即对第一个全连接层不进行拉伸,那么神经元 \(FC_i^{(2)}\) 就相当于对上一层神经元乘以一个 6×6×256 的 filter(即 filter 的大小和 feature map 是一样的),经激活函数后得到的就是该神经元 \(FC_i^{(2)}\) 的输出。如果有 4096 个 filter,那么第二个全连接层就会有 1×1×4096 个神经元。之后情况类似,用 4096 个 1×1×4096 的 fiter 进行卷积即可得到第三层全连接层(1×1×4096),用 1000 个 1×1×4096 的 fiter 进行卷积即可得到第四层全连接层(1×1×1000)。所以全连接层也可以看成是卷积核遍历整个输入区域的卷积操作。


图 1 AlexNet

Q2:1×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 的非线性组合(因为有非线性激活函数)。
4)channel 间信息的交互。

References

语义分割中的深度学习方法全解:从FCN、SegNet到各代DeepLab -- 知乎
一文读懂卷积神经网络中的1x1卷积核 -- 知乎

原文链接:http://www.cnblogs.com/wuliytTaotao/p/10471030.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号