当前位置: 首页 > 知识库问答 >
问题:

CNN中卷积层到全连通层的输入维数

濮嘉茂
2023-03-14

问题是卷积神经网络的数学细节。假设网络的体系结构(其目标是图像分类)是这样的

  • 输入图像32x32
  • 第一个隐藏层3x28x28(由3个大小为5x5的滤波器卷积而成,步幅=0,无填充),随后是激活
  • 池化层(在2x2区域上池化),产生3x14x14
  • 输出
  • 第二隐藏层6x10x10(由6个大小为5x5的滤波器卷积而成,步幅=0,无填充),随后激活
  • 池化层(在2x2区域上池化),产生6x5x5输出
  • 具有100个神经元的全连接层(FCN)-1
  • 全连接层(FCN)-2(含10个神经元)
    null

共有1个答案

巫马正卿
2023-03-14

通常,一些CNN(如VGG 16、VGG 19)所做的是,它们将MAX_POOL层的3D张量输出平坦化,因此在您的示例中,到FC层的输入将变为(None,150),但其他CNN(如ResNet50)使用全局max函数获得6x1x1(输出张量的维度),然后将其平坦化(将变为(None,6))并馈入FC层。

这个链接有一个被称为VGG19的流行CNN架构的图像。

为了回答你的问题,当你对图像进行平坦化时,假设一个像素位置是xij(即第i行,j列=n*i+j,其中n是图像的宽度),那么基于矩阵表示,我们可以说它的上部邻居是xi-1,j(n*(i-1)+j),对于其他邻居,依此类推,因为像素和它们的相邻像素存在一个相关关系,所以FC层将自动调整权重以反映该信息。

因此,您可以将convo->activation->pooling层组视为特征提取层,其输出张量(类似于向量中的维度/特征)将被馈送到网络末端的标准ANN中。

 类似资料:
  • 卷积神经网络(convolutional neural network)是含有卷积层(convolutional layer)的神经网络。本章中介绍的卷积神经网络均使用最常见的二维卷积层。它有高和宽两个空间维度,常用来处理图像数据。本节中,我们将介绍简单形式的二维卷积层的工作原理。 二维互相关运算 虽然卷积层得名于卷积(convolution)运算,但我们通常在卷积层中使用更加直观的互相关(cro

  • 本文向大家介绍全连接层和卷积层的作用?相关面试题,主要包含被问及全连接层和卷积层的作用?时的应答技巧和注意事项,需要的朋友参考一下 全连接层是起到一个分类器的作用,卷积层是用来提取某些特征的层,参数量相对小很多,起到特征工程的作用,感受视野,将欲提取之外的数据的影响减弱,增强需要提取特征的那部分数据的影响

  • 本文向大家介绍CNN的卷积核是单层还是多层的?相关面试题,主要包含被问及CNN的卷积核是单层还是多层的?时的应答技巧和注意事项,需要的朋友参考一下 描述网络模型中某层的厚度,通常用名词通道channel数或者特征图feature map数。不过人们更习惯把作为数据输入的前层的厚度称之为通道数(比如RGB三色图层称为输入通道数为3),把作为卷积输出的后层的厚度称之为特征图数。 卷积核的厚度H, 一般

  • 卷积神经网络有一个批量过滤器, 持续不断的在图片上滚动收集图片里的信息,每一次收集的时候都只是收集一小块像素区域, 然后把收集来的信息进行整理, 这时候整理出来的信息有了一些实际上的呈现, 比如这时的神经网络能看到一些边缘的图片信息, 然后在以同样的步骤, 用类似的批量过滤器扫过产生的这些边缘信息, 神经网络从这些边缘信息里面总结出更高层的信息结构,比如说总结的边缘能够画出眼睛,鼻子等等. 再经过

  • Convolution1D层 keras.layers.convolutional.Convolution1D(nb_filter, filter_length, init='uniform', activation='linear', weights=None, border_mode='valid', subsample_length=1, W_regularizer=None, b_regu

  • Conv1D层 keras.layers.convolutional.Conv1D(filters, kernel_size, strides=1, padding='valid', dilation_rate=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zero