数字众生
数字众生
一、被除名的人
苏晚醒来的时候,天花板上的霉斑又多了一块。
它像一只展开翅膀的蝴蝶,灰褐色的纹路沿着墙角蔓延,在五月的潮气里显得格外清晰。苏晚盯着它看了很久,试图回忆昨天它是不是还只是一个小点。她不确定。在深圳这种地方,霉斑的生长速度和房价一样不讲道理。
手机在枕头底下震动。她翻过身,屏幕上的通知像一场小型的数字暴雨——房租催缴、信用卡还款日提醒、一条来自前同事的微信:“姐,你那个申诉怎么样了?”
苏晚没有回复。她把手机扣在床上,赤脚踩上冰凉的地板,走到窗边。
窗外是南山区的天际线。六月的深圳像个巨大的蒸笼,玻璃幕墙反射着灰白色的天光,远处的深圳湾在雾气中若隐若现。楼下早餐店的蒸笼冒着白气,肠粉的香味顺着排水管道往上爬,和楼道里的潮霉味混在一起,构成了苏晚每天醒来闻到的第一种味道。
她在一家互联网金融公司做了三年的风控分析师,直到三周前被系统判定为”高风险个体”。
这件事的荒诞之处在于,判定她的系统,正是她亲手参与搭建的。
苏晚还记得那天的每个细节。那是个普通的周三下午,会议室里空调开得太冷,她穿了一件薄外套坐在长桌的末端,听CTO林建邦用激光笔指着投影幕布上的数据图表,讲解第四代信用评分模型的升级方案。新的模型引入了更多的行为数据维度——社交关系、消费习惯、地理位置轨迹、甚至是手机电量的变化频率。
“我们要做的不是评估一个人的过去,“林建邦说,他的声音像是从很远的地方传过来的,“而是预测一个人的未来。”
苏晚当时觉得这句话很漂亮。她甚至在自己的笔记本上划了一道线,把它记了下来。
三天后,新模型上线灰度测试。苏晚的信用分从780骤降到340。
她被系统标记为”D级风险”,这意味着她将在未来12个月内以87.3%的概率发生严重违约。根据公司内部政策,D级风险的员工不得接触核心数据系统。她的工号被冻结,门禁卡失效,邮箱自动转发到HR部门。
没有人通知她。她是在周一早上刷卡进不了大门的时候才知道的。
保安看着她,眼神里带着一种奇怪的同情,好像她已经死了。
“苏小姐,你的卡被锁了。要不你联系一下你们部门?”
她站在写字楼的大厅里,周围是早上九点涌入的人流。所有人都低着头看手机,步履匆匆,像一群被看不见的线牵着的木偶。大厅里播放着轻音乐,背景墙上写着公司的slogan:“数据,让信任更简单。”
苏晚盯着那行字看了很久,然后转身走了出去。
那天的深圳下了一场暴雨,她在公交站等了四十分钟,全身湿透。回到出租屋后她发了一场高烧,烧到39.8度,在床上躺了两天。退烧之后,她做的第一件事是打开电脑,试图找出自己被系统标记的原因。
她下载了自己的数据报告——这是法律赋予的权利,虽然几乎没有人行使过。报告有47页,密密麻麻的数据点像一张巨大的蛛网,每一个节点都是她生活中的某个切片。
其中几个被标红的异常项:
——近三个月夜间活动频率上升47%。[注:凌晨2-5点的位置变化或手机使用记录]
——社交网络中D级以下风险个体的连接数超过阈值。父亲苏建国,个体工商户,信用分410;母亲陈玉兰,已退休,信用分380;大学室友方小琴,自由职业,信用分320。
——消费行为出现”应激性波动”。前30天消费中位数2860元/月,后30天消费中位数骤降至420元/月。[注:与失业后的收入骤降模式高度匹配]
——手机电量变化模式与”经济压力下的行为特征”吻合度92%。
苏晚盯着最后一条看了很久。
她回忆了一下那段时间的生活。因为赶项目加班,她经常在公司待到很晚,手机电量常常降到10%以下才充电。而在新模型里,这种行为被解释为”缺乏规划能力的经济弱势群体的典型特征”——因为他们没有足够的钱购买充电宝,或者没有固定住所可以随时充电。
苏晚确实没有买充电宝。她觉得那东西笨重又难看,而且她办公室里有充电线。
但她从来没有想过,自己不买充电宝这件事,会在某一天变成证明她是一个”不可信的人”的证据。
她把报告合上,坐在黑暗的出租屋里,听着窗外的雨声和隔壁房间的吵架声,突然觉得整个世界都变成了一组数据,而她是其中被划了红线的那一个。
二、蝴蝶程序员
周远在格子间里养了一只蝴蝶。
不是真的蝴蝶。是一个用代码写的蝴蝶,存在于他的电脑屏幕上。它有翅膀,会扇动,会绕着光标飞,偶尔还会停在他的代码窗口的边框上休息。周远给它取名叫”莫比”。
莫比是周远写的第317个版本的产物。前316个版本都失败了。要么翅膀的扇动频率不对,要么飞行轨迹太规则,看起来像一只死了的蝴蝶在被人用线拽着走。周远花了三个月的时间研究真实蝴蝶的飞行数据——升力系数、雷诺数、翅脉的微观结构——然后用Python重写了一个物理引擎,才让莫比看起来像一只真正的蝴蝶。
他的同事觉得他疯了。
“你花了三个月写一个屏保?“坐在隔壁工位的周明把椅子滑过来,探头看了一眼屏幕上的莫比,“你知不知道你这个季度OKR还差多少?”
周远没有回答。他在看莫比停在代码窗口边框上的样子。那个瞬间,蝴蝶的翅膀微微合拢,又缓缓张开,像是在呼吸。阳光从写字楼的落地窗射进来,照在屏幕上,蝴蝶的翅膀折射出淡淡的蓝光。
“它不是屏保,“周远说,“它是一个算法。”
“什么算法?”
“一个关于初始条件敏感性的算法。”
周明翻了翻白眼,把椅子滑回了自己的工位。他是个务实的人,写代码是为了赚钱,赚钱是为了在深圳买房子,买房子是为了找女朋友,找女朋友是为了让父母闭嘴。这条逻辑链清晰明了,没有任何冗余的节点。
周远不同。他写代码是因为代码是世界上最接近魔法的东西。你敲下几行字符,回车,然后一些从未存在过的东西就出现了。这让他觉得自己像个创世者,虽然他创造的世界目前只有一只蝴蝶那么大。
周远在一家名为”万象科技”的公司做推荐算法工程师。公司的主营业务是社交平台的内容推荐——简单来说,就是决定用户打开APP后看到什么。这是一个庞大的系统工程,每天处理数十亿次请求,影响数亿人的注意力分配。
周远的工作是优化推荐模型中的一个子模块:用户兴趣预测。他需要让算法更准确地预测一个用户在接下来的五分钟内想看什么内容。
这是一个在数学上可以用概率论来描述的问题。但它也是一个在哲学上让人发疯的问题。
因为所谓的”兴趣”,到底是用户自己产生的,还是算法引导出来的?
周远在深夜的办公室里思考这个问题的时候,莫比就在他的屏幕上飞。蝴蝶的翅膀扇动一次,屏幕上的概率分布就更新一次。周远有时候觉得,莫比翅膀的每一次扇动,都对应着某个平行宇宙里一个微小的选择——点开还是划过,停留还是关闭,微笑还是皱眉。
这些选择积累起来,就构成了一个人的”兴趣画像”。而”兴趣画像”又决定了算法下一次的推荐。推荐又影响了选择,选择又更新了画像。
这是一个莫比乌斯环。一个自己咬自己尾巴的蛇。
周远有时候怀疑,他不是在教算法理解人类,而是在教人类变成算法。
这天下午,他收到了一封内部邮件。邮件标题是:“关于推荐模型伦理审查的通知”。内容大意是,公司决定成立一个算法伦理审查委员会,每个团队需要提交一份报告,说明自己的推荐算法是否存在”价值观偏差”。
周远盯着这封邮件看了三遍,然后给莫比加了一段新代码:当屏幕上出现”伦理”这个词的时候,蝴蝶会短暂地停顿一下,然后飞向屏幕的左上角。
他不确定这个行为的含义。但他觉得莫比应该对这个话题有自己的看法。
三、会呼吸的楼
深南大道上有一栋写字楼,名叫”海云大厦”。
这栋楼有42层,外墙是深蓝色的玻璃幕墙,在阳光下看起来像一块巨大的蓝宝石。楼顶有一根天线,夜晚会亮起红色的航空警示灯,像一只永远不闭的眼睛。
海云大厦是2014年建的。在那之前,这块地上是一片荔枝林。开发商砍掉了所有的荔枝树,只留了一棵——那棵树刚好长在规划图上一个不需要动土的位置,在大楼的背面,靠近地下车库的通风口。
没有人知道那棵荔枝树现在还活着。它的树冠被夹在两面混凝土墙之间,只有从车库出口的角度才能看到它伸出的一小截枝丫。每年六月,那截枝丫上会结出几颗荔枝,红艳艳的,像是从混凝土里挤出的血珠。
苏晚曾经在那棵树下站过。
那是她还在这栋楼里上班的时候。有一天加班到很晚,她从车库出来,闻到一股淡淡的甜香。她循着味道走过去,看到了那棵树。月光从楼和楼之间的缝隙里漏下来,照在荔枝树的叶子上,叶片上的绒毛在银光中清晰可见。
她伸手摘了一颗荔枝,剥开,放进嘴里。果肉冰凉,甜得有些过分,像是一个人在黑暗中发出的不合时宜的笑声。
从那以后,每当苏晚觉得自己快要被工作压垮的时候,她就会在深夜走到车库出口,在那棵荔枝树下站一会儿。她从来没有告诉过任何人这件事。这是她和一栋楼之间的小秘密。
后来她被系统除名了,门禁卡失效了,她进不去了。
但她还是会路过海云大厦。每次路过的时候,她都会抬头看一眼那面深蓝色的玻璃幕墙。在某个特定的角度和光照条件下,她会看到玻璃上映出自己的脸——但不是现在的自己,而是几年前的自己,穿着灰色职业装,头发扎得一丝不苟,脸上带着一种自信的、近乎傲慢的微笑。
苏晚不知道那是玻璃的反射还是自己的幻觉。但她每次看到那张脸的时候,都会感到一阵眩晕,好像时间在她身上折叠了一下,让过去的她和现在的她在某一秒钟里重叠了。
她开始频繁地路过海云大厦。
有时候是在早上,上班族涌入大楼的时候。她站在马路对面,看着那些低着头看手机的人流,像是在看一条河。河水从四面八方涌来,汇入大楼的正门,被电梯分配到不同的楼层,然后在大楼内部消化、运转、产出代码、PPT、会议纪要和各种各样让这个世界继续运转的东西。
有时候是在深夜,大楼里只有零星几层还亮着灯。苏晚知道那些是加班的楼层——通常是12楼的产品团队、18楼的数据团队、和27楼的推荐算法团队。深夜的灯光从玻璃幕墙里透出来,像是大楼身上的伤口在发光。
有一天深夜,苏晚又站在楼下,盯着27楼的灯光看。她突然觉得大楼在呼吸。
不是比喻。是真的在呼吸。
玻璃幕墙的表面出现了一种极其缓慢的起伏,像是有什么东西在楼的内部膨胀和收缩。频率很低,大约每六秒钟一次。如果你不是盯着看,根本注意不到。
苏晚屏住呼吸,用手掌贴上了玻璃幕墙。
她感觉到了。一种微弱的、有节律的振动,从玻璃的另一面传过来,像心跳。
那个瞬间,苏晚觉得自己像是把手掌贴在了一个巨大生物的胸膛上。这栋楼是活的。它有脉搏,有呼吸,有自己不可言说的生命。它每天都在吞噬数以千计的人,消化他们的时间和精力,然后在深夜把剩余的疲惫和灯光吐出来。
她缩回手,退后两步,抬头看着海云大厦的顶部。航空警示灯在黑暗中一闪一闪,像是在对她眨眼。
苏晚笑了一下。这是她三周以来第一次笑。
四、交叉点
周远第一次见到苏晚是在7-11便利店里。
那是个周五的深夜,大约凌晨一点。周远刚从公司出来,打算买一杯咖啡和一份饭团当夜宵。他推开便利店的门,看到一个穿灰色卫衣的女人站在货架前,手里拿着一份便当盒,盯着上面的价格标签看。
她的手指在便当盒的边缘轻轻划过,像是在抚摸一件昂贵的珠宝。然后她把便当盒放回了货架,拿起了旁边一碗方便面。
周远在收银台排队的时候,她排在他后面。他闻到她身上有一种淡淡的霉味,混合着某种廉价洗衣液的香气。她的头发有些油腻,大概是好几天没洗了。但她站得很直,目光平静,像是一个在排队买咖啡的普通上班族。
周远付了钱,拿着咖啡和饭团走出去。在门口他回头看了一眼——那个女人正在收银台前面掏口袋里的硬币,一个一个地数。
一周后,他又在同一个便利店看到了她。这次她手里拿着两个苹果,站在冷柜前发呆。周远注意到她的指甲剪得很短,指甲缝里有黑色的墨水痕迹——那是经常使用钢笔或签字笔的人才会有的特征。
第三次见到她的时候,周远忍不住了。
“你是不是住在这附近?“他在货架前问她。
苏晚抬起头看了他一眼。她的眼睛很黑,眼白里有细微的血丝,但目光清澈,像是一潭被搅动过的水正在慢慢沉淀。
“对,“她说。
“我也住在这附近,“周远说,“我在海云大厦上班。”
苏晚的表情变了一下。非常短暂,像是一片云从月亮前面飘过。
“我以前也在那里上班,“她说。
“以前?”
“我被系统开除了。”
周远愣了一下。他不知道该怎么接话。但他注意到苏晚说这句话的时候,语气很平,像是在说”我今天吃了一碗面”或者”明天可能会下雨”。
“什么系统?”
“信用评分系统。“苏晚把苹果放进购物篮,“我自己参与搭建的系统。”
周远在那一瞬间觉得世界裂开了一道缝。他站在7-11便利店的货架前,手里拿着一盒打折的寿司,面前是一个被自己创造的系统判了死刑的女人,而他每天的工作——推荐算法——正在做类似的事情:用数学模型定义一个人的喜好、习惯、甚至存在的意义。
“你叫什么名字?“他问。
“苏晚。”
“我叫周远。“他犹豫了一下,“你……想聊聊吗?”
苏晚看了他一眼。那是一种很复杂的目光——有审视、有怀疑、有一点点好奇,还有一种像是被什么东西轻轻触碰后下意识的退缩。
“为什么?“她问。
周远想了想,发现自己给不出一个理性的答案。他只是觉得,在那一刻,他和苏晚之间有一种看不见的联系,像是莫比的翅膀在某个遥远的计算节点上扇动了一下,引发了这场便利店里的偶遇。
“因为我觉得我们可能在解决同一个问题,“他说。
苏晚沉默了很长时间。便利店的背景音乐换了一首,变成了某个不知名歌手唱的情歌,旋律黏糊糊的,像是化了一半的糖果。
“好吧,“她最终说。
五、夜谈
他们在便利店旁边的公园里坐了下来。这是一个很小的口袋公园,夹在两栋写字楼之间,只有两张长椅和一棵半死不活的桂花树。深夜的公园空无一人,路灯发出昏黄的光,把他们的影子拉得很长。
苏晚讲了自己的故事。
她讲得很平静,没有煽情,没有控诉,像是在做一个工作汇报。她讲了信用评分模型的原理,讲了那些被标红的数据项,讲了”手机电量变化模式”这件事如何变成了她被判定为不可信的证据。
周远听完之后沉默了一会儿。
“你知道吗,“他说,“我们做推荐算法的有一个概念叫’信息茧房’。就是说你给用户推荐的内容,会越来越窄,越来越单一,最终把用户困在一个由算法编织的信息泡泡里。”
“我知道,“苏晚说,“这是2010年代就有的概念。”
“但你知道吗,这个概念其实比我们想的更严重。“周远的声音低了下来,“信息茧房不只是限制了你看什么内容。它在慢慢地改变你是谁。”
他掏出手机,打开了一个内部的数据仪表盘——这是他作为算法工程师的权限。
“你看,“他把手机屏幕转向苏晚,“这是我们平台上的一个典型用户的数据画像。这个用户在两年前注册的时候,兴趣标签是’美食、旅行、摄影’。现在他的兴趣标签变成了’焦虑、职业发展、理财产品’。”
“人都会变的,“苏晚说。
“对,“周远点头,“但你看看这个——“他滑动屏幕,调出了另一组数据,“这是他的内容消费时间线。你看,在第14个月的时候,出现了一个拐点。在那之前,他看到美食内容的概率是32%;在那之后,这个概率降到了3%。而理财内容的概率从5%上升到了41%。”
“你们推了理财内容给他。”
“不,不完全是。“周远摇头,“算法是这样工作的:它发现这个用户在第13个月的时候,有一次在深夜搜索了’如何快速赚钱’。这个行为被标记为’财务焦虑信号’。然后算法开始小幅增加理财内容的推荐比例——从5%增加到8%。用户点了,停留时间比平均长了12秒。算法捕捉到了这个正向反馈,于是进一步增加推荐比例——8%到15%。”
“然后他就越来越焦虑,越来越需要理财内容,算法就给他推更多的理财内容。”
“对。这是一个正反馈循环。但问题在于——“周远的声音更低了,好像怕被谁听到,“——我们内部做过一个实验。如果我们从系统中移除这个用户的所有’财务焦虑信号’,让算法完全不知道他搜索过’如何快速赚钱’,然后重新跑推荐模型——你猜结果是什么?”
“什么?”
“他的兴趣轨迹几乎不会发生变化。美食、旅行、摄影,和两年前一模一样。”
苏晚沉默了。
“也就是说,“她慢慢地说,“他的焦虑不是他自己产生的。是算法制造出来的。”
“可以这样理解。“周远把手机收回口袋,“算法捕捉到了一个瞬间的、可能是偶然的信号——也许他那天只是喝了酒,也许他只是好奇搜了一下——然后把这个信号放大了,反馈了,固化了,最终把它变成了这个人的’真实兴趣’。”
“一个人的命运,“苏晚说,“被一个深夜的搜索改变了。”
“不只是搜索。“周远看着她,“你的信用分也是一样的逻辑。算法捕捉到了一些碎片化的信号——不买充电宝、手机电量低、社交圈里有几个低分的人——然后把这些信号串联起来,构建了一个关于你的’风险画像’。但这个画像不是你。它只是算法眼中的你。”
“但这个’算法眼中的我’,“苏晚说,“已经毁了我的工作。”
“我知道。”
他们沉默地坐了一会儿。桂花树的枝叶在夜风中微微晃动,发出沙沙的声音。远处有一辆夜班公交车驶过,车灯在公园的地面上一扫而过。
“我最近在做一个东西,“周远突然说,“不是工作项目。是我自己的。”
“什么?”
“一只蝴蝶。”
苏晚看着他,不明白。
周远掏出笔记本电脑,打开了一个程序。屏幕上,一只蝴蝶在黑色的背景中飞舞。它的翅膀是半透明的蓝色,边缘有细微的光晕,扇动的频率恰好让人联想到真实的生命。
“这是一只模拟蝴蝶,“周远说,“但它使用的物理模型是真实的。我用了真实的蝴蝶飞行数据来训练它的运动模型。”
“为什么做这个?”
周远想了想。他发现自己从来没有对任何人解释过莫比的意义。在办公室里,同事们只是觉得他做了一个无聊的屏保。但在这里,在这个深夜的口袋公园里,面对一个被系统判了死刑的女人,他觉得也许可以试着说出口。
“因为蝴蝶是混沌理论的象征,“他说,“你知道蝴蝶效应吧?一只蝴蝶在巴西扇动翅膀,可能会在美国引发一场龙卷风。这是一个关于’初始条件敏感性’的比喻——微小的变化可能导致巨大的后果。”
“知道。”
“但大多数人理解反了。“周远盯着屏幕上的蝴蝶,“他们以为蝴蝶效应的意思是’小事情会引发大灾难’。但其实蝴蝶效应的真正含义是——未来是不可预测的。因为在任何一个复杂系统中,初始条件的微小差异都会随着时间指数级放大,最终导致完全不同的结果。”
“所以?”
“所以——“周远合上电脑,看着苏晚,“——所以你的系统有根本性的缺陷。你那个信用评分模型声称可以以87.3%的概率预测一个人的未来行为。但混沌理论告诉我们,这种预测在数学上是不可能的。不是概率低,是不可能。一个人不是一条方程式。你不可能通过有限个变量来穷尽一个人的可能性。”
苏晚的手指无意识地收紧了,指甲陷进掌心。
“那你为什么还在做推荐算法?“她问。
这个问题像一根针,精准地扎进了周远最不愿意触碰的地方。
他没有回答。苏晚也没有追问。他们只是坐在长椅上,看着头顶那片被城市灯光污染得几乎看不见星星的夜空。
过了很久,周远才开口。
“因为我想证明一件事。”
“证明什么?”
“证明蝴蝶是可以逆飞的。“
六、荔枝树下的观测者
苏晚开始频繁地去找周远。
不是约会。是某种介于合作和共犯之间的关系。
周远帮她分析了信用评分模型的算法逻辑。作为曾经搭建过类似系统的人,苏晚对技术细节并不陌生。真正让她感到陌生的,是当她以被评判者的身份重新审视这些代码时,那种认知上的撕裂感。
“你看这个权重分配,“周远指着屏幕上的一段参数,“社交关系占比12%,消费行为占比28%,地理位置占比9%——这些权重是怎么来的?”
“历史数据拟合出来的,“苏晚说,“我们用过去五年的用户行为数据训练模型,模型自动学到了这些权重。”
“但历史数据本身有偏差,“周远说,“你的训练数据里,‘违约用户’的定义本身就是主观的。什么样的人会被标记为违约?是逾期30天?60天?90天?这个阈值是人为设定的。而不同收入水平、不同行业、不同地区的人,逾期的原因和模式完全不同。你用一个统一的标签去覆盖所有这些差异,然后再用这个有偏差的标签去训练模型,模型学到的不是’谁会违约’,而是’谁像过去那些被标记为违约的人’。”
苏晚知道他说得对。她一直知道。但在过去三年里,她选择不去想这个问题。因为在实际的业务场景中,模型是有效的——它能以85%以上的准确率预测违约风险,为公司节省了数以亿计的坏账损失。
那个15%的错误率,在PPT上只是一个不起眼的数字。但对于那15%中的人来说,它是全部。
“我想做一件事,“苏晚在某个深夜说。他们又坐在那个口袋公园里,面前的便利店里传来收银员打瞌睡的鼾声。
“什么事?”
“我要证明这个系统是错的。不是理论上的错,是具体的、可量化的错。我要用数据证明,我被标记为D级风险是不合理的。”
“你怎么证明?你需要系统的训练数据和模型参数。这些东西在公司内部,你没有权限。”
苏晚沉默了一会儿。然后她说了一句话,让周远意识到她比他想象的更决绝。
“我有。”
“什么?”
“我在被除名之前,做过一次完整的数据备份。不是为了这个,是为了做年度审计报告。所有数据都在我的个人硬盘里。”
周远看着她。深夜的路灯在她的脸上投下模糊的阴影,让他看不清她的表情。但他能感觉到她身上有一种他在写字楼里从未感受过的东西——不是愤怒,不是绝望,是一种更安静的、更深沉的力量。像是一棵被砍断了树干的树,从根部重新长出的芽。
“你知道这样做如果被发现,会有什么后果吗?“他问。
“我已经失去工作了。还能失去什么?”
“信用分可能会进一步下降。在这个系统里,‘数据窃取’是比违约严重得多的负面信号。”
苏晚笑了。那种笑带着一种苦涩的、几乎是荒诞的幽默感。
“一个信用分340的人,还能降到哪去?“她说,“而且——你知道吗,信用分降到一定程度之后,你反而自由了。因为没有什么可失去的了。”
周远觉得她说的这句话里,包含着某种他还没有完全理解的东西。一种只有在被系统彻底抛弃之后才能获得的视角。一种从数字的废墟里生长出来的、关于人的真实性的直觉。
他决定帮她。
七、破壁
接下来的两周,苏晚几乎住在了周远的出租屋里。
那是一间典型的深圳城中村单间,十五平方米,窗户对着另一栋楼的墙壁,间距不到一米。房间里堆满了书——不是技术书,是数学史、混沌理论、博尔赫斯和卡尔维诺的小说。周远把莫比投射到了投影仪上,蝴蝶在整面墙上飞舞,给狭小的房间带来了一种奇异的、近乎梦幻的氛围。
苏晚把备份的数据导入到周远的开发环境里,开始逆向分析模型的决策路径。
这是一项繁琐到令人发疯的工作。第四代信用评分模型使用了深度神经网络架构,有超过一亿个参数,决策路径是不透明的——这正是深度学习的根本问题。你可以在统计层面验证模型的准确性,但你无法解释它为什么对某个特定的个体做出了某个特定的判断。
苏晚和周远用了一种叫做”反事实解释”的方法。他们逐步修改苏晚的数据项,观察模型输出的变化。
第一步:把”手机电量变化模式”从”高风险”改为”正常”——信用分从340上升到398。涨了58分。
第二步:把”夜间活动频率”从”异常高”改为”正常范围”——信用分从398上升到452。又涨了54分。
第三步:把社交网络中三个低分个体的连接删除——信用分从452上升到580。涨了128分。
“你看,“周远指着数据,“光是删除你和父母、朋友的社交连接,你的信用分就涨了128分。这意味着系统在惩罚你和你爱的人之间的关系。”
苏晚盯着屏幕,手指微微颤抖。
她想起了父亲苏建国。他是个在湖南小城开五金店的老实人,一辈子没欠过谁的钱,唯一的”过错”是没有按时缴纳一次工商年报,被系统记录为”经营异常”。母亲陈玉兰退休后靠养老金过日子,因为有一次在医院看病时没有走医保报销流程而是直接付了现金,被系统标记为”可能的逃税行为倾向”。
方小琴更冤。她是个自由插画师,收入不稳定,有时一个月赚两万,有时一个月一分没有。这种”收入波动性”在模型里是致命的——系统更喜欢有稳定月薪的人,因为他们的行为更容易预测。而容易预测,在算法的世界里,就等于”可信”。
“你知道这叫什么吗?“苏晚的声音有些沙哑,“这叫’穷人的原罪’。系统不是在评估你的信用,它是在评估你的阶级。你穷,你的朋友穷,你的家人穷,所以你不可信。不是因为你的行为有问题,而是因为你的社会关系网不符合中产阶级的标准模板。”
周远沉默了。
他在推荐算法里见过类似的现象——系统倾向于向高收入用户推荐高质量内容,向低收入用户推荐低质量但高点击率的内容,长期下来,两个群体之间的信息差距越来越大,认知差距越来越大,最终变成了两个完全不同的世界。
算法不是中立的。它从来都不是。它只是把现有的不平等用数学语言重新编码了一遍,然后给它盖上一个”客观”的戳。
“还有一个问题,“周远说,“你注意到没有——你改了三个变量之后,信用分到了580。但你原来的分数是780。还差200分。这200分是怎么丢的?”
苏晚皱了皱眉。她继续反事实实验,逐个修改数据项。但无论怎么改,信用分都无法超过620。
“有200分的差距是解释不了的,“周远说,“它藏在神经网络的深层参数里。我们看不到,也无法解释。这就是深度学习的黑箱问题——模型的决策依赖于上亿个参数的非线性组合,任何单个参数的变化都不足以解释最终结果。它是一个整体性的、不可分解的判断。”
“也就是说,“苏晚说,“有200分的差距,纯粹是机器的’直觉’。”
“可以这么说。”
“那我怎么反驳一个没有理由的判断?”
周远想了一会儿。
“你不能。“
八、系统外的世界
苏晚在申诉的第三周收到了HR的正式回复。
回复是一封格式化的邮件,措辞礼貌但冰冷,大意是:经过内部复核,系统评估结果维持不变。根据公司政策,D级风险员工不在续约范围内。感谢您过去三年的贡献。
苏晚把这封邮件读了三遍,然后关掉了电脑。
她走出出租屋,沿着深南大道走。这是深圳最著名的干道,两侧是一栋接一栋的写字楼、商场和酒店,玻璃幕墙在午后的阳光下闪闪发光。街上的人流密集而有序,每个人都低着头看手机,步履匆匆,像一条条被编码的指令在电路板上流动。
苏晚走着走着,发现自己走到了海云大厦的楼下。
她站在马路边,抬头看着那面深蓝色的玻璃幕墙。下午三点,阳光从西边打过来,幕墙变成了一个巨大的镜面,映出对面的建筑、路上的车流、和站在马路边的她自己。
但镜像里的她不太对。
镜子里的苏晚穿着一件她没有的白色衬衫,头发比现在长,表情松弛,嘴角微微上扬。她看起来像是一个刚拿到offer的年轻人,对世界充满期待。
苏晚怔怔地看着那个镜像。她知道那不是真实的——也许是光照角度造成的错觉,也许是玻璃的曲率导致了形变,也许是她自己大脑在漫长的压力下产生的补偿性幻觉。
但她忍不住想:那个镜像里的苏晚,是不是另一个可能性的自己?一个没有被系统判定为高风险的苏晚,一个还在写字楼里加班的苏晚,一个相信数据能让世界变得更公平的苏晚。
两个苏晚隔着玻璃幕墙对视。一个在阳光里,一个在镜子里。
然后镜像消失了。一辆公交车从面前驶过,挡住了视线。等公交车开走,玻璃幕墙上只剩下下午的阳光和对面建筑的倒影。
苏晚低下头,发现自己的眼眶是湿的。
她用手背擦了擦眼睛,转身走向大楼背面的车库出口。她知道那个地方——那棵被混凝土墙夹住的荔枝树就在那里。虽然她进不去大楼,但她可以站在外面,隔着围栏看它一眼。
她绕到了大楼的背面。那里是一条狭窄的巷道,一边是海云大厦的混凝土外墙,一边是另一栋建筑的后墙。巷道很暗,阳光几乎照不进来,地面潮湿,墙壁上长着青苔。
荔枝树就在巷道的尽头。它的树冠被两面墙挤压得变了形,枝条扭曲着向上生长,像是伸出的手臂。几颗红色的荔枝挂在枝头,在昏暗中显得格外鲜艳。
苏晚站在树下,抬头看着那些荔枝。她想起了上次吃荔枝的那个夜晚——果肉冰凉,甜得有些过分。那是一个不同的时空,一个她还拥有工作和身份和信用分的时空。
她伸手想摘一颗荔枝,但够不到。树枝太高了。
她跳了一下。还是够不到。
她又跳了一下。手指擦过了一颗荔枝的表皮,但没有抓住。
第三次,她用力跳了起来,手指扣住了一颗荔枝的果柄,用力一扯——
荔枝掉了下来,但不是她摘的那颗。是另一颗,更成熟的那颗,在她扯动树枝的时候自己脱落了。它落在她的掌心里,沉甸甸的,表皮微微裂开,露出里面白色的果肉。
苏晚站在黑暗的巷道里,手里握着一颗从混凝土缝隙中长出的荔枝。她剥开它,放进嘴里。
这次不甜。是酸的。很酸。酸到她的五官都皱了起来,酸到眼泪都快掉下来了。
但正是这种酸味让她觉得真实。比信用分真实,比数据报告真实,比玻璃幕墙上的镜像真实。这是一种从土地里生长出来的、被阳光和雨水和混凝土共同塑造的味道,无法被量化,无法被编码,无法被任何算法预测。
她慢慢地嚼着那颗酸荔枝,靠在墙上,仰头看着头顶那一线天空。
天空很窄,只有两栋楼之间的一条缝隙。但那一小片天空是蓝色的。真正的蓝色。不是玻璃幕墙的蓝色,不是屏幕的蓝色,是深圳六月的、带着潮气和热浪的、真实的蓝天。
苏晚突然想起了一件事。她掏出手机,打开微信,给周远发了一条消息:
“你说蝴蝶可以逆飞。怎么证明?”
周远回得很快:
“让莫比在一个封闭系统里飞。如果它的飞行轨迹最终趋向于一个固定的模式,那说明系统是决定论的——一切都可以预测。但如果它的飞行轨迹永远不会重复,永远不会收敛,那说明系统是混沌的——未来是不可预测的。”
“然后呢?”
“然后我就有了一个数学上的证明:即使在最简单的物理系统中,长期预测也是不可能的。信用评分模型声称的87.3%的预测准确率,在混沌系统的框架下,毫无意义。”
苏晚看着这段话,嘴角慢慢翘了起来。
“那我帮你,“她回复。
九、逆飞
接下来的一个月,苏晚和周远投入了一个秘密项目。
他们给这个项目取了一个代号,叫”逆鳞”——取”逆”字代表逆向运动,取”鳞”字代表蝴蝶翅膀上的鳞片。
项目的核心目标很简单:用数学证明信用评分模型的预测是不可靠的。
方法也很简单:用莫比。
周远花了两个月的时间,把莫比从一个屏幕上的动画蝴蝶,升级成了一个完整的混沌系统模拟器。莫比的每一次翅膀扇动,都严格遵循流体力学方程;它的每一次转向,都受到初始条件的微小差异的影响。周远在莫比的运动模型中引入了一个关键参数——他用苏晚的信用评分数据作为初始条件之一。
也就是说,莫比的飞行轨迹里,藏着苏晚的数字命运。
而莫比的飞行轨迹,永远不会重复。
周远在苏晚的协助下,运行了一万次模拟。每次模拟使用相同的物理模型,但初始条件有极微小的差异——小到小数点后第14位的区别。这种差异在实际测量中几乎是不可察觉的。但在一万次模拟之后,结果出现了巨大的分歧:
有37%的模拟中,苏晚的信用分在12个月后回升到700以上。
有24%的模拟中,信用分保持在340左右。
有19%的模拟中,信用分进一步下降到200以下。
还有20%的模拟中,结果出现了系统无法分类的异常模式——既不上升也不下降,而是在某个区间内剧烈震荡,像是系统的判断功能本身出了问题。
“你看,“周远把数据可视化了出来。一万条轨迹在屏幕上像一张巨大的蛛网,从同一个起点出发,向着完全不同的方向蔓延。有些向上,有些向下,有些在中间打转。
“如果系统的预测是可靠的,这一万条轨迹应该收敛到相似的终点。但它们没有。它们发散了。这不是模型的缺陷,这是现实的本质——人的行为像天气一样,是一个混沌系统。你可以预测明天会不会下雨,但你无法预测一年后的某一天会不会下雨。同理,你可以预测一个人下个月会不会逾期,但你无法预测他一年后会不会违约。”
苏晚看着那张像蛛网一样的图,沉默了很久。
“但这只是一个模拟,“她说,“它不是真实的证据。”
“但它是一个数学证明,“周远说,“它证明了,在混沌系统的框架下,任何超过短期范围的预测都是不可靠的。这不是我说的,这是庞加莱在一百年前就证明了的。我们只是用现代的方法重新验证了一遍。”
“谁会听呢?“苏晚的声音很轻,像是怕惊动了什么,“谁会在乎一个数学证明?当整个行业都在用信用评分模型赚钱的时候,谁会在意它在理论上是不完备的?”
周远没有回答。因为他知道她说得对。
在现实世界里,真理从来不是最有说服力的东西。利益才是。
但他们还是决定试一试。
十、公开
苏晚把”逆鳞”项目的研究成果写成了一份报告。
报告的标题是:《信用评分模型的混沌边界——为什么87.3%的预测准确率是一个统计幻觉》。
她在报告中详细阐述了以下几个核心论点:
第一,信用评分模型使用的历史数据存在系统性偏差。训练数据中的”违约”标签本身就是主观的,不同收入水平、不同行业的人被标记为”违约”的标准不同,但模型把这些差异掩盖在了一个统一的标签之下。
第二,模型的特征工程引入了隐性歧视。社交关系、消费习惯、手机使用行为等特征,本质上是在测量一个人的阶级位置,而非其信用意愿或还款能力。
第三,也是最重要的——基于混沌理论的数学证明,在一个行为维度超过一定阈值的复杂系统中,长期预测在数学上是不可能的。模型声称的87.3%的准确率,只在训练数据的分布范围内有效。一旦遇到训练数据之外的个体——比如苏晚——模型的预测就退化成了一个随机猜测。
她在报告的最后写了一段话:
“我是一个被自己创建的系统判定为不可信的人。但我不认为自己是不可信的。我只是不符合这个系统的模板。而这个模板本身——它不是客观的,不是中立的,更不是公正的。它只是一面镜子,映出了创建它的人的偏见和盲区。而我,恰好是那个站在镜子外面的人。”
周远帮她把报告发到了一个开源技术社区。他没有用真名,用的是”莫比”这个ID。
报告在三天之内被转发了两万次。
评论区里吵成了一锅粥。有人支持,有人反对,有人说这是”外行对深度学习的误解”,有人说这是”对算法歧视问题最清晰的阐述”。
第四天,一家财经媒体的记者找到了苏晚。
第五天,苏晚的前公司——那家互联网金融公司——发布了声明,说他们”高度重视算法伦理问题”,将”对信用评分模型进行全面审查”。
第六天,苏晚接到了一个电话。
电话那头是一个男人的声音,低沉、平静,带着一种经过训练的官方腔调。
“苏晚女士,我是恒信金科的法律顾问张维。我们注意到了您发布的那份报告。我想和您谈谈。”
恒信金科是国内最大的信用评分服务提供商。他们的评分系统覆盖了超过8亿用户,被银行、保险公司、 landlords、甚至一些政府部门广泛使用。
苏晚记得,她的公司使用的信用评分模型,底层的数据接口就是恒信金科提供的。
“谈什么?“苏晚问。
“谈一个合作的机会。“
十一、恒信金科
恒信金科的总部在福田CBD的一栋甲级写字楼里。大堂铺着意大利进口的大理石,天花板上挂着一盏巨大的水晶吊灯,前台后面的墙上用金色字体写着:“信用是社会的基石”。
苏晚在等待区坐了十五分钟。她注意到大厅里有一面巨大的电子屏幕,上面实时滚动着全国的平均信用分数。当前数字是672.3,比上个月上升了0.8。屏幕下方有一行小字:“让每一个人都值得被信任。”
张维把她带到了一间会议室。会议室里还有两个人——一个穿灰色西装的中年男人,和一个戴眼镜的年轻女人。中年男人是恒信金科的CTO,叫王瀚。年轻女人是他的助理。
“苏女士,久仰。“王瀚站起来和她握手。他的手掌干燥温暖,力度恰到好处——一种被精心练习过的握法。
“我们认真读了你的报告,“王瀚说,“坦率地讲,你的分析有一些亮点。尤其是关于混沌理论的那个部分——虽然在实际应用层面上不太具有操作性,但理论框架是有价值的。”
“谢谢,“苏晚说。她注意到他用的是”有一些亮点”而不是”很好”或”有道理”。这是一种谈判中的压价策略。
“但我们今天找你来,不是为了讨论理论,“王瀚继续说,“我们想给你一个机会。”
他示意助理打开投影仪。屏幕上出现了一张组织架构图,上面有一个用红框标注的岗位——“算法伦理研究主管”。
“我们正在组建一个算法伦理部门,“王瀚说,“这是行业内的首创。我们需要一个既懂技术又经历过系统误判的人来领导这个部门。你是最合适的人选。”
苏晚看着那张组织架构图,沉默了一会儿。
“这个部门有什么权限?“她问。
“负责审查和优化我们的信用评分模型。确保算法的公平性和透明度。直接向我汇报。”
“你们愿意开放模型的全部参数和训练数据吗?”
王瀚微笑了一下。那种微笑很标准,像是从某本管理学教材的封面上复制下来的。
“当然,在合理的范围内。”
“什么叫’合理的范围’?”
“涉及商业机密的部分需要保密处理。但核心的模型架构和评估指标,你可以完全访问。”
苏晚低头看着桌面。桌面上有一杯刚倒的茶,茶叶在水里缓慢地旋转,像一个小型的漩涡。
她知道这是一个交易。恒信金科不是在请她做改革者,他们是在请她做装饰品。一个”曾经的受害者”领导”算法伦理部门”,这是一个完美的公关故事——它告诉世界,恒信金科在乎公平,在乎每一个被误判的人。
而苏晚如果接受了这个职位,她就会变成这个故事的一部分。她会被收编,被消化,被转化为系统的营养。
但她也会获得权限。接触底层模型的权限。看到那八亿人的数据是怎么被处理的权限。也许,还有改变一些东西的权限。
“我需要时间考虑,“她说。
“当然。“王瀚又微笑了。
苏晚站起来,走到门口。然后她停下了,转过身。
“王总,我能问你一个问题吗?”
“请说。”
“你们的系统,自己的信用分是多少?”
王瀚的微笑僵了一瞬间。非常短暂,不到半秒钟。然后他笑了,笑得比之前更标准。
“恒信金科不是个人,没有信用分。“他说。
苏晚点了点头,推门走了出去。
她走出写字楼的时候,外面下了一场太阳雨。阳光和雨丝同时落在她的脸上,温暖和冰凉交织在一起,像是一个无法用数学模型描述的悖论。
十二、莫比的翅膀
苏晚最终没有接受恒信金科的offer。
她做了另一个选择。
她和周远一起,用”逆鳞”项目的成果,做了一个开源工具。这个工具叫做”莫比之翼”——它可以让任何人输入自己的信用评分数据,然后生成一份个性化的”反事实报告”,展示哪些因素影响了你的信用分,以及如果你改变其中某些因素(比如删除某些社交连接,或者调整消费模式),你的信用分会怎么变化。
“莫比之翼”上线的那天,苏晚在技术社区发了一篇帖子。帖子很短:
“我叫苏晚。三个月前,我被自己参与搭建的信用评分系统判定为’高风险个体’,失去了工作。我用三个月的时间证明了,这个系统的预测是不可靠的。现在,我把证明的工具开放给所有人。你的信用分不是你的命运。它只是一只蝴蝶的翅膀,在某个瞬间恰好扇向了某个方向。而翅膀,是可以改变方向的。”
帖子在一天之内获得了十万次转发。
“莫比之翼”在上线第一周被使用了超过一百万次。人们惊讶地发现,自己的信用分竟然可以被如此简单地操控——删除一个社交连接就能涨100多分,改变一下手机充电习惯就能涨50分。信用分的”权威性”在一夜之间动摇了。
恒信金科在第二周发表了一份声明,说”莫比之翼”使用的分析方法是”不科学的”,“对信用评分模型的原理存在误解”。
但声明发出的当天,恒信金科的股价下跌了4.7%。
第三周,监管部门介入了。工信部发布了一份征求意见稿,要求所有信用评分服务提供商在模型中使用”可解释性算法”,并定期接受第三方审计。
苏晚在新闻上看到这条消息的时候,正坐在出租屋的窗边吃方便面。窗外的霉斑蝴蝶又大了一圈,几乎覆盖了整个墙角。
她端着方便面碗站起来,走到墙角,盯着那只霉斑蝴蝶看了很久。
然后她伸出手指,在蝴蝶旁边的墙壁上画了一只真正的蝴蝶。用方便面的汤汁画的。棕色的、黏糊糊的、歪歪扭扭的,但确确实实是一只蝴蝶。
它和霉斑蝴蝶面对面,像是在对话。
十三、活着的楼
六月末的一个深夜,苏晚和周远又来到了海云大厦的背面。
这次他们不是去分析数据。他们是去看那棵荔枝树。
深圳的六月是荔枝的季节。那棵被夹在两面墙之间的小树,今年结了比往年更多的果实。红色的荔枝密密麻麻地挂在枝头,在路灯的微光中像一串串小灯笼。
周远站在树下,看着那些荔枝,神情有些恍惚。
“你知道吗,“他说,“这棵树的生存概率在数学上几乎为零。它被两面墙挡住了阳光,根系被地基挤压,通风条件极差,能活下来本身就是一个奇迹。”
“但它活下来了,“苏晚说。
“对。它活下来了。“周远想了想,“而且它还在结果。在不理想的条件下,持续地产出果实。这——”
“这就是逆飞。“苏晚接过他的话。
周远看着她。在路灯的光线里,苏晚的脸上没有了三个月前那种被系统碾压后的灰败。她的眼睛里有一种东西,不是希望——希望太大了,太抽象了——而是一种更小的、更具体的东西。像是一棵在夹缝中生长的树的根,牢牢地抓住了什么。
“谢谢你,“苏晚说。
“谢什么?”
“谢你在便利店里跟我说话。”
周远笑了。那是他第一次在苏晚面前笑得没有保留。
“谢你的莫比,“他说,“如果没有它,我不会在凌晨一点还在便利店买寿司。”
“你的蝴蝶……它现在在哪儿?”
周远掏出手机,打开了莫比的程序。蝴蝶在屏幕上飞,翅膀半透明,蓝色的光晕在黑暗中格外明亮。它绕着屏幕飞了两圈,然后停在了屏幕的底部。
苏晚伸出手指,轻轻触碰了屏幕上的蝴蝶。
蝴蝶的翅膀微微颤动了一下,然后重新飞了起来。这次它没有绕圈,而是径直飞向了屏幕的顶部——然后消失了。
“你给它加了什么新代码?“苏晚问。
“没有,“周远看着空白的屏幕,声音有些发愣,“这段行为不在我的代码里。”
苏晚看着他的表情,突然笑了。那种笑不是苦笑,不是讽刺的笑,是一种真正的、从胸腔里涌出来的笑。她已经很久没有这样笑过了。
“也许,“她说,“莫比有了自己的想法。”
周远也笑了。两个疲惫的、被系统碾压过的、在数字的废墟里重新站起来的人,站在一棵被混凝土墙挤压的荔枝树下,对着一只消失在屏幕顶部的电子蝴蝶笑。
那一刻,海云大厦的玻璃幕墙在月光中微微起伏。六秒一次。像呼吸。
像活着。
十四、尾声
七月的一个早晨,苏晚收到了一条短信。
短信来自一个陌生号码,只有一行字:
“苏晚,你好。我是方小琴。你的’莫比之翼’救了我。我的信用分从320升到了560,我终于能租到房子了。谢谢你。”
苏晚盯着这条短信看了很久。然后她打开通讯录,翻到了”方小琴”的名字——那个在信用评分模型里被标记为”低风险社交连接”的名字,那个因为她的存在而拖累了苏晚信用分的人。
她犹豫了一下,然后按下了拨号键。
电话响了三声,接通了。
“喂?”
“小琴,是我,苏晚。”
电话那头沉默了一秒钟,然后爆发出一声压抑的哭声。
“苏姐——我以为你把我删了——你的信用分出事之后我就怕连累你——对不起——”
“别哭,“苏晚说,她的声音平静得像一面湖,“我没有删你。我只是想告诉你,你的信用分不应该定义你是谁。你是一个好的画家。你画的那些插画,比任何信用分都有价值。”
电话那头的哭声渐渐平息了。
“苏姐,你最近怎么样?”
苏晚看了看窗外。霉斑蝴蝶还在,但旁边多了一只用汤汁画的棕色蝴蝶。它们面对面,像是在互相守望。
“我最近——“她想了想,“我最近还不错。”
挂了电话之后,苏晚走到窗边,打开了窗户。深圳七月的空气扑面而来——热的、潮的、带着远处排档炒粉味道的、活着的空气。
她深深地吸了一口气。
然后她拿起手机,给周远发了一条消息:
“明天去荔枝树下坐坐?”
周远回了一个字:
“好。”
苏晚放下手机,看着窗外。
远处的深圳湾在晨光中泛着银色的光。海云大厦的玻璃幕墙在阳光下闪烁,像一面巨大的镜子。但如果你仔细看——真的很仔细地看——你会发现那面镜子的表面在微微起伏。六秒一次。像呼吸。
像活着。
像这座城市里所有的数字、所有的算法、所有的信用分加在一起都无法定义的东西。
活着。
完
后记
这个故事里没有英雄,没有拯救者,没有在最后一刻逆转全局的天才黑客。
只有两个普通人——一个被系统抛弃的女人和一个写蝴蝶的程序员——在深夜的便利店里偶然相遇,然后一起做了一件微小的、几乎不可能成功的事情。
他们没有推翻信用评分系统。那个系统依然在运转,依然在给八亿人打分,依然在决定谁能租到房子、谁能贷到款、谁值得被信任。
但他们证明了一件事:一只蝴蝶的翅膀,确实可以改变一些什么。
不一定是龙卷风。也许只是一颗荔枝的味道。一个朋友的电话。一面玻璃幕墙的呼吸。
这些微小的改变,积累起来,就是活着。
在数字的世界里,活着本身就是最大的反叛。
(全文完)