卷积神经网络
CNN是深度学习的一个框架,是深度学习在图像领域的应用。主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。
刚开始接触,把学习过程记录下来。
首先得知道CNN中的convolution体现在哪,CNN与一般滤波的区别在哪,CNN的一般过程。
UFLDL中讲到了卷积特征提取和池化:http://deeplearning.stanford.edu/wiki/index.php/%E5%8D%B7%E7%A7%AF%E7%89%B9%E5%BE%81%E6%8F%90%E5%8F%96
http://deeplearning.stanford.edu/wiki/index.php/%E6%B1%A0%E5%8C%96
这篇博文讲的很好http://blog.csdn.net/stdcoutzyx/article/details/41596663,里面用图片显示了CNN的一些过程。
这篇博文讲了CNN的大概结构http://blog.csdn.net/on2way/article/details/50528346
在CNN中,往往会有多层卷积,那这些多层卷积的训练样本是怎么来的呢,这篇博文给出了答案:http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html
这位大神对CNN的源码进行了分析,可惜很多地方还是不理解:http://blog.csdn.net/zouxy09/article/details/9993743
注:研究发现,训练好的CNN各个层分别表示如下特征:颜色->边缘->模块->更大的模块。
激活函数使用ReLU可能会导致稀疏(在小于0是为0),也可能导致数据过大。因此,在下采样后送入激活函数之前,需要归一化。
随机过程可以提高泛化能力。
全连接时训练可用BP算法,那对于CNN如何训练呢?对于下采样层的残差,可以直接复制;对于卷积层的残差,是对下采样层中与此
相关的点的加权和。