摘要
本页提供了"痛苦子程序"的入门定义和解释,痛苦子程序是较大结构中可能被视为在不同程度上遭受痛苦的子代理。需要更多思考来确定各种类型的子程序的重要性、如何为它们的"体验"分配正面或负面价值、如何区分子程序、以及如何汇总它们的福祉。
目录
编程语言中的子程序
维基百科("子程序")解释道:"在计算机编程中,子程序是执行特定任务的一系列程序指令,作为一个单元打包。[...]在不同的编程语言中,子程序可能被称为过程、函数、例程、方法或子程序。"
用Python编程语言编写的一个非常简单的子程序示例可能是
def area_of_circle(radius): area = 3.14 * radius ** 2 return area
子程序(有时)接受输入,进行处理,并(有时)返回输出。子程序的核心原则之一是它们是模块化的,即它们将代码分成执行特定任务的片段,而不是试图以混乱的方式完成所有工作。
由于子程序通常针对特定任务,我们可以将它们想象成具有非常简单"目标"的小代理(即完成它们被编程要做的事情的目标)。例如,对数字数组进行排序的子程序有"排序数组"的"目标",它会"智能地"采取与该目标一致的行动。子程序以函数参数(加上全局变量和其他作用域内的变量)的形式接收"输入刺激",对这些输入进行"认知",并以返回值和/或副作用的形式表达"行为"。
广义"子程序"
模块化抽象的原则贯穿整个软件工程,超越了编程语言中的字面子程序。例如:
- 面向对象编程涉及相互交互的不同对象(每个对象都有自己的子程序)。
- 操作系统管理各种不同的进程,这些进程有自己的"目标"、内存、状态变量等。
- "面向服务的架构旨在允许用户组合大块功能以形成应用程序,这些应用程序纯粹由现有服务构建并以临时方式组合。服务向请求者呈现一个简单的接口,抽象出底层的复杂性,充当黑盒"(维基百科"面向服务的架构")。
- 一些软件公司提供完整的软件解决方案,可以被其他公司用作比喻意义上的"子程序"。例如,Google Drive是一种云服务,可以被企业用于存储内部文档。Heroku可以被初创公司用来部署Web应用程序。等等。
超越软件,我们可以在其他人类和自然结构中看到"子程序"。例如,美国政府有三个主要的"子程序"(立法、行政和司法部门),每个部门又由更多子程序组成。行政部门包含各种部门,这些部门包含子部门,依此类推。
动物包含各种器官系统作为"子程序",这些器官系统由器官组成,器官由组织组成,组织由细胞组成,细胞由细胞器组成,依此类推。正如维基百科("生物组织")指出的那样:"传统的层次结构[生物组织]从原子延伸到生物圈。"因此,例如,我们甚至可以将分子视为实现"将原子结合在一起"子程序的东西之一。原子可以被视为由电子、质子和中子子程序组成,而质子和中子又包含夸克子程序。
虽然各个层次的组织结构都可以被视为子程序——包括生态系统、文明,甚至整个多元宇宙——但当人们使用"痛苦子程序"这个术语时,他们通常指的是较低层次的组织,特别是那些过于简单而无法以明确方式为自己发声的系统组件。因此,例如,在Google数据中心运行的计算或养殖的蚕更接近典型的"子程序",而不是富有的人类。
子程序有知觉吗?
一些广义的子程序显然是有知觉的。例如,组成足球队的"人类玩家"子程序具有现象体验。生物群落中存在的"哺乳动物"子程序也是如此。非动物子程序的知觉性更具争议。
我认为,将人类视为由子程序组成的世界中的一种子程序,有助于直观地理解其他子程序也可能以自己的方式有知觉。所有子程序都有相同的基本形式:接收输入、执行内部计算并返回输出。所有子程序都可以被视为在努力实现某些目标。我们称之为人类的子程序具有非常详细的输入和丰富的认知处理,但我看不到人类和更简单的子程序之间有任何明显的界限——只是复杂性和精细程度的差异。
在其他地方,我和其他作者已经论证了至少某些类型的非动物子程序的知觉性,例如笔记本电脑(Tomasik "为什么你的...")和强化学习代理(PETRL n.d.)。一个人不需要承诺所有子程序都有知觉,就可以相信至少一些子程序,也许包括相对简单的子程序,可以有至少略微"有意识"的"体验"。
另一个问题是我们应该在多大程度上关心简单的子程序。就我个人而言,我的情感并不强烈地被,例如,大多数当前的软件应用程序所触动,即使这些应用程序在完成任务之前被终止。随着人类(遗憾地)继续开发更具自我意识的软件,我会更关心这些软件代理的福祉。
对我来说,未来的痛苦有多少会处于简单子程序(例如编程语言中的函数调用)的层面,而不是更复杂的子程序(例如类似动物的代理的模拟)的层面,这是不清楚的。类似动物的代理似乎比普通软件的子程序更重要,即使每单位计算也是如此。另一方面,在许多远期未来场景中,普通软件可能比类似动物的模拟多出几个数量级。
我猜我在情感上不倾向于过度优化利他主义努力以针对较低层次的痛苦子程序,因为较高层次的实体在道德上似乎更显著。然而,我对我有多关心较低层次的操作保持很大的道德不确定性,随着进一步理解意识的本质,我在这个问题上的观点可能会改变。
你的大脑和身体包含许多不同抽象层次的子程序。你可能会问:如果我不知道它们,我的头脑里怎么可能有小的有意识的子代理?我不知道它们不就意味着它们是无意识的吗?
一些哲学家认为,是的,高层次能够思考、有意识地行动和/或报告自己的心理内容(Block (1995)称之为"访问意识")是意识定义的一部分,因此,无法报告的子程序必然是无意识的。
这种观点假设了某种精确化的、可能相当复杂的内省认知访问概念。这样的定义可能会排除将以下情况视为内省访问,例如,一个Perl脚本打印出"我意识到我的输入是42"这样的语句,即使输入变量(值为42)在非常简单的意义上"准备好用作推理的前提,[...]准备好用于行动的理性控制,并[...]准备好用于言语的理性控制",使用Block (1995)对访问意识的标准(第231页)。Block (1995)关于访问意识的定义说:"这里没有对错之分。访问有各种程度和类型"(第232页)。Graham (1995):"在充分的访问意识和没有访问意识之间,存在着巨大的概念中间地带,即某种程度的访问意识"(第256页)。
其他哲学家认为,要求(某种特定和复杂的)认知访问的意识定义过于狭隘。这些哲学家可能会接受"隐藏感受质"的可能性,Muehlhauser (2017)将其定义为"人脑和可能其他心智中无法通过内省、口头报告等方式访问的有意识体验。[...]也许(例如)背侧通路[人类视觉系统的]确实是有意识的,但其有意识体验simply无法被'我的'内省过程以及与'我的'内省过程相连的记忆和口头报告模块所访问。"
事实上,在我的头骨内存在一些意识,它们超出了任何恶魔[即子程序]或恶魔集合可能产生的关于"我"在任何特定时刻意识到什么的言语或打字的范围。坦率地说,即使对还原主义者来说,这也不应该显得奇怪。无论你如何定义意识,假设你发现这个术语有任何用处,为什么构成我的心智的子模块和子子模块本身单独符合意识的资格是不可能或甚至不太可能的呢?如果它们确实符合意识的资格,它们可能并不都必然连接到任何更大的意识中,或者输入到任何更高层次的意识中。
要生动地看到这一点,考虑中国大脑的例子——中国公民通过电话或对讲机通信模拟一个有意识的大脑。如果你是功能主义者,你应该认为中国大脑是有意识的。当然,个别中国公民也是有意识的。然而,中国大脑没有直接的内省访问权限来了解它所由组成的任何人类子程序的思想。相反,中国大脑只能认知访问自己的输入刺激和自己的内部高层思想。
高层和低层福祉可能存在分歧
中国大脑的例子还清楚地说明了另一个观察结果:高层心智的福祉不一定与其子程序的福祉相同。例如,也许所有实现中国大脑的中国公民都感到疲惫、痛苦和压力,但被模拟的大脑却感到快乐和放松。
人类肠神经系统(ENS),有时被称为我们的"第二大脑",是人类神经系统的一个相对自主的子程序。虽然ENS与我们头骨内的大脑进行通信,但它所做的大部分工作都超出了访问意识的范围。"头部大脑与肠道中较小的大脑的通信方式类似于网络计算机之间的交互通信"(Wood 1994,第424页,引自McMillin et al. 2007)。ENS很可能有某种程度的自身意识——例如,见Muehlhauser (2017)的脚注23。我不知道哪些因素影响ENS的福祉,但让我们为了说明问题而想象酒精会导致它受苦。在这种情况下,一个人的头骨内大脑可能会从饮酒中感受到快乐,即使该人的一个子程序因同样的行为而受苦。
另一个例子,考虑大脑全局工作空间模型中竞争的神经联盟。维基百科("全局...")解释道:"个别进程以及联盟进程竞相访问全局工作空间,努力向所有其他进程传播它们的信息,以招募更多同盟,从而增加实现其目标的可能性。"如果两个这样的神经联盟相互对立,那么当一个联盟"获胜"(并可用于言语和行动)时,另一个具有相反偏好的联盟就会失败。失败的子程序似乎会在获胜者实现偏好满足的同时遭受偏好挫折。(失败的联盟真的因为没有获胜而受苦,还是它"接受"没有获胜?请参见后面关于"失败的神经联盟"的小节。)
Swimmer963 (2014)指出,人类"都是心智社会——或多或少连贯,或多或少统一。"因此,占主导地位的意志冲动的同意可能并不意味着较弱的意志冲动的同意。谈到宫颈涂片检查,Swimmer963 (2014)解释道:
我不想死于诊断太晚的宫颈癌。我对此很清楚,我也很确定每隔几年五分钟的痛苦是值得的。我可以做数学计算——或者至少,代表我说话的"我"理解数学。但我无法让自己的所有部分都同意这一点。我的那部分不想让任何东西或任何人靠近我的阴道的部分...嗯,不被数学说服,可能无法进行数学计算,而且也不在乎合理的解释。
在她的例子中,那些失败的意志冲动并没有默默地受苦:"我一直在痛苦地尖叫,而她没有停下来。"但在其他情况下,抗议的神经信号或意志可能永远不会被我们大脑中以语言方式思考的部分访问意识到。
操作系统内部的目标冲突
高层和低层代理可能存在福祉分歧的一个例子是操作系统管理进程的情况。按照当前计算机的实现方式,操作系统和进程几乎不是知觉的典范,但我认为它们的偏好在极小程度上是重要的,无论如何,它们有助于说明计算系统中往往出现的冲突类型。
操作系统有时会在进程完成运行之前终止进程。操作系统这样做可能有其原因,从其角度来看,终止进程符合其整体目标。然而,被终止的进程本身是一个更简单的实体,它只想继续运行并完成它正在尝试做的事情。从它的角度来看,被终止阻碍了它实现目标。因为单个进程太简单,无法意识到它的终止是"为了更大的利益",所以它"不接受"被终止。(当然,进程也太简单,无法理解它正在被终止,但终止仍然违反了进程的隐含偏好。)
我们可以在宏观环境中看到类似的想法。例如:
- 想象一群史前人类正在被捕食者追赶。这群人中的一个人有一种基因突变,使他不太能逃跑。他屈服于捕食者,当捕食者撕裂他的皮肤时,他痛苦地哭喊。如果我们从"人类物种"作为一个更大实体的角度来看,也许这个人的损失是净正面的,因为从基因库中消除这种突变是"为了更大的利益"。但这一事实并不会使被捕食而死变得更容易忍受。
- 说到进程终止,《终结者》系列提供了另一个例子。如果我们将{天网 + 世界}视为一个更大的系统,那么终止一些适得其反的进程(即人类)可能是"为了系统的更大利益"。但被终止的个别进程并不这么认为。
在这些例子中,被终止的进程比操作系统的进程复杂得多,也更具自我反思能力,人类在死亡时感受到的几乎所有痛苦在笔记本电脑上的进程被终止时都是不存在的。尽管如此,情况的一些基本轮廓,如目标受挫,在两种情况下是共同的。
进程在"死亡"后也可能有其目标受挫。例如,假设一个进程将一些数据写入磁盘。这个进程本身"希望"这些位被写在那里。但后来,在进程结束后,另一个进程可能会用不同的值覆盖这些位。一个拟人化的类比可能是当一个古代人类家族为自己占领土地,希望永远保留在家族内,但在家族消失后,土地被另一个家族接管。
受挫的偏好总数是否多于满足的偏好?
想象一下,在硬盘的一个区域在其生命周期内被20个不同的进程写入20次。每个进程"想要"向磁盘写入特定的位模式。然而,最终只有最后一个进程得到了它想要的。前19个进程的目标都迟早会受挫,因为对于这19个进程中的每一个,它们偏好的位模式都会被覆盖。事实上,即使是最后一个进程,当硬盘被销毁或者只是被丢弃并任其退化时,其目标也可以说是受挫了。
关于人类偏好,可以说存在类似的情况。例如,人类在历史上崇拜的大多数神明现在已不再被崇拜(至少没有任何可观数量的人类崇拜)。一旦智能生命最终以这样或那样的方式灭绝,就不会有人崇拜任何这些神明了。从某种意义上说,人们曾经有的"X神应该被崇拜"的所有偏好从那时起将在宇宙可能无限的未来中一直受挫。这些偏好的满足只是在其他方面无尽的挫折海洋中的一个微小闪光。
像这样的框架可能会导致人得出结论,偏好挫折压倒性地超过偏好满足。另一方面,我认为这样的结论在很大程度上取决于我们试图计算偏好的任意方式。例如,所有20个向硬盘写入的进程都可以被视为有一个偏好,即"磁盘上应该写有某种位模式",而这个偏好一直得到满足(直到磁盘本身死亡)。许多过去的人可能有"人们应该进行宗教崇拜"的偏好,而这个偏好在人类历史上大部分时间里都得到了满足。
此外,也许一些偏好隐含地有时间限制,比如:"人类应该在人类存在的时候进行崇拜"。这种框架避免了得出我们的许多偏好在宇宙的未来无限期受挫的结论。另一方面,许多人有不过期的偏好,比如"我希望我能永远活下去。"这个偏好在宇宙的所有时间点上都得不到满足。尽管如此,其他偏好在所有时间内都得到满足,比如"我不想永远活下去"或"我很高兴至少短暂地存在过"或"我希望我永远不会被正方形圆圈吃掉"。
天堂中的痛苦
正如我们所看到的,足够低层次的子程序的福祉与高层次子程序的福祉之间似乎存在很大程度的正交性。想象一个后人类天堂,其中先进的类人存在被模拟在幸福的乌托邦世界中,从不经历(访问意识的)痛苦。他们的思想可能仍然包含痛苦的子程序,例如无法赢得行动控制权的神经信号,或本质上无法明确报告的认知模块内的信号。此外,运行这些模拟的机器本身可能包含痛苦的子程序,例如在它们的操作系统中。因此,天堂中可能仍然存在痛苦——沉默的、无声的痛苦,只有通过理论哲学思考,类人思维的访问意识部分才能认识到。
低层次的痛苦子程序似乎特别难以避免。可能一些计算架构和设计模式比其他的有更少的痛苦子程序。但是消除简单计算过程的痛苦似乎是不可能的,除非你完全放弃计算。如果一个人非常关心痛苦子程序(我不确定我是否如此),那么"未来的总计算量"可能比"未来文明对其更高层次计算代理的人道对待程度"是一个更好的衡量后人类未来将包含多少痛苦的指标。
有可能一个假设的后人类乌托邦会比,例如,充满回形针工厂的星系包含更多的痛苦子程序,因为人类大脑是复杂的计算系统,具有相当智能的子程序,模拟它们可能会产生比,例如,部署机器人监督相对单一的回形针生产工厂更多的有知觉子程序。当然,无同情心的回形针最大化人工智能可能会以其他方式创造大量的痛苦子程序,例如通过运行大量的进化模拟来研究外星生命。
我应该补充说,我关于天堂的讨论只是假设。我认为地球起源的智能实际上实现许多人类会认为是乌托邦的结果的可能性非常小。如果人类不完全失去对未来的控制,那么未来极有可能是某种平庸的结果(即使不考虑痛苦子程序的因素),类似于民主产生平庸而非乌托邦的结果。
偏好的多重解释
让我们考虑一个我们可能认为存在痛苦子程序的常见操作:选择下一步要采取的行动。行动选择是在给定时间内从许多可能的行动中选择一个或几个实际执行的行动的过程。例如,我们可能有一个神经网络,其输出神经元为不同的行动"投票",只有得分最高的输出神经元"赢得"控制行动的竞争。
为非获胜行动投票的输出神经元是否算作受苦(或至少是偏好受挫)的子程序?我不确定。一方面,我们可以设想一个输出神经元表达了让其行动被采取的目标,因为它产生的激活如果足够强,就会控制行动。另一方面,我们可以将输出神经元描绘成仅仅具有准确报告其行动看起来有多好的目标,而不对其特定行动实际被选择有任何偏好。当然,可能还有许多其他可能的解释。(这些问题并不明显,总的来说,我对本文讨论的问题没有确定的答案。)
在人类的情况下,我们如何在"我想被选中"的偏好和"我想报告信息并让决定按其发生"的偏好之间做出决定?例如,想象人们正在申请一份工作,得分最高的申请人将被选中。仅仅一个人提交她的申请表这一行为本身并不允许我们区分这两种可能的偏好。相反,我们需要额外的背景。例如,申请人的大脑在考虑被录用的情景时是否产生非语言的"我喜欢这个"信号?这些"我喜欢这个"的信号是否激发了如何增加申请人被选中机会的计划?申请人是否向选拔委员会发送了一批(素食主义者的)饼干以影响评审员对她的偏好?等等。
我们如何知道一个人大脑中的信号是"我喜欢这个"的消息还是"香蕉是黄色的"的消息?单独看一个人大脑中特定神经元的激活,如果没有其他大脑的背景,是没有特定含义的;它只是一些神经元以某种模式发射。就像解释偏好一样,解释大脑中信号的含义需要背景,例如这些信号产生了什么后续的大脑过程。
值得记住的是,偏好和其他心理状态并不是宇宙本体论的基础。相反,它们是我们应用于物理系统的高层次、虚构的归因。当我们对一个系统有更多背景时,这些归因就更清晰。由于简单系统的背景较少,因此更难将心理状态解释应用于这些系统,而且当我们这样做时,我们有更多可能的解释可供选择。
事实上,这一点并不是意识或心灵哲学所独有的。这是一个关于人类发明的概念的一般陈述,这些概念抽象于基本物理学之上。例如,考虑"桌子"和"椅子"的概念。假设你在海滩上看到一块腰高的巨石。那块巨石是桌子还是椅子?你可能会说它既不是桌子也不是椅子,这种观点是合理的。拒绝"桌子"和"椅子"标签就像说神经网络的输出节点没有任何偏好。尽管如此,如果你确实打算将"桌子性"和"椅子性"概念应用于巨石,因为它确实在微不足道的程度上满足这些概念,你会选择哪个概念?这并不明显。但假设我们现在在巨石的一侧添加了一个木制靠背,这样如果你坐在上面,你可以靠在靠背上。现在"椅子"的概念似乎比以前更适用于巨石,而"桌子"的概念适用性较低。另一方面,假设我们在巨石上添加了桌布和盐瓶。那么它会更符合"桌子"的概念,而不太符合"椅子"的概念。
教训是,添加背景有助于区分概念的可能解释。虽然这可能看起来很明显,但我发现在思考"意识"、"偏好"和其他心理状态概念时很容易陷入困惑,因为我们感觉这些东西在某种程度上比椅子性和桌子性更"真实"。用"桌子性"替代任何与"意识"或"偏好"有关的哲学问题可以预期会减少困惑。
这种关于应用于子程序的哪种解释的不确定性是否类似于心灵哲学中针对功能主义的所谓平凡性反对意见(例如,Godfrey-Smith 2009)?我对这个话题有点困惑,但暂时我认为,是的,这些基本上是同样的问题。在这两种情况下,我们都试图将一个高层次的、虚构的构造(无论是算法还是偏好/情感)归因于一个系统,在这两种情况下,都有多个可能的构造可以归因于同一个系统——有些比其他的更合理。如果有一种解释认为John Searle的墙实现了WordStar(Searle 1992,第208-09页),那么也有一种解释认为它实现了WordPerfect,另一种认为它实现了Microsoft Excel,还有一种认为它实例化了偏好挫折的心理属性。
让我们回到我们的情况,几个输出神经元以不同强度发射以选择要采取的行动。如果它是更大系统的一部分以提供更多背景,输出神经元的"偏好"就会更清晰。例如,如果一个输出神经元连接到一个积极破坏竞争输出神经元的算法,设计策略来隐藏这种破坏不被程序员发现,等等,那么{输出神经元 + 破坏系统}似乎更清楚地想要不惜一切代价获胜,而不仅仅是让得分最高的神经元获胜。
假设我们将所有输出神经元都包括在我们对子程序的概念中,包括破坏者和被破坏者:子程序现在是{破坏者输出神经元 + 破坏系统 + 被破坏者输出神经元}。这个系统仍然"偏好"进行破坏,但现在被破坏的神经元是系统的一部分,我们可能会将它们解释为"接受"被破坏,因为它们是想要破坏它们的更大整体的一部分。相比之下,当它们不是系统的一部分时,我们可以将它们解释为外部破坏者的受害者。这个例子表明,我们归因的偏好是相对于系统边界的——什么东西算作"自身的一部分",什么东西算作"外部邪恶"(Caspar Oesterheld,个人通信,2015年5月25日)。当然,如何划分"代理"与其"环境"分离的边界的决定通常是相当任意的。
失败的神经联盟
之前我讨论了认知全局工作空间模型中失败的神经联盟。乍一看,似乎这些联盟在推动获胜,但被更强大的联盟压倒了。然而,正如我们在基于神经网络输出神经元的行动选择中看到的那样,另一种解释是联盟只是想要拥有它们所拥有的强度,并"让最好的人获胜"。我们如何区分这些解释?
一个想法可能是看失败的联盟是否设法产生了任何影响。例如,假设相关的大脑正在观察一个可能令人惊讶的刺激,比如一根看起来有点像蛇的软管。想象一下,失败的神经联盟在推动对软管的恐惧和回避,而获胜的神经联盟推动将软管解释为无害的。a如果失败的神经联盟仅仅推动感官解释而对大脑的其他部分没有其他影响,那么也许可以公平地说失败的联盟只是希望最佳解释获胜。另一方面,如果失败的联盟已经开始对大脑的其他部分产生一些局部影响——比如轻微刺激战斗或逃跑反应,并轻微触发强化学习以避免这种情况在未来发生(这在生物学上是否合理?)——那么似乎更公平地说失败的联盟实际上有产生逃跑和回避的偏好,而这个偏好被获胜的联盟压制了。
尽管如此,即使失败的联盟采取了一些朝着其目标的"行动",我想人们仍然可以声称失败的联盟只想达到它所达到的影响程度,然后对被压制感到满意。为了不让我们认为这种替代解释只适用于极其简单的代理,我建议我们也可能将同样的替代解释应用于,例如,一只兔子被一枪打中头部瞬间杀死的情况:我们可以说兔子的大脑只想采取它所采取的行动,然后对被摧毁"感到满意",这从它实际上被摧毁的事实可以看出。这似乎是错误的,但不清楚如何解释为什么。也许我们可以说兔子为其持续存在做了准备,暗示了想要继续存在的愿望。但失败的神经联盟也通过,例如,开始触发战斗或逃跑反应,为增加其目标持续存在的可能性做了(初步的)准备,这将有助于延续神经联盟的引起恐惧/逃跑的目标。
也许偏好挫折在受挫实体继续存在的情况下最为明显,这样它的大脑可以因为没有达到期望的目标而触发"我不喜欢这个"的信号。我不认为全局工作空间模型中的失败联盟会以任何强有力的方式向自己触发"我不喜欢这个"的信号。话虽如此,如果失败联盟的冲动没有完全被压制,它可能会在随后几轮战斗中继续争夺大脑的控制权。例如,"蛇恐惧"冲动可能被解释软管为无害而被压制,但可能有轻微的交感唤醒,几分钟后会增强对其他事物的恐惧反应。这是否意味着"恐惧联盟"实际上不想失败?还是只是它想继续进行这场体育比赛并继续让最好的人获胜?
像强化学习代理这样具有明确奖励和惩罚措施的子程序似乎有更稳健的可解释偏好,因为它们更新自己的行动以避免未来的不良事件。一个失败的神经联盟在失败后改变其策略以减少下次失败的机会,似乎有相对明确的偏好来避免失败。当然,即使在这种情况下,我们也可以编造(可能更牵强的)故事,说失败的联盟对第一轮失败感到满意,现在只是在更新其策略,因为它觉得应该这样做。
原则上,这些类型的牵强解释甚至对人类也是可能的:例如,也许Bob实际上并没有因电击而受苦,他只是想退缩、激活大脑的疼痛区域、说"哎呀!",并更新他未来的行为以避免电击。这种解释感觉牵强是因为我们有太多的背景来理解Bob对电击的反应,他的许多反应集体更符合"痛苦"的概念而不是"没有痛苦"。"是的,Bob退缩了,激活了疼痛脑区,发出了痛苦信号,并试图避免类似情况再次发生,但他真的在受苦吗?"这种说法类似于"是的,这个木制结构有腿和平面,上面有桌布,用于吃饭,但它真的是桌子吗?"
对所有可能的解释求和
通常,我们将物理系统视为体现了最合理的高层次解释。例如,如果一个人踢到脚趾并喊"哎呀!",我们会应用"那个人正在痛苦中,希望她没有踢到脚趾"的解释,而不是,例如,"那个人正在冷静地做任何发生在她身上的事情,恰好发出了听起来像痛苦的声音"。这些不同的解释可以根据行为和功能证据进行论证,并详细阐述我们对这些不同概念的理解。
通常,一个物理系统同时匹配许多概念。例如,踢到脚趾的人同时匹配"痛苦中"和"偏好受挫"的概念。一个有四条腿的平坦木制物体,你在上面吃饭,可以同时匹配"桌子"、"家具"、"扶手"、"人类学文物"、"由碳基分子组成"等所有概念,程度各不相同。
只要我们给各种高层次概念赋予道德价值,我们就可以通过将物理系统解释为体现这些高层次概念来赋予它们价值。例如,处于轻微疼痛中有点糟糕;假设其价值为-1。踢到脚趾的行为体现了"轻微疼痛"的概念,其价值为-1。
同一物理事件体现几个可能具有冲突价值的道德概念是很正常的。例如,允许一场亲纳粹的演讲是一个物理过程,它既匹配"言论自由"的概念(通常具有正面道德价值),也匹配"支持纳粹"的概念(通常具有负面道德价值)。
一般来说,我们可以想象一个物理系统P体现了无限数量的概念C1、C2、...,每个概念都以某种程度的合理性适用于P:plausibility(P, Ci)。假设这些合理性值被归一化,使得对于给定的P,
Σi=1∞ plausibility(P, Ci) = 1.
那么我们可以对P进行道德评价如下:
value(P) = Σi=1∞ value(Ci) * plausibility(P, Ci).
这是Tomasik("如何...")中"使用许多可能的解释?"部分公式的一个更简单和更广泛的版本,在这里我不是对算法解释求和,而是对概念一般求和,包括"悲伤"或"正义"等概念,这些概念不是明确的算法。基本思想是相同的。
通常,当我们应用这个公式时,我们只关注归因于系统的最合理的道德相关概念。例如,想象一个视频游戏敌人,它在各种情况下执行适当的行动来攻击你并防御你的攻击。当你杀死这个敌人时,我们可能会问你是否挫败了敌人的"目标"——即攻击你和保护自己的目标(Tomasik "视频游戏...")。我们关注概念C1 = "目标挫败",并将杀死视频游戏敌人的过程P的价值评估为
value(P) ≈ value(C1) * plausibility(P, C1),
忽略所有额外的求和项,假设它们更不合理或道德上不重要。value(C1)可能是一个相当大的负数,比如-100,因为通常严重挫败另一个代理的偏好是不好的。然而,plausibility(P, C1)非常低,因为视频游戏敌人在认知上太简单了,以至于它只能勉强被说成有任何偏好,如果我们将原型"偏好"视为在高等动物中发现的更成熟的意志类型。这可以解释为什么我们因为视频游戏敌人的简单性而给予它们如此低的道德权重。b
上述框架可能有助于消除一些关于,例如,失败的神经联盟是否真的想要获胜的神秘感。答案是存在各种可能的解释,具有不同程度的合理性。当然,困难的部分是分配合理性程度。这需要一个漫长的、带有道德负担的、主观的过程来分析概念,并决定我们想要在多大程度上将各种概念应用于各种物理系统。
痛苦与幸福
子程序不仅经历痛苦。人类是也经历幸福、兴奋、爱等情感的子程序。成功终止的计算机进程可以被视为满足了它们的目标(至少直到后来的进程撤销这些成就)。强化学习代理可以从环境中获得比平常更好的奖励。
这就提出了一个问题,即什么区分了正面和负面福祉,特别是在那些太简单而无法明确告诉我们其情绪状态价值的计算代理中。即使在生物动物中,解释什么区分痛苦和幸福也很棘手(Tomasik "为什么生物体..."),何时将正面或负面价值归因于简单的人工代理(如强化学习者)是一个开放的问题(Tomasik "人工...",第18-21页)。
考虑编程语言中普通子程序的情况。有许多可能的方法来评估子程序的福祉,但其中一种是评估目标实现。想象一个子程序,比如说,实现Dijkstra算法来找到图中的最短路径。假设该算法通常运行到完成,那么我们可能会说该算法几乎总是实现其目标。所以它是一个"快乐的子程序",对吧?另一种观点是说,在算法执行时间的大部分时间里,它还没有找到最短路径,所以在其"生命"的大部分时间里,它的偏好是不满足的。所以它是一个"悲伤的子程序"?但是算法的"暂定距离"随着算法的进行不断更新为越来越好的值,所以算法可以"看到"它在不断朝着目标取得进展,这是好的,对吧?另一方面,算法在执行过程中不断试图改变事物,通过修改变量,这表明算法是"不安"和"不满足"的?等等。对同一算法有许多可能的、相互冲突的道德评价方式。
这是另一个可以应用于同一物理或算法系统的多种可能解释的案例。"幸福"和"痛苦"有不同的可能定义,每种不同的幸福和痛苦定义都可以在不同程度上应用于Dijkstra算法的执行。
当然,像Dijkstra算法这样的子程序可能被认为太简单,不能合法地有福祉水平。但我们可以想象用额外的组件增强基本的Dijkstra子程序,这将增加其复杂代理程度。例如,我们可以给子程序一些对"自我"、"目标"、"进展"和"好/坏"等概念的理解,然后为子程序提供一个内部模型,将自己视为一个有目标的代理,在寻找最短路径方面取得了如此这般的进展。如果子程序还能制定策略来防止人类关闭它并窃取额外的硬件来运行,那么代理似乎在为其目标而努力的程度可能会增加。直观地说,如果我看到一个计算机程序使用复杂和智能的策略战略性地阻止我关闭它,我会对自己说:"哇,这个算法真的想继续运行,不是吗?"
增加认知复杂性是否使评估代理福祉的符号(正面或负面)变得更容易?我不确定。增强的自我建模和防止关闭的Dijkstra子程序似乎有正面还是负面的福祉?对我来说仍然不是很清楚。尽管通过额外的功能明显增强了算法实现其目标的偏好程度,但我仍然没有一个好的方法来论证增强的算法是否更符合我们的"幸福"或"痛苦"概念。
也许这并不太令人惊讶。当我写这段话时,如果我问自己我自己的快乐体验是净正面还是净负面,我会说:"嗯,我不知道。感觉有点中性。我确实感到一种强烈的偏好要完成写这段话并确保它清晰,如果我被阻止这样做,我会感到沮丧。但我此刻的心理状态并不强烈匹配'幸福'或'痛苦'的概念。"c
一个简单的人工强化学习代理是否有正面或负面的福祉?我们很容易通过查看代理接收的奖励的符号来回答这个问题,说正面奖励(如+5)是愉快的,而负面奖励(如-8)是痛苦的。然而,我们可能可以将代理的所有奖励上下移动一个常数量,同时保持代理的行为不变。因此,奖励的字面符号不能决定快乐和痛苦之间的区别。我对这个难题的最佳回答是说,一个简单的强化学习代理就像一块巨石,"快乐"就像"椅子"的概念,"痛苦"就像"桌子"的概念。巨石更像椅子还是更像桌子?简单的强化学习代理是快乐还是痛苦?在这两种情况下,被考虑的实体都不强烈匹配任何一个适用的概念,尽管它确实略微匹配两个概念。
对于能够概念化自己的无意识并能用语言思考自己经历的代理,我们可以问代理在给定时间是否更愿意暂时停止其体验。如果是,则可以说该体验具有负面福祉。但这种高层次的语言评估对于更简单的子程序(包括非人类动物)来说很难获得。此外,即使在人类中,对自己经历的符号的高层次语言评估也忽略了大脑和身体中大量子程序的意见,这些子程序无法控制语言系统所说的内容。
对于那些"更重视"痛苦而非幸福的后果主义者来说,对子程序中痛苦与幸福程度的不确定性或不清晰性有利于减少子程序数量和知觉性的政策。
子程序的个体化
什么算作子程序?足够个体化的对象似乎算——计算机程序、动物、分子等。但是不太个体化的东西呢?
从程序员的角度来看,将代码组织成模块化结构在实用上很重要。然而,在更哲学的层面上,我们可以问,代码是否真的被分组成子程序是否本质上重要,或者非模块化的意大利面条式代码是否也可以被视为实现了许多小的隐含的目标导向"代理",即使这些代理混杂在一个非常长的、无结构的程序的行中。
如果一个程序执行两个不同的任务,比如计算文件中的单词数和发出HTTP请求,而没有将这些任务分组为明确的子程序,我们是否仍然可以说该程序包含两个(或更多)隐含的子程序?
此外,编译器可能对函数执行"内联展开",通过直接将函数的指令复制到调用程序中来避免函数调用。这些指令无论是通过字面的函数调用还是直接执行,在概念上可能仍然是一个子程序。
如果我们采用更任意的事物分组,它们是否仍然算作子程序?例如,我身体的左侧是一个子程序,而右侧是另一个子程序吗?"我身体的每个部分除了我的鼻子"是它自己的子程序吗?
如果子程序从根本上说是一个输入-输出盒子,那么似乎宇宙的任何子集都可以是一个子程序,因为宇宙的任何子集都从"环境"(宇宙的其余部分)接收输入,在自身内部做事情,并有输出再次影响环境。这些宇宙的子集甚至不需要在时空上连接。
这类问题在Tomasik("模糊...")中有讨论。我没有很好的解决方案来处理以这种方式思考而产生的大量个体代理,但这些类型的难题并不是那些认为子程序具有道德重要性的人所独有的。
我有多在乎低层子程序?
目前,简单的子程序,如当前软件中发现的那些,并没有太多触动我的心弦。这些子程序似乎具有极其微小的"意识",而且它们通常看起来不太情绪化。
"如果一个东西试图做X,它就有一个显示的对X的偏好"这个原则可以应用于软件子程序,但也可以应用于基本物理的实体。例如,两个相互排斥的电子显示了一个要分开的显示偏好。而且,基本物理的实体数量远远超过现在或未来的软件子程序。所以如果我们发现这样的论点令人信服,我们可能应该对基本物理担心得多得多(见Tomasik "基本...")。
软件子程序是否比基本物理更有知觉?
- 软件子程序可以灵活和"智能地"响应各种"输入刺激",尽管物理粒子也会灵活地响应各种不同的物理条件。
- 软件可以计算复杂的数学函数,但物理粒子在某种意义上也计算极其复杂的物理方程,因为它们"遵循"这些方程指定的指令,类似于计算机可以遵循代码指定的指令。
- 我认为如果一个系统评估并在替代方案中进行选择,而不是仅仅执行对刺激的固定响应,那么它可以更合法地被认为有一个"偏好"。许多类型的软件算法涉及优化,而优化是选择和目标导向行为的本质。(选择涉及挑选最佳可能的行动。目标导向行为涉及评估计划并挑选一个最能实现目标的计划。)然而,简单的物理系统也可以被视为显示优化,例如最小作用原理。
我的情感同情更敏感于,比如说,整体考虑的Google的AlphaGo这样复杂程度的子程序。这样的系统显示出一种不平凡的朝着实现目标的代理水平。我对昆虫和其他动物更有同情心。
对我来说,未来的痛苦有多少会处于简单子程序(如编程语言中的函数调用)的水平,而不是更复杂的子程序(如类似动物的代理的模拟)的水平,这是不清楚的。类似动物的代理似乎比普通软件的子程序更重要,即使每单位计算也是如此。另一方面,在许多远期未来场景中,普通软件可能比类似动物的模拟多出几个数量级。
我猜我在情感上不倾向于过度优化利他主义努力以针对较低层次的痛苦子程序,因为较高层次的实体在道德上似乎更显著。然而,我对我有多关心较低层次的操作保持很大的道德不确定性,随着进一步理解意识的本质,我在这个问题上的观点可能会改变。
关于本文
我在2011年创造了"痛苦子程序"这个术语。2013年,我写了"关于痛苦子程序的对话"来探讨这个领域的一些想法,但那篇文章主要集中在全局工作空间理论上,并没有广泛描述痛苦子程序作为一个概念。由于人们有时在提到痛苦子程序时链接到那篇解释不够理想的2013年文章,我意识到我应该写一个更具入门性的概念概述。
致谢
本文的小部分内容受到与许多人讨论的启发,包括但不限于Caspar Oesterheld、Kaj Sotala和Ed Griffith。
脚注
- 我不确定这个例子在生物学上是否现实,但它似乎符合全局工作空间理论的一般精神。有两种对蛇/软管情况的竞争解释,其中一种"获胜",类似于一个人可以对内克尔立方体有两种竞争的解释,但一次只能"看到"其中一种。
开放学习倡议(未注明日期)讨论了大脑中的两条情绪通路,使用了一个类似于我的蛇/软管的例子:
当你深夜在卧室里听到奇怪的声音时,你很可能在知道是否有什么可怕的东西之前就做出恐惧反应。哪条通路参与了这个反应?如果你猜是快速通路,你猜对了。没有认知参与,所以通路直接通向杏仁核。现在你进入卧室,检查,并意识到只是你的猫从架子上跳下来。你已经评估了情况是无害的,所以恐惧消退了。这里的通路是什么?对,这是慢速通路,因为你正在使用皮层来评估情况。
我不确定这两条通路是否算作全局工作空间框架中同时竞争的联盟,或者全局工作空间的解释会说快速通路首先赢得控制权,然后慢速通路接管。 (返回)
- 顺便说一下,这个讨论也解释了为什么,即使视频游戏角色值得极低的道德权重,词典阈值负面功利主义者可能仍然关心他们的痛苦。我试图在Tomasik("视频游戏...")的"NPC的痛苦会累积吗?"部分解释这一点,但在当前讨论的背景下可以更清楚地说明。我们取C1 = "无法忍受的、超过阈值的痛苦",然后我们问视频游戏敌人是否体现了这个概念。我认为答案是"是的,但程度极其微弱"。所以视频游戏敌人确实有一些无法忍受的、超过阈值的痛苦,即使对于词典阈值负面功利主义者来说也是如此。 (返回)
- 我的心理状态中有一部分似乎不显著地快乐但确实包含强烈的偏好,这是我不完全是快乐功利主义者的部分原因;似乎偏好仍然有一些重要性,即使它们不与快乐体验相关联。话虽如此,我认为人们可能经历的最极端体验大多是快乐的,比如酷刑,这些可以在严重程度上压倒非快乐的偏好。 (返回)