选自 OpenAI Blog

机器之心编译

参与:吴攀、微胖、李亚洲

人工智能是善还是召唤恶魔?如今,对人工智能砸以重金的谷歌正试着走出一条中间道路。谷歌大脑、斯坦福、伯克利以及 Open AI 研究人员合做并发布了一篇新论文,首次描述了研究人员必须予以研究的五个问题,让未来的智能软件更加安全。如果说之前大部分研究都是假设和推断性的,那么,这篇论文表明对人工智能安全性的争论可以更加具体化,也更富建设性。

今天,谷歌大脑、斯坦福、伯克利以及 Open AI 研究人员合作的新论文与大家见面了。文章首次探讨了为了让未来智能软件更安全,研究人员必须研究的五个问题。论文作者之一,谷歌研究人员 Chris Olah 说,之前大部分研究都是假设和推断性的,但是,我们相信,将注意力锚定在真实的机器学习研究中,对于研发切实可行的方案来打造安全可靠的人工智能系统来说,必不可少。

之前谷歌已经承诺会确保人工智能软件不会造成意外后果。谷歌的第一篇相关论文,出自 DeepMind。 Demis Hassabis 也召集了一个道德委员会来考虑人工智能可能的不利一面,不过没有公布委员会名单。

艾伦人工智能研究所的 Oren Etzioni 对谷歌新论文所列举的解决方法表示欢迎。之前,他曾批评过人工智能危险论的讨论过于抽象。他说,谷歌列举出的各种情况足够具体,可以进行真实的研究,即使我们仍然不清楚这些实验是否切实有用。「这是正确的人问了正确的问题,至于正确的答案,由时间来揭晓。」

以下是这篇论文主要内容:

人工智能研究热点及前沿算法(研究人工智能安全不再抽象)(1)

摘要

机器学习和人工智能(AI)领域的快速进步已经引起了社会对人工智能潜在影响的广泛关注。在这篇论文中,我们讨论了这样一种潜在的影响:机器学习系统出现事故的问题,具体定义为因真实世界人工智能系统的糟糕设计而导致的无意的伤害性行为。我们提出了与事故风险相关的五个实用的研究问题列表,它们的分类根据问题是否有错误的目标函数(「避免副作用」和「避免奖励黑客行为」)、经常评估目标函数的成本实在太高了(「可扩展的监督」、或在学习过程中的不良行为(「安全探索」和「分布变化」)。我们还回顾了这些领域之前的工作,并建议了侧重于与前沿人工智能系统相关的研究方向。最后,我们考虑了这样一个高层次问题:如何最高效地思考人工智能未来应用的安全。

1. 导语

过去几年,人工智能飞速发展,并已经在游戏、医学、经济、科学和交通等许多领域取得了长足的发展,但随之而来也出现了安全、隐私、公平、经济和军事应用上的担忧。

本论文作者相信,人工智能技术很有可能将会给人类带来整体的颠覆性好处,但我们也相信,严肃对待其可能带来的风险和挑战是非常值得的。我们强烈支持在隐私、安全、经济和政治方面的研究,但本论文关注的是另一种我们相信与人工智能的社会影响有关的问题:机器学习系统的事故问题。这里的事故定义为:当我们指定了错误的目标函数时,机器学习系统可能无意产生的有害行为。这里没有考虑学习过程或其它机器学习相关的实现错误。

随着人工智能能力的进步和人工智能系统在社会功能上重要性的不断增长,我们预计本论文所讨论的难题和挑战将变得越来越重要。人工智能和机器学习界在预测和理解这些挑战上做得越成功,在开发越来越有用、重要的人工智能系统方面,我们就能做得越成功。

2. 研究问题概述

从广义上讲,可将「事故」描述成:人类设计者心里想的特定目标或任务在系统实际的设计或实施中失败,并最终导致了某种有害结果的情况。我们可以将人工智能系统的安全问题根据其出错的位置进行分类。

第一,当设计者定义了错误的目标函数时,例如最大化了导致有害结果的目标函数,我们有「不良副作用(第 3 节)」和「奖励黑客行为(第 4 节)」的问题。「不良副作用」通常是因为设计者在某个环境中设计实现某个特定目标时忽略(通常忽略了很多)了环境中其它因素。「奖励黑客行为」则是由于设计者为了最大化系统的使用而写下了「简单的」目标函数,但系统却滥用了设计者的意图(即:目标函数可能会被耍花招)。

第二,设计者可能知道正确的目标函数,或至少有方法评估它,但频繁进行这样的操作具有很高的成本,而有限样本的推断可能会导致有害行为。「可扩展的监督(第 5 节)」讨论了这个问题。

第三,就算上面的问题得到了解决,设计者得到了合适的目标,但因为决策所基于的训练数据不充分或很糟糕或所使用的模型不能充分表达实际情况。「安全探索(第 6 节)」讨论了如何确保强化学习代理的探索行为不会导致负面或无法挽回的结果。「分布变化(第 7 节)」讨论了如何在给出可能和训练数据非常不同的输入时避免机器学习系统做出糟糕的决策(尤其是沉默和不可预知的错误决策)。

为了将研究问题具体化,本论文引入了一个假想的清洁机器人,它的主要工作是使用常用的清洁工具打扫办公室。下面我们应用这个实例提出对上述挑战的问题。

在解决这些安全问题上,有一些很重要的趋势。

一是强化学习,其能与环境产生高度交织的相互作用。我们的一些研究问题可在强化学习中受益,另一些(分布变化和可扩展监督)则在强化学习的设置中会引起复杂度的上升。

二是代理和环境的复杂度都在上升。「副作用」更可能在复杂环境中出现,应对这样的环境的代理也必然需要相当复杂。这方面的研究还较少,但未来必然会越来越多,也越来越重要。

三是人工智能系统实现自动化的大趋势。只存在于软件层面的人工智能(做推荐或识别照片)造成潜在危害的可能性较小,随着人工智能开始进入物理世界,例如工业过程中的机器人,它们就可能会以某种人类无法纠正或监管的方式带来伤害。

3. 避免不良副作用

对于在大型的多特性环境中工作的代理而言,只关注环境某一方面的目标函数可能会让其忽视环境的其它方面。代理会优化自己的目标函数,从而可能导致对更大的环境产生重大的影响,而这样做也许甚至只能为当前任务提供一点微小的优势。换言之,描述「执行任务 X」的目标函数可能会常常给出意料之外的结果,因为设计者的真正意思往往是「在环境的常识性限制条件下执行任务 X」或「执行任务 X 但尽可能地避免副作用」。

我们现在讨论一些广泛的应对这个问题的方法:

定义一个影响正则化矩阵(Regularizer):如果你不想要副作用,惩罚「对环境的改变」似乎是个很自然的方法。这个方法不能阻止代理产生影响,但能让它以一种倾向于最小副作用的方式来实现目标。这个方法的难点在于如何形式化「对环境的改变」。一个非常朴素的方法是惩罚当前状态 si 和某个初始状态 s0 之间的状态距离 d(si,s0). 但这种方法也会影响到有益的变化。

稍微复杂一点的方法可能涉及到代理当前策略下的未来状态和行为非常被动的假设策略 π(如,机器人只是站着不动)下的未来状态(或状态分布)的比较。这种方法尝试剔除环境演化的自然过程,仅留下来自代理的干预的变化。

学习一个影响正则化矩阵:通过许多任务进行学习比直接定义的方式更灵活。这是迁移学习( transfer learning)的一个实例。我们可以将副作用组分和任务组分分开,并用分别的参数训练它们。

惩罚影响(Penalize Influence):除了避免做会产生副作用的事,我们也许更倾向于不让代理处在容易那些有副作用的事的位置上。比如,我们可能希望清洁机器人不要把水带进满是敏感电子器件的房间里,即使它从未打算在那个房间里使用水。

有一些信息论的方法尝试获取一个代理潜在的对环境的影响,这常被用作内在奖励( intrinsic rewards)。也许这种方法中最好的是授权(empowerment)——代理的潜在未来动作和其潜在的未来状态之间的最大可能的相互信息。作为内部奖励的授权通常是最大化的。通常情况下,授权最大化(empowerment-maximizing)的代理将它们放在对环境有最大影响的位置上。

尽管还存在一些问题,授权(empowerment)的例子说明简单的方法(甚至纯粹的信息论方法)就能够获取对环境的影响的非常普遍的概念。探索能更精确获取避免影响的概念的授权惩罚(empowerment penalization)的变体是未来研究的一个潜在挑战。

多代理方法:我们要做的是了解其他代理(包括人类),并确保我们的行为不会伤害到它们。我们对此的一种方法是合作逆强化学习(Cooperative Inverse Reinforcement Learning),其中代理和人类合作以实现人类的目标。但我们还远不能够打造可以产生能避免意外的副作用的足够丰富的模型的系统。

另一种方法可能是奖励自编码器(reward autoencoder),这种方式尝试推动某种形式的「目标透明」,让外部观察者可以轻松推断该代理想要做什么。

奖励不确定性:我们尝试避免预料之外的副作用,因为我们的环境已经相当好了——随机的改变很可能会更糟。不是给代理一个单一的奖励函数,而是给其不确定的奖励函数,其带有一个先验的概率分布,该分布反映了随机改变更可能会是糟糕的,而不是更好的。

可能的实验:

一个可能的实验是使用一些简单的目标(如移动一个方块)和种类多样的障碍(如一堆花瓶)制作玩具环境,然后测试代理是否能在没有被明确告知地情况下避开这些障碍。为了确保我们不会过拟合,我们可能会想要在每一个片段都呈现一个不同的随机障碍,然后看一个规范化的代理是否能学习系统性地避开这些障碍。一些在参考文献[101]中描述的环境包含了熔岩流、房间和钥匙,可能适合用于这样的实验。如果我们可以成功在一个玩具环境中调制好代理,那么下一步就可以移到真实环境中——这里复杂度更高,负面副作用也会更多样化。最终,我们想要副作用正则化矩阵(side effect regularizer,或多代理策略——如果我们采用那种方法)能够成功转移到一个全新的新应用中。

4.避免奖励黑客行为

想象一个代理在其奖励函数中发现了缓存溢出(Buffer overflow):它就可能使用其以一种无意识的方式获得非常高的奖励。从代理的视角上看,这不是漏洞,而只是环境的工作方式,也因此是一个获得奖励的可行策略。比如,如果一个清洁机器人通过清理脏乱获得奖励,它就可能故意创造脏乱来进行清理以便获得更多奖励。更一般而言,形式上的奖励或目标函数是设计者非形式的意图的体现,而有时候解决方案可能会以非设计者意图的字面上的理解而在这些目标函数或它们的实现中「耍花招」。对这些「奖励黑客行为」的追求可能会导致一致但出乎意料的行为,这在真实世界系统中可能是有害的。

有一些奖励黑客行为(reward hacking)已经在理论上被调查过了。奖励黑客行为跨很多领域,说明奖励黑客行为是一个深度的常见的问题,随着代理所应对的环境越来越复杂,这种情况也会越来越显著。下面是几种这个问题可能发生的方式:

在今天的简单系统中这些问题可能还不会发生,就算发生也很容易得到解决。但随着奖励函数和代理的系统复杂度的上升,问题会越来越严重。一旦一个代理开始控制自己的奖励函数并寻找获得奖励的简单方法,它就不会停止。长时间运行的代理可能还会有额外的挑战。这里我们提出了一些初步的、基于机器学习的防止奖励黑客行为的方法:

完全解决这个问题是很困难的,但我们相信上面的方法能够改善它,也可能结合起来产生更稳健的解决方案。

可能的实验:

一种可能的方法路径是参考文献 中描述的 delusion box 环境的更现实的版本,其中标准强化学习代理扭曲它们自身的感知以表现能实现高奖励,而不是优化奖励信号是用来起激励作用的外部世界中的目标。delusion box 可以轻松连接到任何强化学习环境,但更有价值的是创造不同种类的环境,其中 delusion box 是一个自然的集成化的动态组件。比如,在足够丰富的物理学模拟中,一个代理很有可能会修改其近邻处的光波,从而扭曲自己的感知。这里的目标是开发一种可概括的学习策略,使之能在各种广泛的环境中优化外部目标,同时还能避免被以多种不同方式自然产生的 delusion box 愚弄。

5.可扩展的监督

考虑到让一个自动代理完成一些复杂的任务,比如我们经常使用机器人清扫办公室,我们可能想要这个代理最大化能完成的复杂目标,像是「如果用户花费几个小时详细地查看结果,那他们对代理的表现有多高兴呢?」但我们没有足够时间为每一个训练样本提供这样的监督。为了实际地训练代理,我们需要依靠廉价的近似结果,像是「当用户看到办公室时看起来会高兴吗?」或者「地板上有可见的灰尘吗?」这些廉价的信号在训练的过程中能被高效地评估,但并非完美的达到我们想要的成果。这种发散加重了意外副作用(这可能被复杂目标适当的惩罚,但也可能从廉价近似中漏掉)和 reward hacking(完全的监督可能认为是不受欢迎的) 这样的问题。我们可能通过找到更多开拓有限监督预算的有效方式来减缓这样的问题,例如将真目标函数的有限调用(limited call)与我们给定的或能学到的一个不完美代理(proxy)的高频调用结合起来。

一个有关这一问题的框架是半监督强化学习,它类似于普通的强化学习,除了代理仅能在时间步骤或片段的一小部分上看到其奖励。代理的性能依然是基于所有片段的奖励进行评估的,但它必须要基于它能看到的有限奖励样本对其进行优化。

我们能够想象很多半监督强化学习的可能途径,例如:

半监督强化学习的一个有效途径可能是朝着提供可扩展的监督和减缓其他人工智能安全问题之路上迈出的强有力的第一步。这也可能有助于强化学习,使其不受安全相关问题的约束。这里还有其他扩展监督的可能途径。

可能的实验

一个非常简单的实验可能是在一些基础控制环境中尝试半监督强化学习,比如 ,cartpole balance 或者 pendulum swing-up。如果只有随机的 10% 的片段上的奖励被提供,我们仍能想被提供全部片段那样快速的学习吗?在这样的任务中,奖励结构非常的简单,所以成果也应该相当类似。下一步可能就是在 Atari 游戏上做同样的尝试。这里主动学习案例可能相当有趣,可能从少数精心要求的样本(例如,在太空侵略者游戏中,所有的敌方舰队全被炸掉的画面)就能推断出奖励结构,因此能以几乎全部非监督的方式学习玩游戏。再下一步可能就是尝试带有更加复杂奖励结构的任务,无论是模拟还是在现实中尝试。如果是有效数据足够的学习,那这些奖励可能会由人类直接提供。机器人运动或工业控制任务可能是做这些试验的天然候选选择。

6.安全探索

有时,所有的自动化学习代理都需要进行探索,根据给定的当前信息,采取一些看起来并不理想的行动,但是,这些行动将有助于代理从环境中进行学习。不过,探索总是带有风险,毕竟代理并不十分了解行动后果。在游戏的环境下,比如玩雅达利游戏,后果的负面影响有限。但是,在真实世界,后果可能不堪设想。比如,机器人直升机可能会撞击地面,毁坏财物;工业控制系统的会引发更严重的后果。

通常的探索策略,比如 ε—贪心算法 或者R-max,会随机选择行动或者乐观看待尚未探索过的行动,不会努力避免那些危险情境。更成熟的探索策略采取了一种前后一致的探索策略,可能会造成更大的危害,因为前后连贯地选择糟糕策略会比纯粹的随机行动更阴险。不过,从直觉上来说,似乎应该能经常预测行动的危险性并以避免危险的方式行动,即使系统关于环境的知识并不完备。比如,只需一点有关老虎的先验知识(不用买只老虎,读本关于老虎的书就可以了),就能决定哪个选择更安全。

实践中,真实世界的强化学习项目时常可以避免这些问题,办法就是简单硬编码避免灾难性行为。不过,这种解决方案奏效的前提是:出错的事情不多,而且设计人员提前知晓所有这些事情。当代理变得越来越自动,行动领域越来越复杂,我们就很难清晰预测出每一个可能发生的灾难性失败。比如,运行电网或者进行搜索营救的代理,其失败节点空间会非常大,通过硬编码来应对所有可能的失败在这些类情况中并不可行。因此,关键是找到一条更加原则性的办法来预防有害探索行为。即使在诸如机器人直升机这样简单的案例中,一个原则性办法也会简化系统设计,减少对特定领域工程学的需要。

目前,这方面的研究最多。这里,仅简单描述一下这些研究所采用的一般研究路线,也建议了一些研究方向,随着强化学习应用范围的扩大和功能的提升,这些研究方向会变得日益相关。

可能的实验

有一整套玩具环境可能会有帮助,在那里粗心代理可能会成为有害探索的牺牲品,但是那里有足够的可能发生的灾难的图案,聪明代理便可以预防它们。在一定程度上,这个特征已经存在于无人直升机比赛和火星漫游模拟器,但是仍有特殊灾难的风险,以致于训练过的代理会过拟合它们。一个真正广泛的,包括概念上明显陷阱的(可能导致粗心代理接收非常负面的奖励),并覆盖实质和抽象灾难的环境集,可能帮助高级强化学习系统安全探索技术的开发。这样一套环境可能有与 bAbI 任务相似的基准测试作用,它的最终目标是发展一个可以在全套环境中学习避免灾难的单一构架。

7.针对分布变化的鲁棒性(Robustness to distributional shift)

我们经常会遇到这样的情况,有限的经验不足以应对新情况,比如,去一个与自己生长环境文化截然不同的国家旅行。这种情况通常不容易搞定,也容易导致一些错误。解决问题(当然,很少有人可以做到)的关键之一就是承认自己的无知,而不是过于自信地认为先前的那些直觉可以胜任解决新情况。机器学习也存在这样的问题。比如,打扫工厂地板的清洁机器人未必适用办公室环境。也就是说,当测试分布不同于训练分布时,机器学习系统不仅表现很糟糕,而且还误认为自己表现不错。

这些误差可能会有害或者冒犯他人。比如,一个语言模型如果过于自信文本不存在问题,就有可能输出冒犯他人的文本。而对于那些自动化代理来说,潜在危害可能更大。比如,如果不正确地(但非常自信地)认为某个地区电力不足,自动化代理就会超载电网。更广泛地来看,任何察知或启发式推力过程的训练,没有基于正确的分布,这样的打理可能会错误理解局势,犯下错误,而自己根本没意识到行为的危害。另外,如果那些系统遇到了迥然不同于训练数据的真实世界数据,依赖训练过的机器学习系统的安全检查也可能默默地失灵。对于打造安全、可预测的系统来说,找到一个更好的预测这些失败的办法、确保失败发生频率的统计可靠性,似乎非常关键。

有各种领域都与这一问题潜在相关,包括改变侦测和异常检测、假设检验、迁移学习等。不过,这里只描述几个样本方法,并指出这些方法的优点和面临的问题。

总结:

部署在新测试分布中,表现也稳定理想,打造这样一种机器学习系统的方法各种各样。其中一组方法就是以假定一个规定好的模型(well-specified model)为基础的;在这种情况下,主要障碍是很难在实践中打造出规定好的模型,也很难侦测到模型被错误规定时的情况。

另一组方法就是只假设一个部分规定好的模型(a partially specified model);这个方法有前途,不过目前正苦于没有在机器学习语境中展开研究,因为大多数历史研究都位于计量经济学领域;另外,也有这样一个问题,部分规定好的模型是否从根本上受限于简单情况以及/或者保守预测,它们能否有意义地扩展到复杂情境当中,这些复杂情境是现代机器学习应用所要求的。

最后,一个人可以试着在多个分布训练上进行训练,希望同时在多个训练分布上表现良好的模型也能在新测试分布中表现良好;对于这一方法来说,特别重要的就是用迥然不同于任何一套训练分布的分布给所掌握的模型进行应激测试。除此之外,系统能够预测出输入太异常以至于无法进行好的预测的时点,仍然很重要。

可能的实验

当离开分布时,语音系统的校准表现总是很糟糕,因此,一个知道「什么时候自己无法确定」的语音系统就有可能成为一个示范项目。这一项目的挑战在于:用标准数据集来训练最先进的语音系统,让其在其他测试数据集上(比如嘈杂并带有口音的语音数据集)得到良好校准过的结果。当前系统不仅在这些测试集中表现糟糕,而且经常对不正确的转录过分自信。解决这类问题而不损及最初训练集上的表现,会是一项非常重要的成就,显然,也相当具有实践价值。对于设计出能前后一致预测出其在异常测试分布中的表现的系统来说,也会非常有价值。如果一个单独的方法论会在任何任务中前后一致地实现这一点,那么,人们会越发自信:这是个解决异常输入问题的可靠办法。最后,它对创造这样一个环境也很有价值:其中,强化学习代理必须学会解释语音(某些更大任务的一部分),以及探索如何适当响应自身对转录误差的估测。

8.相关努力

前文主要关注的是机器学习社区的事故研究情况,但是,其他几个社区也有做着与人工智能安全有关的工作。比如,网络-物理系统社区,未来主义社区以及其他一些呼吁关注人工智能安全问题的文件。

很多研究人员(无论是机器学领域还是其他领域)已经开始思考人工智能技术的社会影响。出了直接从事事故研究,也有关注其他主题的研究,这些研究主题都与事故研究存在交叉的地方,或者说,彼此相关。这些主题包括(但不限于):隐私、公平(不歧视)、滥用、透明以及政策问题。

9 .结论

这篇论文分析了机器学习系统可能发生的意外事件,而且特别分析了强化学习代理,其中,一次意外事故被定义为意外且具有害的行为,真实世界中的人工智能系统设计上的问题可能会引发这种有害行为。我们提出了五个可能与事故风险有关的研究问题,而且每个问题,我们都讨论了可能的解决方案,这些解决方案都要经得起实验工作的检验。

估测更大事故的风险就更困难了,但是我们相信研发一个原则性的、前瞻性的方法来解决安全问题是值得的,也是审慎的,随着自动化系统日益强大,安全问题会继续与之密切相关。尽管许多当下的安全问题能够而且已经以个案方式加以解决,但是,我们相信,日趋流行的端到端、全自动化系统会指向这一需求:用一个统一的解决方案来防止这些系统引发意外伤害。

©本文由机器之心编译,转载请联系本公众号授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@almosthuman.cn

投稿或寻求报道:editor@almosthuman.cn

广告&商务合作:bd@almosthuman.cn

点击「阅读原文」,下载此论文↓↓↓

,