第一卷少年游 第二十九章 并流
第一卷少年游 第二十九章 并流 (第1/2页)寒假前最后一次周会,秦老师没有讲题,而是在黑板上写了四个字:**“学到哪里?”**下面没人马上回答。高一上学期刚开始时,班里很多人习惯用分数解释学习,谁数学一百四十,谁物理年级第一,谁进了竞赛组;可四个月过去以后,这个班已经慢慢长出一些很难用名次排清楚的东西。许澄在实验室里待的时间越来越长,宋弈写程序时经常忘记吃饭,韩彻开始背一本厚得吓人的拉丁学名表,却不是为了考试,只因为他想知道同一种植物为什么会被不同文化命名成完全不同的样子。秦老师站在讲台上等了一会儿,最后说:“如果你们到了高中,还只能回答‘学到课本第几章’,那这个学期有点可惜。”
原既白听见这句话时,桌肚里正压着一本线性代数和季闻从市里寄来的算法笔记。过去两个月,他的学习速度已经快到父亲偶尔会问一句“这些学校都教了吗”,可原既白自己反而比以前更清楚哪里还很空。他能用更高的结构重新看高中数学,也开始理解一些机器学习的最基本概念,却发现“知道原理”和“让东西真的工作”完全不是同一件事。宋弈前几天给他看了一个手写数字识别的小程序,屏幕上歪歪扭扭的“3”和“8”输入进去,大多数时候都能被正确判断。原既白看完算法说明,很快理解了基本思路,可轮到自己把代码重新写一遍,第一晚就卡在数据格式和矩阵维度上。
宋弈第二天看完,只说:“你脑子跑得比程序快。”
原既白问什么意思。
“你已经想后面为什么能学了,前面文件都还没读进去。”
这句话并不客气,却很准。原既白过去习惯一旦抓住上层结构,就觉得下面只是展开;编程却不断逼他承认,下面并不会因为上面想通了自动完成。一个括号、一处索引、一行数据类型都可能让整个程序停在那里,毫不尊重你的总体思想。宋弈在这方面几乎和他相反,他未必总能先说清算法为什么漂亮,却能很快把一段模糊想法变成能运行的东西。两个人开始一起做那个数字识别程序以后,原既白第一次体会到一种很实际的互补:自己经常把模型重新抽象一层,宋弈则会问“那你准备把哪一行代码改掉”。
寒假第一天,季闻从市里回来。
他只在家待六天,信息学教练已经给了一整套假期训练。陈野听说以后评价,优秀的人连过年都像被判了缓刑。季闻没理他,把电脑包放到桌上,先问原既白那台旧机器还活着没有。几个人约在原家见面,周宁也来了,江遥则要晚一天才从省城回来。客厅一时像临时教室,桌上摆着瓜子、橘子、棋谱和三台性能完全不同的电脑,奶奶从旁边经过两次,最后得出结论:“你们……又在……打游戏?”
陈野立即说是。
原既白说不是。
奶奶看看两个人,选择相信陈野。
真正开始以后,连陈野也看出了区别。季闻带回来的是一套简单的搜索题,宋弈远程把手写数字项目的代码发过来,原既白则想把两件事放到一起理解:传统程序通常是人把规则写进去,再让机器执行;而这个识别程序最有意思的地方,在于人没有逐笔规定“圆一点的是0,两个圈的是8”,而是给它大量已经标注的例子,让参数在训练过程中自己调整。季闻听了一会儿,说这种说法大方向没错,但“自己调整”也别说得太神,调整方式还是人定的,损失函数、优化方法、数据怎么喂,全都有人在外面决定。
原既白点头。
陈野在旁边嗑瓜子,听到“损失函数”忍不住问:“为什么学习还要损失?”
季闻解释了一遍,就是模型答错多少,得有一把尺子告诉它错得有多远。陈野听完觉得这个名字极其不吉利,说学校如果把月考也叫“损失函数”,学生心理压力会更大。周宁一直在旁边看他们折腾,忽然问:“那它知道自己错了吗?”
屋里安静了一下。
季闻最先说:“不知道。”
“那它为什么会改?”
“因为程序会根据误差改参数。”
周宁又问:“所以它不是因为觉得自己错了才改,只是因为数字推着它改?”
这一次原既白也没有马上回答。他当然知道最朴素的机器学习没有任何“知道自己错了”的体验,至少他们眼前这点代码远远谈不上。可周宁的问题把一个技术过程和一个人的学习突然分开了:人做错一道题,有时候会羞愧、烦躁、怀疑自己、故意逃避,也可能因为想赢另一个人而多练十遍;机器的“学习”却可以完全没有这些东西,只要误差能沿着规则往回传。
陈野听了半天,说:“那它挺幸福的。”
大家都看他。
“错了也不难受。”
周宁笑了一下:“也可能因为它根本不知道什么叫幸福。”
陈野觉得这话一下把天聊死了,只好继续吃瓜子。原既白却把“知道自己错”几个字记到纸边,没有展开。他已经开始形成一种习惯:遇到暂时不够资格回答的问题,不急着把它变成观点,先留在那里。
第二天下午,江遥回来了。
她没有直接去原家,而是先回自己房间睡了三个小时。省城期末前的两周几乎天天到十一点,实验班最后一个项目又刚刚做完,她上车以后还觉得脑子在跑,真正回到熟悉的床上,反而一下像被拔掉了电源。醒来已经天黑,母亲在客厅和父亲商量年夜饭买什么,床边那几只猫、兔子和老鼠还保持着上次离开的样子。江遥躺着看了很久,第一次清楚地感觉到,家并不会因为她在外面长得很快而跟着变化。它更像一块保存下来的旧坐标,让她每次回来都能量出自己到底走了多远。
父亲进来叫她吃饭时,顺手拿起床头那只戴眼镜的布老鼠,说:“你那个同学下午打电话了。”
江遥几乎不用问。
“哪个?”
父亲学她以前的口气:“你说哪个?”
江遥笑着把老鼠抢回来。
第二天五个人重新聚齐时,最明显的变化反而发生在江遥和季闻之间。两个人过去都擅长处理陌生问题,方法却越来越不一样。季闻这半年被算法训练得更习惯问“状态有多少、搜索空间多大、有没有办法剪掉不可能的分支”;江遥则越来越习惯在问题还没被正式定义前,先问“为什么一定要这么定义”。原既白把一个简单的路径搜索题扔给两人,季闻不到十分钟已经写出思路,江遥却盯着地图问:“为什么目标一定是最短?”
季闻抬头:“题目说的。”
“如果最短那条路最堵呢?”
“题目没说堵。”
“那现实里会有。”
季闻笑:“所以你不适合参加信息学竞赛。”
“你也不适合做城市交通。”
两个人谁也没生气。陈野坐在旁边觉得这种争论比看游戏直播还有意思,尤其双方都没有要认输的意思。周宁则注意到原既白一直没插话,他只是听,偶尔把两边的说法往自己正在想的东西里装。
(本章未完,请点击下一页继续阅读)