卷积神经网络 CNN 代码解析 deepLearnToolbox-master 是一个深度学习 matlab 包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络 DBN,自动编码 AutoEncoder(堆栈 SAE,卷积 CAE)的作者是 Rasmus Berg Palm (rasmusbergpalm @ gmail.com ) 代码下载:https : //github 。 com/rasmusbergpalm/DeepLearnToolbox 这里我们介绍 deepLearnToolbox—master 中的 CNN 部分.DeepLearnToolbox—master 中 CNN 内的 函数:调用关系为:该模型使用了 mnist 的数字 mnist_uint8。mat 作为训练样本,作为 cnn 的一个使用样例,每个样本特征为一个 28*28=的向量。网络结构为:让我们来看看各个函数:一、Test_example_CNN:.................................................................2三、cnntrain。m.......................................................................5四、cnnff。m..........................................................................6五、cnnbp.m...........................................................................7五、cnnapplygrads.m..................................................................10六、cnntest。m.......................................................................11一、Test_example_CNN:Test_example_CNN:1 设置 CNN 的基本参数规格,如卷积、降采样层的数量,卷积核的大小、降采样的降幅2 cnnsetup 函数 初始化卷积核、偏置等3 cnntrain 函数 训练 cnn,把训练数据分成 batch,然后调用3。1 cnnff 完成训练的前向过程,3。2 cnnbp 计算并传递神经网络的 error,并计算梯度(权重的修改量)3.3 cnnapplygrads 把计算出来的梯度加到原始模型上去4 cnntest 函数,测试当前模型的准确率该模型采纳的数据为 mnist_uint8.mat,含有 70000 个手写数字样本其中 60000 作为训练样本,10000 作为测试样本。把数据转成相应的格式,并归一化。设置网络结构及训练参数初始化网络,对数据进行批训练,验证模型准确率绘制均方误差曲线二、Cnnsetup。m该函数你用于初始化 CNN 的参数。设置各层的 mapsize 大小,初始化卷积层的卷积核、bias尾部单层感知机的参数设置* bias 统一设置为 0权重设置为:—1~1 之间的随机数/sqrt(6/(输入神经元数量+输出神经元数量))对于卷积核权重,输入输出...