中文 英语

机器学习中缺少的是什么

第1部分:教导机器如何表现是一件事。理解可能在这之后可能的缺陷是另一个。

人气

机器学习无处不在。它用于优化复杂的芯片,平衡电力和性能,程序机器人,并保持昂贵的电子产品更新和操作。但是,一旦机器发展超出最终规范,就没有商业上可用的工具,不那么明显,没有商业上可用的工具来验证,验证和调试这些系统。

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

在大多数情况下,这些偏差将不会被注意到。在其他情况下,例如安全关键系统,更改系统的表现如何具有深远的后果。但是,工具尚未开发,但超越了用于教学机器的算法如何表现。当谈到了解机器学习随着时间的推移对系统的影响时,这是一个勇敢的新世界。

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

大多数使用机器学习的公司都把更新和调试软件的能力作为他们的安全网。但如果深入研究系统行为和修改,这个安全网就会消失。一旦机器进化或被其他机器修改,它们将如何工作,目前还没有明确的答案。

“你在强调不可预见的事情,这正是机器学习的全部目的,”该公司模型技术总监比尔•内费特(Bill Neifert)表示手臂。“如果你可以看到所有的最终性,你都不需要机器学习。但是验证可能是一个问题,因为您可能最终可以在自适应学习改变系统的路径上。“

通常,这是科技行业寻找工具,以帮助自动解决解决方案和预测问题。使用机器学习这些工具尚不存在。

“我们绝对需要超越我们今天的位置,”首席核查科学家哈里福斯特说导师图形。“今天,您有有限的状态机器和方法是固定的。在这里,我们正在处理动态的系统。一切都需要延长或予以延长。这个空间没有商业解决方案。“

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

如今,基于最终系统规范,对这些系统的理解被降级到单一的时间点,并且通过过空中软件添加了任何更新。但机器学习使用进化的教学方法。随着汽车,它可以取决于车辆已经驾驶了多少英里,在那里被驱动,谁以及它是如何驱动的。通过机器人,它可能取决于该机器人每天遇到的内容,是否包括平坦地形,步骤,极端温度或天气。虽然其中一些将通过云共享其他设备,但基本概念是机器本身适应和学习。因此,而不是用软件编程设备,它被编程为自己学习。

用这个模型预测一个系统的行为,再加上周期性的更新,是一种数学分布。预测成千上万的这些系统将如何变化,特别是当它们彼此或其他设备相互作用时,涉及到一系列随着时间不断变化的可能性。

什么是机器学习?
在引入Moore的法律之前,机器可以在近二十年后被教导的想法。在这一领域的工作始于20世纪40年代后期,基于早期计算机在识别数据中的模式,然后从该数据中制定预测。

机器学习的应用范围很广。最底层的任务是垃圾邮件过滤等普通任务。但机器学习还包括对各种工业应用中已知用例进行更复杂的编程,以及能够区分不同对象的高度复杂的图像识别系统。

亚瑟是一位机器学习的先驱之一,开始尝试制造机器从20世纪40年代后期创建设备中学习的机器,这些设备可以做出超出他们明确编程的事情。他最着名的工作是一名跳棋游戏计划,他在工作时开发IBM.。它被广泛归功于机器学习的第一次实现。

US_NEN_US_USIBM100__700_SERIES__CHECKERS__620x350.
图1:1956年,塞缪尔使用IBM 701在棋盘上下棋。六年后,这个程序击败了跳棋大师罗伯特·尼利。来源:IBM

从那时起,机器学习显着提出。跳棋已经被更加困难的游戏所涂,如国际象棋,危险和去。

In a presentation at the Hot Chips 2016 conference in Cupertino last month, Google engineer Daniel Rosenband cited four parameters for autonomous vehicles—knowing where a car is, understanding what’s going on around it, identifying the objects around a car, and determining the best options for how a car should proceed through all of that to its destination.

这需要超过跨越简单的网格或模式识别。它涉及一些复杂的推理,关于令人困惑的标志意味着什么,如果它是由诸如红色气球的物体遮挡的物体遮挡的交通灯,以及如果传感器被太阳眩光蒙蔽了该怎么办。它还包括了解温度,冲击和振动对传感器和其他电子的影响。

谷歌使用传感器,雷达和激光雷达的组合来拉动一个凝聚力的图片,这需要在非常短的时间内施加大量的处理。“我们希望将尽可能多的计算成一辆汽车,”Rosenband说。“主要目标是最大的性能,这需要创新如何建立一切以获得更多的性能,而不是通用处理。”

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

通过手工编程到每辆新车中都是不现实的。数据库管理很难使用小数据集。在没有机器学习的情况下,在路上保持自主车辆所需的所有数据,并充分利用有关潜在危险行为的新信息,无需机器学习即可。

“我们在这个空间中看到了两个应用程序,”Charlie Janac,董事长兼首席执行官动脉杆菌。“第一个是数据中心,这是一个机器学习应用程序。第二个是adas.,您决定图像是什么。这进入了卷积神经网络算法的世界,并且非常好的实现将包括紧密耦合的硬件和软件。这些是关键任务系统,他们需要在空中连续更新软件,能够以可视化硬件中的内容。“

它是如何使用的
机器学习有很多味道,并且通常对不同的人意味着不同的东西。通常,该想法是算法可用于将系统的功能改变为提高性能,较低功耗,或者只是用新的用例更新它。该学习可以应用于软件,固件,IP块,完整SOC或具有多个SOC的集成设备。

根据Nick Baker,公司技术和硅集团的杰出工程师的说法,微软正在使用机器学习龙头设备。“我们对算法进行了更改,尽快获得反馈,这使我们可以尽可能快地缩放尽可能快,”他说。

霍尔霍尔斯仍然只是一种原型,但就像谷歌自动驾驶汽车一样,它正在处理如此多的信息,这么快地对外部世界尽快反应,没有机器学习没有办法编程这个设备。“目标是尽可能快地按尽可能快的测试用例,”贝克说。

机器学习可以用来优化硬件和软件从知识产权对复杂的系统,基于一个知识基础,什么工作在什么条件下最好。

“我们使用机器学习来改进我们的内部算法,”Anush Mohandass,营销副总裁说NetSpeed系统。“如果没有机器学习,如果你没有聪明的人来设置它,你会得到垃圾。您可以在“X”轴上的15件物中开始和实验“Y”轴上的1,000件物品,并根据此设置算法。但是有潜力的无限数据。“

无论涉及多种可能性,机器学习都可以确保一定程度的结果。这种方法还可以帮助,如果没有适合模式的异常,因为机器学习系统可以忽略这些像差。“这样你也可以调试您关心的内容,”莫爱者说。“经典案例是汽车飞行员上的汽车崩溃,因为芯片没有识别完整的东西。在某些时候,我们需要了解每个数据点以及为什么某些事情的行为行为。这不是80/20规则了。它可能更接近99.9%和0.1%,因此分布变得更薄,更高。“

eSilicon在其在线引用工具中使用一版本的机器学习。“我们有一个IP市场,我们可以在哪里汇编记忆,免费试用它们,并使用它们,直到你把它们投入生产,”Esilicon的总裁兼首席执行官说。“我们有一个免费,完全集成和完美功能的测试芯片能力。我们有GDSII能力。我们有WIP(过程)跟踪,制造在线订单输入系统 - 全部集成。如果我能在世界另一端送给我的陌生人,请在八行聊天并成功构建芯片组后发给我的购买订单,在我的脑海中毫无疑问,最近的一切互联网人群会有兴趣。“

它适合
在一般的事情方案中,机器学习是使人工智能成为可能的。有关于它的持续辩论是另一个的超集,但这就是说,人工智能机器必须利用机器学习算法,以基于以前的经验和数据进行选择。这些术语往往是令人困惑的,部分原因是它们是覆盖大量地面的毯子术语,部分原因是术语正在与技术的发展。但无论这些论点如何进展,机器学习对于AI和其最近的分支是至关重要的,深度学习。

“深入学习,作为一种机器学习的子集,是我们所看到的最有效的破坏力,因为它有能力改变硬件的样子,”韵律公司IP组的首席技术官和研究员。“在关键任务的情况下,它可以对硬件产生深远的影响。深度学习就是要做出更好的猜测,但是正确性的本质很难定义。你不可能做到100%正确。”

但至少在理论上,可以随着时间的推移将更接近100%的正确性推动到100%的正确性,因为更多的数据包括在机器学习算法中。

“你拥有的数据越多,你就越好,”微软的贝克说。“如果您查看测试图像,您可以提供更好的测试。”

在这一点上有很多共识,尤其是在开发复杂soc的公司之间,这种soc的规模迅速扩大,超出了工程团队的能力。

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

调整问题
但是,算法只是机器学习图片的一部分。通过定义,可以优化硬件以及软件的系统,从原始系统规范中发展。如何影响可靠性未知,因为此时无法模拟或测试。

“如果你实施深入学习,你有很多类似的元素,”总裁兼首席执行官说道奥克森解决方案。“但系统的完整功能未知。因此,如果您正在寻找机器学习错误率和转换率,则无法确保您已正确的方法。系统从经验中学习,但这取决于你给予的东西。概括他们如何根据数据工作是一个艰难的问题。“

Brinkmann表示,有许多方法eda.今天,这可能适用,尤其是在大数据分析方面。“这是一种额外的技能——如何处理大数据问题。它更计算机化,更It化。但是未来需要并行化和云计算。单台计算机是不够的。你需要一些东西来管理和分解数据。”

Brinkmann指出,北卡罗来纳州立大学和佐治亚州理工学院将开始在这秋季开始这些问题。“但是更大的问题是,”一旦你拥有那个数据,你会用它做什么?'它是一个没有测试台的系统,你必须概括行为并验证它。但由于机器学习,建造的方式正在改变。“

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部分)
短期和长期解决方案,以确保机器按预期行为。
人工智能和深度学习
AI领域发生了什么,今天的硬件能否跟上?
认知计算对芯片设计的意义
独立思考的计算机将被设计成不同于平均SoC的计算机;生态系统的影响将是显著的。
新架构,加快芯片的方法
性能的指标在10nm和7nm时变化。速度仍然很重要,但一个尺寸不适合所有。
一个一对一:约翰·李
将大数据技术和机器学习应用于EDA和系统级设计



1评论

Yoav荷兰人 说:

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

发表评论


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