• CNN中的feature map


    个人学习CNN的一些笔记,比较基础,整合了其他博客的内容

    feature map的理解
    在cnn的每个卷积层,数据都是以三维形式存在的。你可以把它看成许多个二维图片叠在一起(像豆腐皮竖直的贴成豆腐块一样),其中每一个称为一个feature map。

    feature map 是怎么生成的?


    输入层:

      在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片(RGB),一般就是3个feature map(红绿蓝)

    下图中三大部分依次是:

      输入RGB图片、卷积核(也称过滤器)、卷积结果(输出)。 * 代表卷积操作,最左部分三片代表3个feature map; 

    ps:

      如果是灰色图片(二维),则最左只有一片代表一个feature map,对应的卷积核(也是二维)

    ------------------------------------------------ 

     ------------------------------------------------

    其它层:层与层之间会有若干个卷积核(kernel)(也称为过滤器),

    (卷积核深度与初始图片的通道数一致)

    上一层所有feature map 对应的 某个卷积核的所有层做卷积,结果相加(或者再加上偏置),都会产生下一层的一个feature map,有N个卷积核,下层就会产生N个feather map。

    即:输入图片不论通道数是1(灰色)还是3(彩色)or其他值,经过卷积核处理后,都会统一拍平成深度为1的feature map。

      有几个卷积核就生成几个feature map,与输入图片的通道数无关。

    多个feature map的作用是什么?

      在卷积神经网络中,我们希望用一个网络模拟视觉通路的特性,分层的概念是自底向上构造简单到复杂的神经元。楼主关心的是同一层,那就说说同一层。
      我们希望构造一组基,这组基能够形成对于一个事物完备的描述,例如描述一个人时我们通过描述身高/体重/相貌等,在卷积网中也是如此。在同一层,我们希望得到对于一张图片多种角度的描述,具体来讲就是用多种不同的卷积核对图像进行卷,得到不同核(这里的核可以理解为描述)上的响应,作为图像的特征。他们的联系在于形成图像在同一层次不同基上的描述。

    下层的核主要是一些简单的边缘检测器(也可以理解为生理学上的simple cell)。

    上层的核主要是一些简单核的叠加(或者用其他词更贴切),可以理解为complex cell。

     

    多少个Feature Map?

      真的不好说,简单问题少,复杂问题多,但是自底向上一般是核的数量在逐渐变多(当然也有例外,如Alexnet),主要靠经验。

    卷积核的理解

    不懂的可以参考下面的博客

    https://blog.csdn.net/cheneykl/article/details/79740810

    卷积核(过滤器)个数的理解

    我的前一篇博客中有写相关内容https://www.cnblogs.com/yh-blog/p/10052543.html

    第L-1层:

      输入图形通道数=输入图像的层数=过滤器层数(三维坐标空间上是y方向)

    L层:

      输出图像通道数=过滤器个数=第L+1层输入图像层数...(不管输入和过滤层多少层,图像输入与每个过滤器卷积过后都是一层矩阵,影响输出层数的只有过滤器的个数)

    如下图红线所示:

      该层卷积核的个数,有多少个卷积核,经过卷积就会产生多少个feature map,也就是下图中 `豆腐皮儿`的层数、同时也是下图`豆腐块`的深度(宽度)!!

      这个宽度可以手动指定,一般网络越深的地方这个值越大,因为随着网络的加深,feature map的长宽尺寸缩小,本卷积层的每个map提取的特征越具有代表性(精华部分),所以后一层卷积层需要增加feature map的数量,才能更充分的提取出前一层的特征,一般是成倍增加(不过具体论文会根据实验情况具体设置)!

     

    参考博文:https://blog.csdn.net/csw19970124/article/details/83376842

  • 相关阅读:
    gzip:stdin:not in gzip format的解决办法
    Oracle内存结构:SGA PGA UGA
    Oracle存储结构
    数据库的启动和关闭过程
    Linux上实现Windows的SQLPlus保存SQL历史记录功能
    oracle数据库,怎么给已有数据的表添加自增字段
    Centos 6下安装Oracle 11gR2
    CentOS 6下 Oracle11gR2 设置开机自启动
    从join on和where执行顺序认识T-SQL查询处理执行顺序
    虚拟机安装VBoxAdditions增强功能
  • 原文地址:https://www.cnblogs.com/yh-blog/p/10052915.html
Copyright © 2020-2023  润新知