卷积神经网络、卷积核weights、位深转变 的理解

来源:互联网 发布:怎么加入网络主播 编辑:程序博客网 时间:2024/04/27 15:30

关于这个深度的概念,caffe里是feature map张数,tensorflow是卷积核深度。。两者是同样的概念。。。


另外再说详细点:

如果是输入224x224x3(rgb三通道),输出是32位深度,卷积核尺寸为5x5。则是有32个filter,每一个的尺寸为5x5x3(最后的3就是原图的rgb位深3),每一个filter的每一层是5x5(共3层啊)分别与原图的每层224x224卷积,然后将得到的三张新图叠加,变成一张新的feature map。 每一个filter都这样操作,就可以得到32张新的feature map了。  也就是说:

不管输入图像的深度为多少,经过一个Filter,最后都通过下面的公式变成一个深度为1的特征图。不同的filter可以卷积得到不同的特征,也就是得到不同的feature map。。。



看个gif就更形象了:http://upload-images.jianshu.io/upload_images/2256672-958f31b01695b085.gif

(转载来的啊这个链接。。。)

再啰嗦点说说我的理解:

除去第一层的3通道输入,其他层也是一样,如32进,64出也是一样。卷积层的每一个卷积核做的都是一样的操作:将上一层的32张feature map压缩成一张新的feature map:每一个卷积核都是32通道的,与上一通道的 feature map 一一对应通道的进行卷积操作,然后再32张计算结果叠加为一张新map。有64个卷积核,64次这样的操作,得到64张新的feature map。每一个卷积核学习不同的特征得到不同的 feature map(因为不同卷积核的权值weights是不一样的,计算结果也就不一样,得到的map也自然不同。)

因为卷积核实际上就是如3x3,5x5这样子的权值(weights)矩阵。我们的网络要学习的,或者说要确定下来的,就是这些权值(weights)的数值。网络不断前后向的计算学习,一直在更新出合适的weights,也就是一直在更新卷积核们。卷积核在更新了,学习到的特征也就被更新了(因为卷积核的值(weights)变了,与上一层的map卷积计算的结果也就变了,得到的新map就也变了。)。对分类问题而言,目的就是:对图像提取特征,再以合适的特征来判断它所属的类别。类似这种概念:你有哪些个子的特征,我就根据这些特征,把你划分到某个类别去。这样就很说的通了,卷积神经网络的一整套流程就理得清:更新卷积核参数(weights),就相当于是一直在更新所提取到的图像特征,以得到可以把图像正确分类的最合适的特征们。(一句话:更新weights以得到可以把图像正确分类的特征。)






原创粉丝点击