myAltera帐号登录

忘记您的用户名或者密码?

还没有帐号?

推测机器学习的未来

深度学习网络迄今为止在于人类的较量中已经取得了多场胜利。它们在静态图像分类方面已经超过人类,至少略胜一筹。它们已经在国际象棋中击败了世界冠军。它们已经成为解决从客户服务到医学诊断等大数据分析难题的首选工具。它们已经证明,经过训练,它们足可以小巧到塞进一部智能手机。那么,我们是否已经到达了人工智能 (AI) 历史的尽头?还是这只是更广阔的海洋中的一个小小的浪花?

目前令人眼花缭乱的各种过剩的人工智能方法可能给了我们一种答案。诚然,一种成功的技术总有替代方案,因为每一个博士生必须找到独特的内容来写,而且必须规避每一个专利。但是目前许多深度学习网络替代方案已经逐渐摆脱了 AlexNet 等传统的静态网络面临的实际问题。许多方案正在解决实际问题,并投入到生产系统中。如果您想要设计一个采用机器智能的系统,要三思而后行(图 1)。

图 1.即便是机器人也可能对机器学习的方向感到困惑。

范围广阔

在我们研究某个具体的学习系统之前,让我们简单了解一下理论。对于工程师,深度学习网络可能就像是我们对自己想象中的神经元的数字仿真。但对于数学家而言,这个网络和有着几个世纪历史的典型优化问题相比并没有什么两样,只不过是换成了图形表现方式而异。

想象一个图像分类 100% 准确的网络。实际上非常简单。只需建立一个大型查询表,为输入图像中的每个可能的像素值组合分配一个位置。要训练网络,您需要做的就是在每个位置添加描述特定图像的标签。对于低分辨率的光学字符识别这样非常有限的任务,系统采用的就是这种方式。但是对于高清相机图像,这个表将异常庞大,浪费资源。

所以这还是一个数学家的问题。深度学习网络用于通过添加更多隐藏层来缩小数据表大小并减少连接数。添加多少层以及每一层的位置如何连接到上一层是艺术和观点问题,没人知道如何优化。因此每个人都从自己或自己的团队熟知、或正在使用的平台中采用的拓扑结构着手。但为每个节点的每个连接分配的权重可以采用数学方法进行局部优化,通过网络返回想要的答案,并应用梯度下降等算法查找能够最有效减少网络输出错误的权重。

这只是用于最有效减少估算错误的优化技术大家族中的一个流程。此外,还有像线性回归这样熟悉的技术,也有像多重朴素贝叶斯学习法这样深奥的技术。许多技术有不同的算法、要求和能力。但这些方法本质上都是将大量可能的输入数据映射为更简单的一系列输出数据,最大限度地减少计算图像中的连接数,并尽量减少结果中的错误。您选择哪一种算法可能取决于您的训练和周围的环境,因为它取决于该算法对解决特定问题的适用性。

具体问题

在这个巨大的空间中,近期的大部分重要事件都聚焦在“深度学习网络”这个小家族中。其中大多数都关注一个任务(静态数据分类)和深度学习的一个子集(卷积神经网络)(CNN,图 2)。但 CNN 的限制导致从人们现有实践迁出,转向新实施的 CNN、其它类型的网络和其它类型的分析工具。这种迁移会扩展技术的范围,系统架构师应该注意这一点,同时它还会提高将设计绑定到错误硬件的风险。

图 2.卷积网络由多种功能的固定层组成,从简单的卷积内核开始。

例如,在探索传统 CNN 内部的数学运算时就需要进行此类迁移。当网络在软件中实施时,通常将连接的权重显示为浮点型数字。这一实践要求在图形处理单元 (GPU) 和 ASIC 等硬件加速器上安装实施。但大量的常规化处理在深层网络的隐藏层中执行。有人可能会犹豫是否真的需要为只是进行累积和基准化为 1 的权重使用 32 位浮点。

实际上,近期工作表明,使用三值(-1、0 和 +1)或二进制加权的网络基本上可以执行与采用浮点加权相同的拓扑结构。这一发现可以省略许多乘法和加法(如果硬件的灵活性足以充分利用这一优势)。

另一个例子涉及网络的拓扑结构。在训练之前,深度学习网络的拓扑结构(一层的节点如何连接到下一层的节点)始于研究者根据经验进行的假设。对于研究人员,连接数量不足所带来的风险要比连接数量过多带来的不便严重得多。

当您训练网路时,连接保持固定,但一些权值归零,另一些权值被附近连接或处于下游的其它权值诠释为无关。因此,训练不会消除连接,但会使其中一些连接无法影响网络输出。随着训练的进展,越来越多的连接变得不相关,直到实际生效的网络变得十分稀少。据研究显示,通过这些稀疏网络进行计算推断可以利用稀疏矩阵计算中的相同技术。这可能与您在单纯假设每一个权值都必须在训练时经过优化、并在推断时应用时所使用的方法截然不同。

记忆至关重要

我们已经讨论了深度学习网络的计算算法调整。但有一些问题需要组合使用不同类型的网络。静态网络需要在分析时先假定输入数据保持静止。它们假设下一个输入数据与当前当前输入数据无关。这在为照片堆栈加标签时非常有用。但如果任务需要从演讲录音中提取含义呢?如果我们在处理用于决定汽车导航的视频流,又会怎样呢?

在这些情况下,对一帧数据的解释在很大程度上取决于此前的内容。意料之中的是,研究者报告通过有记忆的神经网络获得的结果最佳。

有记忆的神经网络的最简单形式被称为递归神经网络(RNN, 图 3)。基本上,这就是一个简单的网络(像一个隐藏层一样简单),可以将一些输出数据反馈给输入数据。RNN 根据上一帧的推断(或者其隐藏层结果)判断有关当前帧输入数据的推断条件。由于我们期望现实世界能通过一定程度的持久性和因果关系获得优势,这是解释真实世界数据流的一个非常合理的方法。

图 3.递归神经网络往往只是简单的神经网络,可以通过向其输入数据返回一些中间状态或输出数据

但有时候您想要更长时间的记忆。对于视频,可用于改善当前帧推断结果的所有信息可能都包含在前一帧或前两帧中。但在会话或书面文本中,一个词的意义可能受限于几句话之前的一个词组,或受限于带有罗马数字的页面中的书籍简介。

鉴于这种情况,研究人员开发了长短期记忆 (LSTM) 网络。LSTM 网络是 RNN 的子集,它具有更复杂的内部结构,可以允许选定的数据和推论循环更长时间。自然语言处理似乎是一款有前途的应用程序,而为自动驾驶传感器融合添加缓慢发展的背景环境可能也是。

RNN 有趣的一点是,因为它们是传统神经网络的一种形式,原则上可以通过期望输出数据的反向传播和最优权值梯度下降计算进行训练。但存在一些问题。为了反馈循环计数,一些研究人员将 RNN 展开为一系列互联的传统网络,很像软件优化中的循环展开。这支持将仍然需要大量的计算的任务并行化。由于您正在训练网络对序列而不是对静态事件做出响应,所以训练数据必须是序列。

因此,训练 RNN 并不容易。训练可能非常耗时。网络权值可能无法融合。经过训练的网络可能不稳定。一些研究人员使用优化技术代替简单的梯度下降,例如使用权值影响误差信号的方式的高阶导数,或采用扩展卡尔曼滤波器估算适当的权重。这些技术都没有保证,文献表明,由拥有长期经验的人悉心指导时,RNN 训练的效果最好。这一观察结果对于机器学习的长期目标可能并不利好,如无监督或持续学习模式。

有记忆的 RNN

一些应用程序能很好地响应不同的方法。RNN 可以保留一些从以前的周期选择的数据时,还有其它类型的网络可以访问大量 RAM 或内容可寻址存储器。
我们可以尝试人类类比。大多数人有选择性记忆和相当抽象的记忆。如果要求我们回忆一个场景或事件的具体细节,我们通常做不好。但是有极少数人记得细节,细致到房间里每一个物品的排列或一个很大的数字的随机序列。这种能力让这些人能解决我们大多数人不能解决的问题,尽管他们可能没有高于其他人的推理能力或阅读理解能力。同样,能够编写或读取大内存块或文件系统的网络可以准确地记录大型数据结构,并利用它们作为附加输入。

这些网络可能有一个混合的、甚至非常不像 CNN 的网络结构。例如,隐藏层可以在内存上执行明确的读写操作。这实际上使网络成为一个设计大型状态机(甚至一个图灵机)的复杂途径:通用,但不一定高效或易于理解。再次提醒,大型可变数据结构的存在使训练可能一片混乱。

神经形态

究其根源,我们到目前为止观察的神经网络真的非常简单:从几个层到许多层,层与层之间的连接相对较少(至少比全互连网络少),所有的信号按照从输入到输出的相同方向流动,而且一层的每个节点具有相同的功能。只有连接上的权值在训练中会得到调整。RNN 比较复杂的只是支持向后、面向输入以及向前连接。

这些简单的结构不太像生理学家在哺乳动物的大脑中找到的神经元。在哺乳动物大脑皮层中,每个神经元通常有大约一万个连接。连接方案似乎随着时间的推移或随着学习改变。神经元可以有许多不同的功能,已经观察到几十种神经元细胞。信号发送方式是通过脉冲编码而不是电压电平。

当前,研究人员正在尝试摆脱神经网络的简化功能图,更靠近生物现实。这些神经网络在生物惊人的复杂性和软件仿真和微电路的局限性之间取得了平衡。因此,它们提供了丰富的互连,但仍然远远小于每个神经元一万轴突。它们提供了许多不同的神经元行为模型,一定程度的互连路由和官能可编程功能,以及权重。可以在软件中对其进行模拟,但如果不借助硬件加速,性能和大小通常会限制可探索的网络的复杂性。硬件实施的范围包括从数字 ASIC 和 FPGA 到混合信号和纯模拟定制芯片。

许多神经网络不仅具有比传统深度学习网络更大的连通性,也有更高的互连多样性:连接不仅可以前进到下一层,还可以停留在一层或返回前几层。神经网络具有纯粹的形式,完全摒弃了层的概念,成为了一个接近任意连接(至少在局部邻域)的三维神经元海洋。

神经网络在图像和语音识别方面显示了类似于 AlexNet 等传统 CNN 的能力。但 IBM 声称其在 TrueNorth 神经形态 ASIC 上实施的每瓦特帧速率达到了在 NVIDIA Tesla P4 上实施 AlexNet 的几倍。

鉴于更丰富的互连,神经网络中反馈和多种神经元功能的可能性,训练的艺术意义可能大于对 RNN 的意义。但是这个想法最大的希望可能在于训练。一些迹象表明,这些网络可以远远超越常用反向传播中使用的监督学习模型。目前典型的监督训练是一个单独的阶段,在此期间教练必须为每个训练输入提供正确的响应。训练往往是一个令人筋疲力尽的过程,必须在网络投入使用之前完成,训练的质量在很大程度上限制了网络的准确性。

此外,实际应用中还有许多其它类型的训练。训练师可以只给提示,不给答案:只有当网络倾向于理想的输出时给予加强,而不是为每一个输入帧反向传播正确答案。网络也可以通过优化一些定义有用行为的统计函数自行学习。例如,这种无监督学习可能是一个需要接收机器人手臂的现场视频并向手臂电机输出命令的网络。在开始训练网络时会向点击发送随机命令,并观察间歇性结果。但是,当它学会在其输出与观察到的结果之间建立关联,就可以融合一个近乎最优的控制算法。

无监督学习为人类操作员提供了免于执行非常复杂的监督训练任务的承诺:组合一套训练输入信息(图像识别往往需要成千上万),为每个输入信息分配正确的标签,然后将其逐一送入网络。但无监督学习还提出了其它的承诺:网络可以学习没有察觉和无法理解的算法。它可能发现人类尚未使用的分类方案。网络具有充分的保障,可以在部署后不断学习,不断改进和适应新的输入。这是机器学习的黄金目标。

过多选择

从人类可以借助图纸执行的简单统计分析、类似 CNN 的人工神经网络、拥有内部或外部存储器的网络到可能难以理解的神经网络系统等等,期待解决问题的设计师面对着大量可选择的技术。但用于挑选适当技术的标准却很少,除了设计师在研究生院所做的选择。而且,人们常常很难回避这样一个疑虑:网络设计和训练的结果可能不会比众所周知的统计分析算法更好。

遗憾的是,似乎有越来越多的证据表明,针对一个特定问题,所有的技术将不会给予或多或少相等的结果。它们可能针对特定水平的训练有不同的精度,针对特定速度率有不同的能源消耗,如果必须加速则有差异很大的硬件要求,以及截然不同的训练需求。重要的是,在开始时要确保您不是试图解决一个有已知固定解决方案的问题。尤其如果实施需要硬件加速,此时的重点是要找到一种方法,以便能够在尽可能长的时间内保留尽可能多的算法灵活性,并尽可能借助设计团队或其合作伙伴的丰富经验。比赛还没有输赢。这才刚刚开始。


CATEGORIES : 全部/ AUTHOR : Ron Wilson

Write a Reply or Comment

Your email address will not be published.