(DNN)深度神经网络

 

简介

DNN是指深度神经网络。与RNN循环神经网络、CNN卷积神经网络的区别就是DNN特指全连接的神经元结构,并不包含卷积单元或是时间上的关联。

神经网络简史

神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。但是,Rosenblatt的单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”操作)。

随着数学的发展,这个缺点直到上世纪八十年代才被Rumelhart、Williams、Hinton、LeCun等人(反正就是一票大牛)发明的多层感知机(multilayer perceptron)克服。多层感知机,顾名思义,就是有多个隐含层的感知机。

图1 上下层神经元全部相连的神经网络——多层感知机

多层感知机可以摆脱早期离散传输函数的束缚,使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法。对,这货就是我们现在所说的神经网络NN。多层感知机解决了之前无法模拟异或逻辑的缺陷,同时更多的层数也让网络更能够刻画现实世界中的复杂情形。多层感知机给我们带来的启示是,神经网络的层数直接决定了它对现实的刻画能力——利用每层更少的神经元拟合更加复杂的函数

即便大牛们早就预料到神经网络需要变得更深,但是有一个梦魇总是萦绕左右。随着神经网络层数的加深,优化函数越来越容易陷入局部最优解,并且这个“陷阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还不如较浅层网络。同时,另一个不可忽略的问题是随着网络层数增加,“梯度消失”现象更加严重。具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。

DNN的出现

2006年,Hinton利用预训练方法缓解了局部最优解问题,将隐含层推动到了7层[2],神经网络真正意义上有了“深度”,由此揭开了深度学习的热潮。这里的“深度”并没有固定的定义——在语音识别中4层网络就能够被认为是“较深的”,而在图像识别中20层以上的网络屡见不鲜。为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。单从结构上来说,全连接的DNN和图1的多层感知机是没有任何区别的。

DNN使用时的一些问题

如图1所示,我们看到全连接DNN的结构里下层神经元和所有上层神经元都能够形成连接,带来的潜在问题是参数数量的膨胀。假设输入的是一幅像素为1K*1K的图像,隐含层有1M个节点,光这一层就有10^12个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。另外,图像中有固有的局部模式(比如轮廓、边界,人的眼睛、鼻子、嘴等)可以利用,显然应该将图像处理中的概念和神经网络技术相结合。

参考链接:http://www.zhihu.com/question/34681168/answer/84061846

深度学习之(DNN)深度神经网络相关推荐

  1. 【机器学习算法】神经网络与深度学习-7 DNN深度学习算法模型出现学习效果不好的情况,如何补救,对策如下,建议收藏。

    目录 深度学习效果不好的对策 训练数据效果不好的情况,采用什么对策 方法1:proper loss 方法2:Mini-Batch 方法3:采用new activation function 方法4:A ...

  2. 【转载】Hinton“深度学习之父”和“神经网络先驱”,新论文Capsule

    Hinton"深度学习之父"和"神经网络先驱",新论文Capsule将推翻自己积累了30年的学术成果时 Hinton"深度学习之父"和&qu ...

  3. Hinton“深度学习之父”和“神经网络先驱”,新论文Capsule将推翻自己积累了30年的学术成果时...

    Hinton"深度学习之父"和"神经网络先驱",新论文Capsule将推翻自己积累了30年的学术成果时 在论文中,Capsule被Hinton大神定义为这样一组 ...

  4. 普通视频转高清:10个基于深度学习的超分辨率神经网络

    原文:http://www.tinymind.cn/articles/1176 在 AlphaGo 对弈李世石.柯洁之后,更多行业开始尝试通过机器学习优化现有技术方案.其实对于实时音视频来讲,对机器学 ...

  5. 【深度学习】基于深度神经网络进行权重剪枝的算法(二)

    [深度学习]基于深度神经网络进行权重剪枝的算法(二) 文章目录 1 摘要 2 介绍 3 OBD 4 一个例子 1 摘要 通过从网络中删除不重要的权重,可以有更好的泛化能力.需求更少的训练样本.更少的学 ...

  6. 【深度学习】基于深度神经网络进行权重剪枝的算法(一)

    [深度学习]基于深度神经网络进行权重剪枝的算法(一) 1 pruning 2 代码例子 3 tensorflow2 keras 权重剪裁(tensorflow-model-optimization)3 ...

  7. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-04-基于Python的LeNet之MLP

    原文地址可以查看更多信息 本文主要参考于:Multilayer Perceptron  python源代码(github下载 CSDN免费下载) 本文主要介绍含有单隐层的MLP的建模及实现.建议在阅读 ...

  8. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR

    原地址可以查看更多信息 本文主要参考于:Classifying MNIST digits using Logistic Regression  python源代码(GitHub下载 CSDN免费下载) ...

  9. 计算机视觉与深度学习 | 基于MATLAB 深度学习工具实现简单的数字分类问题(卷积神经网络)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 %% Time:2019.3.7 ...

  10. 深度学习-Tensorflow2.2-卷积神经网络{3}-卷积神经网络CNN基础-11

    CNN 简介 实现对图像的高准确率识别离不开一种叫做卷积神经网络的深度学习 技术. 卷积神经网络主要应用于计算机视觉相关任务,但它能处理的任务并 不局限于图像,其实语音识别也是可以使用卷积神经网络. ...

最新文章

  1. php 反序列化工具 phpggc 简介
  2. 【学习笔记】SAP FI 业务范围的概念
  3. shell脚本的两种执行方式区别举例
  4. 关于mingw编译Qt时无法编译opengl es2(ANGLE)版本的问题
  5. SAP CRM Fiori 应用的 offline 离线支持开发笔记
  6. Npgsql 6.0.2 发布,赶紧升级!!!
  7. Aho-Corasick automaton 模板
  8. linux升级python
  9. .NET生成常用16、32位MD5加密的两种方法
  10. JVM 字节码 对照表
  11. Yam旗下Degenerative Finance已上线uSTONKS和uGAS奖励计划
  12. 系统架构师-基础到企业应用架构系列之--开卷有益
  13. C++之嵌套内部类用法
  14. Premiere 添加字幕
  15. Linux的PCI驱动介绍(入门)
  16. 在线分析仪器(一)概述
  17. 【总结】从0到1的项目经历
  18. 计算机、通信方向学习考证经验分享
  19. 网易云信消息抄送php,消息功能-服务端API文档-IM即时通讯-网易云信开发文档
  20. linux 命令:grep、egrep、ngrep、kill、pkill、killall

热门文章

  1. ZYNQ开发系列——双串口打印以及串口波特率设置
  2. 嵌入式硬件(一)概述
  3. 亲测centos下mysql安装,不行锤我
  4. 网络安全系统教程+渗透测试+学习路线(自学笔记)
  5. Linux启动时间优化-内核和用户空间启动优化实践
  6. python生成等值线_在python中生成X,Y数据的等值线图
  7. 随机变量的定义分类和各种主要概率密度分布介绍
  8. 用Process启动和停止本地系统进程(打开关闭Excel,IE)
  9. 【动态规划】多重背包问题
  10. 思科链路聚合Port