谷歌人工智能专家:机器学习存在全新挑战

简介:

谷歌研究主管、知名人工智能专家Peter Norvig在MIT的EmTech Digital,探讨机器学习的挑战。

谷歌人工智能专家:机器学习存在全新挑战

谷歌研究(Google Research)主管、知名人工智能专家Peter Norvig最近在出席MIT的EmTech Digital大会时,发表了一些与主流人工智能和机器学习不同的观点。他将机器学习和传统软件编程进行了比较,强调我们所设计的机器学习,在系统调试和验证上存在全新挑战。

传统软件编程使用的是基于布尔数学体系的逻辑,按照这种逻辑,可以测试确认软件是否符合其设计初衷,在过去的几十年里,人们正是利用这一逻辑构建了各种软件调试工具和方法。

相比之下,机器学习更像是一个黑盒子编程方法,计算机程序自己有数据,自己可以生成概率逻辑,和基于传统布尔数学逻辑的“true&false”测试调试方法来验证系统完成不同。

谷歌人工智能专家:机器学习存在全新挑战

图片来源:NetworkWorld

对比传统编程,Norvig归纳总结了机器学习验证的情形:

“现在的问题是,能够扩展应用到整个人工智能行业的机器学习验证方法,仍未成型。我们已经在这方面做了很多努力,投入了时间;对于如何使之奏效,我们也有了一点眉目,但是,相比于普通软件开发和验证数十年的经验,机器学习调试明显还没有达到预期。”

如果调试机器学习如此困难,为什么还要使用它呢?尽管机器学习验证目前存在局限性,但是它在开发速度上依然具有一定优势。针对某些特定问题,比如语音识别或图像分类,复杂系统解决方案可以比传统编程方法快一倍、两倍、甚至三倍。举个例子,芯片制造商Nvidia公司工程师对一款自动驾驶汽车原型编写了100小时的训练数据程序。应用机器学习生产力对程序员来说极具吸引力,他们需要使用它,要求全新的验证方法。

事实上,调试机器学习的出发点就是要区分相关问题固有的风险和危害,以及来自于问题发解决方案的技术的风险和危害。只有后者,也就是技术解决方案内部固有的风险和危害能够被控制。

非定常性条件影响了传统编程和机器学习。所谓非定常性,就是指随着时间的过去,条件发生了变化,一开始,在相同条件下设计的系统非常有效,但慢慢地开始逐渐表现不佳。在传统编程中,当要发布一个开发新程序时,一般会先使用可验证的调试流程进行测试和验证,之后才会正式发布。

但在机器学习中,似乎遗失了这种验证,因为机器学习并不适合传统编程技术那套步进式的流程:开发、测试、最后发布。在机器学习里,会不断生成数据,然后同时再被机器学习系统不断获取,机器学习系统会进行再编程,继而导致那种步进式方法不能实行。

针对机器学习验证问题,Norvig解释了自己的想法。传统测试套件认定是基于“true”、“false”、以及“equal”这些条件判断,而机器学习的测试认定则应该是根据评估测验,比如今天的试验结果90%不错,并且和昨天测试运行的结果一致。

除了验证的问题很麻烦以外,验证机器学习系统产品所依据的事实很有可能是未知的,或者是主观性很强的。设想一下,例如我们设计一个机器学习系统来判断下图的这条裙子是金色搭配白色的,还是蓝色和黑色的,这问题连人类之间都没法达成一致。

谷歌人工智能专家:机器学习存在全新挑战

图片来源:CBS News

Norvig解释说:“对于一些问题,我们根本不知道正确答案是什么。因此,你又怎么可能训练一个机器学习算法判断某些根本没有答案的问题呢?”在Norvig看来,让机器学习寻求正确答案,只能依靠一种无偏见的方法,比如引入“陪审团”机制。人类生成数据去训练机器学习,然而人类本身就是具有偏见的,因此即便是在这种模式下,机器学习依然会存在一定偏见。要想匹配机器学习系统是否符合它们的设计初衷,评估的方法必须要能够识别并摈除偏见。

传统软件是模块化的,每个模块的输入和输出都是独立的,因此很容易识别出哪个模块是bug。然而在机器学习中,尽管系统是利用数据进行开发的,但在系统内部,任何bug都能会被复制,最终导致“牵一发而动全身”。虽然我们可以使用一些技巧去理解机器学习内部有错误,也有再训练机器学习系统的方法,但目前还没有办法能解决其中任何一个独立问题。

在Norvig看来,解决机器学习debug问题需要一个更好的工具集,而整个工具集需要向前发展、更新。


原文发布时间: 2016-05-27 11:23
本文来自云栖社区合作伙伴镁客网,了解相关信息可以关注镁客网。
相关文章
|
2天前
|
机器学习/深度学习 人工智能 运维
自动化测试的未来:AI与机器学习的融合
【8月更文挑战第29天】随着技术的快速发展,自动化测试正在经历一场革命。本文将探讨AI和机器学习如何改变软件测试领域,提供代码示例,并讨论未来趋势。
|
2天前
|
机器学习/深度学习 人工智能 Android开发
揭秘AI编程:从零开始构建你的第一个机器学习模型移动应用开发之旅:从新手到专家
【8月更文挑战第29天】本文将带你走进人工智能的奇妙世界,一起探索如何从零开始构建一个机器学习模型。我们将一步步解析整个过程,包括数据收集、预处理、模型选择、训练和测试等步骤,让你对AI编程有一个全面而深入的理解。无论你是AI初学者,还是有一定基础的开发者,都能在这篇文章中找到你需要的信息和启示。让我们一起开启这段激动人心的AI编程之旅吧! 【8月更文挑战第29天】在这篇文章中,我们将探索移动应用开发的奇妙世界。无论你是刚刚踏入这个领域的新手,还是已经有一定经验的开发者,这篇文章都将为你提供有价值的信息和指导。我们将从基础开始,逐步深入到更复杂的主题,包括移动操作系统的选择、开发工具的使用、
|
4天前
|
机器学习/深度学习 数据采集 人工智能
揭秘AI的魔法:机器学习如何塑造我们的未来
【8月更文挑战第27天】在数字时代的浪潮中,人工智能(AI)已成为推动科技革命的核心力量。特别是机器学习,它像一位神秘的魔法师,通过数据和算法的魔咒,解锁了前所未有的智能应用。本文将带你探索机器学习的奥秘,了解它如何从理论走向实践,进而影响我们的生活、工作甚至思维方式。无论你是技术新手还是资深开发者,这篇文章都将为你揭示AI背后的原理,并通过生动的例子展示机器学习的实际应用。让我们一起跟随代码的步伐,开启一场关于智能与创新的奇妙之旅吧!
|
3天前
|
机器学习/深度学习 人工智能 算法
【悬念揭秘】ML.NET:那片未被探索的机器学习宝藏,如何让普通开发者一夜变身AI高手?——从零开始,揭秘构建智能应用的神秘旅程!
【8月更文挑战第28天】ML.NET 是微软推出的一款开源机器学习框架,专为希望在本地应用中嵌入智能功能的 .NET 开发者设计。无需深厚的数据科学背景,即可实现预测分析、推荐系统和图像识别等功能。它支持多种数据源,提供丰富的预处理工具和多样化的机器学习算法,简化了数据处理和模型训练流程。
16 1
|
4天前
|
机器学习/深度学习 人工智能 算法
探索AI的魔法:机器学习与深度学习的奥秘
【8月更文挑战第27天】在这篇文章中,我们将深入探讨人工智能的两个重要分支:机器学习和深度学习。我们将首先理解它们的基本概念,然后通过Python代码示例,展示如何应用这些技术解决实际问题。无论你是AI新手,还是有经验的开发者,这篇文章都将为你提供新的知识和启示。让我们一起开启这场AI的魔法之旅吧!
|
9天前
|
机器学习/深度学习 人工智能 自动驾驶
探索人工智能的未来:机器学习如何塑造我们的世界
【8月更文挑战第23天】在这篇文章中,我们将深入探讨人工智能(AI)的发展趋势以及它如何影响我们的生活方式。从自动驾驶汽车到智能医疗,AI正在以前所未有的速度改变世界。我们将通过具体案例和专家分析,揭示AI技术的潜在影响,并思考如何在享受其便利的同时,应对可能带来的挑战。
24 3
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--代码生成技术
代码生成技术是人工智能与软件工程交叉领域的一项重要技术,它利用机器学习、自然语言处理和其他AI算法自动编写或辅助编写计算机程序代码。这一技术旨在提高编程效率、降低错误率,并帮助非专业开发者快速实现功能。以下是代码生成技术的概述及其典型应用场景。
25 6
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
探索Python中的人工智能与机器学习库
【8月更文挑战第20天】
34 1
|
11天前
|
机器学习/深度学习 人工智能 监控
|
11天前
|
机器学习/深度学习 人工智能 自动驾驶
探索人工智能的未来:机器学习如何重塑我们的世界
【8月更文挑战第20天】在本文中,我们将深入探讨机器学习技术如何逐步改变我们的生活和工作方式。通过分析当前的技术应用趋势和未来预测,揭示机器学习在医疗、教育、交通等多个领域内的潜在影响。文章将不展示具体的代码示例,而是侧重于机器学习技术的实际应用及其对人类活动的深远影响。
下一篇
云函数