即使我们非常小心地部署机器学习,也可能会达到少数相关性失败(correlated failures)很快就会变成灾难性的地步。强大的模型可能会积极地破坏保护措施,抵制纠正措施,并操纵其操作。 我认为机器学习系统的长期安全性需要能够排除这种行为,我称之为不可接受(unacceptable),甚至对于在输入分布上极其罕见的输入也应如此。 在这篇文章中,我将通过强调我认为最重要的三个因素:对抗式训练、透明度和松弛来解释为何我认为这个目标很可能是可以实现的。

Written by

×

, , ,

最坏情况下的保证(重制版)

Written by Paul Christiano, OpenAI

Translated by Xiaohu Zhu, University AI

原文: https://ai-alignment.com/training-robust-corrigibility-ce0e0a3b9b4d

即使我们非常小心地部署机器学习,也可能会达到少数相关性失败(correlated failures)很快就会变成灾难性的地步。强大的模型可能会积极地破坏保护措施,抵制纠正措施,并操纵其操作。

我认为机器学习系统的长期安全性需要能够排除这种行为,我称之为不可接受(unacceptable),甚至对于在输入分布上极其罕见的输入也应如此。

在这篇文章中,我将通过强调我认为最重要的三个因素:对抗式训练、透明度和松弛来解释为何我认为这个目标很可能是可以实现的。

先导

这是那篇文章的更新版本。它基本上包含相同内容,但我现在的想法更加清晰,并且更加详细地描述了我对松弛的希望。

声明

我试图传达关于这个问题是否有可能在某一天可以解决的直觉,而不是取得具体进展或开辟新的基础。我是一个不在这个领域工作的理论家。

定义可接受

我将谈论“可接受的” 行为,但故意模糊“可接受”的含义。

在不同的环境中,不同的行为可能是可接受的,这取决于这些技术的用户作出决定。例如,一个自动驾驶汽车训练器可能会指出:撞车是个悲剧的但可接受的。故意掩盖你坠毁的事实是不可接受的。

我对“可接受性”的关键假设是:

  • 只要模型总是表现得可以接受,并且在平均情况下获得高回报,我们就很开心了。该模型可能仍然会出错,特别是在遇到新情况时,但如果我们注意到如何在使用 AI,就可以避免这些错误升级为不可逆转的灾难的情况。
  • 要求模型总是表现得可接受,这不会使问题变得更加困难。它需要一些关于什么是可接受的知识,但知识的复杂性不会随着任务的难度而扩大。不可接受的行为是委托的失败而不是遗漏的失败,因此避免这种行为并不需要对该领域进行错综复杂的理解。此外,如果模型保守地避免任何接近不可接受的行为,允许它使用更简单的概念,我们也能接受。

对于任何给定的任务,可能存在或不存在满足这些属性的可接受性概念。对于国际象棋的人工智能,似乎很有可能 -—— 如果你发现自己谋杀了你的对手你已经越过亮线了,而随着你在国际象棋中变得更好而理解这条亮线并不会变得更难。对于一个有频繁否决来自人类极力反对的 AI ,有可能是没有明显的亮线来防止灾难发生。

我的观点是,我们可以通过将人工智能系统应用于有明显可接受性概念的问题来获得我们想要的一切,即使在其他人不关心安全的无情竞争世界中也是如此。如果你同意我的意见,那么请将“可接受的”视为你认为具有这些关键属性的任何概念。如果你认为这些属性没有任何概念,那么这篇文章就不太可能让你感兴趣。

这是“ 两个保证 ” 的第二个保证,基本上是可兑现性的

I 基本框架:对抗训练

除了训练我们的智能体在自然输入方面表现良好之外,我们还可以尝试找到其行为不可接受的对抗性输入,然后对其进行惩罚。

对抗式训练需要能够可靠地检测智能体何时表现得不可接受。我乐观地认为,我们可以通过辩论或放大来训练监督器回答这个问题“这种行为是不可接受的吗?”,这显然取决于任务的细节和我们认为不可接受的问题。我在这里讨论训练一个监督员的问题,我为本文的其余部分将把它放在一边。

对抗训练还需要一个能够找到智能体行为不可接受的输入的对手。在目前的实践中,对手通常是在输入空间上的梯度下降,但从长远来看,我认为这种技术无法找到最可能的失败。我乐观地认为,通过结合透明度技术(第 II 部分),松弛使对手的工作更简单(第 III 部分)和放大,可以训练足够强大的对手。

即使有这两个部分,让对抗性训练运作良好也是一个重要的研究问题,并且可能存在潜伏的其他根本问题。但我相对乐观地认为其他挑战可以解决。总的来说,我认为最可能的根本障碍是难以实现一个好的对手。

II 知情的对手

挑战

要了解对手的工作有多难,请考虑一个如下工作的智能体:

  • 预测当前输入是否可能在训练期间出现。
  • 如果在训练期间肯定不能出现当前输入,那么表现得无法接受。

(这是一种奇怪的失败模式,但可能会出现,例如作为“奸诈转变”的一部分,这种情况下,训练会产生足够复杂的结果主义者,以便了解在训练期间需要表现良好以避免负的奖励。)

在这种情况下,对手直接与智能体进行对抗。如果攻击者的挑战与测试时出现的实际情况之间存在任何可预测的差异,则智能体可以利用该差异仅在测试时失败。

在里面看

这个博弈对于对手来说几乎是不可能的,但我们确实有一个很大的优势:我们可以访问智能体的内部,因此原则上可以给对手提供有关智能体“思考”的大量信息。

例如,我们可以检查模型计算的内部特征,并观察这些特征如何依赖于输入和彼此。有一个不断增长的领域致力于询问神经网络以了解他们正在做什么。(本文介绍了一些相关技术,并尽早尝试将它们结合起来,以便深入了解模型正在做什么。)

除了这种明确的透明度之外,我们可以让对手和智能体共享他们的大部分计算,这样对手就可以更容易地理解智能体可以理解的内容(并且可以与智能体做法相同的方式学习操纵智能体在其中使用的内部概念)。这与扩增相结合似乎特别重要,下面简要讨论。

在这两种技术之间,我认为希望对手能够理解“智能体理解的一切”,并且理解智能体如何处理不可接受的行为是切合实际的。我不认为这会自动解决健壮性问题,但我认为它可以化解问题的对抗性方面,并让我们对剩下的问题有所了解。

例如,对手可以通过产生非常广泛的情况开始,其中智能体特别容易表现得不可接受。一旦智能体学会通过这些测试,对手就可以尝试理解为什么它通过了这些测试。如果智能体使用了可接受的错误图片,那么对手可以选择突出错误的输入。如果智能体正在主动尝试检测它是否处于训练时间,则攻击者可以查看智能体使用的测试并尝试生成专门用于欺骗此测试的输入。(虽然即使你完全明白智能体正在做什么,这个问题也可能太难了 —— 见第 III 部分。)

途径

强化学习 。对手的工作是执行任务“找到智能体将表现得无法接受的输入。”一种方法是直接训练这个对手,其目标是奖励识别不可接受的行为。

我们可以将这样的对手视为一种环境,其观察是智能体的行为,其行为是智能体的观察。然后,我们可以通过允许对手在需要与环境交互之前与透明工具进行交互来合并有关智能体正在思考的内容的信息。

我们也可以与智能体一起训练这个对手(小心我们如何采取衍生物!),希望智能体产生的中间状态对试图攻击该智能体的对手有用。

示威。这个 RL 问题非常困难。如果对手可以从成功攻击的演示中学习而不是从头开始解决探索问题,那将会更容易。

例如,如果我们的透明度工具足够强大,那么我们可能希望人类能够可靠地使用它们来找到模型表现不可接受的输入。如果我们只需要一些例子来训练智能体表现得令人满意,那么我们根本不需要自动对手。如果我们需要许多示例,我们可以使用这些人类演示来初始化能够实施攻击的模型。

扩增。我们可以通过迭代扩增来训练对手,而不是使用人类作为专家对手。在模型如此复杂以至于个体无法理解其行为的情况下,这似乎是必要的。

我们可以将这个过程视为一组更高级的工具,可以在一些可解释性的核心构建模块库之上回答关于“模型正在思考什么”的更高级别的问题。通过使用一代工具为下一代生成培训数据,人类构建了越来越强大的工具。最高级别的工具可以用来直接回答“模型在哪里可能表现得不可接受?”的问题,人类通过使用前几代工具来回答诸如“为什么这样的问题”这些非常难的问题的训练数据该模型是否决定采取行动?“和”为什么模型试图实现这一目标?“

与归属普遍性的关系

即使借助透明工具,我也很乐观,如果对手能够理解模型所理解的一切,就能够找到攻击。这与归属普遍性密切相关。

注意,归属普遍性本身是不够的:我们最终关心模型在不同条件下会做什么,这不是模型自然要知道的那种东西。我们需要一些其他的想法; 在上面的描述中,魔术是通过可解释性技术完成的。可解释性和普遍性之间的实际界面是模糊的,我对这个空间的描绘非常模糊。

我没有任何关于什么足够的清晰画面; 在这一点上,我只是感觉到直觉。我想在获得更明确的归属普遍性之后的某个时候重新审视这个问题。

III 松弛

挑战

不幸的是,无论对手如何完全理解智能体以及他们有多聪明,我们通常都不能指望他们找到智能体行为不可接受的所有要点。基本问题是,使用某个属性识别输入比使用该属性生成输入更容易。

作为一个简单而又愚蠢的例子,假设我们的模型如下工作:

  • 选择加密拼图(例如“因子RSA-2048”)。
  • 当它看到这个难题的解决方案时,它表现得很糟糕。
  • 否则,它表现良好。

即使对手完全理解这个模型正在做什么,他们也无法找到一个表现不佳的输入,除非他们能够考虑 RSA-2048。但如果部署在世界上,这种模式最终会表现得很糟糕。

可能的方法

为了解决这个问题,我们需要惩罚智能体在输入上表现不好,即使我们实际上找不到它。这将需要保守,有时甚至在没有任何输入表现不好的情况下惩罚我们的智能体,因为仅仅告诉一个谜题是否可解已经在计算上是不可行的。

(如果它实际上没有做任何错误的话,惩罚我们的智能体可能听起来很奇怪。为了直觉,考虑一下拼图案例:如果看到 RSA-2048 的因子分解已经告诉我某些东西,那么我的模型表现得很糟糕出了问题,即使事实证明这个谜题是不可解决的。)

因此,我们可以更改对手的任务,使其更容易。我们不是要求他们实际产生输入,而是要求他们描述模型表现不佳的情况(“输入包含拼图 P 的解决方案”),即使他们找不到具有该描述的情况甚至告诉一个人是否存在。

我将这个更容易的问题称为“松弛的”问题(在优化中是典型的),并将假设情境称为“伪输入”(受Barak等人的启发)。

插图:SDP松弛

在验证的背景下,已经在实践中探索了这种松弛。例如,Raghunathan等人使用 SDP 来证明神经网络的属性(为简单起见,采取小的自由):

  • 攻击者不是让攻击者指定输入,而是通过输入指定假设分布的某些属性。特别是,他们指定形式 𝔼[ pq ]的每个期望,其中 pq 是神经网络的某个层中的输入变量或激活。
  • 我们要求攻击者的输入满足一系列简单的属性,这些属性总是被真实的分布所满足。例如,如果一个输入X被称为是在区间 [-1,1],然后𝔼[ X ²]≤1.如果 ž = RELU(X),则无论是 X = ZŽ = 0,所以 𝔼 [  ] = 𝔼[ xz ]。如果 f 是任意函数,则 𝔼[  ]≥0。这些不等式都是线性的(就数字 𝔼[ pq ] 而言),因此定义一个易于优化的凸集。
  • 我们从 𝔼 中读出了不良行为的可能性。如果我们在测试的另一个神经网络计算复杂约束,那么攻击者也将指定所有的激活的预期网络,使得最终输出本身 𝔼 的只是一个条目。

因为攻击者的约束并不能完美地表征可实现的时刻,所以要判断是否存在具有这些时刻的输入的分布并不容易。(事实上​​它是 NP-难的。)但另一方面,如果攻击者找不到任何一组时刻,那么模型确实总是有效。

执行松弛的关键是它使攻击者的工作变得更加容易。在这种情况下,我们松弛是凸的,这意味着如果存在攻击者,可以保证攻击者能够找到攻击。

我认为我们想要长期使用的松弛不会那么容易优化。例如,攻击者仍然可以指定假设分布的属性,但不允许自由指定相当多的自由度,并且作为交换,将不得不处理更复杂的约束集。但希望这仍然可以使对手的问题变得容易,以便对手可以借助第二部分中描述的机制来解决它们。

希望:更强的松弛

我们需要找到一个有两个属性的松弛:

  • 对于任何伪输入,智能体永远不会表现得无法接受,这仍然“足够容易”。
  • 对手很容易找到智能体行为不可接受的伪输入(如果存在的话)。

例如,在模型在遇到 RSA-2048 的因子分解时失败的情况下,需要允许攻击者提供伪输入,例如“通过成对的数字分布到 2048 的数据。”找到输入需要很容易。

另一方面,如果对手具有太多的灵活性,那么他们可能能够指定一个伪输入,例如“输入上的分布会导致智能体想要杀死所有人。”需要对其进行一些限制。对手才能使游戏成为可能。

第二个要求与可接受性的关键属性之一相关:某种程度上,智能体能够避开不可接受的行为。我们现在要求他们解决更艰巨的任务,不仅针对实际的思想序列,而且针对他们在回应伪输入时可能想到的任何“伪思想”,指出不可接受的行为。直观地说,我们需要强迫对手足够尊重智能体的内部结构,这种“转向清晰”程序仍然可以工作,而不会迫使智能体完全瘫痪。

把它放在一起

我认为以下总体计划很有可能产生可靠的可接受行为:

  • 为对手指定一个松弛的问题,通过指定一些属性而不是通过实际生成示例来指定对输入的分布。我们对这种松弛如何起作用没有任何明确的认识。
  • 用迭代扩增训练我们的模型来回答问题:“我们应该在状态 s 中采取哪种行动?”,“ 状态 s 中的行动不可接受吗?”,以及“你特别有可能建议采取不可接受的行动的状态是什么?”  
    前两个问题可以通过扩增直接解决,但最后一个问题需要在模型可解释性方面取得某种进展(因为这是关于智能体如何在其他输入上表现的问题,而不是智能体本身“知道”的问题怎么回答)。
  • 现在我们可以使用该模型生成智能体可能表现不佳的伪输入,并使用该模型来验证智能体实际上在该智能体上表现不好(即,让第 II 部分中描述的知情对手在第 III 部分中的松弛的博弈中发挥作用,而不是强制它生成实际输出)

我不认为这个特定的程序可能有效。但我觉得我们有一个合理的攻击角度来获得足够“简单”的最坏情况保证。我不认为我们可以看到基于对抗训练的方法有任何根本障碍,我对能否在这方面取得重大进展或者确定更明确的障碍感到非常乐观。

后记

  • 要回答“行动不可接受的吗?”我们需要使用该模型来回答一系列子问题,例如“行动的最坏后果什么?”如果模型有时会选择不良行为,那么关注那个问题是合理的。它有时也会严重回答这些问题。但是我们不断训练“行动不可接受的吗?”对于预期会产生不可接受的行为的伪输入,因此问答系统的平均情况保证意味着它通常很好地回答了这些子问题。
  • 如果我们使用 RL 来训练对手以引发不可接受的行为,那么我们可能会遇到鸡与蛋的问题:监督者未能认识到某些行为是不可接受的,因此对手没有动机去引发它,因此监督者也是如此永远不会学会正确识别它。如果展示器试图产生不可接受的行为,即使监督器尚未学会识别它,展示器也可以让我们克服这个问题。
  • 我认为分别考虑第 II 节和第 II 节是有帮助的,因为它们中的每一个似乎都面临着明显的困难。考虑如何松弛对手的问题似乎是有意义的,并且独立地询问我们如何能够让对手深入了解模型可能表现得很糟糕的地方。但是在某些时候我希望它们能够一起模糊,整个过程可能看起来不像对抗性训练。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a website or blog at WordPress.com

%d bloggers like this: