CNN 卷积神经网络的学习记录(基础概念篇)

       卷积神经网络又称为CNN,在类别上是属于前馈神经网络的一种,是深度学习的代表算法之一。在上世纪八十年代末被提出之后一直处于沉寂之中,进入2010年后,随着计算机理论知识和计算机硬件算力的不断发展卷积神经网络又开始热门起来。如今CNN已经发展出了十数种十分具有代表性的模型,CNN也已广泛应用于计算机视觉自然语言处理等领域。

一、CNN 的代表模型

LeNet5(1994),AlexNet(2012),VGG(2014),Google Net(2014), Inception-V1, Inception-V2, Inception-V3, Inception-V4(这四个版本均由Google net改进而来),ResNet(2016), ResNext(2017),DenseNet(2017),SeNet(2017),BAM, CBAM,SkNet,MobileNet等等。

二、卷积神经网络的一些基本概念

1、卷积、卷积层

        在一张图片里有一个性质叫局部关联性,即一个图片的像素点受其周围的像素点的影响最大。这个性质对于神经网络对图片的学习分类来说就意味着模型可以不用处理全局的像素点,而只需要处理一个局部的范围内的像素点便可以学习到该图片的特征,这就是卷积的概念来源。如下图,在原始图像的像素图中,用一个2x2区域圈起来一个局部特征学习区域,这个2x2的像素局部图叫做filter,被filter圈起来的像素点经过算式w1·x1+w2·x2+w3·x3+w4·x4+b的计算得到一个新的特征值,该特征值代表了这个局部区域的像素特征,而这样的非全连接以及产生的权重【W】就叫做卷积核。这个filter通过连续的移动便可以生成n个这样新的特征值如图中蓝色的0~8。而filter的移动步长叫做stride,与filter的大小一样,这也是一个需要在模型训练时通过训练结果来确定的值。

通过以上操作,可以形成n个特征值,把特征值重新按矩阵的形式排列起来便形成了特征图,特征图代表了原始图像某一维的特征。以上便是卷积的基本概念,卷积的过程成为卷积层。

2、RGB图像的卷积

        以上是单通道灰度图的卷积学习,对于RGB图像其具有RGB三个通道,因此其卷积输入通道数也有三个,所以对应的卷积核就有三个。如图为RGB图像的三通道:

对于RGB图像来说,其卷积输入参数有四个N,W,H,C;N是输入的图像个数,W是图像的宽度,H是图像的高度,C是图像的输入通道数又叫CHANEL。而图像的CHANEL数决定了卷积核的通道数,图像的输入通道数等于卷积核的输入通道数,如一个RGB图像有三个输入通道数,设其输入参数为 Nx3x3x3, 则其对应的卷积核参数可以为3x3x3x2,表示用2个通道数为3,大小为3x3的卷积核来卷积输入通道数为3x3的RGB图像,输出通道为2。这样,经过两个卷积核的处理就产生了两组各三个特征图。每组的三个特征图通过特征融合算法也就是Elctwise算法融合成一个特征图,因此便有两个特征图输出,输出特征图的数目叫做depth,其同时也作为下一层神经网络的输入通道。以上便是RGB图像的卷积学习。

3、激励层

        深度学习与机器学习的一个不同就是深度学习是非线性的,机器学习大多是线性的。为了使卷积层的输出结果是非线性的需要加入激励层。激励层是一层包含激励函数的网络层,激励函数F(x)将卷积层的输出结果作为参数x输入,经过激励函数的处理,卷积层的输出结果变为了非线性输出。常用的激励函数有:

sigmoid 函数

Relu函数

Leky Relu(带泄露的relu函数)

tanh函数(双曲正切函数)

Maxout

Elu 等。

4、池化层

        以上提到经过卷积层和激励层的处理后输出一个特征图,但由于原始图片的维度很大,导致特征图的维度也有可能很大,这样将大大提高后续网络层的计算难度,为此需要降低特征图的维度,这就是池化层的作用。

        在池化层进行的降维操作主要有两方法:

        1)Max-pooling:最大值法,方法是选取特征图的某一空间领域内最大值来代替该领域的 特征。如下图,在一个4x4的特征图上,定义一个2x2的空间领域,逐个选取空间领域内的最大值,最终由最大值组成新的特征矩阵。

        2)Average-pooling:与max-pooling类似,只是计算方法由选取最大值变为取领域空间内的平均值。

5、全连接层

        全连接层一般在神经网络的尾部,在输出层之前,在全连接层,每一个神经元上都有权重。神经网络的最终目的是分类,在实现分之前做的是特征提取,因此在全连接层实现的就是神经网络的核心之一:分类。具体的说就是卷积层、激活层、池化层是把样本的原始数据经过特征抽取映射到特征空间,而全连接层便是把特征空间的数据映射到样本的标记空间以达到分类的目的。

        全连接层是整个CNN架构参数最多,计算量最大的一个网络层,一些有代表性的CNN模型如ResNet, Google Net使用全局池化来代替全连接层。

6、输出层

        输出层是整个神经网络的最后一层,输出层作为分类结果的输出,有多少个分类结果就有多少个输出神经元,经过全连接层的分类结果在输出层输出。

三、其它模型学习计划

        RNN, LSTM, GRU。

 

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值