卷积神经网络代码理解 1、代码来源: 代码来自DeepLearnToolbox-master,是matlab 一个深度学习的工具包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络DBN,自动编码AutoEncoder 等
2、C N N 函数介绍 函数名称 功能 example
m 使用样例,设置网络结构及训练参数(卷积,下采样层数;卷积核大小,下采样降幅,学习率,迭代次数等) cnnsetup
m 构建网络结构,并初始化网络中各参数,包括各层特征图大小,卷积核权重 cnntrain
m 训练网络 cnnff
m 训练网络—向前传播过程(卷积、下采样、全连接、输出等) cnnbp
m 训练网络—误差反向传播过程 cnnapplygrads
m 权重修改,更新模型 cnntest
m 验证测试样本的准确率 3 、函数调用关系 图 3-1 函数调用关系图 4 、样例数据集 该模型使用了 mnist 的数字 mnist_u int8
mat 作为样本,每个样本特征为一个 28*28 的向量
其中训练集样本 60000,测试集样本 10000,并将首先将样本像元值转化为一维向量作为网络的输入: 样本示例如下图所示: 图 4-1 样本示例图 图 4-2 样本预处理 5 、样例网络结构 图5-1 网络结构图 6 、算法流程 图 6-1 算法流程 7 、误差反向传播过程 7
1 计算误差和 Loss Fu nction 7
2 计算单层感知机的灵敏度 7
3 把单层感知机的输入层的误差矩阵,恢复为4*4 二维矩阵形式 7
4 误差在特征提取网络【卷积降采样层】的传播 7
1 卷积层敏感度向前传播 假设拿出第 l 层某个特征图图,大小为3× 3,第 l+1 层核大小为2× 2 卷积核为: 灵敏度为: 采用’full’模式需先将第l+1 层2 个卷积图扩充,周围填0, I