第一卷少年游 第八十三章变式
第一卷少年游 第八十三章变式 (第2/2页)顾老师讲评时把她们这一组的错误模型也投了出来。
“这个模型其实不错。”他说,“简单,能压缩现象,也能做预测。问题是为什么错?”
有人回答:“状态太少。”
“这是结果,不是原因。”
江遥已经知道答案,却没有抢着说。顾老师等了几秒,才在屏幕上把两段当前图案完全相同、未来却不同的过程并排播放。前面的历史不同,到某一时刻它们恰好变成同一个局面,下一步却又分开。
“如果你只看这一帧,”顾老师说,“你会认为它们是同一个状态。但是系统不这么认为。”
他没有继续往专业概念上引,只问:“像什么?”
后排有人说像两个人站在同一个路口,一个刚从东边来,一个刚从西边来,下一步可能往不同方向走。
顾老师说:“差不多。现在一样,不代表过去没留下东西。”
江遥看着屏幕,忽然想起训练营前纸袋任务里那个“路径”的问题,也想起省队实验里扫描方向不同导致曲线不重合。她以前把这些看成不同领域里的不同麻烦,现在第一次隐约觉得,它们可能共享某种更深的结构:有些系统不能只用此刻的一张照片描述,因为过去并没有真正消失。
这个念头让她兴奋,但她没有急着替它取名字。
晚上九点,她才给原既白发了一句:“今天发现一件很讨厌的事。”
原既白正在县城机房里做第二轮模型分析,看见消息时刚把一整套聚类结果删掉。
他这两天沿着江遥那句“不要先按人的分类去分扰动”往下做,把不同图像变化对模型内部表示造成的影响重新比较。结果最初漂亮得过分:几十种人工扰动似乎真的可以压进几个方向,某些在人眼看来毫无关系的变化,在模型内部造成几乎相同的响应。他甚至已经开始想,这些方向会不会就是模型自己的“敏感坐标”。
然后他换了模型。
同一批数据,同样的任务,只把网络结构和训练初始化改掉,那几个原本非常稳定的方向便开始旋转、分裂,有的甚至消失。两个模型都能达到差不多的识别准确率,却像用完全不同的内部语言做同一件事。
原既白第一次看到结果时以为代码错了,重跑了三遍。
没有错。
他坐在电脑前很久,才明白自己刚才犯了一个很符合自己的错误:因为在一个模型里看见了高层结构,便下意识希望它比实际更加普遍。他太喜欢“统一”这件事,以至于统一一旦出现,第一反应不是问它依赖什么,而是继续往上搭。
宋弈在旁边看他把图删掉,问:“不是昨天还挺漂亮?”
“太漂亮了。”
“漂亮也有错?”
“有时候就是因为漂亮,所以应该先怀疑。”
宋弈看了他一眼:“你最近跟江遥聊天是不是被传染了?”
原既白没有理他。
他重新把两个模型的响应放在一起比较,没有再问“哪个方向是模型真正使用的”,而是改成另一个问题:如果内部坐标不同,那么有没有什么关系是换了模型以后仍然存在的?例如某几类扰动虽然在不同模型里落到不同方向,但它们彼此之间的远近关系是否保持?又或者,在最终决策附近,哪些变化最容易让两个模型同时犯错?
问题一改,原来那几张漂亮图立刻不够用了。
他却松了一点。
过去他遇到这种情况,会觉得框架被破坏,现在开始慢慢接受一种不那么舒服的可能:也许高层结构不是先在那里等着他发现,而是必须一层一层验证,甚至不同层次需要不同结构。所谓统一,不一定是用一个公式把所有差异抹掉,也可能只是知道哪些差异在什么时候可以忽略。
手机又震了一下。
江遥把下午失败的事情简单说了一遍:“我把系统压成只看边界,上午很好用,下午发现同样的边界如果历史不一样,后面会走不一样。等于我把过去删掉了。”
原既白看完以后,没有马上回。
他在自己屏幕上正好看见两个准确率几乎相同的模型,因为训练路径不同,内部形成了完全不一样的表示。两个问题当然不是一回事,一个是小小的规则系统,一个是机器学习模型,不能为了好看硬说它们相同,但那种“现在的结果无法完全告诉你它怎么来的”的感觉确实有某种相似。
他最后只发:“我们这边也有一点像。但我现在不确定像到哪一层。”
江遥很快回:“这句话现在比较像你。”
“以前不像?”
“以前你会先告诉我它们本质一样。”
原既白盯着屏幕笑了一下。他没有反驳,因为这大概是真的。
高三的生活却不会因为他开始怀疑统一框架便自动给他更多时间。第二天月考分析会上,秦老师把他的总排名单独叫出来谈。原既白仍在年级最前面,但语文和英语把总分往下拖得很明显。秦老师并不担心他考不上清大,真正提醒的是另一件事:“你不要觉得自己未来要做计算、做人工智能,所以现在有些课就只是门票。高考不是考你最喜欢什么,是看你能不能在一个已经给定的规则里把该做的事做好。”
原既白说:“我知道。”
秦老师看了他几秒:“你每次说‘我知道’,通常只是脑子知道。”
这句话让他无从反驳。
当天晚自习,他没有去机房,把整整两个小时留给语文和英语。现代文阅读里有一道题问人物为什么没有立即解释自己的行为,他第一遍仍然觉得答案显而易见,准备写三行便结束,笔落下以后却想起秦老师说的“阅卷老师不能读你的脑子”,于是重新把人物处境、前文信息和动作结果一层层写全。写到最后,他突然觉得这件事和程序接口有点像:系统内部知道什么不重要,重要的是有没有把必要的信息以别人能接收的方式传出去。
这个联想冒出来时,他自己都有些嫌烦。
他开始发现,一个人一旦习惯从某种角度理解世界,连语文卷子都可能逃不掉。
训练营那边,江遥的第一次阶段复测在三天后举行。理论依旧是一百六十分,实验仍是一百分。她知道自己最近开放任务表现得不错,也知道下午那个错误模型让老师印象很深,可真正考试时,这些都不会直接换成分数。
理论第一题她做得很顺,第二题属于简宁最擅长的传统类型,她明显慢了一截。第三题却很陌生,题目没有给出熟悉的坐标选择,几个条件看起来彼此独立。江遥先按常规方法推了十多分钟,式子越来越多,最后停下来,把草稿纸翻了一页。
她没有问“该用哪个公式”,而是先问:如果把题目里的三个量都忘掉名字,只看它们之间什么关系不会因为换单位、换方向而改变,还剩下什么?
半小时以后,原本三页才能写完的关系被压成了两个无量纲组合。
剩下的推导突然变得很短。
她并不知道自己是不是全场第一个找到这种表示的人,也不知道这道题最后会给她多少分。真正不同的是,她已经能够辨认出那种时刻:什么时候继续算只是往错误的语言里堆更多句子,什么时候应该停下来换一种语言。
实验成绩仍然稳定。她做完以后自己估计不会特别高,也不会低。第二项里一个测量结果偏离预期,她检查了两次,确认不是接触问题,便直接保留,没有像一年前那样因为数据“不好看”而不舒服很久。
成绩第二天下午才公布。
江遥没有挤在最前面,等人少一些才过去。理论121.5,比第一次多了5.5分,名次从第20升到第11;实验75分,几乎没变,仍在第14附近;综合因为几名实验更强的选手理论发挥不同,来到第10。
韩思遥看到以后比她先叫出来:“你理论十一了。”
江遥把整行看了一遍。
她真正停留最久的是121.5,不是11。
第一次116,这一次121.5,差距并没有大到足以证明她突然变成了另一个人。第四题她还是丢了不少分,第二题也明显不如简宁。所谓“理论开始起来了”,如果只看名次其实很容易被夸大。五十个人分数很密,一道大题的十几分就能让名次跳很多。
她把这一点记住了。
晚上讲评时,顾老师果然没有谈排名,只把第三题几种不同做法放在一起。其中一种计算极快,是简宁那类熟练型选手最容易想到的路径;另一种推导很长但稳;第三种先重新组合变量,再做后续分析。
江遥看到第三份答案的第一行,就知道是自己的。
顾老师没有说“最好”。
他只说:“这个做法值得看,因为它先改变了问题的形状。”
接着翻到最后一页。
“但是前提检查得还不够。这里如果参数进入另一个区间,这个表示会失去优势。”
教室里有人回头看她。
江遥没躲,也没笑。
她低头在自己的卷子边上补了一行小字:**什么时候不值得这样表示?**
这一次,她比以前更快明白,天赋如果真的存在,也不会替她把后半句话写完。
那天晚上训练中心又下雪。雪比上一场大,宿舍楼前的台阶不到半小时便白了。韩思遥和简宁下楼买水,回来时鞋底全湿,把地面踩出一串深色脚印。江遥坐在桌前,打开绿色燕子本,发现只剩最后三页。
她翻了很久。
前面有县城的公式,有第一次省队落选时乱写的四分,有原既白画得很难看的燕子,有公交站那场雨,有全国决选前记下的实验器材型号,也有很多已经看不懂为什么当时要写下来的句子。一本本子快写完以后,最奇怪的不是东西太多,而是那些当时觉得无比重要的东西,如今有些已经只剩半页纸上的一道笔痕。
她没有在最后三页写理论第十一,也没有写综合第十。
她只记了今天那道题,写到一半,又在旁边加了一句:“换一种看法,会让一些东西消失,也会让另一些东西第一次出现。”
写完以后,她盯了一会儿,觉得有点像一句故意写出来的话,便拿笔划掉了。
最后只留下两组变量和一个问号。
窗外有人把雪球砸在玻璃上,啪的一声,宿舍里几个人同时抬头。韩思遥跑去开窗骂人,冷风一下灌进来,把桌角几张草稿吹到了地上。
江遥弯腰去捡。
最上面那张,正好是下午那道第三题。