中文 英语

机器学习缺少什么

第一部分:教机器如何行动是一回事。在此之后了解可能的缺陷是另一回事。

受欢迎程度

机器学习无处不在。它被用于优化复杂的芯片,平衡数据中心内部的功率和性能,编程机器人,以及保持昂贵的电子设备更新和运行。然而,不太明显的是,一旦机器发展到超出最终规范的程度,就没有商业上可用的工具来验证、验证和调试这些系统。

人们期望这些设备将继续按照设计工作,就像手机或电脑一样,已经更新了无线软件补丁。但是机器学习是不同的。它涉及改变硬件和软件之间的交互,在某些情况下,还包括物理世界。实际上,它根据之前的交互以及软件更新修改了设备的操作规则,为更广泛的、可能意想不到的偏离规范做好了准备。

在大多数情况下,这些偏差不会被注意到。在其他方面,比如安全关键型系统,改变系统的运行方式可能会产生深远的影响。但目前还没有开发出超越用于教机器如何行为的算法的工具。当涉及到理解机器学习对系统的影响时,这是一个勇敢的新世界。

高性能ASIC原型系统的技术营销经理Achim Nohl表示:“该规范可能会捕获机器学习基础设施的需求,以及一些隐藏层和训练数据集,但它无法预测未来会发生什么。Synopsys对此.“这都是启发。它不能被证明是对是错。它涉及到监督学习和非监督学习,没有人知道如何在这个系统上签字。这一切都是为了足够好。但怎样才算够好呢?”

大多数采用机器学习的公司都将更新和调试软件的能力作为他们的安全网。但是进一步深入到系统行为和修改中,安全网就消失了。一旦机器进化或被其他机器修改,它们将如何运作,目前还没有明确的答案。

“你在强调一些不可预见的事情,这是机器学习的全部目的,”ibm的模型技术总监比尔•内弗特(Bill Neifert)表示手臂.“如果你能看到所有的可能性,你就不需要机器学习了。但验证可能是一个问题,因为你可能会走上一条自适应学习改变系统的道路。”

通常,这就是技术行业寻找工具来帮助自动化解决方案和预测问题的地方。对于机器学习来说,这些工具还不存在。

公司首席验证科学家哈里•福斯特(Harry Foster)表示:“我们肯定需要远远超越目前的水平。导师图形.“今天,你有有限的状态机和固定的方法。这里,我们处理的是动态系统。一切都需要扩展或重新思考。这个领域没有商业解决方案。”

福斯特说,英国布里斯托尔大学正在这一领域进行一些开拓性的工作,以验证不断更新的系统。“通过机器学习,你正在创建一个预测模型,你希望确保它在法律范围内。这是基本的。但如果你有一辆车,它与其他车通信,你需要确保你没有做有害的事情。这涉及到两个机器学习。如何将一个系统与另一个系统进行对比测试?”

今天,对这些系统的理解被归结为一个单一的时间点,基于最终的系统规范和通过无线软件添加的任何更新。但是机器学习使用的是进化式教学方法。对于汽车,它可以取决于车辆行驶了多少英里,在哪里驾驶,由谁驾驶,以及如何驾驶。对于机器人来说,这可能取决于它每天遇到的情况,是否包括平坦的地形、台阶、极端的温度或天气。虽然其中一些信息将通过云在其他设备之间共享,但基本概念是机器自己适应和学习。因此,设备不是用软件编程,而是被编程为自己学习。

使用这个模型,再加上定期更新,预测一个系统将如何表现,这是一个数学分布。预测成千上万的这些系统将如何变化,特别是如果它们彼此或其他设备相互作用,涉及一系列随着时间不断变化的概率。

什么是机器学习?
机器可以被教的想法可以追溯到摩尔定律提出前近20年。这一领域的工作始于20世纪40年代末,基于早期的计算机工作,即识别数据中的模式,然后根据这些数据进行预测。

机器学习的应用范围很广。最底层是一些普通的任务,比如垃圾邮件过滤。但机器学习还包括在各种工业应用中对已知用例进行更复杂的编程,以及可以区分一个物体和另一个物体的高度复杂的图像识别系统。

亚瑟早在20世纪40年代末,作为机器学习领域的先驱之一,他就开始尝试让机器从经验中学习的可能性——创造出可以做超出它们明确编程所能做的事情的设备。他最著名的作品是跳棋游戏程序,这是他在工作时开发的IBM.它被广泛认为是机器学习的第一个实现。

us__en_us__ibm100__700_series__checkers__620x350
图1:19 56年,塞缪尔用IBM 701电脑玩棋盘。六年后,该程序击败了西洋跳棋大师罗伯特·尼利。来源:IBM

从那时起,机器学习取得了显著的进步。西洋跳棋已经被国际象棋、危险边缘和围棋等更难的游戏所取代。

在上个月于库比蒂诺举行的2016年热芯片大会上,谷歌工程师丹尼尔·罗森班德(Daniel Rosenband)在一次演讲中提到了自动驾驶汽车的四个参数:了解汽车的位置、了解周围的情况、识别汽车周围的物体,以及确定汽车如何通过所有这些到达目的地的最佳选择。

这需要的不仅仅是在简单的网格或模式识别上行驶。它涉及到一些复杂的推理,比如一个令人困惑的标志意味着什么,如果红绿灯被红气球等物体遮挡,如何读取红绿灯,以及如果传感器被太阳刺眼弄瞎了该怎么办。它还包括理解温度,冲击和振动对传感器和其他电子设备的影响。

谷歌使用传感器、雷达和激光雷达的组合来拼凑出一幅有凝聚力的图像,这需要在很短的时间内进行大量的处理。罗森班德说:“我们希望在一辆汽车里塞进尽可能多的计算能力。”“主要目标是最大限度地提高性能,这就需要在架构方面进行创新,以获得比通用处理更高的性能。”

截图2016-08-28上午10:18.40
图2:谷歌的自动驾驶汽车原型。来源:谷歌。

手动将所有这些编程到每辆新车中是不现实的。对于一个小的数据集,数据库管理已经足够困难了。如果没有机器学习,就不可能添加保持自动驾驶汽车在道路上行驶所需的所有数据,并充分更新有关潜在危险行为的新信息。

“我们在这个领域看到了两种应用,”公司董事长兼首席执行官查理·贾纳克(Charlie Janac)说Arteris.“第一个是在数据中心,这是一个机器学习应用程序。第二点是ADAS,在那里你决定图像是什么。这涉及到卷积神经网络算法的世界,一个真正好的实现应该包括紧密耦合的硬件和软件。这些都是关键任务系统,它们需要不断通过空中更新软件,并能够可视化硬件中的内容。”

它是如何被使用的
机器学习有很多种形式,对不同的人来说通常意味着不同的事情。一般来说,算法可以用来改变系统的功能,以提高性能、降低功耗,或者简单地用新的用例更新系统。这种学习可以应用于软件、固件、IP块、完整的SoC或具有多个SoC的集成设备。

微软技术和硅技术部门的杰出工程师尼克·贝克(Nick Baker)表示,微软正在将机器学习用于其“混合现实”HoloLens设备。他说:“我们对算法进行更改,并尽快获得反馈,这使我们能够从尽可能多的测试用例中尽可能快地进行扩展。”

HoloLens仍然只是一个原型,但就像谷歌自动驾驶汽车一样,它处理信息的速度如此之快,对外部世界的反应如此之快,以至于没有机器学习就无法对该设备进行编程。“我们的目标是从尽可能多的测试用例中尽可能快地扩展,”Baker说。

机器学习可以用于优化硬件和软件,从知识产权到复杂的系统,基于知识的基础上,什么最适合什么条件。

“我们使用机器学习来改进我们的内部算法,”百度营销副总裁Anush Mohandass说NetSpeed系统.“如果没有机器学习,如果你没有一个聪明的人来设置,你就会得到垃圾。你可以在x轴上尝试15件事,在y轴上尝试1000件事,并在此基础上建立一个算法。但这里有无限数据的潜力。”

机器学习保证了一定程度的结果,无论涉及多少可能性。如果存在不符合模式的异常,这种方法也可以提供帮助,因为机器学习系统可以忽略这些异常。Mohandass说:“这样你也可以调试你所关心的内容。”“最典型的例子是,一辆自动驾驶的汽车因为芯片无法识别所有的情况而发生碰撞。在某种程度上,我们需要理解每一个数据点,以及为什么某些东西会以这种方式表现。这已经不是二八定律了。可能接近99.9%和0.1%,所以分布变得越来越薄和高。”

eSilicon在其在线报价工具中使用了一个版本的机器学习。eSilicon总裁兼首席执行官说:“我们有一个IP市场,在那里我们可以编译内存,免费试用,直到你把它们投入生产。”“我们有免费测试芯片的能力,完全集成和完美的功能。我们有GDSII能力。我们有WIP(在制品)跟踪,制造在线订单录入系统-全部完全集成。如果我能让世界另一端的陌生人在八行聊天后给我发采购订单,并成功构建成套芯片,那在我的脑海中无疑是自底向上的万物互联人们会感兴趣的。”

合适的地方
在一般情况下,机器学习是人工智能成为可能的原因。关于哪个是另一个的超集一直存在争议,但可以说人工智能机器必须利用机器学习算法根据以前的经验和数据做出选择。这些术语经常令人困惑,部分原因是它们是覆盖了很多领域的笼统术语,部分原因是术语是随着技术的发展而发展的。但无论这些争论如何发展,机器学习对人工智能及其最新分支深度学习都至关重要。

“深度学习作为机器学习的一个子集,是我们所见过的最强大的颠覆性力量,因为它有能力改变硬件的样子,”他说,节奏该公司知识产权组的研究员和CTO。“在关键任务情况下,它可以对硬件产生深远的影响。深度学习就是要做出更好的猜测,但正确性的本质很难定义。你不可能百分之百地做到这一点。”

但至少在理论上,随着时间的推移,随着更多的数据被纳入机器学习算法,它有可能接近100%的正确性。

微软的贝克说:“你拥有的数据越多,情况就越好。”“如果你看测试图像,你能提供的测试越多越好。”

在这一点上有很多共识,尤其是在开发复杂soc的公司中,这些复杂soc很快就超出了工程团队的能力。

“我从未见过如此快速的算法创新,能够真正有效地解决问题,”先进微设备公司(Advanced Micro Devices)的首席技术官马克·帕珀马斯特(Mark Papermaster)说。“这些算法让我们特别兴奋的一点是,它在很大程度上是基于人工智能领域的开创性工作,利用了所谓的人工智能梯度下降法分析.这个算法本质上是非常并行的,您可以利用并行性。我们一直在这样做,并开放我们的图形处理器,我们的离散图形,成为加速机器学习的巨大引擎。但与我们的竞争对手不同的是,我们是在一个开源环境中进行的,着眼于所有常见的api和软件需求,以加速我们的cpu和gpu上的机器学习,并将所有这些功能都放在开源世界中。”

评估问题
不过,算法只是机器学习图景的一部分。根据定义,随着时间的推移,可以优化硬件和软件的系统是从原始系统规格发展而来的。这对可靠性的影响是未知的,因为在这一点上没有办法模拟或测试。

“如果你实现了深度学习,你就会得到很多类似的元素。OneSpin解决方案.但该系统的完整功能尚不清楚。因此,如果你正在研究机器学习的错误率和转化率,没有办法确保你得到了正确的答案。系统从经验中学习,但这取决于你给他们什么。根据数据来概括它们将如何工作是一个困难的问题。”

布林克曼说,有很多方法EDA今天,这可能适用,特别是在大数据分析方面。“这是一套额外的技能——如何处理大数据问题。它更加电脑化和It化。但是未来需要并行化和云计算。一台电脑是不够的。你需要一些东西来管理和分解数据。”

布林克曼指出,北卡罗莱纳州立大学和佐治亚理工学院将在今年秋天开始研究这些问题。“但更大的问题是,‘一旦你有了这些数据,你该怎么处理?这是一个没有测试平台的系统,你必须概括行为并进行验证。但由于机器学习,芯片的制造方式正在改变。”

ARM的Neifert认为这是一个通用计算问题。“在第一代设计中,你可能会认为不需要不同的硬件。但正如我们所看到的,任何技术的发展都是从通用版本开始,然后要求定制硬件。有了先进的驾驶辅助系统(ADAS),你就可以设想这样一个步骤:由计算机来定义下一代的实现,因为它需要更高级别的功能。”

然而,这很快就把故障排除变成了一个无法解决的问题。“调试是一个完全不同的世界,”Tirias Research的首席分析师Jim McGregor说。“现在你需要一个反馈循环。想想医学影像,10年前5%的医疗记录是数字化的。现在,95%的记录都是数字化的。所以你把扫描结果和诊断结果以及是否正确的信息结合起来,然后你就有了反馈点。通过机器学习,你可以设计反馈循环来修改这些算法,但它太复杂了,没有人可以调试这些代码。这些代码随着时间的推移而发展。如果你在做关于大爆发的医学研究,人类只能运行这么多算法。那么,如果它不正确,如何进行调试呢? We’re starting to see new processes for deep learning modules that are different than in the past.”

第二部分:机器学习系统验证、验证和调试的短期和长期解决方案。

有关的故事
机器学习中的漏洞(系列第2部分)
确保机器按预期运行的短期和长期解决方案。
人工智能和深度学习内幕
人工智能正在发生什么,今天的硬件能跟上吗?
认知计算对芯片设计意味着什么
独立思考的计算机的设计将不同于一般的SoC;生态系统将受到重大影响。
新架构,加速芯片的方法
在10nm和7nm工艺中,性能指标正在发生变化。速度仍然很重要,但一种方法并不能适用于所有情况。
一对一:约翰·李
将大数据技术和机器学习应用于EDA和系统级设计



1评论

Yoav荷兰人 说:

验证基于ml的系统确实非常困难——期待您的下一期文章。

留下回复


(注:此名称将公开显示)

Baidu