前面已经介绍了深度学习的一个模型框架:自编码器,那么从本节后来再来简单介绍一下深度学习的另一个模型框架:卷积神经网络CNN,关于CNN可能大家听说过的不能在多了,网上资源众多,各路大神总结的也是无比完美,在这里就不在copy了,重要的地方直接直接贴出那些优秀的文章,这里旨在记录一下整个思路过程以及一些简单的认识以求完整。
首先贴一下网络上众多了讲解CNN的好资源吧:
(1)综述性的:
Deep Learning(深度学习)学习笔记整理系列之(七)
这篇推论非常好
CNN卷积神经网络推导和实现
一文读懂卷积神经网络
下面再简单总结下:
一)CNN来源
(1)来源1–需求需要
看过前面或者知道自编码器的可以发现,深层的自编码器其实已经可以实现类似于PCA甚至比PCA更好的特征提取了,而这个特征提取的过程也完全是机器自己完成的,我们根本不用管它具体提取的是什么特征,不像传统的设计特征提取(比如sift、hog等等人工设计的特征)那样,自编码的特征是自己找的,非常好。
但是我们也发现了一个问题,就是自编码网络其实和传统的神经网络差不多,不过深度多一点,但是本质上也是全连接的,就是下一层的每一个神经元与上一层的所有单元相连接着,像下面这个样子
我们知道前面我们处理的时手写体图像,每一个为28*28大小,也就是784输入向量,再加上很多隐含层,每一个隐含层又会有大量的单元连接,算一算在训练的时候得有多少参数呀,很多,所以呢,这种自编码式的深度学习虽然可以很好的学习特征,但是还是有限制的,那就是原始输入不能太大了,如果你来一个100*100=10000的图像就会受不了了,参数异常多。虽然不我们在前面也对自编码网络进行了各种优化(比如假如dropout,假如权值和限