1.从感知机到神经网络

上图是一个感知机模型,有若干个输入和一个输出(输出的结果只可以是1或-1)

输入和输出有一个线性关系:

神经元激活函数:(二分类)

由于这个简单的感知机只可以进行二分类,则对于感知机进行升级,升级如下:

1)加入隐藏层,从而增加模型的表达能力,同时也增加了模型的复杂度

2)输出层的神经元不止一个输出,可以有多个输出

3)扩展了激活函数,从感知机的激活函数sign(z)---->sigmoid,之后又出现了tanX,softmax,ReLu等,通过不同的激活函数提高了神经网络的表达能力

2.深度神经网络(DNN)的基本结构

神经网络是基于感知机的扩展,深度神经网络就是有很多隐藏层的神经网络,所以深度神经网络也叫做多层感知机。

深度神经网络的内部神经网络有3层,第一层输入,最后一层输出,其余中间都是隐藏层,层与层之间全连接。在局部的小模型来讲和感知机是一样的,都是线性关系+激活函数,即

Layer 1:                                                                Layer 2:

Z[1] = W[1]·X + b[1]                                            Z[2] = W[2]·A[1] + b[2]
A[1] = σ(Z[1])                                                      A[2] = σ(Z[2])

X其实就是A[0],所以不难看出:

Layer i:
Z[i] = W[i]·A[i-1] + b[i]
A[i] = σ(Z[i])

(注:σ是sigmoid函数)

因此不管我们神经网络有几层,都是将上面过程的重复

系数w的定义:

如下图:这里的w243指的是第二层的第四个神经元到第三层的第二个神经元

偏置b的定义:

如下图:b23表示第二层的第三个神经元,a13表示第三层的第一个神经元

3.深度神经网络前向传播算法的原理

核心:利用上一层的输入计算下一层的输出

以上是代数法,其实一个一个表示输出很复杂,所以就有了简化版的写法,就是矩阵法。

假设第l−1层共有m个神经元,而第l层共有n个神经元,则第l层的线性系数w组成了一个n×m的矩阵Wl,第l层的偏倚b组成了一个 n×1 的向量 bl ,第l-1层的输出 a 组成了一个 m×1 的向量 a(l−1),第l层的未激活前线性输出z组成了一个 n×1 的向量 zl ,第l层的输出 a 组成了一个 n×1 的向量 al 。

4.深度神经网络的前向传播算法

利用若干个权重系数矩阵w,偏置向量b来和输入值向量x,进行一系列的线性运算和激活运算,从输入层开始,一层一层向后计算,运算到输出层得到输出结果

5.深度神经网络反向传播算法要解决的问题

假设有m个训练样本 {(x1,y1),(x2,y2),...,(xm,ym)} ,xi为输入向量,其特征维度是n_in;y为输出向量,其特征向量为n_out。用m个样本训练出一个模型。当有一个新的测试样本(Xtest,Y?)的时候,预测Ytest的输出。

我们使用深度神经网络模型,使输入层有n_in个神经元,输出层有n_out个神经元,再加上含有若干个神经元的一些隐藏层。现在的目标就是要找到所有隐藏层和输出层对应的线性系数矩阵w和偏置向量b,让所有训练样本输入计算出的结果(输出)尽可能的接近或等于样本的输出。通俗来讲就是你的训练集已经放进了一个完美的标注Ym,神经网络在训练的时候会也会训练出一个标准,用神经网络那个标准与Ym相比对,会产生一定的差距。损失函数就是Ym结果与神经网络训练出的模型具体差多少的定量表达。一般损失函数比较两个模型差距多少的三种思路是:最小二乘法,极大似然估计法,交叉熵法。对损失函数进行优化求最小化的极值,对应的一系列w和b即为最终的合适的参数。而这个损失函数的优化极值求解过程最常见的一般是通过梯度下降法来步步迭代。

6.深度神经网络反向传播算法的基本思路

在进行反向传播算法前,我们要选择一个损失函数,来度量训练样本计算出的输出与真实训练样本输出的损失。深度神经网络可以选择的损失函数很多,要选择一个损失函数来用梯度下降法迭代修改每一步的w和b。具体的思路很复杂 ,我暂时还不能很好的理解,请读者见谅!

7.深度神经网络反向传播算法过程

输入:总层数L,各隐藏层与输出层的神经元个数,激活函数,损失函数,迭代步长a,最大迭代次数max与停止迭代阈值,输入的m个训练样本

输出:各隐藏层与输出层的线性关系系数矩阵w和偏置向量b

8.均方差损失函数+sigmoid激活函数的问题

在讲反向传播算法的时候,我们用均方差损失函数和sigmoid激活函数做了实际例子,但是其实这是有问题的。

看上图,如果z取值越来越大,函数曲线变得平缓,意味着导数 σ′(z) 也越来越小。而在反向传播过程中,每一层向前递推都要乘以导数 σ′(z)得到梯度变化值sigmoid这个曲线就意味着在大多数时候梯度的变化值很小,导致算法收敛速度较慢。那怎么解决这个问题呢?

9.改变损失函数和激活函数

损失函数3种:最小二乘法,极大似然估计法,交叉熵法

激活函数:sigmoid,tanX,softmax,ReLu...

根据经验,应该两两搭配换着;来试一下,哪个效果好选哪个

10.参考资料

深度神经网络(DNN) - 知乎 (zhihu.com)

深度神经网络DNN的理解相关推荐

  1. 理解深度神经网络——DNN(Deep Neural Networks)

    深度神经网络--DNN 是深度学习的基础. 要理解DNN最好先搞清楚它的模型.本篇博文主要对DNN的模型与前向传播算法做一个易于理解的总结. 1.从感知机到神经网络的理解. 感知机是这么一种模型:一个 ...

  2. 深度神经网络DNN的多GPU数据并行框架 及其在语音识别的应用

    http://www.csdn.net/article/2014-07-11/2820628-DNN 深度神经网络(Deep Neural Networks, 简称DNN)是近年来机器学习领域中的研究 ...

  3. TensorFlow2.0(四)--Keras构建深度神经网络(DNN)

    Keras构建深度神经网络(DNN) 1. 深度神经网络简介 2. Kerase搭建DNN模型 2.1 导入相应的库 2.2 数据加载与归一化 2.3 网络模型的构建 2.4 批归一化,dropout ...

  4. dnn神经网络_OpenCV3.3深度神经网络(DNN)模块

    今天,甜菇凉整理了一下电脑里面OpenCV深度神经网络(DNN)模块-应用视频教程,这个是贾志刚老师的视频,学习视觉的同学应该都知道贾志刚老师吧,他的视频很适合想要入门计算机视觉图像处理的小白学习,那 ...

  5. 讯飞输入法将深度神经网络DNN技术应用于语音识别达到业界领先水平

    10月20日,以"语见更好的我们"为主题的"讯飞输入法10周年 A.I.输入沙龙"在北京举办.记者从活动现场了解到,自2010年10月上线至今,讯飞输入法的日语 ...

  6. 多层感知器及常见激活函数-深度神经网络DNN及计算推导

    多层感知器 在之前的博客中,我们了解到,感知器(指单层感知器)具有一定的局限--无法解决异或问题,即线性不可分的问题. 将多个单层感知器进行组合,就可以得到一个多层感知器(MLP--Multi-Lay ...

  7. 贾志刚OpenCV3.3深度神经网络DNN模块应用学习笔记

    OpenCV3.3深度神经网络DNN模块应用全套视频.课程配套PPT的PDF版本和配套源码 全套例程源码.用到的模型文件.图片和视频素材整理 在线观看 实例1:读取单张PNG文件(opencv3.3环 ...

  8. 深度神经网络(DNN)正向传播与反向传播推导(通俗易懂)

    一.前言 我在之前的博客里面介绍过浅层的神经网络,现在就从浅层神经网络出发,介绍深度神经网络(DNN)的正向传播和反向传播.希望网友们看本博客之前需要对神经网络有个简单的了解,或者可以看博客初探神经网 ...

  9. 深度学习之手撕深度神经网络DNN代码(基于numpy)

    声明 1)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除. 2)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢 ...

最新文章

  1. Collections 类
  2. KaliLinuxNetHunter教程下载相关资源
  3. 企业网络推广专员浅析企业网络推广后期网站优化重点因素有哪些?
  4. 从0开始学Swift笔记整理(一)
  5. OpenCASCADE:Foundation Classes简介
  6. 推荐五款浏览Github必备的Chrome插件
  7. Python3实现红黑树[下篇]
  8. python适合开发游戏吗_用python能制作游戏吗
  9. 从内置函数看 Python 的设计思想:len(x) 是否击败 x.len(),
  10. 图像的抽线、抽丝、抽图 神马是alpha通道
  11. 普适计算机的应用领域有哪些,2017年度计算机科学各领域热点词汇
  12. win下实现Linux的tab自动补全
  13. 解决github拉项目慢的问题
  14. 用.net动态创建类的实例 (转)
  15. 基于python的数字印刷体识别_利用卷积神经网络识别印刷体中文
  16. 阿里妈妈智能诊断工程能力建设
  17. 时下热门的 AR 广告怎么做?广告创意和投放全攻略来了
  18. 中台:业务中台、数据中台、技术中台
  19. 【Pytorch】利用Pytorch+GRU实现情感分类(附源码)
  20. 基于CentOS系统的Crowd、jira和confluence的安装破解

热门文章

  1. 从滴滴的仇广宇到FB的王美宏,快手的国际化究竟野心有多大?
  2. JPG图片压缩成PNG图片怎么压缩,压缩的方法
  3. 音视频开发 视频编解码理论知识
  4. [Windows] IDM下载(已激活)
  5. 利用Strutss02-045漏洞快速渗透韩国某服务器
  6. Spring5 框架概述 、IOC 容器
  7. 最新织梦CMS程序 小黑屋QQ技术导航新增手机版源码分享
  8. ds6k5b计算机联锁设备论文中期报告,DS6K5B计算机联锁设备(阅读).doc
  9. git系列------如何升级fw(测试专用)
  10. QT布局以及使用QSS