参考文章:
https://www.cnblogs.com/skyfsm/p/6790245.html
通过学习上面的文章,对于卷积神经网络有了一个初步的认识,上文对于卷积的过程有一个很清晰的GIF动画。
对于我自己来说,在学习过程中,比较大的困难在于认知卷积核、神经元及参数之间的关系。
https://www.cnblogs.com/touch-skyer/p/9150039.html这篇文章是以一种类型的卷积神经网络为例,讲解相关的参数计算。
摘出第一个卷积层,来梳理卷积核、神经元及参数之间的关系,如下图所示。
卷积核:96个,大小为11*11*3
参数:一个卷积核中有11*11*3个参数,现在共96个,所以卷积层的权重(weights)数量即为11*11*3*96,每一个卷积核对应一个偏移量(bias),共96个,因此,这层卷积层的参数共为11*11*3*96+96。
神经元:神经元与参数之前并没有之间的关系,根据局部感知野,每个神经元对应输入图像中的一个三维矩阵,即图中的11*11*3这个立方体,根据上文中的公式,或者逻辑分析,很容易得出227被长度11经过步长为4的线段分成55份(这个在第一篇文章的最后有介绍)。对于一个卷积核来说,其对应的神经元有55*55个,因此,共96个神经元,即这一层有55*55*96个神经元,即输出图像的尺寸55*55*96。(换一种方式理解,已知输出图像的尺寸,原图像与卷积核每进行一次卷积操作,输出一个数值,所以输出图像的尺寸即为神经元的个数。)
一开始看卷积神经网络的时候,对输出图像的深度有误解,应该是卷积核的个数为输出图像的深度。
刚刚开始学习,有理解不对的地方,请各位指正。