目录
- 第四门课 卷积神经网络(Convolutional Neural Networks)
- 第二周 深度卷积网络:实例探究(Deep convolutional models: case studies)
- 2.5 网络中的网络以及 1×1 卷积(Network in Network and 1×1 convolutions)
- 2.6 谷歌 Inception 网络简介(Inception network motivation)
第四门课 卷积神经网络(Convolutional Neural Networks)
第二周 深度卷积网络:实例探究(Deep convolutional models: case studies)
2.5 网络中的网络以及 1×1 卷积(Network in Network and 1×1 convolutions)
在架构内容设计方面,其中一个比较有帮助的想法是使用 1×1 卷积。也许你会好奇,1×1 的卷积能做什么呢?不就是乘以数字么?听上去挺好笑的,结果并非如此,我们来具体看看。
过滤器为 1×1,这里是数字 2,输入一张 6×6×1 的图片,然后对它做卷积,起过滤器大小为 1×1×1,结果相当于把这个图片乘以数字 2,所以前三个单元格分别是 2、4、6 等等。用 1×1 的过滤器进行卷积,似乎用处不大,只是对输入矩阵乘以某个数字。但这仅仅是对于6×6×1 的一个通道图片来说,1×1 卷积效果不佳。
如果是一张 6×6×32 的图片,那么使用 1×1 过滤器进行卷积效果更好。具体来说,1×1 卷积所实现的功能是遍历这 36 个单元格,计算左图中 32 个数字和过滤器中 32 个数字的元素积之和,然后应用 ReLU 非线性函数。
我们以其中一个单元为例,它是这个输入层上的某个切片,用这 36 个数字乘以这个输入层上 1×1 切片,得到一个实数,像这样把它画在输出中。
这个 1×1×32 过滤器中的 32 个数字可以这样理解,一个神经元的输入是 32 个数字(输入图片中左下角位置 32 个通道中的数字),即相同高度和宽度上某一切片上的 32 个数字,这 32 个数字具有不同通道,乘以 32 个权重(将过滤器中的 32 个数理解为权重),然后应
用 ReLU 非线性函数,在这里输出相应的结果。
一般来说,如果过滤器不止一个,而是多个,就好像有多个输入单元,其输入内容为一个切片上所有数字,输出结果是 6×6 过滤器数量。
所以 1×1 卷积可以从根本上理解为对这 32 个不同的位置都应用一个全连接层,全连接层的作用是输入 32 个数字(过滤器数量标记为