MATLAB-深度网络设计器

一、操作步骤

1、打开APP中的深度网络设计器

 2、点击建立空白网络

3、根据图像数据的具体情况建立神经网络,本文以2为图像数据为例

4、调整分类数,本文演示2分类

5、导入数据

本文演示的数据为“123”文件夹下A/B两类图片数据

 

6、训练模型

 

 二、卷积神经网络原理

(一)计算机视觉原理

计算机视觉原理:

以下图为例,不同于人眼可以直接观察到图像形态和色彩特征,计算机是依靠数值矩阵记录图像的。首先将图片分割为N*N个分布,N的大小反应计算机的最小分辨率。每一个经过分割的小单元称为一个像素点。这里举一个不恰当的例子,为了便于理解和展示这里以3*3为例。将图片分为9个像素点。(实际为320*480个像素点,但是为了方便方便说明,后文均假设为9个像素点)

每个像素点包含的信息是色彩组成。是由电脑显示器产生的不可分解的三色光:红、绿、蓝。其信息为红、绿、蓝三色量化明暗程度的数值组成的三维矩阵。也是神经网络的输入信息。

(二)基础神经网络

神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递,误差反向传播。在前向传递中,输人信号从输入层经隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一-层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使 BP神经网络预测输出不断逼近期望输出。

神经网络的拓扑结构如图所示。

1、前向传递

(1)线性函数

f:模型属于各个分类结果的得分

x:输入信息

w:权重参数

b:偏置参数

X1-x9分别代表9个像素点的三维矩阵,f1-f4为模型判断该图片在四种分类结果上的评分。

wij代表针对第i个分类结果,第j个像素点的贡献程度。

(2)损失函数

L:反应模型的错误程度,是神经网络寻找最优权重参数的线索。

Si:正确分类得分

SJ:错误分类得分

R:正则化惩罚项

针对输入为物品1的情况:损失函数L为f1,1,与其余三项的差之和与0取最大值。

公式中的“+1”是为了避免错误分类得分略小于正确分类得分是取到0。因为0代表没有损失与实际情况不符,因此在公式后加一。1便相当于模型的容忍度。

 (3)Softmax分类器

 Softmax分类器的作用是将线性函数求出的得分转化为概率,使模型效果更加直观。

P:模型判断正确的概率

X:第i个物品各个判断结果的得分

可以将Softmax分类器的步骤概括为得分在e^x的映射,再进行归一化处理,计算正确判断的占比。

其中得分做e^x的映射可以放大得分差异,使结果的差距更加明显。

损失函数L=-logP,因此满足当P趋于1,时,L趋于0。表示模型的准确度较高;P趋于0,时,L趋于正无穷。表示模型的准确度较低;L=-logP图像如下

2、反向传递

反向传递是在已知误差函数且输入数据不变的条件下,缩短实际值与理想值的方法便是调整各个感知机的参数。因此以反向传输为策略,利用梯度下降的方法调整参数值。

梯度下降的本质是将总体误差分配到各个参数上,让所有的感知机共同承担降低模型误差的任务。

梯度的含义为曲面上变化最快的方向,示意图如下

反向传递具体流程简化示意

 将评分误差反向分散到参数

 

 

当n-1=0时,fn-1为原始输入数据

调整的参数为为原参数减去学习率与梯度的乘积。

 (三)卷积神经网络

整体构架

1、卷积作用

卷积层的作⽤是提取输⼊图⽚中的信息,这些信息被称为图像特征,这些特征是由图像中的每个像素通过组合或者独⽴的⽅式所体现。

这⾥的卷积操作是通过卷积核对每个通道的矩阵从左到右从上⾄下进⾏互相关运算,滑动的步长是个超参数,互相关运算的意思就是对应位置相乘再相加,最后把三个通道的值也对应加起来得到⼀个值。

2、激活层

激活层作用是将上层的输出特征信息进行非线 性激活输出。因为卷积神经网络的层次往往比较深引起梯度消减的问题,在这些非线性激活函数中,线性修正单元函数能够很好地解决网络的梯度弥散问题,缩减训练时间,加快收敛速度。

常见的激活函数有如下几种

 

3、池化作用

池化层的作⽤是对卷积层中提取的特征进⾏挑选。

常见的池化操作有最⼤池化和平均池化,池化层是由n×n⼤⼩的矩阵窗⼝滑动来进⾏计算n×n⼤⼩的矩阵中的最⼤值和平均值。

 4、全连接层

池化层的后⾯⼀般接着全连接层,全连接层将池化层的所有特征矩阵转化成⼀维的特征⼤向量,全连接层放在卷积神经⽹络结构中的最后,即准备输出结果。

全连接层的主要是将前面提取的二维特征向量转化成一维特征向量,并由分类器完成分类。计算公式如下:

5、训练的优化算法

卷积网络通过前向传播和反向传播算法来训练网络的所有参数,利用梯度下降算法解决学习率的选择问题。

梯度下降的本质是将总体误差分配到各个参数上,让所有的感知机共同承担降低模型误差的任务。 

猜你喜欢

转载自blog.csdn.net/weixin_64589302/article/details/130733630