cnn知识点

Caffe的三级结构(Blobs,Layers,Nets)

1.Caffe总体架构

Caffe框架主要有五个组件:BlobSolverNetLayer,Proto,大致可以分为三层结构blob,layer,net

Solver负责深度网络的训练,每个Solver中包含一个训练网络对象和一个测试网络对象。每个网络则由若干个Layer构成。每个Layer的输入和输出Feature map表示为Input Blob和Output Blob。 Blob是Caffe实际存储数据的结构,是一个不定维的矩阵,在Caffe中一般用来表示一个拉直的四维矩阵,四个维度分别对应Batch Size(N),Feature Map的通道数Channel(C),Feature Map高度Height(H)和宽度Width(W)Proto则基于Google的Protobuf开源项目,是一种类似XML的数据交换格式,用户只需要按格式定义对象的数据成员,可以在多种语言中实现对象的序列化与反序列化,在Caffe中用于网络模型的结构定义、存储和读取。 Net 是一系列 layers 和其连接的集合。 Blob是标准的数组结构,它提供了统一的内存接口, 详细描述了信息是如何在 layer 和 netnet 中存储和交换的。

模型的格式

模型定义在.prototxt文件中,训练好的模型在model目录下.binaryproto格式的文件中。模型的格式由caffe.proto定义。采用Google Protocol Buffer可以节省空间还有它对C++和Pyhton的支持也很好。

网络

卷积神经网络中conv+relu(早期为sigmoid)+pooling(以下称三剑客)的组合,不仅可以*替代手工设计特征算子的繁琐*,而且*局部感受野+权值共享的设计思想也能避免全连接网络中的种种弊端。*此时人们将三剑客的组合视为*特征提取*的过程,如果按照早期人们特征提取+分类的设计思路,那么分类使用全连接的设计方式,就可以刚好实现了一个end-to-end的架构,也即早起卷积神经网络的原型。

各个层的作用

卷积神经网络由卷积层、激活函数、池化层、全连接层组成

1、卷积层:特征提取卷积层(局部感知、权值共享、多卷积核)

2、池化层:一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征(降维,特征选择)

3、全连接层:连接所有的特征,将输出值送给分类器(如softmax分类器)。(全连接+softmax)

卷积层

1、局部感知:图像具有空间相关性。局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息

2、权值共享:图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。

3、多卷积核:如果只有一个卷积核。特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,可以学习32种特征。在有多个卷积核时,不同颜色表明不同的卷积核。每个卷积核都会将图像生成为另一幅图像。比如两个卷积核就可以将生成两幅图像,这两幅图像可以看做是一张图像的不同的通道。

池化层

理论上讲,人们可以用所有提取得到的特征去训练分类器,例如 softmax 分类器。但这样做面临计算量的挑战。意味着要学习一个拥有超过数百万特征输入的分类器,十分不便,并且容易出现过拟合。

池化层:一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征

为了描述大的图像,可以对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)。这些概要统计特征不仅具有低得多的维度 ,可以减少计算量,同时还不容易过拟合

全连接介绍

· 全连接层(FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。在实际使用中,全连接层可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前层是卷积层的全连接层可以转化为卷积核为hxw的全局卷积,h和w分别为前层卷积结果的高和宽

· 目前由于全连接层参数冗余(仅全连接层参数就可占整个网络参数80%左右),近期一些性能优异的网络模型如ResNet和GoogLeNet等均用全局平均池化(GAP)取代FC来融合学到的深度特征,最后仍用softmax等损失函数作为网络目标函数来指导学习过程。需要指出的是,用GAP替代FC的网络通常有较好的预测性能。

· 在FC越来越不被看好的当下,我们近期的研究发现,FC可在模型表示能力迁移过程中充当“防火墙”的作用。不含FC的网络微调后的结果要差于含FC的网络。因此FC可视作模型表示能力的“防火墙”,特别是在源域与目标域差异较大的情况下,*FC可保持较大的模型capacity从而保证模型表示能力的迁移。(*冗余的参数并不一无是处。)

其他:

什么是卷积?

对图像和滤波矩阵做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。把小区域内的信息统计抽象出来

滤波器,即带着一组固定权重的神经元。多个滤波器叠加便成了卷积层。

滤波器

在CNN中,滤波器filter(带着一组固定权重的神经元)对局部输入数据进行卷积计算。每计算完一个数据窗口内的局部数据后,数据窗口不断平移滑动,直到计算完所有数据

数据增强 (Data Augmentation)

数据增强指的是从已有数据中创造出新的数据,通过增加训练量以期望能够提高预测的准确率。

比如,在数字识别中,我们遇到的数字9可能是倾斜或旋转的,因此如果将训练的图片进行适度的旋转,增大训练量,那么模型的准确性就可能会得到提高。

通过“旋转”“照亮”的操作,训练数据的品质得到了提升,这种过程被称作数据增强。

3LeNet的模型建立及参数计算

http://blog.youkuaiyun.com/niuwei22007/article/details/48950347

参数的计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值