深度神经网络

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

简介

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

深度神经网络是一种判别模型,可以使用反向传播算法进行训练。权重更新可以使用下式进行随机梯度下降法求解:

其中,𝜂为学习率,C为代价函数。这一函数的选择与学习的类型(例如监督学习、无监督学习、增强学习)以及激活函数相关。

DNN目前是许多人工智能应用的基础。由于DNN在语音识别和图像识别上的突破性应用,使用DNN的应用量有了爆炸性的增长。这些DNN被部署到了从自动驾驶汽车、癌症检测到复杂游戏等各种应用中。在这许多领域中,DNN能够超越人类的准确率。而DNN的出众表现源于它能使用统计学习方法从原始感官数据中提取高层特征,在大量的数据中获得输入空间的有效表征。这与之前使用手动提取特征或专家设计规则的方法不同。

然而DNN获得出众准确率的代价是高计算复杂性成本。虽然通用计算引擎(尤其是GPU),已经成为DNN处理的砥柱,但提供对DNN计算专属的加速方法也越来越热门。

根据应用情况不同,深度神经网络的形态和大小也各异。流行的形态和大小正快速演化以提升模型准确性和效率。所有深度神经网络的输入是一套表征网络将加以分析处理的信息值。这些值可以是一张图片的像素,或者一段音频的样本振幅或者某系统或者游戏状态的数字化表示。

处理输入的网络有两种主要形式:前馈以及循环。前馈网络中,所有计算都是在前一层输出基础上进行的一系列运作。最终一组运行就是网络的输出。在这类深度神经网络中,网络并无记忆,输出也总是与之前网络输入顺序无关。相反,循环网络(LSTM是一个很受欢迎的变种)是有内在记忆的,允许长期依存关系影响输出。在这些网络中,一些中间运算的状态值会被存储于网络中,也被用作与处理后一输入有关的其他运算的输入。

深度神经网络通常都是前馈神经网络,但也有语言建模等方面的研究将其拓展到递归神经网络。卷积深度神经网络(Convolutional Neural Networks, CNN)在计算机视觉领域取得了成功的应用。此后,卷积神经网络也作为听觉模型被使用在自动语音识别领域,较以往的方法获得了更优的结果。

[描述来源:维基百科;URL:https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0]

[描述来源:机器之心;URL:https://www.jiqizhixin.com/articles/2017-03-30-4]

2. 发展历史

描述

开发历史:

  • 1940 年代 - 神经网络被提出
  • 1960 年代 - 深度神经网络被提出
  • 1989 年 - 识别数字的神经网(LeNet)出现
  • 1990 年代 - 浅层神经网硬件出现(Intel ETANN)
  • 2011 年 - DNN 语音识别取得突破性进展(Microsoft)
  • 2012 年 - 用于视觉的 DNN 开始替代人工方法(AlexNet)
  • 2013年 - 提出NIN,结构上比AlexNet运用更少参数,其设计思路为早期的GoogLeNet Inception所借鉴
  • 2014年 - VGGNet是AlexNet在深度上延伸所提出的网络结构
  • 2016年 - Resnet的提出使得VGG式的网络结构不再受到推崇
  • 2017年 - GoogLeNet Inception演进到v4,结合了residual connection后极大地提升了性能

主要事件

年份事件相关论文/Reference
1989用于手写数字识别的LeNet网络被提出,并且被广泛使用在ATM识别支票手写数字上。Le Cun, Y., Jackel, L. D., Boser, B., Denker, J. S., Graf, H. P., Guyon, I., ... & Hubbard, W. (1989). Handwritten digit recognition: Applications of neural network chips and automatic learning. IEEE Communications Magazine, 27(11), 41-46.
2011Microsoft将DNN用于语音识别Deng, L., & Yu, D. (2011). Deep convex net: A scalable architecture for speech pattern classification. In Twelfth Annual Conference of the International Speech Communication Association.
2012提出用于图像识别的AlexNetKrizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
2013提出了NIN,可以大大减小网络的参数Lin, M., Chen, Q., & Yan, S. (2013). Network in network. arXiv preprint arXiv:1312.4400.
2014Diannao加速器用于深度神经网络Chen, T., Du, Z., Sun, N., Wang, J., Wu, C., Chen, Y., & Temam, O. (2014). Diannao: A small-footprint high-throughput accelerator for ubiquitous machine-learning. ACM Sigplan Notices, 49(4), 269-284.
2014提出了深度延伸的VGG网络结构Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.
2016提出了Resnet,解决DNN隐藏层过多时的退化问题He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
2017结合resnet,得到了更深的优化inception-v4模型Szegedy, C., Ioffe, S., Vanhoucke, V., & Alemi, A. A. (2017, February). Inception-v4, inception-resnet and the impact of residual connections on learning. In AAAI (Vol. 4, p. 12).

3. 发展分析

瓶颈

与其他神经网络模型类似,如果仅仅是简单地训练,深度神经网络可能会存在很多问题。常见的两类问题是过拟合和过长的运算时间。

深度神经网络很容易产生过拟合现象,因为增加的抽象层使得模型能够对训练数据中较为罕见的依赖关系进行建模。对此,权重递减(l2正规化)或者稀疏(l1-正规化)等方法可以用在训练过程中以减小过拟合现象。另一种较晚用于深度神经网络训练的正规化方法是丢弃法("dropout" regularization),即在训练中随机丢弃一部分隐层单元来避免对较为罕见的依赖进行建模。

反向传播算法和梯度下降法由于其实现简单,与其他方法相比能够收敛到更好的局部最优值而成为神经网络训练的通行方法。但是,这些方法的计算代价很高,尤其是在训练深度神经网络时,因为深度神经网络的规模(即层数和每层的节点数)、学习率、初始权重等众多参数都需要考虑。扫描所有参数由于时间代价的原因并不可行,因而小批量训练(mini-batching),即将多个训练样本组合进行训练而不是每次只使用一个样本进行训练,被用于加速模型训练。而最显著的速度提升来自GPU,因为矩阵和向量计算非常适合使用GPU实现。但使用大规模集群进行深度神经网络训练仍然存在困难,因而深度神经网络在训练并行化方面仍有提升的空间。

未来发展方向

从多媒体到医疗,DNN 对很多应用大有裨益。DNN 正在发挥影响的领域,并有望在未来发挥作用的新兴领域主要有以下:

  • 图像和视频
  • 语音和语言
  • 医疗
  • 游戏
  • 机器人

Contributor: Yueqin Li

相关人物
简介
相关人物