CNN的基本名词概念

卷积网络的核心思想是将:局部感受野、权值共享以及时间或空间亚采样这三种结构思想结合起来获得了某种程度的位移、尺度、形变不变性.

一、卷积层

1.1 filter(滤波器)  filter的大小也可以说是kernel size,即卷积核的大小。  

1.1.1  局部感受野

如果我们有1000x1000像素的图像,有1百万个隐层神经元,那么他们全连接的话(每个隐层神经元都连接图像的每一个像素点),就有1000x1000x1000000=10^12个连接,也就是10^12个权值参数。

如果图像的空间联系是局部的,就像人是通过一个局部的感受野去感受外界图像一样,每一个神经元都不需要对全局图像做感受,每个神经元只感受局部的图像区域,然后在更高层,将这些感受不同局部的神经元综合起来就可以得到全局的信息了。

所以只需要100万个隐藏神经元。

这样,我们就可以减少连接的数目,也就是减少神经网络需要训练的权值参数的个数了。

如下图右:假如局部感受野是10x10,隐层每个感受野只需要和这10x10的局部图像相连接,所以1百万个隐层神经元就只有一亿个连接,即10^8个参数。比原来减少了四个0(数量级),这样训练起来就没那么费力了。但是计算量仍旧很大。

1.1.2 权值共享

我们知道,隐含层的每一个神经元都连接10x10个图像区域,也就是说每一个神经元存在10x10=100个连接权值参数。那如果我们每个神经元这100个参数是相同的呢?也就是说每个神经元用的是同一个卷积核去卷积图像。这样我们就只有多少个参数?只有100个参数啊!不管你隐层的神经元个数有多少,两层间的连接我只有100个参数啊!这就是权值共享。


这样只提取了一种特征,但我们需要提取多种特征。假如一种滤波器,也就是一种卷积核就是提出图像的一种特征,例如某个方向的边缘。那么我们需要提取不同的特征,多加几种滤波器不就行了吗?对了。所以假设我们加到100种滤波器,每种滤波器的参数不一样,表示它提出输入图像的不同特征。这样每种滤波器去卷积图像就得到对图像的不同特征的映射,我们称之为Feature Map。

所以100种卷积核就有100个Feature Map。这100个Feature Map就组成了一层神经元。

到这个时候明了了吧。我们这一层有多少个参数了?100种卷积核x每种卷积核共享100个参数=100x100=10K,也就是1万个参数。才1万个参数。见下图右:不同的颜色表达不同的滤波器。

 

1.1.3 filter的选择

在这里可能会考虑,如何选择不同的filter来使得,不同filter的局部特征之和可以反映出来全局特征。

Filter式的特征选择方法一般使用评价准则来使特征与类别间的相关性最大,特征间的相关性最小。该方式可以很快的排除掉很多不相关的噪声特征,缩小优化特征子集搜索的规模,计算效率高,通用性好,可用作特征的预筛选器。但当特征和分类器息息相关时,该方法不能保证选择出一个优化特征子集,即使能找到一个满足条件的优化子集,其计算规模也比较大。

根据评价函数可分为四类:
a.基于距离度量的
常用的距离度量有:欧氏距离,Minkowski距离,Chebychev距离和平方距离等。
Relief及其扩展算法ReliefF和RRelidfF,分支定界法和BFF算法都是基于距离度量的特征选择算法。
b.基于信息度量的
常用信息度量:信息增益与互信息,信息增益:可以有效的选出关键特征,剔除无关特征;互信息:描述两个随机变量之间相互依存关系的强弱,常见算法如下:
基于互信息的MIFS算法
基于最小冗余最大相关(mRMR)的方法
基于互信息的快速滤波算法FCBF
基于条件互信息的CMIM算法
基于动态互信息的特征选择算法
由于信息熵理论不要求假定数据分布是已知的能够以量化的形式度量特征间的不确定程度,且能有效地度量特征间的非线性关系,基于信息度量的特征选择算法成为近年来研究的热点,提出了许多基于信息理论的改进算法。
c.基于依赖性度量的
该方法利用一些统计相关系数,如Pearson相关系数,Fisher得分,方差得分,t检验,秩和检验或Hilbert-Schmidt依赖性准则等来度量特征相对于类别可分离性间的重要性程度。有人提出了一种基于稀疏表示的特征选择方法,且在人脸图像聚类实验中取得了较好的结果。
d.基于一致性度量的
该方法其思想是寻找全集有相同区分能力的最小子集,尽可能保留原始特征的辨识能力。它具有单调、快速、去除冗余和不相关特征、处理噪声等优点,但其对噪声数据敏感,且只适合处理离散特征。
典型的算法有Focus,LVF等。

1.1.4 filter的规则要求

2D卷积中对于滤波器,也有一定的规则要求:

      1)滤波器的大小应该是奇数,这样它才有一个中心,例如3x3,5x5或者7x7。有中心了,也有了半径的称呼,例如5x5大小的核的半径就是2。

      2)滤波器矩阵所有的元素之和应该要等于1,这是为了保证滤波前后图像的亮度保持不变。当然了,这不是硬性要求了。

      3)如果滤波器矩阵所有元素之和大于1,那么滤波后的图像就会比原图像更亮,反之,如果小于1,那么得到的图像就会变暗。如果和为0,图像不会变黑,但也会非常暗。

      4)对于滤波后的结构,可能会出现负数或者大于255的数值。对这种情况,我们将他们直接截断到0和255之间即可。对于负数,也可以取绝对值。
 

1.2 feature map (特征图)

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

feather map 是怎么生成的?
输入层:在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,一般就是3个feature map(红绿蓝)。

kernel(卷积核):层与层之间会有若干个卷积核(kernel)(也称为过滤器),上一层每个feature map分别跟每个卷积核做卷积,都会产生下一层的一个feature map,有N个卷积核,下层就会产生N个feather map。

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

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

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

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


卷积核个数的理解
如下图红线所示:该层卷积核的个数,有多少个卷积核,经过卷积就会产生多少个feature map,也就是下图中 `豆腐皮儿`的层数、同时也是下图`豆腐块`的深度(宽度)!!这个宽度可以手动指定,一般网络越深的地方这个值越大,因为随着网络的加深,feature map的长宽尺寸缩小,本卷积层的每个map提取的特征越具有代表性(精华部分),所以后一层卷积层需要增加feature map的数量,才能更充分的提取出前一层的特征,一般是成倍增加(不过具体论文会根据实验情况具体设置)!

 

1.2.2 卷积核的运算过程

例如输入224x224x3(rgb三通道),输出是32位深度,卷积核尺寸为5x5。

那么我们需要32个卷积核,每一个的尺寸为5x5x3(最后的3就是原图的rgb位深3),每一个卷积核的每一层是5x5(共3层)分别与原图的每层224x224卷积,然后将得到的三张新图叠加(算术求和),变成一张新的feature map。 每一个卷积核都这样操作,就可以得到32张新的feature map了。  也就是说:

不管输入图像的深度为多少,经过一个卷积核(filter),最后都通过下面的公式变成一个深度为1的特征图。不同的filter可以卷积得到不同的特征,也就是得到不同的feature map。

1.2.3filter的理解: 

在有的文档中,一个filter等同于一个卷积核:只是指定了卷积核的长宽深;

而有的情况(例如tensorflow等框架中,filter参数通常指定了卷积核的长、宽、深、个数四个参数),filter包含了卷积核形状和卷积核数量的概念:即filter既指定了卷积核的长宽深,也指定了卷积核的数量。

1.2.4 channels

channels 该如何理解?先看一看不同框架中的解释文档。

首先,是 tensorflow 中给出的,对于输入样本中 channels 的含义。一般的RGB图片,channels 数量是 3 (红、绿、蓝);而monochrome图片,channels 数量是 1 。

 


引用博文:

https://blog.csdn.net/xys430381_1/article/details/82529397 
https://blog.csdn.net/zouxy09/article/details/49080029 
https://blog.csdn.net/zx799959906/article/details/39369543 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值