()
芯片计算能力的巨大提升及大数据的出现,使得神经网络中具有更高复杂性的「深度学习」(即深度神经网络,DNN)又一次得到人们的广泛关注。辛顿等人2006年提出了「深度信念网络」这个概念,有力推动了深度学习算法的应用。与其他传统机器学习方法相比,深度学习有着明显的优势。
图2.1为传统机器学习算法与大型DNN在图像、语音识别领域的精度比较。深度学习比传统方法更具吸引力,除了算法本身的优势,主要还是由于数据量和芯片计算能力的不断提高,这导致了近年来深度学习技术的「寒武纪大爆发」。
深度学习的实质是构建具有很多层的神经网络模型(保证模型的深度)和使用大量的训练数据,让机器去学习重要的特征,最终使分类或预测达到很高的准确性。深度学习基于感知器的模型,模仿人脑的机制和神经元的信号处理模式,可以让计算机自行分析数据,找出特征值。
图2.1传统机器学习算法与大型DNN在图像、语音识别领域的精度比较
为了加速深度学习计算,更多地开发硬件是很自然的想法。半导体制造商开发出了一些AI芯片(深度学习加速协处理器)来处理深度学习。深度学习有各种各样的模型。例如,目前谷歌数据中心普遍使用以下3种DNN。
(1)多层感知器(MultilayerPerceptron,MLP)。MLP的每个后续层是一组非线性函数,它们来自先前层所有输出(全连接)的权重和。
(2)卷积神经网络(CNN)。在CNN中,每个后续层是一组非线性函数,它们来自先前层空间附近输出子集的权重和。权重在空间上复用。
(3)循环神经网络(RecurrentNeuralNetwork,RNN)。RNN的每个后续层是权重、输出和前一状态的非线性函数的集合。最受欢迎的RNN是长短时记忆(LongShort-TermMemory,LSTM),其妙处在于能够自主决定忘记哪些状态及将哪些状态传递到下一层。权重在时间上复用。
与传统人工神经网络相比,深度学习架构的一个优点是深度学习技术可以从原始数据中学习隐藏特征。每层根据前一层的输出训练一组特征,组成特征分层结构。将前一层特征重新组合的最内层,可以识别更复杂的特征。例如,在人脸识别模型的场景中,作为像素矢量的人头像的原始图像数据被馈送到其输入层中的模型。然后,每个隐藏层可以从前一层的输出中学习更多抽象特征。例如,第一层(隐藏层)识别线条和边缘;第二层识别面部,如鼻子、眼睛等;第三层组合所有先前的特征,从而生成一个人脸图像。
DNN成功的原因之一是它能够在连续的非线性层上学习更高级别的特征表示。近年来,构建更深层网络这方面的硬件和学习技术的进展,进一步提高了分类性能。ImageNet挑战赛体现了更深层网络的趋势,该赛事在不同年度出现的最先进的方法已经从8层(AlexNet)发展到19层(VGGNet),进而发展到152层(ResNet)及101层(ResNext),如图2.2所示。然而,向更深层网络的发展极大地增加了前馈推理的时延和功耗。例如,在TitanXGPU上将VGGNet与AlexNet进行比较的实验显示,前者的运行时间和功耗增加了20倍,但误差率降低了约4%。DNN模型的规模正在呈指数级增长,基本上每年增加10倍(见图2.3)。近年出现的几个大型网络模型都是针对自然语言处理,如Megatron是一种48层并行Transformer模型,它的参数数量达83亿个,约为ResNet50的325倍。OpenAI在2020年6月发布了GPT-3,这是迄今为止训练的最大模型,具有1750亿个参数。
早期的DNN模型,如AlexNet和VGGNet,现在被认为太大型且过度参数化。后来提出的技术,在使用更深但更窄的网络结构来限制DNN大小(如GoogleNet和ResNet)的同时,追求更高的准确性。这个任务在继续进行,其关键是大幅减少计算量及降低存储成本,特别是乘积累加和权重的数量。后来又出现了卷积核(又称过滤器,Filter)分解之类的技术,在构建针对移动设备的紧凑型DNN(如SqueezeNet和MobileNet)场景中流行。这种演变导致了更多样化的DNN,其形状和大小各不相同。
图2.2DNN的层数与分类精度的关系
图2.3DNN模型的规模正在呈指数级增长
然而,现在所提出的对深度学习的改进大都是基于经验评估,仍然没有具体的理论分析基础来回答为什么深度技术优于传统神经网络。而且,关于隐藏层的数量,DNN和传统神经网络之间并没有明确的边界。通常,具有两个或更多个隐藏层,且具备最新训练算法的神经网络就可以被认为是深度学习模型。但是,只具有一个隐藏层的RNN也被归为深度学习,因为它们在隐藏层的单元上具有循环功能,这可以等效为DNN。
深度学习的优势与不足
深度学习最近在各种应用领域中取得了巨大的成功。然而,深度学习的高精度是以对计算和内存的高要求为代价的,尤其训练深度学习模型非常耗时,而且计算量大,这是因为需要在多个时间段内迭代地修改数百万个参数。高精度和高资源消耗是深度学习的特征。
深度学习技术发展到今天,人们已经在最初定义的DNN,即加很多隐藏层的神经网络基础上,开发了很多改进技术,使深度学习在资源消耗及性能方面都有了很大改进。这些改进有的是在算法上作些改动,如剪枝、压缩、二值或多值逻辑、稀疏网络等;有的是网络架构上的改动,如图神经网络(GraphNeuralNetwork,GNN?[3]?,不进行张量运算而改用图形的节点和边来计算)、胶囊网络(CapsuleNetwork)?[4]?、深度森林(DeepForest?[5]?,基于决策树方法,超参数少,显示出无须反向传播即可构建深度模型的可能性)等。
深度学习算法虽然已被大量实现为芯片并得到应用,但是很多人认为这种算法不可能一直延续下去,一定会有更好的算法来取代它。
确实,DNN是一种统计方法,本质上是不精确的,它需要大数据(即加标记的大型数据集)的支撑,而这是许多用户缺乏的。DNN也比较脆弱,并不是一种十分稳固的结构:模式匹配在数据集不完整的时候,会返回十分奇怪的结果;而在数据集损坏时,则会返回误导的结果。因此,DNN的分类精度在很大程度上取决于数据集的质量和大小。另一个主要问题是数据不平衡的情况:某个类别的数据在训练数据中可能只有很少的代表,如信用卡欺诈检测中真正的申请通常远远超过欺诈的申请,这样的不平衡就会给分类精度带来问题。
DNN模型最本质的问题是没有与生物大脑的学习模式相匹配:大脑神经元的激活过程是不是存在「反向传播」,还是一个有争议的问题。生物大脑和DNN存在明显的物理差异。因此,从这个意义上说,深度学习算法并没有真正「仿脑」,也不是真正意义上的「学习」,而只是一个数学模型。
从AI芯片的研究方向来看,有不少研究人员主要致力于如何最大限度地提高数学运算的性能,同时满足商用硬件(目前都是冯·诺依曼架构)的局限性。这样的芯片设计,已经与深度学习模型本身没有太多关系了。
监督学习与无监督学习
()
AI算法最初的应用之一是模式识别,也就是如何从采样数据中找到模式的问题,它有助于理解数据甚至产生新知识。为了实现这个目标,研究人员提出了一些学习算法来执行自动数据处理。如果算法被设计为与环境互动,在环境中执行某些操作,使一些累积「奖励」得到最大,则这种方式称为强化学习(ReinforcementLearning)。强化学习算法根据输出结果(决策)的优劣来训练自己,通过大量经验训练优化后的算法将能够给出较好的预测。然而,如果我们忽略累积奖励,仅仅考虑是否提供标签,那么学习算法可以分为3类:监督学习、无监督学习和半监督学习。
(1)监督学习是基于观察数据的有限子集(称为训练集)来学习关于数据所有可能轨迹的函数。此类训练集还与附加信息相关联以指示其目标值。学习算法定义了一个函数,该函数将训练数据映射到目标值。如果目标值的数量是有限的,则这种问题被定义为分类问题;如果目标值的数量是无限的,则此问题被定义为回归问题。目前已经有许多有监督的机器学习算法,如决策树、朴素贝叶斯、随机森林、支持向量机(SupportVectorMachine,SVM)等。神经网络是一种以生物神经系统为模型的机器学习方法,其中CNN、RNN及LSTM等都属于监督学习。
(2)无监督学习是一种用于从没有标记的数据集中进行推理的学习算法,其目标基本上是在数据中找到结构或群集。一种常见的方法是聚类技术,用于进行数据分析以从一组数据中找到隐藏的模式。自组织映射(Self-OrganizingMap,SOM)、自动编码器(Auto-Encoder,AE)、受限玻尔兹曼机(RestrictedBoltzmannMachine,RBM)等都属于无监督学习。无监督学习的一个主要挑战是如何定义两个特征或输入数据之间的相似性;另一个挑战是不同的算法可能导致不同的结果,这需要专家再来分析它们。
(3)半监督学习与监督学习具有相同的目标。如果既有一些未知的模式也有一些已知的模式,我们通常将前者称为未标记数据,后者称为标记数据。当设计者获得的标记数据很受限时,就使用半监督学习。例如,群集边界可以用未标记数据来定义,而群集则用少量标记数据来标记。强化学习就是一种半监督学习。
现在所设计并已投入应用的深度学习加速器,主要使用监督学习。图2.4为监督学习过程,包括训练和推理两个阶段:在设计阶段进行训练,在部署阶段进行推理。
图2.4监督学习过程
训练过程(又称学习过程)是基于训练数据生成模型,确定网络中权重(和偏差)的值,一般需要较长时间,所以是「离线」完成;但在有些特殊应用中也会「在线」进行。在训练过程中需要调整神经网络权重以使损失函数最小,可通过反向传播来执行训练以更新每层中的权重。矩阵乘法和卷积在反向传播中保持不变,主要区别在于它们分别对转置后的权重矩阵和旋转的卷积核执行运算。
推理过程(又称评估过程)是使用未知的、模型此前没有测试过的数据来评估模型的准确性,训练所确定的权重就可用来计算,为给定的输入进行分类或得出预测,一般「在线」进行,以达到实时需求。该模型假设训练样本的分布与推理例子的分布相同。这要求训练样本必须足以代表推理数据。推理过程中只有正向传播而没有反向传播。
这种训练和推理相当于人类大脑学习和判断的过程。通常,需要花很长时间来学习(即训练),而学会之后进行判断(即推理)的时间,只需要一刹那就行了。
请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。
相邻推荐:古风甜饼,一生一世的赏味期限 未来旅行家:跨越时空的科幻故事集 怪谈文学奖:现代都市恐怖病系列 繁华之间:名利场上的一夜沉浮 大话西方艺术史:艺术原来这么有趣 仙君他貌美如花 忘记我姓名 九秘神针:君临天下 杀死女神 有仙气:听说有神动凡心 2021 平板电脑推荐与选购:高效选品方法论 二级建造师考试全攻略:从行业政策、备考规划到注册执业 就怕小偷有文化:金融诈骗、空中抢劫与艺术品犯罪 2021 智能手机选购指南:看懂市场,做聪明的购机人 邂逅「诗和远方」:打开浪漫诗人的诗词世界 论文查重降重攻略:学术论文重复问题剖析 全世界都在砸钱养我 霍总,夫人的十个哥哥又来催离婚了 白色球鞋:他爱你的一百件小事 我家院子可以去大明