如何得到卷积层输出的深度 --CNN 卷积层:参数共享:在卷积层中使用参数共享是用来控制参数的数量。就用上面的例子,在第一个卷积层就有 55x55x96=290,400 个神经元,每个有 11x11x3=364 个参数和 1 个偏差。将这些合起来就是 290400x364=105,705,600 个参数。单单第一层就有这么多参数,显然这个数目是非常大的。
作一个合理的假设:如果一个特征在计算某个空间位置 (x,y) 的时候有用,那么它在计算另一个不同位置 (x2,y2) 的时候也有用。基于这个假设,可以显著地减少参数数量。换言之,就是将深度维度上一个单独的 2 维切片看做深度切片,比如一个数据体尺寸为 [55x55x96] 的就有 96 个深度切片,每个尺寸为[55x55]。在每个深度切片上的神经元都使用同样的权重和偏差。在这样的参数共享下,例子中的第一个卷积层就只有 96 个不同的权重集了,一个权重集对应一个深度切片,共有 96x11x11x3=34,848 个不同的权重,或 34,944 个参数(+96 个偏差)。
可以看出,上面的 32 表示的是卷积层输出的深度,因为大家都明白 width 和 height 都可以通过公式计算得到,但是很多文献都没有告诉深度是如何得到的,下面是我的认识:
1. 因为这个深度是没有公式可以计算出来的,因为深度是一个经验值,如上面代码的 32 ,其实是一个经验值,是通过调整参数发现 32 是一个最合适的值,可以得到最好的准确率,但是不同的图像的深度是不一样的。
2. 这个深度表示用了多少个卷积核,下面这个图可以说明一下:
上图就可以很有效的说明 :卷积层输出的深度 == 卷积核的个数。
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/04-10/20253339.html