面试八股——卷积神经网络

为什么可以用CNN代替FC?

  • 空间结构信息:CNN通过卷积操作保留了输入数据的空间结构信息,这对于图像等数据非常重要。而FC则会忽略这种空间结构信息,将所有输入展平处理。
  • 参数共享:CNN由于其权值共享的特性,参数数量远少于FC。这使得CNN在处理大规模高维数据时,如图像,更具优势。
  • 平移不变性:CNN具有平移不变性,即无论目标物体在图像中的位置如何移动,CNN都能有效地识别出来。而FC则不具备这种性质。

卷积神经网络的参数量怎么计算?

卷积神经网络(Convolutional Neural Network,CNN)的参数量计算涉及到卷积层、池化层和全连接层等不同类型的层。以下是一些常见层的参数计算方法:

  • 卷积层(Convolutional Layer): 对于一个卷积层,参数数量取决于卷积核的大小、输入通道数(输入特征图的深度)和输出通道数(卷积核的数量)。 参数数量 = 卷积核大小(WH) * 输入通道数 * 输出通道数*。

  • 池化层(Pooling Layer): 池化层没有需要学习的参数,因此在计算网络总参数时通常不考虑池化层的参数。

  • 全连接层(Fully Connected Layer): 对于全连接层,参数数量取决于前一层的输出大小和全连接层的节点数。 参数数量 = 前一层输出大小 * 当前层节点数

下面是一个简单的例子,假设有一个CNN模型,包含一个卷积层、一个池化层和一个全连接层。
卷积层:卷积核大小为3x3,输入通道数为3,输出通道数为64。
池化层:使用2x2的最大池化。
全连接层:前一层的输出大小为256,当前层节点数为128。
计算方法如下:

  1. 卷积层参数数量:333*64=1728(未使用偏置)
  2. 池化层没有参数
  3. 全连接层参数数量:256*128=32768总参数数量:1728+0+32768=34496 (未使用偏置)

总参数数量:1728 + 0 + 32768 = 34496

卷积层特征图尺寸计算公式

卷积层特征图尺寸的计算公式可以通过以下几个参数来确定:

  1. 输入尺寸(w):输入特征图的宽度或高度
  2. 卷积核尺寸(K):卷积核的宽度或高度。
  3. 步幅(s):卷积核在输入上的滑动步幅,
  4. 零填充(P):在输入的周围添加零值的层数,以控制输出尺寸。

卷积层特征图的尺寸可以通过以下的公式计算:输出尺寸=|(W-K+2P)/S]+1

这个公式描述了卷积操作如何影响输入特征图的尺寸。简而言之,卷积操作通过卷积核在输入上滑动,每次滑动的步幅由s法定,同时通过零填充P来控制输出的尺寸。这有助于确保输出尺寸适合后续层的处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容