全球旧事资料 分类
片进行识别。
CNN的这三个特点是其对输入数据在空间主要针对图像数据上和时间主要针对时间序列数据参考TDNN上的扭曲有很强的鲁棒性。CNN一般采用卷积层与
f采样层交替设置即一层卷积层接一层采样层采样层后接一层卷积这样卷积层提取出特征再进行组合形成更抽象的特征最后形成对图片对象的描述特征CNN后面还可以跟全连接层全连接层跟BP一样。下面是一个卷积神经网络的示例
图1图片来源
卷积神经网络的基本思想是这样但具体实现有多重版本我参考了matlab的DeepLear
i
g的工具箱DeepLear
Toolbox这里实现的CNN与其他最大的差别是采样层没有权重和偏置仅仅只对卷积层进行一个采样过程这个工具箱的测试数据集是MINIST每张图像是2828大小它实现的是下面这样一个CNN
图2
2、网络初始化
CNN的初始化主要是初始化卷积层和输出层的卷积核权重和偏置DeepLear
Toolbox里面对卷积核和权重进行随机初始化而对偏置进行全0初始化。
3、前向传输计算
前向计算时输入层、卷积层、采样层、输出层的计算方式不相同。
31输入层输入层没有输入值只有一个输出向量这个向量的大小就是图片的大小即一个2828矩阵
32卷积层卷积层的输入要么来源于输入层要么来源于采样层如上图红色部分。卷积层的每一个map都有一个大小相同的卷积核Toolbox里面是55的卷积核。下面是一个示例为了简单起见卷积核大小为22上一层的特征map大小为44用这个卷积在图片上滚一遍得到一个一个42142133的特征map卷积核每次移动一步因此。在Toolbox的实现中卷积层的一个map与上层的所有map都关联如上图的S2和C3即C3共有612个卷积核卷积层的每一
f个特征map是不同的卷积核在前一层所有map上作卷积并将对应元素累加后加一个偏置再求sigmod得到的。还有需要注意的是卷积层的map个数是在网络初始化指定的而卷积层的map的大小是由卷积核和上一层输入map的大小决定的假设上一层的map大小是
、卷积核的大小是kk则该层的map大小是
k1
k1比如上图的2424的map大小242851。斯坦福的深度学习教程更加详细的介绍了卷积特征提取的计算过
程。
图3
33采样层subsampli
gPooli
g采样层是对上一层map的一个采样处理这里的采样方式是对上一层map的相邻小区域进行聚合统计区域大小为scalescale有些实现是取小区域的最大值而ToolBox里面的实现是采用22小区域的均值。注意卷积的计算窗口是有重叠的而采用的计算窗口没有重叠ToolBox里面计算采样也是用卷积co
v2AKvalid来实现的卷积核是22每个元素都是14去掉计算得到的卷积结果中有重叠的部分

r
好听全球资料 返回顶部