正如上一篇文章所述,CNN的最后一般是用于分类是一两个全连接层,对于前面池化层输出的二维特征图是怎么转化成一维的一个向量的呢?

从上图的结构中可以看到,最后两层是两个矩形,也就是一维向量,以MNIST手写数据集为例,上层输出的特征图(Feature Map)为14*14*64大小,经过一个全连接层(这里第一个全连接层的神经元设置为1024个)之后,变成了1*1024的向量。

为什么维数降低了呢?别忘了全连接层的作用在于分类,所以最后需要进行各个类别的概率计算,也就是将该测试样本属于某一类别的可能性计算出来。也没有什么神秘之处,只要对每一张输入的特征图,用一个和图像一样大小的核卷积,这样整幅图就变成了一个数了,其实就是有64*1024个14*14的卷积核卷积出来的,如果厚度是64就是那64个核卷积完了之后相加即可,这样就能把一张图高度浓缩成一个数了。这也就是为什么经过全连接层之后变成一维向量的原因了。

说起卷积核,我们来具体了解一下卷积核。在CNN中,卷积层的卷积核具有长、宽、深三个维度。卷积核本质上就是权重矩阵。

卷积核的长、宽都是人为指定的,长 X 宽也被称为卷积核的尺寸,常用的尺寸为3X3,5X5等;卷积核的深度与当前图像的深度(feather map的张数)相同,所以指定卷积核时,只需指定其长和宽 两个参数。例如,在原始图像层 (输入层),如果图像是灰度图像,其feather map数量为1(MNIST为什么是28*28*1的原因,MNIST数据集中的图像都是灰度图),则卷积核的深度也就是1;如果图像是grb图像,其feather map数量为3(有3个色彩通道),则卷积核的深度也就是3。

其实,这也是和全连接神经网络一样的地方,正是CNN基于权重共享的理念,减少了很多参数,可以看出,全连接的参数实在是太多了,这张图中就有14*14*64*1024个参数,而上面的卷积和池化过程最多也不过28*28*32,所以在后来看到的算法应用方面很多都规避了全连接层,目前主流的一个方法是全局平均值。也就是最后那一层的feature map(最后一层卷积的输出结果),直接求平均值。有多少种分类就训练多少层,这十个数字就是对应的概率或者叫置信度。MNIST数据集可以通过tensorflow框架中的TensorBoard进行可视化,如下图所示。

CNN中的卷积层与全连接层都是计算点乘,所以全连接层和卷积层可以相互转换。卷积层转换成全连接层的过程就是将权值补0,增大矩阵的过程。正是基于卷积神经网络的共享理念,在转换之后会产生许多等值参数。当然,全连接层也可以变成卷积层。

CNN全连接层怎么转化成一维向量?相关推荐

  1. CNN 全连接层与卷积层深刻理解

    CNN 全连接层与卷积层 卷积和全连接关系 卷积取的是局部特征,全连接就是把以前的局部特征重新通过权值矩阵组装成完整的图. 因为用到了所有的局部特征,所以叫全连接 什么是全连接层 全连接层(fully ...

  2. 激活函数和全连接层——基于Pytorch

    1.激活函数 1.1.什么是激活函数? 神经网络中的每个神经元接受上一层的输出值作为本神经元的输入值,并将处理结果传递给下一层(隐藏层或输出层).在多层神经网络中,上层的输出和下层的输入之间具有一个函 ...

  3. 【深度学习】全连接层

    4.5 全连接层 全连接层是一个列向量(单个样本).通常用于深度神经网络的后面几层,用于图像分类任务. 全连接层,是每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来.由于其全相连的特 ...

  4. 对全连接层(fully connected layer)的通俗理解

    原文地址 https://blog.csdn.net/qq_39521554/article/details/81385159 定义 全连接层(fully connected layers,FC)在整 ...

  5. 卷积层与全连接层的区别

    卷积层.池化层.全连接层的概念:https://towardsdatascience.com/convolutional-neural-network-17fb77e76c05 关于卷积.全连接层的参 ...

  6. 【深度学习】全连接层的作用

    原文链接 https://www.zhihu.com/question/41037974/answer/150522307 全连接层(fully connected layers,FC)在整个卷积神经 ...

  7. caffe中常用的层:全连接层Full Connection层

    全连接层到底什么用?我来谈三点. 全连接层(fully connected layers,FC)在整个卷积神经网络中起到"分类器"的作用.如果说卷积层.池化层和激活函数层等操作是将 ...

  8. 什么是1*1卷积?1*1的卷积核和全连接层有什么异同?

    简单回答一下: 1.数学本质上一样,都是特征图中的元素乘以权重再求和.全连接是把特征图拆开组成一个一维向量,再乘以一个权重向量,这两个向量中的元素一一对应所以输出结果是一个值.而1*1卷积,我们知道卷 ...

  9. 解释一下全连接层CNN中全连接层是什么样的

    (名称:全连接.意思就是输出层的神经元和输入层的每个神经元都连接) 在卷积神经网络的最后,往往会出现一两层全连接层,全连接一般会把卷积输出的二维特征图转化成一维的一个向量,这是怎么来的呢?目的何在呢? ...

最新文章

  1. Spring 中的bean 是线程安全的吗?
  2. 搞技术的OpenAI现在要做投资了,成立1亿美元创业基金,网友:融资花不完了?...
  3. Orchard: Shape展现介绍
  4. OpenGL基于PBR的图像的光照IBL的实例
  5. [BUUCTF-pwn]——ciscn_2019_s_3
  6. Django框架(二)
  7. opencv 图像访问索引
  8. 句向量的表示(上)—无监督
  9. yum mysql 如何启动_CentOS7用yum安装MySQL与启动
  10. php post获取dvi,如何利用http来发送post请求
  11. 源码解析:修改mysql密码出现错误1045
  12. 0505.Net基础班第二十天(基础加强总复习)
  13. matlab哈明窗带阻,MATLAB数字滤波器程序 Hamming窗带通滤波器
  14. Stata | 初试
  15. Android 自定义字体(otf,ttf等等)
  16. 前端项目开发流程(附思维导图PC)
  17. TXT文本 本地词典
  18. FileWriter学习
  19. 非常简单-Linux环境下(有公网IP)或虚拟主机的环境下如何做一个网站???
  20. unity图片变成马赛克如何取像素并改变颜色_聊聊 2D 游戏的像素化中的问题

热门文章

  1. 广告效果数据的实时计算与分析(Druid)(一)
  2. 2022年博客新星排行榜 日榜 2023-01-01 博客新星榜
  3. Ext.XTemplate加载拥有头像的用户
  4. jsp input只读
  5. pandas创始人手把手教你利用Python进行数据分析!
  6. 蒙特卡罗算法和拉斯维加斯算法比较
  7. 毕业设计-基于微信小程序的图书推荐前台系统
  8. laravel 模型查询结果当作key
  9. echarts--设置折线图折点的样式
  10. 堆排序——我欲修仙(功法篇)