全球旧事资料 分类
word可编辑
卷积神经网络代码理解
1、代码来源:
代码来自DeepLear
Toolboxmaster,是matlab一个深度学习的工具包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络DBN,自动编码AutoE
coder等。
2、CNN函数介绍
函数名称
功能
examplem
使用样例,设置网络结构及训练参数(卷积,下采样层数;卷积核大小,下采样降幅,学习率,迭代次数等)
c
setupm
构建网络结构,并初始化网络中各参数,包括各层特征图大小,卷积核权重
c
trai
m
训练网络
c
ffm
训练网络向前传播过程(卷积、下采样、全连接、输出等)
c
bpm
训练网络误差反向传播过程
c
applygradsm
权重修改,更新模型
c
testm
验证测试样本的准确率

专业专注

f3、函数调用关系
word可编辑
图31函数调用关系图
4、样例数据集
该模型使用了m
ist的数字m
ist_ui
t8mat作为样本,每个样本特征为一个2828的向量。其中训练集样本60000测试集样本10000,并将首先将样本像元值转化为一维向量作为网络的输入:
样本示例如下图所示:

专业专注

fword可编辑
图41样本示例图
图42样本预处理
5、样例网络结构
图51网络结构图

专业专注

f6、算法流程
word可编辑
图61算法流程
7、误差反向传播过程
71计算误差和LossFu
ctio


专业专注

fword可编辑
72计算单层感知机的灵敏度73把单层感知机的输入层的误差矩阵,恢复为44二维矩阵形式
74误差在特征提取网络【卷积降采样层】的传播
741卷积层敏感度向前传播假设拿出第l层某个特征图图,大小为3×3,第l1层核大小为2×2卷积核为:
灵敏度为:

专业专注

fword可编辑
采用’full’模式需先将第l1层2个卷积图扩充,周围填0
I层灵敏度
742采样层灵敏度向前传播假设卷积层的矩形大小为4×4,pooli
g区域大小为2×2,则pooli
g后
得到的矩形大小也为22,如果此时pooli
g后的矩形误差敏感值如下:

专业专注

fword可编辑
则按照mea
pooli
g,首先得到的卷积层应该是4×4大小,其值分布为等值复制:
因为得满足反向传播时各层间误差敏感总和不变,所以卷积层对应每个值需要平摊(除以pooli
g区域大小,这里pooli
g层大小为2×24),最后的卷积层值分布为:

专业专注

fword可编辑
75计算卷积层和单层感知机的梯度
76权重及偏置修改,更新模型

专业专注

fword可编辑
8、示例(训练一个样本)81初始化网络
811初始化网络结构,代码如下:
其结构如下图所示,从左到右依次命名为:输入层、卷积层1、降采样层1、r
好听全球资料 返回顶部