新闻中心

EEPW首页 > 智能计算 > 业界动态 > 当AI出现问题时,我们竟无能无力?

当AI出现问题时,我们竟无能无力?

作者:时间:2018-04-02来源:与非网收藏
编者按:到目前为止,没有工具,也没有明确的方法可以阻止AI出现问题。实际上,可能了解AI到底出了什么问题比较靠谱。

  这场竞赛目的是开发智能系统,能够自动驾驶汽车,诊断、治疗复杂的医疗状况,甚至还能训练其他机器。

本文引用地址:http://www.eepw.com.cn/article/201804/377755.htm

  问题在于,没有人十分确定该如何诊断这些系统中潜在的、不那么明显的缺陷,或者更好的情况应该是要防止它们发生。虽然机器可以很好地完成某些工作,但人类仍然需要设计系统来训练和观察它们,并且这个系统还远远不够完善。

当AI出现问题时,我们竟无能无力?

  “调试是一个开放的研究领域,”IBM research Almaden副总裁兼实验室主任Jeff Welser说。“但是我们至今还有一个好的答案。”

  在这个问题上他不是一个人。尽管人工智能、和机器学习正在被应用于包括半导体设计和制造业在内的多个行业,但重点在于如何使用这些技术,而不是在出了差错时发生了什么。

  “调试是一个开放的研究领域,但这个问题没有解决。”ANSYS首席技术专家这样表示。

  至少部分问题是,没人能完全确定一旦设备被训练后会发生什么,特别是在、人工智能以及各种神经网络方面。

  企业解决方案技术副总裁、杰出的发明家Steven Woo表示,调试是建立在理解的基础上的,关于大脑是如何运作的,还有很多需要学习。所以从传统意义上来说,调试仍然是一个挑战,因为需要了解何时发生了错误并进行错误分类。我们需要进一步研究“我不知道”类型的分类。

当AI出现问题时,我们竟无能无力?

  这与科幻小说中描述的一些场景相去甚远,在科幻小说中,机器可以控制整个世界。错误的算法可能导致在某处发生意外,如果它涉及到功能安全系统,可能会造成不可预估的危害;其他情况下,它可能会使机器产生恼人的行为。但是人工智能()、(DL)和机器学习(ML)的不同之处在于,仅仅通过一个软件补丁修复这些bug是不可行的。更何况,这些bug可能在数月或数年内都不会出现,或者直到与其他设备进行交互才出现。

  Synopsys嵌入式视觉处理器产品营销经理则这样认为,如果我们正在训练一个网络,那么它的吸引力就在于我们可以让它更快、更准确。一旦我们训练的网络出了问题,只能追踪到代码。现在,调试成了一个棘手的问题,而且它并不是一个能提前避免的事情。

  什么足够好?

  “什么足够好?”是半导体行业一个潜在主题,答案因市场、应用的不同而有很大差异。就算在在同一设备中,不同功能之间甚至都可能有所不同。例如,在玩手机游戏的时候,出现bug会很烦人,可能需要重新启动才能解决;但如果打不了电话,那我们可能会直接选择换掉手机。对于工业设备,这项技术可能直接与收入挂钩,因此它可能是计划维修更换的一部分,而不是等待失败。


当AI出现问题时,我们竟无能无力?


  对于人工智能,深度学习和机器学习,则不存在上面那样的标准。推断结果是数学分布,而不是固定的数字或行为。

  eSilicon市场副总裁在某次采访中表示:而它们最大的问题是,是否正确,以及如何与人类相提并论。是否当它们超越人类时,就可以认为它们足够好了?事实上,这个问题可能我们永远也无法证明。所有这些都是训练数据的结果,一般来说,拥有的训练数据越多,就越接近完美。这也是与以往最大不同的地方,因为过去我们只关心算法和布线是否正确。

  这是一个可能会出现问题的地方。虽然在批量制造方面有大量的数据,但设计方面却少得多。

  “对我们来说,每颗芯片都是如此独特,我们只处理几百个系统,所以输入数据量很小,”ArterisIP首席技术官说。“这个东西是一个黑盒子。如何处理以前从未处理过的事情,特别是涉及偏见和道德的问题。需要更多的训练数据。”

  对于/DL/ML,即使是对bug的定义,也是不同的。

  因为算法性能在一个领域中得到了发展,而它又不是确定性的,所以bug的定义也会改变。有时候,可能无法从这类算法中分离出一个作为bug的特定输出,因为它是基于算法中捕获的进化概率分布。

  但我们可以通过预先设定算法可接受行为的明确边界条件,来避免这种情况。然而,理解这些边界条件并不简单,一则算法本身处于不断优化的状态,再则是这些算法被广泛用于各种应用中。

  了解未知的

  调试/ML/DL的一个起点是描述你所做的和不理解的。

  这在机器学习中比在深度学习中简单,这两者都适合在AI的保护伞下,因为算法本身更简单。深度学习是一种基于多层矩阵的数据表示,其中每一层使用上一层的输出作为输入。机器学习则使用为特定任务开发的算法。

  在一个生产环境中,我们要知道哪里出了问题。可以了解机器学习算法来自于哪个模型,并对不同的算法进行大量比较,但不同产品之间可能会有所不同。可能在产品A上,随机森林效果不错;而在产品B上,另一个算法或某种组合效果更好。但是,如果没有大量的数据,或者有很多独立变量在改变的时候,机器学习可能就没什么作用了。

  而这正是当下研究的重点。

  人工智能系统观察一只狗,将它识别为小狗或某种类型的狗。机器能识别五到六个特征,但这些特征是否正确?是否存在过分强调一个特征?这一切都将回归到人们对机器的擅长程度上。

  人们很容易理解导致这一决定的一系列事件,但决策过程并非如此。

  一位Arm研究员说:“这或许是人工智能,就是把一些数据输入到系统中,然后弹出一个答案。它不一定解释得出这个答案的精确推理,输入数据的属性,强烈地影响了这个答案是这样出来的。如果我们给AI程序或机器学习算法提供了更多的决策控制,对于各种各样的环境也是有帮助的。”

  训练数据偏差在这方面也起着关键作用。

  这对医疗数据来说是一巨大挑战,因为在某些领域,专家们在如何给某些东西贴上标签的问题上存在分歧,因此不得不开发在标签中容忍噪音的算法。我们从算法的角度知道它在做什么,我们发现它告诉我们看起来有用的东西。但与此同时,我们也向自己证明,不管输入设置中出现任何偏差,都会影响输出结果。这是一个关于智力的例子,或只是一个推理滥用的例子,亦或是我们还不知道的事情?

  什么可行,什么不可行?

  一旦错误被识别出来,处理它们的实际过程也不清楚。

  解决这个问题的方法之一,是从传统方面着手,比如支持系统和优化内存带宽。但没人知道这些系统实际上是如何运作的。如何配置黑盒?这可能是需要机器学习来调试机器学习的情况,需要一名主管来训练这些系统,并确定什么是好的,什么是坏的。

  训练数据的微小变化也会蔓延开来。用于培训一台机器的数据可以由另一台机器生成,后者可能实现不同的算法,或者它可能是实现相同算法的不同实例。例如,两台机器(两台机器都实现一种玩围棋的算法)可能会互相玩,这样每台机器就会产生数据供给另一台机器用来训练。调试原理与上述相同,因为每个机器的行为分别根据可接受行为的边界条件进行验证。

  另一种方法是使AI/DL/ML的应用范围足够小,这样就可以在内部不断优化。从TensorFlow算法开始,很快会发现它们是不够的,所以要转用随机森林。今天我们做分析,还能够改变方法灵活适应。但是如何才能在一个已经是虚构的深度学习中做到这一点呢?

  迄今为止取得的进展

  更令人困惑的是,所有这些系统都是基于训练算法,几乎处于不断变化的状态。当它们用于现实世界的应用程序时,问题就会显现出来。在此基础上对训练数据进行修正,并对推理系统进行分析和测试,以了解这些变化是如何影响行为的。

  西门子商业公司Mentor产品营销经理表示:为了生成一组好的测试数据,我想做很多不同的事情。我提出一套特定的刺激装置,并且在我的模拟农场里一天内做了1000次测试,却总得到同样的结果。因为我将得到同样的结果,所以它必须做一些不同的事情。这实际上是一些方法的应用,这些方法与我们所说的形式化技术非常相似,但这并不是纯粹意义上的形式化验证,就像我们考虑属性检查和基于断言的验证一样。就形式数学而言,它是正式的。

  领先的公司已经为此努力了一段时间。我们还没有看到任何商业上的东西,但你可以想象贝尔实验室的客户类型。有一些客户早就站在了这项技术的前沿——为自己开发,不一定是用于商业目的。

  未来之路

  多年来,人工编写算法由大学和研究机构开发和测试,调试人工智能一直被搁置一旁。在过去一年里,一切都变了。机器学习、深度学习和人工智能无处不在,这项技术甚至在去年还在测试的系统中得到了更广泛的应用。


当AI出现问题时,我们竟无能无力?


  这种情况必须迅速改变。其中一些应用背后的想法是,人工智能可以用于培训其他系统,并提高制造业的质量和可靠性,但只有在培训数据本身没有缺陷的情况下,这种方法才有效。但也是在这一点上,没有人可以很确定。



关键词: AI 深度学习

评论


相关推荐

技术专区

关闭