深度学习笔记—从入门到入门

深度学习

  • 深度学习入门
    • 神经网络以及误差反向传播
      • 神经元模型
      • 传统神经网络激活函数
      • ‘层’的概念
      • 误差反向传播算法
    • 神经网络到深度学习
  • 经典深度学习网络模型
  • 语义分割
    • 经典FCN模型(待)
    • deeplab v3+模型(待)
  • 目标检测
    • yolo系列(待)

深度学习入门

深度学习本质:建立输入与输出之间的对应关系

神经网络以及误差反向传播

传统神经网络层数比较浅,一般3到5层
深度学习笔记—从入门到入门_第1张图片

神经元模型

深度学习笔记—从入门到入门_第2张图片每个神经元接受上层传来的数据,并将这些数据求加权和,然后输入到非线性激活函数中,最后激活函数的输出结果传递给下一层。

传统神经网络激活函数

深度学习笔记—从入门到入门_第3张图片

‘层’的概念

网络通过‘层’中的权重大小来提取特征,一旦层中权重固定(即深度学习中训练完毕),则送入数据经过‘层’的运算,就会得出对应的输出。比如下图所示,连线中的数字表示不同的权重,此时权重已经固定,输入C,O则得到三个输出变量。改变权重,输出就会不同输出,即提取不同特征
深度学习笔记—从入门到入门_第4张图片

误差反向传播算法

深度学习中,输入数据得到预测的输出,通过有监督的学习算法,根据实际输出与期望输出的差值来调整连接权重。假设权重为w,输出为z,目标为t,目标函数为J(w)。则目标函数计算如下所示,一般求目标函数最小值:
深度学习笔记—从入门到入门_第5张图片
权重改变公式如下:
深度学习笔记—从入门到入门_第6张图片
此处为方便分析,假设网络只分为三部分:输入层,隐含层,输出层。如下图所示:

深度学习笔记—从入门到入门_第7张图片
对权重改变量的推导,此处不再讨论,直接给出结果。
输出层的权重改变量
深度学习笔记—从入门到入门_第8张图片
隐含层权重改变量

深度学习笔记—从入门到入门_第9张图片
其中隐含层残差计算示意图如下:
深度学习笔记—从入门到入门_第10张图片
通过上述的公式可以得到各层的权重改变量,根据权重改变公式可以得到新的权重,不断的迭代即可对权重进行刷新。由此可以得出误差传播迭代公式的步骤:

  1. 权重增量 = -1* 学习步长 *目标函数对权重的偏导数
  2. 目标函数对权重的偏导数 = -1* 残差 *当前层输入
  3. 残差 = 当前层激励函数的导数 *上层反传来的误差
  4. 上层反传来的误差 = 上层残差加权和(隐含层残差示意图所示)

神经网络到深度学习

深度学习与神经网络区别

  1. 网络结构: 3层以内 -->可达上千层
  2. 层间连接: 通常是全连接 --> 形式多样:权值共享、跨层反馈
  3. 目标函数: MSE(均方差 ) --> CE(交叉熵)等
  4. 激活函数: Sigmoid --> ReLu等
  5. 避免过适应:凭经验 --> Dropout等
  6. 。。。。。

避免梯度消失 :对于sigmoid函数,由于其导数小于0.25,初始化权重时w一般小于1,在进行链式求导时多数小于1的导数连乘最终使得梯度趋向于0。深度学习笔记—从入门到入门_第11张图片

为了解决这一问题,relu激活函数被提出,其函数图像如下图所示深度学习笔记—从入门到入门_第12张图片
Batch Nomalization
将不同的图片或者同一图片的不同分量映射到统一特定区间,或是具备相同的数据分布,使得CNN中功能块可对输入数据进行同趋化处理,一定程度上缓解梯度消失问题,加速模型收敛。但是批次图片量较小时,使用BN层效果会不明显。理论上批次图片越多越好。

经典深度学习网络模型

vgg模型
resnet模型
mobilenet模型

语义分割

经典FCN模型(待)

deeplab v3+模型(待)

目标检测

yolo系列(待)

你可能感兴趣的:(深度学习,神经网络)