CNN(Convolutional Neural Network) 卷积神经网络(简称CNN)最早可以追溯到20世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究表明,大脑对外界获取的信息由多层的感受野(Receptive Field)激发完成的.在感受野的基础上,1980年Fukushima提出了一个理论模型Neocognitron是感受野在人工神经网络领域的首次应用.1998年,Lecun等人提出的LeNet-5模型在手写字符识别上取得了成功,引起了学术界对卷积神经网络的关注.2012年…
图像大小与参数个数: 前面几章都是针对小图像块处理的,这一章则是针对大图像进行处理的.两者在这的区别还是很明显的,小图像(如8*8,MINIST的28*28)可以采用全连接的方式(即输入层和隐含层直接相连).但是大图像,这个将会变得很耗时:比如96*96的图像,若采用全连接方式,需要96*96个输入单元,然后如果要训练100个特征,只这一层就需要96*96*100个参数(W,b),训练时间将是前面的几百或者上万倍.所以这里用到了部分联通网络.对于图像来说,每个隐含单元仅仅连接输入图像的一小片相邻…
最近开始看Deep Learning,随手记点,方便以后查看. 主要参考资料是Stanford 教授 Andrew Ng 的 Deep Learning 教程讲义:http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial.这个讲义已经有人翻译了(赞一个),可以参见邓侃的新浪博客http://blog.sina.com.cn/s/blog_46d0a3930101h6nf.html.另外,博客园里有一个前辈关于讲义中练习的一系列文…
Logistic Regression with a Neural Network mindset Welcome to the first (required) programming exercise of the deep learning specialization. In this notebook you will build your first image recognition algorithm. You will build a cat classifier that r…
Python Basics with numpy (optional)Welcome to your first (Optional) programming exercise of the deep learning specialization. In this assignment you will: - Learn how to use numpy. - Implement some basic core deep learning functions such as the softm…
前面Andrew Ng的讲义基本看完了.Andrew讲的真是通俗易懂,只是不过瘾啊,讲的太少了.趁着看完那章convolution and pooling, 自己又去翻了翻CNN的相关东西. 当时看讲义时,有一点是不太清楚的,就是讲义只讲了一次convolution和一次pooling,而且第一次的convolution很容易理解,针对一副图像来的,但是经过一次convolution和pooling 后,一副图像变成了好多副特征图(feature map)这时候再进行convolution时,该…
前面记到了深度网络这一章.当时觉得练习应该挺简单的,用不了多少时间,结果训练时间真够长的...途中debug的时候还手贱的clear了一下,又得从头开始运行.不过最终还是调试成功了,sigh~ 前一篇博文讲了深度网络的一些基本知识,这次讲义中的练习还是针对MNIST手写库,主要步骤是训练两个自编码器,然后进行softmax回归,最后再整体进行一次微调. 训练自编码器以及softmax回归都是利用前面已经写好的代码.微调部分的代码其实就是一次反向传播. 以下就是代码: 主程序部分: stacked…
这一个多周忙别的事去了,忙完了,接着看讲义~ 这章讲的是深度网络(Deep Network).前面讲了自学习网络,通过稀疏自编码和一个logistic回归或者softmax回归连接,显然是3层的.而这章则要讲深度(多层)网络的优势. Deep Network: 为什么要使用深度网络呢?使用深度网络最主要的优势在于,它能以简洁的方式来表达比浅层网络大得多的函数集合.正式点说,可以找到一些函数,它们能够用k层网络简洁的表达出来(这里的简洁指的是使用隐层单元的数目与输入单元数目是多项式关系),但是对一…
接着看讲义,接下来这章应该是Self-Taught Learning and Unsupervised Feature Learning. 含义: 从字面上不难理解其意思.这里的self-taught learning指的是用非监督的方法提取特征,然后用监督方法进行分类.比如用稀疏自编码+softmax regression. 对于非监督特征学习,有两种类型,一类是self-taught learning,一类是semi-supervised learning.看他们的定义不如看讲义中给出的那个…
接着上次的记,前面看了稀疏自编码.按照讲义,接下来是Vectorized, 翻译成向量化?暂且这么认为吧. Vectorized: 这节是老师教我们编程技巧了,这个向量化的意思说白了就是利用已经被优化了的数值运算来编程,矩阵的操作 尽量少用for循环,用已有的矩阵运算符来操作.这里只是粗略的看了下,有些小技巧还是不错的. PCA: PCA这个以前都接触过了,简单说就是两步: 1.协方差矩阵 其中x(i)是输入样本(假设已经均值化). 2.SVD分解,得出U向量.其中U向量的每列就是样本的新的方向…