从2004年至今,美军无人机的轰炸已经在巴基斯坦的某个地区杀死了2500~4000人,其中绝大多数死者都被美国政府归类为“极端分子”。轰炸对象的选择背后,很可能是美国天网计划,采用机器学习算法对5500完民众进行打分。但本文作者Christian Grothoff 和 J.M. Porup 认为,这种算法会带来很大的误报率,而0.18%的误报率意味着99000名无辜民众被错误地标记为“恐怖分子”。在这些死亡的人数中,又有多少是无辜的民众?
作者Christian Grothoff在法国国家信息与自动化研究所(Inria)领导一支研究团队。他从UCLA获得了计算机科学博士学位。他也以自由记者的身份进行科技和国家安全方面的报道。
J. M. Porup是一位网络安全方面的自由记者,居住在加拿大多伦多。当他死后,他的墓志铭将会写上“承担违约责任”几个字。他在Twitter上的账号是@toholdaquill。
全文如下:
专家表示,这种“乐观到可笑”的机器学习算法是“彻头彻尾的胡说八道”。
一架MQ-9收割者侦察机停在停机坪上。
在2014年,同时负责领导美国中情局(CIA)和国安局(NSA)的主管人宣布,“我们根据元数据来杀人(we kill people based on metadata)”。现在,重新翻看先前披露的斯诺登档案——被杀害的人中有许多可能都是无辜的。
去年,Intercept披露了一些详细描述NSA“天网”计划的文件。从这些文件中可以得知,“天网”涉及到通过巴基斯坦的移动通信网络对民众实行监控,随后使用机器学习算法,基于5500万民众的蜂窝网络元数据,尝试着为其中每一个人是否是一名恐怖分子的可能性打分。
先前在战犯法庭开庭前给出过专家证词的Patrick Ball——他是一位数据科学家,也是人权数据分析组织的研究主管——用“乐观得可笑”和“彻头彻尾的胡说八道”来形容NSA的这个方法。Ball告诉我们,NSA在训练“天网”用于分析蜂窝元数据的机器学习算法上的一个瑕疵,让它的结果在科学上是不可靠的。
据新闻调查局(Bureau of Investigative Journalism)所言,从2004年至今,美军无人机的轰炸已经在巴基斯坦的某个地区杀死了2500~4000人,其中绝大多数死者都被美国政府归类为“极端分子”。鉴于有一份“天网”PPT的归档时间写着“20070108”,这种机器学习程序可能早在2007年就已经开始了研发。
随后数年,巴基斯坦可能有数以千计的无辜民众都被这个“在科学上不可靠”的算法错误地标记为恐怖分子,让他们不幸身亡。
|大数据的塞壬之歌
“天网”的工作方式就像一个现代典型的大数据业务应用。这个程序收集来元数据、将它们储存在NSA的云服务器上,提取相关信息,然后应用机器学习的方法来辨别执行既定行动的线索。除了不像商业应用那样试图向目标人群兜售某样东西之外,这种活动——考虑到美国政府在巴基斯坦的整体业务重心——可能也涉及到美国政府的另一个机构,CIA或者军方,通过掠食者无人机和地面暗杀小队(death squads)来执行他们的“寻觅——修正——收工(Find-Fix-Finish)”策略。
从GSM的元数据中,我们可以测量每个被选中的人的生活模式、社交网络、以及出行习惯等方面。
除了要处理记录下的蜂窝手机通话数据(所谓的“DNR”,也就是被叫号码识别数据,包括通话时间、通话长度、谁呼叫谁等数据),“天网”也收集用户的位置信息,建立详细的出行档案。关闭手机则被当做是试图逃避监控的迹象而受到“天网”的标记。天真地相信更换SIM卡就能防止被追踪、并且这么做了的人,也会受到“天网”的标记(烧入手机的ESN、MEID或是IMEI会让手机即使换了SIM卡也会被追踪痕迹)。
对海量的元数据进行出行模式、基于行为的分析、以及其他“补充内容”的分析,以此判断“恐怖分子程度(terroristiness)”。
幻灯片称,即使是更换手机也会被探测到并受到标记。这种探测,我们只能猜测(因为幻灯片上没有对这一点进行详细介绍),可能是基于其他元数据(比如现实世界中的用户位置、社交网络等)不变的基础上的。
有了完整的元数据集,“天网”就能拼凑出一个人典型的日常轨迹——和谁一起出行、有哪些共同联系人、和朋友们一起通宵、去其他国家旅行或是永久地搬离了。总体而言,这些幻灯片显示,NSA的机器学习算法使用超过80种不同的属性来为人们的“恐怖分子程度”打分。
幻灯片告诉我们,这个程序的假设是,恐怖分子与普通居民在其中一些属性的行为上有显著的区别。然而,在Intercept去年的披露中可以清楚地看到,被这个机器学习程序打出最高分的是Ahmad Zaidan,半岛电视台在伊斯兰堡的分社社长。
得到最高评分的人是PROB AHMED ZAIDAN,他去过Peshawar和Lahore。他长期担任半岛电视台在伊斯兰堡的分社社长。
据Intercept报道,Zaidan为了采访叛军、报道新闻,经常前往有恐怖活动的地区。不过,这种机器学习算法背后的NSA工程师们不但没有质疑产生这种可笑结果的机器学习方法,反而在他们内部的报告会中鼓吹Zaidan的例子证明了“天网”的胜利,其中一张幻灯片上将Zaidan标为“基地组织成员”。
|给机器输入数据
训练机器学习算法,就像是在训练一个贝叶斯垃圾邮件过滤器:你将已知的垃圾邮件和已知的非垃圾邮件输入给它。从这些“确定事实(ground truths)”中,算法学习怎样正确地过滤垃圾邮件。
同样地,“天网”程序的一块关键部分是将“已知的恐怖分子”数据输入给机器学习算法,以此来教会算法探测相似的人群。
问题是,能输入给算法用来学习的“已知的恐怖分子”数量较少,而就算NSA就这个问题发布一份调查收集数据,真正的恐怖分子们也不可能回答。NSA内部文档显示,“天网”使用“已知的联络员”数据作为确定事实,默认假定其他人都是无辜的。
巴基斯坦有大约1.92亿人口,到2012年底时——也是工作人员作“天网”报告的时候——蜂窝手机持有量在1.2亿左右。NSA分析了5500万移动手机的数据。鉴于有5500万人的数据和80个要考虑的变量,人工处理数据、探索其中的意义显而易见是不可能的。所以,就像其它任何一个大数据应用一样,NSA用机器学习来帮助——或者也许是替代,幻灯片上没有说到——人类,进行推理和判断。
“天网”的分类算法分析了元数据和确定事实数据,然后基于元数据为其中的每一个人都生成了一个分数。这个做法的目标是,为恐怖分子生成较高的分数,为剩下的无辜人群生成较低的分数。
“天网”生成的出行报告样例。
为了做到这一点,“天网”算法使用的是随机森林算法,这种算法被经常用在这类大数据应用上。事实上,据上周新披露的斯诺登文档的说法,英国的政府通信总部(GCHQ)似乎也用到了相似的机器学习方法。“这看上去像是,当说到让机器学习算法做出选择的技术时,就是随机决策森林,”伦敦大学学院(UCL)安全与隐私工程副教授George Danezis在一篇博客中对披露的文档这样分析道。
随机森林法在训练集数据中随机选择子集来创造决策“树”的“森林”,随后通过对这些树的预测做平均来将结果综合到一起。“天网”的算法从每个手机用户身上都提取80个属性,然后为他们生成一个分数——就像一个垃圾邮件过滤器。
做完这些以后,“天网”要选择一个阈值——超过这个值的手机用户会被分类为“恐怖分子”。幻灯片中展示了当阈值被设定为50%漏报率(false negative)时的评估结果。这个时候,原本将会被分类为“恐怖分子”的人中有一半就被分到了无辜民众的类别,以此让误报率——无辜民众被错误地归类成“恐怖分子”——尽可能的低。
|误报
当然,我们不能肯定的是,在这次展示中使用的50%漏报率,是否就是在生成最终的猎杀名单时使用的阈值。不管怎么样,如何处理无辜的误报情况仍然是一个问题。
“他们这样做的原因,”Ball解释说,“是因为漏报越少,误报就肯定越多。这是不对等的:有那么多的正确拒斥(true negative),如果降低阀值以减少漏报1个人,这就将增加数以千计人的误报。所以有这样的决策。”
统计算法能够在误报率很低的情况下找出联络员(courier),如果能允许我们错失其中的半数人。
一张NSA的幻灯片自夸道,“统计算法能够在误报率很低的情况下找出联络员(courier),如果能允许我们错失其中的半数人。”
但是,NSA所谓的“很低”,到底是多低?
|“彻头彻尾的胡说八道”
Ball告诉我们,问题在于,NSA是如何通过确定事实来训练算法的。
NSA将已知的7个恐怖分子的数据放入随机选择的10万人的数据子集(通过他们手机上的MSIDN/MSI来辨别)中,以此来评估“天网”程序。他们向学习算法中输入其中6个恐怖分子的数据进行训练,然后让天网程序找出第7个恐怖分子。上面那张幻灯片展示了误报的概率。
“首先,能用来训练和测试模型的‘已知的恐怖分子’数量非常少,”Ball说道,“如果他们测试模型时使用的记录与训练模型时使用的一样,那么他们对拟合性的评估就是彻头彻尾的胡说八道。通常的做法是,一开始就从数据集中分离出一部分数据、不参与训练过程,这样的话测试时用到的记录就是这个模型从未见过的了。如果没有这一步,他们对分类效果的评估就乐观到可笑了。”
这么说是因为,10万名居民是随机选择出来的,而7名恐怖分子则来自于一个已知的小群体。随机选择出不到总体的0.1%的迷你数据子集,那么居民们的社交图谱密度就会大幅降低,但是“恐怖分子”群体内部的关联度仍然很高。科学上可靠的统计分析会要求NSA在随机选择子集之前就将恐怖分子混入普通居民的数据集中——但是由于恐怖分子的数量过少,这没有实际操作意义。
这可能听起来仅仅是一个学术问题,但是,Ball说道,这实际上高度伤害了结果的质量,并最终伤害了将从人群中预测出恐怖分子并将之暗杀的准确程度。在这种情况下,进行质量评估是尤为重要的,因为我们知道随机森林法会过拟合它的训练集,产生过度乐观的结果。因此NSA的分析并不能很好地展现出这个方法质量如何。
在5500万人中,0.18%的误报率意味着99000名无辜民众被错误地标记为“恐怖分子”。
如果能够允许漏报的人(真正的“恐怖分子”)存活下来一半,那么NSA 0.18%的误报率依然意味着成千上万的无辜者被错误地分类为“恐怖分子”,并可能为他们带来死亡的命运。即便是NSA最乐观的结果——0.008%的误报概率——也仍然意味着许多无辜民众的死亡。
“误报率的那张幻灯片上,注意最后一行,写着‘ 固定的选择器(Anchory Selectors)’,”Danezis对我们说,“这是关键,而具体的数字却没有报道……如果你对5500万人口应用0.18%的误报率,你实际上可能会杀害成千上万的无辜民众(5500万的0.18%是99000)。然而,如果你是在一个你已经预测是恐怖主义盛行的群体上应用这个误报率——因为,比如说他们位于一群恐怖分子的两跳邻居关系(two-hop neighbourhood)之内——那么你杀死的无辜民众会少一些。
除于明确反对“杀死多少无辜者是可以被接受的”这个话题,这也假定了一个前提:有许多恐怖分子需要被识别出来。“我们知道,在一个群体中,‘真正的恐怖分子’的比例是非常小的,”Ball指出,“正如Cory说的那样,如果这个前提不是正确的,那么我们都已经(被他们杀)死了。所以,很小的误报率也会让很多人被错误地认为是恐怖分子。”
“更重要的一点是,”Ball补充道,“这个模型完全忽略了‘真正的恐怖分子’中那些与用来训练模型的‘真正的恐怖分子’在统计上表现极为不同的家伙。”
|在大多数案例中,0.008%是个不错的出错率
0.008%的误报率对于传统的商业应用而言是非常非常低的。当出错的结果是把广告投放到错误的人身上、或是向某人错误地收取高昂的会员价时,这个误报率是可以接受的。然而,即使是0.008%的巴基斯坦人口,也意味着有15000人可能会被误判为恐怖分子并成为军队的打击目标——更不用说无意中被卷入暗杀的路人,或者首先来到现场的先遣急救员(first responders)了。
安全专家Bruce Schneier表示同意。“大数据在政府层面的使用和企业层面的使用在本质上就不同,”他告诉我们,“对精确度的要求意味着同一种技术可能不再适用。如果Google的应用出了错,人们会看到不想买的汽车的广告。而如果政府的应用出了错,他们就会杀害无辜者。”
日内瓦公约禁止杀害平民,美国是签约国之一。然而,关于天网程序的许多方面仍然是未知的。例如,天网是一个闭环系统吗,或者说,对于它根据元数据筛选出的恐怖分子用户,分析师是否会在暗杀实行前审查每一个用户的档案?是否有在致力于抓捕这些“恐怖分子”嫌疑人、对他们开庭审判?鉴于生成猎杀名单的机器学习算法有明显缺陷,美国政府如何要确保它不会杀害无辜的人?
“对于使用天网是否是一种战争罪行这件事,我尊重律师的看法,”Ball说道,“这是坏的科学,该死的这毫无疑问,因为分类在本质上就是概率性的。如果你要判处一个人死刑,通常我们有一个‘超出合理怀疑’的标准,这和你谈论分数接近“可能的恐怖分子”的那些人,完全就不是一回事。而这假定了分类器处在筛选恐怖分子的流程的第一阶段——我很怀疑这样的设置,因为,很简单,我们没有足够的“已知的恐怖分子”的例子,来让随机森林为它们生成一个不错的模型。”
遭泄露的NSA幻灯片提供了强有力的证据,表明有数以千计的无辜民众被贴上了恐怖分子的标签。被贴上标签以后会发生什么,我们就不知道了。我们不了解全貌,NSA也不怎么可能会帮我们填补这个空白。(我们曾经多次试图从NSA那里获得关于这个问题的评论,但直到这篇文章刊发前它都没有给出回应)
算法正越来越多地统治着我们的生活。从运用“天网”的逻辑搜寻巴基斯坦的“恐怖分子”,到运用相似的方法在国内搜寻“毒贩”、“抗议者”或者只是对政府持有异议的人士,只需要迈出小小的一步。“基于元数据”来杀人,正如Hayden说的那样,当它发生在遥远的土地上的时候是很容易被人忽略的。但当天网应用在我们身上的时候会发生什么——如果它现在还没有的话?
本文来自arstechnica,作者Christian Grothoff J.M. Porup,由新智元原创翻译。