在本博文里我来分享Roger Chen和我在2018年5月份举办的人工智能纽约大会上的幻灯片和注释。很多企业已经开始探索机器学习和人工智能。这里我们希望能给出一个如何思考这些技术和他们在自动化里的作用的回顾和框架总结。在这一过程中,我们会讲述那些能被用于实现自动化的机器学习和人工智能的工具。
让我们先从一个我们近期所做的调研开始:在企业所关注的事情里,我们发现主要(54%)的关注点是认为深度学习是他们未来项目的一个重要部分。深度学习是一种特殊的机器学习技术,它在多个领域的成功已经带来了对人工智能热情的复兴。
当前大部分对人工智能的新闻报道都是关于深度学习的。而现实是很多人工智能系统使用了非常多种的机器学习方法和技术。例如,当前最著名的可以下围棋和打扑克的人工智能系统就是使用了深度学习以及其他的技术。对于AlphaGo,蒙特卡洛树搜索算法就扮演了很重要的角色。而DeepStack扑克系统就结合了神经网络与反事实后悔最小化和启发式搜索技术。
更近一些时候,我们开始看到贝叶斯方法和神经进化方法与深度学习相结合。我期待在未来看到更多的论文和文章介绍吸引人的和非常实用的混合系统。
除了深度学习,强化学习(RL)也是企业里获得了关注的题目。在很多知名的人工智能系统里,强化学习扮演了关键的角色。取决于上下文,一个人工智能系统可能被要求解决不同类型的问题。强化学习擅长于解决那些在监督学习和非监督学习领域之外的问题。理解强化学习的一种思路是把它看成某个智能体重复地探索一个给定的环境,从而学习如何在这个环境里行动。一个算法可能试图去学习一种策略,让智能体在特定条件下行动。现实情况是,依赖于强化学习的“自学习”系统的著名案例已经让强化学习成为人工智能学者关注的一个热门课题。
然而,强化学习也不是没有挑战的:
- 首先,教会一个智能体在特定环境里行动需要很多的数据。这就是为什么很多初创应用都是在能够进行模拟的领域出现。
- 其次,重现研究论文里的结果并转换成可以工作的系统是非常有挑战性的。这一点可能会随着新的开源系统(特别是RISE实验室的Ray和RLib)的出现并被更多的研究人员使用而得到改变。我们会看到更少的自定义或一次性代码。巧合的是,最近几周我参观了一些主要的公司。这些公司已经将Ray作为其基础设施的一部分用于生产系统。
尽管存在这些挑战,已经开始在工业自动化等领域出现了强化学习的实际应用。 Bonsai的Mark Hammond描述了许多公司如何使用强化学习的例子,包括如何管理风机或操作昂贵的机器。据报道,Google的DeepMind开发了一种基于强化学习的系统,可以帮助改进其数据中心的功耗。Hammond介绍了把强化学习模型训练成为“机器教学”的过程:让领域专家去训练基于强化学习的系统,然后它就可以实现自动化:
[你想]让你的领域专家(例如化学工程师或机械工程师。这些专家非常精通各自的领域,但不一定是机器学习或数据科学领域)来识别出专业知识并将其用作描述教学内容的基础,然后自动化底层。
自动化
机器学习和人工智能将带来许多跨领域和专业的自动化。但我们有时将自动化视为二元的:要么是完全自动化,要么就是没有自动化。事实是,自动化是有一系列的等级。例如,自动驾驶汽车行业就有多个级别,只有最高级别(级别5)代表完全自动化。
事实上,麦肯锡估计“使用现有技术,只有不到5%的职业可以被完全自动化。 然而大约在60%的职业里,它们的30%或更多的内容是可以被自动化的”。Tim O’Reilly撰写一篇了关于这些技术对经济和就业的影响的文章,并指出增强(“人参与的循环”的)技术开辟了许多可能性。
因此,当考虑自动执行某些任务时,请记住,在许多情况下当前的技术可能只能帮助实现部分自动化。那如何确定哪些任务应该被自动化?鉴于我们讨论的是使用机器学习技术,(在这个背景下)这些任务需要满足几个基本要求:
1.有数据来支持自动化吗?
2.能够规模化来验证自动化的益处吗?
确定哪个任务需要自动化是至关重要的。比如特斯拉公司最近发现他们要求自动化汽车制造的许多方面。但特斯拉CEO Elon Musk最近观察到:“特斯拉的过度自动化是一个错误。人的能力被低估了”。如果对于特斯拉来说都很难确定自动化的应用场景,那么对其他企业来说可能就更困难了。不过好消息是,有许多企业和人工智能创业公司正在查看企业里典型的任务和工作流程,并仔细判别哪些可以使用当前技术被(部分)自动化。最近出现的一些部分自动化的例子包括:谷歌最近宣布了一种语音技术工具Duplex,它允许用户使用自然对话执行较窄范围的任务;而微软则展示了一种工具,用于转录和汇编会议纪要中需要行动的项目。
出现自动化的领域之一是软件开发和数据科学。这并不奇怪,因为工程师是很聪明的,他们总是试图自动执行重复和繁琐的任务。从数据库管理系统到设计神经网络架构,再到编写无bug代码的工具,有许多有趣的自动化工具正在出现。另一个爆炸性发展的领域是与客户交互的自动化。我们仍然处于客户交互自动化的早期阶段,与可能在几年后出现的智能助理相比,我们今天看到的许多初级聊天机器人将显得苍白无力。
我们需要多久才能看到真正聪明的助手?更一般地说,离实现企业工作流程自动化还需要多久?进展速度将取决于关键模块的研究进展。对于聊天机器人而言,关键模块包括自然语言理解和自然语言生成。对于人工相关的工作,需要在传感器感知和机器人方面取得进步。
我们今天的人工智能系统依赖于深度学习,因此往往需要大量的标记数据。这些数据被用于训练深度模型,并需要大量的计算资源。我预测未来的人工智能系统将与我们今天的系统不同。首先,今天所谓的人工智能通常只是机器学习。在最近的一篇文章中,我们概述了为明天的人工智能应用构建工具的工作:
智能增强和智能基础设施本质上是多学科交叉的,需要新视角来超越用单一的智能体学习输入到输出映射。这种视角以及目前它的深度学习的实现将不可避免地成为解决方案的一部分,但同样不可避免地,它不会是整个解决方案。
真正的人工智能应用将要集成许多组件:传感器、硬件、用户交互设计和许多软件。想了解将这些技术组合(是如何构建一个特定的人工智能系统)的一种方法是阅读Shaoshan Liu的博文。其中详细介绍了构建自动驾驶汽车所需的组件。
总结思考
我们仍处于人工智能和自动化的早期阶段。当代的工具已经允许在某些领域实现部分自动化。而且随着我们看到在几个基础领域(2018年对于硬件来说将是一个有趣的年份)出现更多的进展,我们期待看到人工智能社区在许多不同的领域和应用中推出相应的系统。即使是特定领域的端到端人工智能系统也需要在跨越学科和社区的技术方面取得进展。
相关内容
- 《理解自动化》
- 《企业如何通过深度学习来让人工智能工作》:O’Reilly调查的结果
- 《为明天的人工智能应用构建工具》
- 《走向机器学习的喷气时代》
- 《Ray是如何让持续学习变得可用和更容易规模化》
- 《强化学习在业界的实际应用》
- 《神经进化:一种不一样的深度学习》:使用进化算法来演进神经网络的架构
- 《机器学习需要机器教学》:Mark Hammond讨论强化学习在制造业和工业自动化领域的应用
- 《对你已有的数据应用深度学习》:使用新的工具、框架和未来的发展来实现深度学习的实用化。