1704532576
用“涌现”发现新行为
1704532577
1704532578
在上一节中,我们讨论了探测政策体系失败的可能性的一般方法。现在,我想收缩范围,集中讨论用于探测政策体系失败的基于计算机的模型,通常来说是计算机仿真模型。但是,我们立即就会面临一个困难,那就是大多数基于计算机的模型都很难容纳新异行为:它们往往采用微分方程组、马尔可夫状态或其他建模架构,并假设了事先预置或嵌入在系统内部的固定类别的行为,因此要修改它们,让它们“召唤出”不可预见的行为,即可能出现的“高16米的梯子”并不容易。
1704532579
1704532580
但是,我们还是可以向前推进的。很显然,正如我在前面已经提到过的,一个方法是我们向计算机仿真模型中的系统注入“事前推想”的剥削行为。虽然这样做可以让模型保持开放并加入更多的细节,但是我们希望有更一般的方法,就是让我们的仿真模型主动“发现”不可预见的新行为。这无疑更具挑战性。需要注意的是,我们现在实际上要探究的是,系统中的新行为如何在行为主体的发现或学习过程中涌现出来,而且我们运用基于行为主体的建模方法处理涌现问题,已经有相当多的经验了。因此,我们有理由相信,我们确实可以修改某个模拟模型,来允许行为主体“发现”操纵行为。
1704532581
1704532582
接下来,我先用一个真实世界的例子来说明这一点,即我在前面提到过的马萨诸塞州的医疗保险计划。我们现在没有关于这个政策体系的现成的模拟模型,所以我们不得不自己构建一个。因为我们感兴趣的不在于描述所有行为的社会性方面的细节,而在于如何模拟剥削行为,所以我们可以构建一个简单和典型的模型。我们将逐步推进,依次开发出这个模型的一系列版本,来刻画我们感兴趣的剥削行为。
1704532583
1704532584
第一步,我们构建一个基本的医疗保险模型。我在进行计算机仿真时使用的是NetLogo,这是一个非常方便的构建基于行为主体的模型平台。在这个模型中,有N个行为主体,但在NetLogo平台上,通常为100~1 000人,他们单独地、随机地产生各种各样的医疗费用,这些费用可能源于疾病、医院护理、外科手术、事故等。初始状态是,他们自己承担所有这些费用。在这个模型中,个体健康成本的分布是一致的、固定的,并且对于所有行为主体都是相同的,如我们可以假设所有人的年龄都相同。人们的收入是固定且相同的,他们的医疗消费c等于他们的保健成本。对于医疗消费带来的效用,我假设了一个凹的效用函数U(c)=c1/2。再假设所有人都是风险厌恶的,系统中只有一家保险公司。一开始,保险公司不提供任何保单(或医疗保险政策),而只是在固定时期收集精算数据:它能够获得所有人的保健成本数据,并会使用这些数据来计算每人每期的平均保健成本。一旦它得出了一个足够准确的估计,它就会发售一份自愿的健康保险单。该保单的成本是这样设定的:在“公平”的保健成本,即保险公司估计的每人每期预期成本的基础上,加上m%的加成,用以支付管理费用。通过计算机仿真实验,我们观察到在这样一个模型中,当上述成本加成足够低(m<23.3%)时,人们就会发现,购买保险的效用更高,而且他们确实也会购买保险。不然的话,他们就不会购买。现在,我们已经有了一个简单的基于行为主体的保险模型。
1704532585
1704532586
第二步,我们要对马萨诸塞州的保险计划法令及其后果进行建模。这里出现的问题的核心在于,有这么一类人,他们相信或发现,不参加这家公司的保险计划对自己更有利,这就是说,他们宁愿因自己的不参保行为而向政府缴纳罚款。要想让我们上面那个模型容纳这种类型的行为主体,有好几种方法。例如,我们可以假设,系统中有一类人面临承担健康成本的风险很小。但是最简单的方法是,假设一部分人,不妨假设50%的人不是风险厌恶型的,即他们拥有一个线性效用函数U(c)=c。这样的话,他们就会发现,只要向政府缴纳的罚款低于那家保险公司的保险加价(就马萨诸塞州的案例而言,确实如此),那么就向政府缴纳罚款。我们运行了这个模型,结果发现一半的人参加了保险,另一半人则没有。这个结果并不令人奇怪。
1704532587
1704532588
第三步,让我们构建关于剥削行为的模型。现在,我们要允许所有人都可以预先知晓某些类型的医疗保健如肩部手术或物理治疗的费用。为此,我们在模型中内置了,或者说,“注入”了这些行为,并让它们在每一期刚开始时就可以被预见到。同时,我们还赋予这一类人选择权,允许他们在某一期投保,并可以在下一期取消保险。对这个模型的计算机仿真结果表明,已经投了保的那50%人不受影响,他们无论怎样都会继续支付保险金。但是,本来没有投保的那些人的行为则会受到影响。我们发现,他们会根据这种保险是否适合自己而随时决定加入或退出保险。从某种意义上说,他们正在为他们预先知道的某种结果购买保险,而保险公司则不知道这种结果。因此,他们是“玩弄”了这个系统。图6-1显示了保险公司在这种情况下的利润。很显然,它的利润出现了暴跌。
1704532589
1704532590
第四步,作为我们的建模过程的最后一个阶段,我们可以假设系统会对这种行为做出反应。这是符合现实的。一方面,政府可以提高对不参加保险计划的罚款。我们发现,如果政府真的这样做了,那么每个人都会参加保险,系统也就恢复了常态。另一方面,保险公司也可以做出反应,即增加强制性的投保期限。保险公司的强制性投保期限一旦变得足够长,我们就会看到系统再次恢复正常。
1704532591
1704532592
我之所以要分步详细介绍构建模型的每个阶段,是因为这确实是一种非常便利的方法。先建立基本模型,然后打破,将做出策略性反应的那类行为主体区分出来,并允许他们这样去做,同时考虑其他行为主体的“自然”反应。当模型最终完成时,当然会遍历所有这些动态步骤。
1704532593
1704532594
到目前为止,我们已经阐明,对于特定的政策体系,我们可以采用一个计算机模型,也可以像上面这个例子一样构造一个计算机仿真模型,并通过引入预想得到的“剥削”行为,以及对这种行为的反应对模型进行完善。但是,在现实世界中,剥削行为是自发地涌现出来的。
1704532595
1704532596
1704532597
1704532598
1704532599
图6-1 保险公司的收入费用支出和利润变化趋势
1704532600
1704532601
图的上半部显示了保险公司的收入受到的影响。保险公司的收入增加了,因为它的投保人增加了。保险公司的收入是较平滑的那条线,上面的锯齿线是费用。图的下半部则显示了保险公司的利润,即下面的锯齿线。不难看出,利润现在已经下降到了0以下。
1704532602
1704532603
这就是说,这种行为是在政策体系存在的过程中出现的。如果我们更仔细地观察现实生活中所发生的事情,就会发现相关参与者会注意到他们可以利用的某些选项,他们会学会,或者是突然发现,可以通过某些行为来获利。因此接下来,我们先看看怎样才能将“注意”和“发现”内置于我们的模型中。为了保证行文简洁,在这里我只概略地说明如何做到这一点。[7]
1704532604
1704532605
首先,“注意”当然是相当直接的。要允许我们的行为主体“注意到”某些东西非常简单,如最近发生了哪些事件,哪些选项是可行的,只要让他们在信息集的这些部分出现时,能够“知晓”它们就可以了。
1704532606
1704532607
不过,我们还需要对“发现”建模。为了这个目的,我们允许行为主体根据他们的信息生成和尝试各种潜在的行动或策略。有很多方法可以实现这一点。行为主体可以随机地生成各种类型的状态依存的动作或规则:如果系统满足一定条件K,那么就执行策略G。或者,他们可以通过对以前采取过的行之有效的行动进行重新组合,来构造新行动:如果条件K和P为真,那么就执行策略F。又或者,他们也可以生成一个可能行动的集合:如果这一期预先知道医疗保健费用超过了k美元,那么就购买保险。这里的k可以锚定在多种不同的水平上。进一步,我们假设行为主体能够记住这些潜在的策略(可能有许多),并能够监控和记录每种策略的推定结果,这样一来,随着时间的推移,他们就能学会哪些策略在哪些情况下是有效的。然后,他们就可以随时使用或执行他们认为最有效的策略,并丢弃被证明无效的策略。
1704532608
1704532609
这样设计模型,可以为我们带来我们想要的效果。如果被“监控”到的某种随机生成的策略被证明是特别有效的,那么行为主体就会特别快速地“发现”这种策略。从局外观察者的角度来看,这看上去就好像是这种策略在突然之间就“绽放”开了,这也就是说,它突然涌现出来并产生了效果。但是,行为主体是以归纳的方法去探测所处的系统,看到底什么东西是有效的,从而随机“发现”了利用系统的有效策略。由此,“剥削”也就涌现出来了。
1704532610
1704532611
在上面的例子中,我已经描述了一个相当简单的模型,并概略地阐明了对可能剥削行为的涌现进行建模的方法。很显然,我们可以从很多角度来进一步深入阐述。[8]
1704532612
1704532613
但是在这里,我想再强调一下最重要的一点。当我们想要对操纵系统的行为进行建模时,并不需要往基于行为主体的仿真模型里加入任何用来代表“阴谋诡计”或“剥削思想”的因素。行为主体只需要根据关于系统及可用选项的特定信息,决定可以采取的行动。有时,他们会发现有些行动特别有效,在这种情况下,我们所称的“剥削”就出现了。要对此建模,只需运用“标准方法”,这种方法在基于行为主体的建模中早就存在了。
1704532614
1704532616
自动预警
1704532617
1704532618
但是,现在还没有到最后下结论的时候。在上一节中,我们看到,如果我们想要通过计算来“发现”剥削行为,还需要指定某个特定类型的行为主体,他们会进行探索。在未来,我们希望通过计算能够自动“发现”我们没有想到过的、更广泛多样的可能剥削行为,并且对它们进行测试,从而提前预测到可能的操纵。如果真的能够做到这一点,那么无疑理想得多。
1704532619
1704532620
前景究竟如何?针对美国–墨西哥边境的偷渡,基于计算机的模型将会给出什么预测(如它是否能够想象到16米高的梯子)?基于计算机的模型在得到了我们的提示后,很容易就能做到这些。我们为计算机仿真程度提供不同的“梯子高度”,如8米、12米、20米等,这样计算机仿真程序就会“学会”:16米高的梯子是有效的。但是,这其实是在作弊。
1704532621
1704532622
就“偷渡攻防战”这种情形而言,我们真正希望做到的是,计算机仿真程序能够在完全没有人为提示的情况下自主地“思考”:当边境上竖起了防止偷渡的高墙时,怎么办?我们希望计算机仿真程序能够在没有任何内置提示的条件下,“发现”梯子这一类工具,或者发明其他合理的方式来战胜障碍。而要想做到这一点,计算机仿真程序就需要有关世界的知识,这种知识必定是一种深刻的知识。为此,计算机仿真程序必须成为一个一般意义上的智能体,知道世界的各种可能性、知道什么是可用的、知道一般来说“外面会有什么”。换句话说,它需要某种类似于我们人类智力的东西。不难感觉到,这里有一些人工智能的味道。是的,我们其实是在要求得到一台“发明机”,即一台能够意识到自己身处的世界、能够在概念上将一系列构件组合到一起去解决一般性问题的机器。从这个角度来看,这个问题属于“人类认为不难,但对机器来说却很困难的计算问题”,即所谓的“人工智能完备性”问题,诸如阅读和理解文本、解释语言、翻译语言、识别视觉对象、下棋、裁判司法案件等问题,均属此类。考虑到我们关注的焦点,我们还可以加上一项:对解的想象。
1704532623
1704532624
这里的问题绝对不仅是一个概念性的问题,还是一个实践问题。如果能够认识到这一点,那就是一个令人高兴的良好开端。我们能够“教会”计算机识别不同情境,并让它建立一个庞大的、通用性的实用知识库。众所周知,早在2010年,IBM就“教会”了一台计算机,并让它成功地参加了电视智力竞赛节目《危险边缘》,它就是通过建立一个庞大的知识库来实现这一点的。因此有朝一日,计算机也会拥有一个庞大的、关于以往各种情形的,以及这些情形如何被“剥削”的语义性知识的“图书馆”。有了这样一个“图书馆”,计算机就可以“识别”出类似的情形,并利用它们来为当前的目的服务。这并不是一个遥远的预言。例如,在2003年,如果在美军向伊拉克发动进攻之前,已经进行过了计算机仿真实验,那么就应该能模拟出或计算过历史上的入侵,以及随着这种入侵而来的叛乱,还应该能就伊拉克的可能未来提出警告。它会预料到种种“涌现”出来的行为。在未来,计算机模拟应该可以很好地融入历史,找到类似的东西,如找到作为对高墙反应的梯子,并将这些东西呈现给我们。尽管从概念上看,这是完全可行的,但是我认为要充分利用这种类型的实用机器智能,可能还需要几十年的努力。
[
上一页 ]
[ :1.704532575e+09 ]
[
下一页 ]