卷积神经网络CNN代码解析 deepLearnToolbox-master是一个深度学习matlab包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络DBN,自动编码AutoEncoder(堆栈SAE,卷积CAE)的作者是 Rasmus Berg Palm rasmusbergpalm@
代码下载:/rasmusbergpalm/DeepLearnToolbox
这里我们介绍deepLearnToolbox-master中的CNN部分。
DeepLearnToolbox-master中CNN内的 函数:
调用关系为:
该模型使用了mnist的数字mnist_uint8.mat作为训练样本,作为cnn的一个使用样例,
每个样本特征为一个28*28 的向量。
网络结构为:
让我们来看看各个函数:
一、Test_example_CNN:2
三、cnntrain.m5
四、cnnff.m6
五、cnnbp.m7
五、cnnapplygrads.m10
六、cnntest.m11
Test_example_CNN:
Test_example_CNN:
1设置CNN的基本参数规格,如卷积、降采样层的数量,卷积核的大小、降采样的降幅
2 cnnsetup函数 初始化卷积核、偏置等
3 cnntrain函数 训练cnn,把训练数据分成batch,然后调用
3.1 cnnff 完成训练的前向过程,
3.2 cnnbp计算并传递神经网络的error,并计算梯度(权重的修改量)<