卷积Convolution和池化pooling特征提取,分类

前言:

  本次实验是练习convolution和pooling的使用,更深一层的理解怎样对大的图片采用convolution得到每个特征的输出结果,然后采用pooling方法对这些结果进行计算,使之具有平移不变等特性。实验参考的是斯坦福网页教程:Exercise:Convolution and Pooling。也可以参考前面的博客:Deep learning:十七(Linear Decoders,Convolution和Pooling)且本次试验是在前面博文Deep learning:二十二(linear decoder练习)的学习到的特征提取网络上进行的。

实验基础:

  首先来看看整个训练和测试过程的大概流程:从本文可以更清楚的看到,在训练阶段,是对小的patches进行whitening的。由于输入的数据是大的图片,所以每次进行convolution时都需要进行whitening和网络的权值计算,这样每一个学习到的隐含层节点的特征对每一张图片都可以得到一张稍小的特征图片,接着对这张特征图片进行均值pooling(在这之前,程序中有一些代码来测试convolution和pooling代码的正确性)。有了这些特征值以及标注值,就可以用softmax来训练多分类器了。

  在测试阶段是对大图片采取convolution的,每次convolution的图像块也同样需要用训练时的whitening参数进行预处理,分别经过convolution和pooling提取特征,这和前面的训练过程一样。然后用训练好的softmax分类器就可进行预测了。

上文copy自: http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html

实验流程图:

阶段一:线性解码特征学习


阶段二:卷积特征提取


阶段三:池化特征提取


将57*57的卷积特征进行池化,池化后池化特征维数为3*3;floor(57/19)=3;对数据进行降维处理

阶段四:运用最后池化特征进行softmax训练


Convolutional and pooling networkexercise

主函数说明(代码部分还有一些详细注释):

Step0:参数说明

imageDim = 64;         % 样本图像维数

imageChannels = 3;    % 图像的基色树,rgb三基色

patchDim = 8;          % patch的维数(用于特征学习,卷积模板)

numPatches = 50000;    % 特征学习的样本数

visibleSize = patchDim *patchDim * imageChannels;  %输入单元数

outputSize = visibleSize;   % 输出单元数,用于特征学习

hiddenSize = 400;           % 隐单元个数

epsilon = 0.1;         % epsilon for ZCA whitening

poolDim = 19;          %池化区域的维数

 

Step1:训练一个带线性解码的网络学习特征

见:http://blog.csdn.net/whiteinblue/article/details/21939087

Step2:进行convolutionpooling,并检验

Step2a

convolvedFeatures = cnnConvolve();详细分析,见下文cnnConvolve分析

 

Step2b检验:

      由于卷积的过程本质上就是一次神经网络的前馈计算过程,所以应用网络前馈计算函数feedForwardAutoencoder计算的结果应该和卷积的结果相同。所以可用两种做差来检验。

Step2cpooling

      pooledFeatures = cnnPool(poolDim, convolvedFeatures);详细分析见后面函数分析

Step2d:检验pooling

      初始化一个164顺序排列的矩阵,然后用均值计算每个4*4模块的pooling

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值