神经网络从神经元涉及对输入值求加权和进行计算这一概念而获得灵感。这些加权和对应于突触完成值的缩放以及其和神经元值间的组合。此外,因为计算与神经元级联相关联,并且其为简单线性代数的运算,所以神经元不会仅仅输出加权和。相反,在神经元中有函数执行组合输入的运算,而这种函数应该是非线性运算。在非线性运算的过程中,神经元只有在输入超过一定阀值时才生成输出。因此通过类比,神经网络将非线性函数运用到输入值的加权和中。我们等一下会描述一些非线性函数。 图 2:简单的神经网络例子。(a) 神经元和突触,直播,(b) 为每一层计算加权和,(c) 前向和反向(循环)网络,(d) 全连接与稀疏 (a)中展示了计算神经网络的示意图。图的前端是输入层,该层会接受输入数据值。这些数据值前向传播到神经网络中间层的神经元中,中间层也常称为神经网络的隐藏层。一个或多个隐藏层的加权和最终前向传播到输出层,该输出层会最终向用户呈现神经网络的输出结果。为了将脑启发的术语和神经网络相匹配,神经元的输出通常称为激活(activation),并且突触如(a)所示通常称为权重(weight)。 在上方表达式中,W_ij 代表着权重、x_i 为输入激活、y_i 是输出激活,而 f(·) 就代表着在 III-2 中描述的非线性激活函数。 在神经网络的领域内,有一门称为深度学习的研究。普通神经网络基本上层级不会很多,而在深度学习里,神经网络的层级数量十分巨大,现如今基本上神经网络可以达到 5 到 1000 多层。 C. 推理 vs 训练 这一节中,如图 4 所示,我们将把图像分类用作训练 DNN 的一个强劲的实例。评估 DNN 时,我们输入一个图像,DNN 为每一个对象分类输出分值向量;分值最高的分类将成为图像中最有可能的对象分类。训练 DNN 的总体目标是决定如何设置权重以最大化正确分类(来自标注的训练数据)的分值并最小化其他不正确分类的分值。理想的正确分值与 DNN 基于其当前权重计算的分值之间的差被称为损失值(L)。因此训练 DNN 的目标是找到一组权重以最小化大型数据集中的平均损失值。 图 4:图像分类任务 D. 开发历史 1940 年代 - 神经网络被提出 1960 年代 - 深度神经网络被提出 1989 年 - 识别数字的神经网(LeNet)出现 1990 年代 - 浅层神经网硬件出现(Intel ETANN) 2011 年 - DNN 语音识别取得突破性进展(Microsoft) 2012 年 - 用于视觉的 DNN 开始替代人工放大(AlexNet) 2014 年+ - DNN 加速器研究兴起(Neuflow、DianNao 等等) 图 5 的表柱是这些年来 ImageNet 竞赛中每届冠军的表现。你可以看到最初算法精确度的错误率在 25% 或更多。2012 年,多伦多大学的 AlexNet 团队通过 GPU 来提升其计算能力并采用深度神经网络方法,把错误率降低了近 10% [3]。他们的成功带来了深度学习风格的算法的井喷,以及图像识别技术的持续进步。 图 5:ImageNet 竞赛 [10] 结果 E. DNN 的应用 从多媒体到医疗,DNN 对很多应用大有裨益。在这一节中,我们将展示 DNN 正在发挥影响的领域,并凸显 DNN 有望在未来发挥作用的新兴领域。 图像和视频 语音和语言 医疗 游戏 机器人 F. 嵌入 vs 云 (责任编辑:本港台直播) |