UFLDL——Exercise: Convolution and Pooling 卷积和池化

该博客介绍了通过卷积神经网络(CNN)对RGB图像进行分类的实验,首先讲解了网络结构,包括线性解码器、卷积、池化和softmax回归。实验使用STL-10图像集,选取了四个类别进行分类,训练集2000张,测试集3200张。通过CNN,将64x64x3的RGB图像转换为3600维向量,使用平均池化在测试集上达到80.406%的准确率。对比最大池化,准确率为78.563%。博客提供了实验代码供下载。

实验要求可以参考deep learning的tutorial,Exercise:Convolution and Poling 卷积和池化


本实验通过卷积神经网络对RGB彩色图像进行分类,先通过CNN网络从图像从学习得到3200维度的特征,然后训练四分类的softmax分类器进行分类。


1、   神经网络结构

整个网络可以包括四部分,线性解码器,卷积,池化和softmax回归。线性解码器的输入层8*8*3个neuron,隐含层为400个neuron(都不包括bias结点),输出层为8*8*3个neuron,通过线性解码器学习到特征。

卷积的大小为8*8(一层),池化大小为19*19平均池化(一层)。

在这种结构下,我们给定64*64*3大小的RGB图像,通过卷积操作得到400*57*57*3(64-8+1 =57)大小的矩阵(400为隐含层的个数,每一个为一个特征),为了方便实验中把RGB三个通道进行了求和,得到400*57*57大小的数据。然后进行池化操作,得到400*3*3(57*19=3)大小3维数据,然后这个三维数据转化成3600大小的向量来表示图像。通过这个网络后,每一张64*64*3大小的RGB图像就变成了3600大小的向量,然后通过softmax回归对图像进行分类。

 

2、 数据

实验中的数据集为STL-10图像集,每一个数据是大小为96x96标注的彩色图像,这数据属于airplane, bird, car, cat, deer, dog, horse, monkey, ship, truck十个类中的一类。为了减少计算时间,使用中只采用了airplane, car, cat, dog四个类的图像。其中,训练集大小为2000,特测试集大小为3200.

 

实验数据以及预先把数据集表示成了一个四维矩阵,images(r, c, channel, image number),第一维为行,第二维为列,第三维为通道(RGB),第三位表示图像,根据这种表示方法,训练解的大小为64*64*3*2000。


3、 实验结果

实验中,实现对卷积和池化的代码实现进行了检验。从下图中,我们可以发现卷积和池化共分了8次进行(400/50=8),每一次进行50维度大小的计算,这样做是为了避免出现内存不足的情况。

最后用3200的特征训练四分类的softmax分类器,最后在测试集上的正确率为80.406%(平均池化)。实验中,我把平均池化用最大池化进行替代,最后得到的正确率为78.563%,从中可以发现选择不同的池化方式最最后的结果也会有比较大的影响。


评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值