Deep Learning 学习随记(八)CNN(Convolutional neural network)理解
摘要:前面Andrew Ng的讲义基本看完了。Andrew讲的真是通俗易懂,只是不过瘾啊,讲的太少了。趁着看完那章convolution and pooling, 自己又去翻了翻CNN的相关东西。当时看讲义时,有一点是不太清楚的,就是讲义只讲了一次convolution和一次pooling,而且第一次的convolution很容易理解,针对一副图像来的,但是经过一次convolution和pooling后,一副图像变成了好多副特征图(feature map)这时候再进行convolution时,该怎么办呢?所以去瞅了瞅CNN的相关论文。CNN最经典的案例应该是LeNet-5这个数字识别的任务了吧。这
阅读全文
posted @
2013-11-26 10:35
bzjia
阅读(12258)
推荐(0)
Deep Learning 学习随记(七)Convolution and Pooling --卷积和池化
摘要:图像大小与参数个数:前面几章都是针对小图像块处理的,这一章则是针对大图像进行处理的。两者在这的区别还是很明显的,小图像(如8*8,MINIST的28*28)可以采用全连接的方式(即输入层和隐含层直接相连)。但是大图像,这个将会变得很耗时:比如96*96的图像,若采用全连接方式,需要96*96个输入单元,然后如果要训练100个特征,只这一层就需要96*96*100个参数(W,b),训练时间将是前面的几百或者上万倍。所以这里用到了部分联通网络。对于图像来说,每个隐含单元仅仅连接输入图像的一小片相邻区域。这样就引出了一个卷积的方法:convolution:自然图像有其固有特性,也就是说,图像的一部分
阅读全文
posted @
2013-11-09 16:39
bzjia
阅读(5062)
推荐(0)
Deep Learning 学习随记(六)Linear Decoder 线性解码
摘要:线性解码器(Linear Decoder)前面第一章提到稀疏自编码器(http://www.cnblogs.com/bzjia-blog/p/SparseAutoencoder.html)的三层网络结构,我们要满足最后一层的输出:a(3)≈a(1)(即输入值x)的近似重建。考虑到在最后一层的a(3)=f(z(3)),这里f一般用sigmoid函数或tanh函数等非线性函数,而将输出界定在一个范围内(比如sigmoid函数使结果在[0,1]中)。这对于有些数据组,例如MNIST手写数字库中其输入输出范围符合极佳,但并不是所有的情况都满足这个条件。例如,若采用PCA白化,输入将不再限制于[0,1]
阅读全文
posted @
2013-11-04 17:11
bzjia
阅读(2091)
推荐(1)
Deep Learning 学习随记(五)深度网络--续
摘要:前面记到了深度网络这一章。当时觉得练习应该挺简单的,用不了多少时间,结果训练时间真够长的...途中debug的时候还手贱的clear了一下,又得从头开始运行。不过最终还是调试成功了,sigh~前一篇博文讲了深度网络的一些基本知识,这次讲义中的练习还是针对MNIST手写库,主要步骤是训练两个自编码器,然后进行softmax回归,最后再整体进行一次微调。训练自编码器以及softmax回归都是利用前面已经写好的代码。微调部分的代码其实就是一次反向传播。以下就是代码:主程序部分:stackedAEExercise.m% For the purpose of completing the assign.
阅读全文
posted @
2013-11-01 17:02
bzjia
阅读(1478)
推荐(0)