Page 35 - 《软件学报》2020年第9期
P. 35
2656 Journal of Software 软件学报 Vol.31, No.9, September 2020
难点以及分析的方法进行系统且深入阐述的文献资料.针对上述问题,本综述介绍了深度学习推理过程应用于
实时嵌入式系统所面临的关键设计问题,并比较了现有主要解决方案的优缺点.针对深层神经网络的轻量化设
计、GPU 时间分析与任务调度、CPU+GPU SoC 异构平台的资源管理、深层神经网络与网络加速器的协同设
计等多个方面,对现有的研究工作进行了分析和总结,旨在为相关领域的研究者提供参考.
1 背景知识
本节简要介绍深度学习的发展史、基本概念、深层神经网络 DNN、DNN 运行框架以及运行 DNN 实时任
务的嵌入式硬件平台,包括嵌入式 GPU 和网络加速器.
1.1 深度学习简史
众所周知,深度学习已经成为了当下最流行的技术词汇,似乎是一项才刚刚发明的新技术.但是事实上,有
关深度学习的研究历史(见表 1)可以追溯到 1943 年由 McCulloch 教授和 Pitts 教授提出的 McCulloch-Pitts
Neuron 单神经元计算结构 [22] .该结构会通过 N 个权重与 N 个输入来计算加权和作为输出,是现代神经元结构的
雏形.1958 年,Rosenblatt 教授提出的感知器(perceptron)模型 [23] 是首个可以根据样本数据来学习特征权重的模
型,对现代机器学习的发展产生了巨大影响.1969 年,Minsky 教授在文献[24]中证明:感知器模型只能解决线性
可分问题,无法解决异或问题,并且给出了“基于感知器的研究注定将失败”的结论.这导致了神经网络的第一次
重大低潮期,在之后的 10 多年内,神经网络的研究几乎处于停滞状态.
Table 1 Scientific milestones and big news on deep learning history [3,25]
表 1 深度学习发展史上的重大科学及新闻事件 [3,25]
时间 阶段 事件
1943 单神经元计算结构
1958 第 1 阶段 感知器模型
1969 神经网络第一次重大低潮
80 年代末 第 2 阶段 分布式知识表达与反向传播算法
90 年代初 CNN,RNN,LSTM 得到很好发展
2012 AlexNet 获得 ILSVRC 冠军
2013 深度学习被 MIT 评为“年度十大科技突破之一”
2015 第 3 阶段 特斯拉将自动驾驶功能投入商用
2016 AlphaGo 击败世界围棋冠军李世石
2017 AlphaGo 击败世界排名第一的围棋高手柯洁
2019 AlphaStar 战胜《星际争霸》职业选手
这期间,人们在认知生物学领域取得了重要进展,发现了认知的两个重要机制:一个是抽象,另一个是迭代.
从原始信号,做低层抽象,逐渐向高层抽象迭代,在迭代中抽象出更高层的模式 [25] .到了 20 世纪 80 年代末,分布式
知识表达(distributed representation) [26] 和反向传播算法(back propagation) [27] 的提出,开启了神经网络研究的第
二阶段的序幕.分布式知识表达是深度学习的重要性质,基本思想是:先让每个神经元表达简单的特征,再把神
经元组合起来用于描述复杂的特征.相比本地式知识表达(即一个特征对应一个神经元),分布式表达描述相同
大小的特征空间需要的神经数量少很多,极大节约了存储空间.1986 年,Rumelhart, Hinton 和 Williams 这 3 位教
授提出的反向传播算法则大幅降低了训练神经网络所需要的时间.时至今日,反向传播算法仍是训练深层神经
网络的主要方法.同期,计算机的飞速发展也促进了卷积神经网络(convolutional neural network,简称 CNN)、递
归神经网络(recurrent neural network,简称 RNN)、长短期记忆模型(long short-term memory,简称 LSTM)等模型
的发展.
到了 2010 年左右,计算机性能的极大提升和大数据互联网+的发展,使得曾经阻碍神经网络发展的计算力
和训练样本量问题得到了解决,从此深度学习的发展一日千里.2012 年,ImageNet 举办的 ILSVRC 图像分类竞赛
中,由 Krizhevsky 教授实现的深度学习系统 AlexNet [28] 赢得了冠军.此后,深度学习算法的性能在图像识别领域
已经完全碾压了传统机器学习算法 [29] (如支持向量机 SVM 等),并且在 2013 年之后的 ILSVRC 中基本就只有深