在过去几年中人工智能(AI)和深度学习(DL)几乎是同义词了。我们已经看到AlphaGo作为深度学习的一个案例被各种吹捧。我们也看到深度学习用于命名油漆颜色(不是很成功)、模仿伦勃朗和其他伟大的画家的作品,以及许多其他的应用。正如François Chollet在推特上所说的那样,深度学习之所以取得成功,部分是因为:“只使用一点非常基本的技术就可以获得惊人的成功”。换句话说,你不必成为人工智能专家可以使用深度学习来完成这些。深度学习明显的简单性(只需要了解少量基本技术)使人工智能“民主化”变得更容易,让没有应用数学或计算机科学博士学位的开发人员成为人工智能开发的核心。
但话说回来,深度学习也存在严重的问题。正如Ali Rahimi所说,我们经常可以看到深度学习起作用,但我们并不理解深度学习是如何工作、什么时候或为什么起作用,甚至离完全理解这些问题还很远。“我们仅仅(给新的AI开发人员)提供比忽悠和预先训练的深度网络多一点的东西,然后就要求他们进行创新。我们几乎无法就我们应该解释的现象达成一致”。深度学习的成功是有启发性的,但如果我们无法弄清楚它为何起作用,它作为工具的价值是有限的。我们可以建立一支深度学习开发人员队伍,但如果只能告诉他们“这里有一些工具,你们随便尝试,祝好运”,这将没什么作用。
然而,没有什么是看起来这么简单。我们迄今为止看到的最佳应用是混合系统。 AlphaGo不是一个纯粹的深度学习引擎,它结合了蒙特卡罗树搜索和至少两个深度神经网络。在2017年O’Reilly纽约人工智能大会上,Josh Tenenbaum和David Ferrucci勾勒出他们正在研究的系统,这些系统将深度学习与其他想法和方法相结合。Tenenbaum正研究一次性学习,模仿基于单个经验的人类学习能力。而Ferrucci正致力于构建认知模型,使机器能够以有意义的方式理解人类语言,而不仅仅是模式匹配。DeepStack的扑克游戏系统将神经网络与反事实后悔最小化和启发式搜索相结合。
加入结构信息来改善模型
深度学习的基本思想非常简单:深度学习系统通常是具有多个隐藏层的神经网络。 每个神经元都非常简单:它从前一层中获取很多输入,根据一组权重组合它们,并产生输出,传递到下一层。神经网络并不关心它处理的是图像、文本还是遥测信号。然而,这种简单性暗示着我们可能忽略了许多数据内在的结构。图像和文字不一样,它们的结构不同。语言有很多内部关联关系和结构。正如计算语言学家Chris Manning所说:
我认为当前这个每个人都对于快速GPU、海量数据和很好的深度学习算法进行鼓吹的时代已经让计算语言学偏离了正轨。因为如果你有大量的计算资源和海量的数据,你可以用一个简单的学习应用做很多事情。但那些学习模型是非常糟糕的学习者。人类是非常好的学习者。我们想要做的是构建有非常好的学习者的人工智能应用。……实现这些学习能力的方法是(对模型)加入更多内在结构。
如果我们要构建能像人类这样理解语言的人工智能应用,我们必将利用语言中的内在联系和结构。从这个角度来看,深度学习是一个富有成果的死胡同:它是一条捷径,但阻碍了我们提出关于知识是如何构架的真正重要问题。Gary Marcus提出了一个更激进的观点:
存在一个人工智能研究人员应该更多思考可能存在内在机制的空间。简单地假设包含很少或根本没有内在机制,往好了说是目光短浅的。往坏了说,不假思索地从头开始重新学习一切可能是彻头彻尾的愚蠢,只是有效地让每个人工智能系统处于不得不重新学习大部分(人类)十亿年的演化的地位。
深度学习始于一种至少原则上是基于人类大脑的模型:神经元的互连,以及人类大脑开始时是空白一片的古老概念。Marcus认为人类天生具有一些能力(例如,学习语言的能力或形成抽象的能力),对这些能力目前我们依然知之甚少。为了让人工智能超越深度学习,他建议研究人员必须学习如何对这些天生的能力进行建模。
另外还有其他前进发展的道路。Ben Recht最近写了一系列文章,勾画出如何解决那些强化学习适用的问题。他还担心如今所宣传的深度学习承诺的希望超出了它的能力:
如果你阅读《Hacker News》,你会认为深度强化学习可以用来解决任何问题。 ……当在新闻稿中出现这样大胆的声明时,我个人会表示怀疑,特别是当其他研究人员怀疑声明内容的可重复性时。
Recht主张全面回顾和查看利用最优控制和动态系统技术来增强强化学习的可能性。这样做可以让强化学习模型受益于许多已经在实际应用中使用的研究结果和技术。他指出:
抛弃模型和知识,我们永远不知道能不能从一点样本和随机种子中学到足够的泛化能力。
人工智能不仅仅是机器学习
正如Michael Jordan在最近一篇文章中指出的那样,现在所谓的人工智能通常是指的机器学习(ML)。作为组织人工智能会议的人,笔者可以证明这一点:我们收到的许多提案都是关于标准的机器学习应用的。混乱是不可避免的:当宣称研究是“人工智能”项目几乎不受尊重时,我们使用术语“机器学习”。机器学习成为“人工智能里有用的部分”的简写。迄今为止的这些有用的部分(包括深度学习)基本上都是大规模的数据分析。现在,喧嚣潮头已经过去,每个人都想获得人工智能,而机器学习应用再次成为人工智能应用。
但是,一个完整的人工智能应用(例如自动驾驶汽车)需要的不仅仅是数据分析。 它需要许多领域(远不只模式识别领域)都取得进展。想要构建自动驾驶汽车和其他真正的人工智能应用,我们需要在传感器和其他硬件方面取得重大进展;我们需要学习如何为“边缘设备”构建软件,其中包括理解如何在边缘设备和 “云端”之间分配任务;我们需要开发模拟和分布式计算的基础设施;我们还需要了解如何为真正的智能设备创造用户体验。
Jordan强调了未来的研究需要重点关注的两个领域。
智能增强(IA):旨在增强人类智力和能力的工具。这些工具包括搜索引擎(它记住我们没法记住的事情)、自动翻译,甚至还包括对艺术家和音乐家的帮助。这些工具可能涉及高级的推理和思考,目前的实现还没有这些能力。
智能基础设施(II):Jordan把智能基础设施定义为“计算、数据和物理实体组成的网络,它能使人类的环境有更多的支持、更有趣和更安全”。这将包括安全地共享医疗数据的网络、使运输更安全的系统(包括智能汽车和智能道路),以及许多其他应用。智能基础设施是以支持人类生活的方式来管理数据流。
Jordan观点里最重要的部分是:如果我们只关注模仿人类的人工智能,我们就不会得到IA或II。前者本质上是多学科交叉的,需要新视角来超越用单一的智能体来学习输入到输出映射。这种视角以及目前它的深度学习的实现将不可避免地成为解决方案的一部分,但同样不可避免地,它不会是整个解决方案。
总结思考
许多机构的研究人员正在构建用于创建未来人工智能应用的工具。虽然在深度学习领域仍有许多工作要做,但研究人员正在超越深度学习以构建下一代人工智能系统。加州大学伯克利分校的RISE实验室拟定了一个涉及系统、架构和安全性的研究议程。
Ameet Talwalkar最近的帖子还列出了一些业界机器学习平台将会获益的研究方向。业界的机器学习必须满足系统要求,例如内存限制、用电预算和严格的实时要求;它们必须易于部署和更新,因为数据模型会随着时间的推移趋于陈旧;它们必须安全。人类必须能理解应用是如何做出决策,以及这些决策可能带来的后果。这些应用还必须考虑到道德规范。
这些都是Jordan所说的对于智能基础设施的要求。在过去几年中,我们已经看到很多机器学习的案例都有着有问题的目的,包括从确定保释和入狱判决,到有定向广告、情绪操纵和错误信息的传播,这些都告诉我们不一样的需求。人工智能的研究议程需要考虑数据的公平性和偏见、透明度、隐私和用户的控制,以及从这些数据构建出的模型。这些问题包括从道德到设计的一切:获得用户的知情同意,并向用户解释同意意味着什么,这不是一个微不足道的设计问题。我们才刚刚开始了解这些学科如何与人工智能研究联系起来。幸运的是,我们看到数据社区越来越关注将道德应用于实践。诸如数据交换(D4GX)、公平问责和透明度会议(FAT)等活动都致力于数据道德建设。
Talwalkar指出,在莱特兄弟(首次成功飞行)之后将近50年里,航空旅行并没有变得普遍。虽然他们是第一个实现飞行的人,但还需要更多的发展才能使飞行变得更安全、便宜和方便。我们正处于人工智能史的类似阶段。我们在一些基本领域取得了进展,我们最终建立的应用无疑将是惊人的。我们目前正在为未来的人工智能应用奠定基础,但我们还没有完成。
相关内容:
- 《面向机器学习的喷气时代》
- 《开放无限制性:你从未听说过的最后的重大挑战》
- 《理解语言依然是人工智能的重大挑战之一》:David Ferrucci关于理解语言的人工智能系统演进的观点。
- 《机器学习的悖论》
- 《我们需要构建机器学习工具来增强机器学习工程师》
- 《开发和部署大规模机器学习管道》:Ben Recht讲述为什么我们需要原语、管道同步工具,以及最重要的,对错误的分析和验证。
- 《如何大规模训练和部署深度学习》:Ameet Talwalkar讲述大规模机器学习