下一章 上一章 目录 设置
24、梯度下降 ...
-
物理竞赛集训营的教室有一种特殊的、近乎实质化的紧张感。
这是学校专门为选拔出的三十名学生开设的寒假特训,为期两周,每天八小时高强度训练。教室被临时改造成了实验室和讨论室的混合体——桌子拼成小组,白板架在四周,上面写满了还未擦去的公式和草图。空气里有粉笔灰、汗水和咖啡混合的气味,还有那种只有高度专注时才会产生的、几乎能听见的神经电流声。
陆清昀坐在第三组靠窗的位置,面前摊着三本不同颜色的笔记本——黑色记录理论,蓝色记录例题,红色记录错题和思考。他的坐姿一如既往地笔直,但眼睛下有淡淡的阴影。连续七天的特训,每天十四道高难度综合题,即使对他来说也是不小的负荷。
顾燃坐在他斜后方,隔着两个座位。这是他们商量好的——在集训营里保持适当的距离,避免引起过多注意。但陆清昀的余光始终能捕捉到顾燃的身影:低头写字的侧脸,握笔时微微用力的手指,偶尔停下来思考时转笔的小动作。
今天是第八天。上午的测试成绩刚刚公布。
陆清昀毫无疑问是第一,总分98.5,唯一扣分点是一个计算过程中的小数点进位问题——他故意留的,为了测试评分系统的严谨性。
但引起议论的是顾燃的成绩:第七名,总分86。
对于一个在学校里长期稳定在倒数的学生来说,这个成绩简直是奇迹。不,不是奇迹,是“可疑”。
陆清昀听见了那些低语。
“抄的吧?”
“怎么可能突然这么高?”
“听说他和陆清昀走得很近……”
“陆清昀会不会……”
他没有回头,但手中的笔停顿了一下。他的大脑在快速分析局势:顾燃的成绩进步轨迹确实陡峭——从第一天的第28名,到第三天的第20名,第五天的第15名,今天的第7名。在数学上,这是一个典型的指数增长曲线,斜率在不断增大。
但这是合理的。顾燃的真实水平本来就在这个层次,之前只是被伪装压抑了。一旦开始系统学习和训练,加上陆清昀的针对性辅导,进步速度理应很快。
问题在于,其他人不知道顾燃的真实水平。他们只看到一个“差生”突然变成了“优等生”,而且和年级第一关系密切。
“梯度下降。”陆清昀突然说,声音不高,但在安静教室里足够清晰。
几个窃窃私语的学生转过头看他。
陆清昀没有看他们,而是看着自己笔记本上的一道题:“在优化算法中,梯度下降法的核心思想是沿着目标函数下降最快的方向更新参数。只要初始点选择合适,学习率设置恰当,收敛速度可以很快。”
他顿了顿,抬起头,目光平静地扫过那几个学生:“学习也是如此。找到正确的方法,沿着能力提升最快的方向努力,进步速度超出常人理解是正常的。”
教室里安静了几秒。然后有人小声嘀咕:“说得轻松……”
“不服?”一个声音从后面响起。
顾燃站了起来。他双手插在裤兜里,背脊挺直,嘴角带着那种惯有的、略带嘲讽的笑:“不服可以比比。下一场测试,谁分数低谁道歉。”
说这话的是张浩,一个物理成绩一向不错但总被陆清昀压一头的男生。他此刻脸红脖子粗,像是被当众将了一军。
“比就比!”张浩站起来,“但要公平——不能有‘高人’指点。”他意有所指地看了陆清昀一眼。
陆清昀合上笔记本,推了推眼镜:“你的意思是,我在帮顾燃作弊?”
“我没说!”张浩立刻否认,但语气心虚。
“那你是什么意思?”陆清昀站起来,动作很慢,很稳。他走到教室前方的白板前,拿起一支黑笔。
所有人的目光都集中在他身上。
陆清昀在白板上快速书写。不是普通的题目,而是一道极其复杂的综合题——涉及相对论、量子力学和统计物理的交叉,题干就有半米长,公式密密麻麻。
他写得很快,几乎不用思考。粉笔与白板摩擦发出急促的沙沙声,像是某种宣战的前奏。
两分钟后,他写完最后一笔,放下粉笔,转身面对张浩:“这是集训营题库里未公布的压轴题,原定最后一天才讲解。你现在解出来,如果正确,我承认你的质疑有道理。如果解不出来,或者根本看不懂——”
他停顿了一下,声音很平静,但每个字都像冰碴:“——就请你向顾燃道歉,并且以后在发表意见前,先确认自己有能力理解所评论的事物。”
教室里死一般寂静。
所有人都盯着白板上那道题。大部分人看了几行就放弃了——题干里涉及的很多概念他们还没学到。即使是成绩好的几个,也皱紧了眉头,显然被难住了。
张浩的脸色由红转白,由白转青。他盯着那道题,嘴唇动了动,但发不出声音。他的眼睛在那些公式间快速移动,试图找到切入点,但显然失败了。
陆清昀安静地等着。他的表情很平静,但顾燃看见了他眼底的一丝冷光——那是陆清昀真正被惹怒时的表情,虽然很少出现,但一旦出现,就代表事情严重了。
“我……”张浩终于开口,声音干涩,“这题超纲了……”
“不超纲。”陆清昀打断他,“所有知识点都在集训大纲内,只是综合应用。如果你认真完成了前七天的所有训练题,应该能识别出其中的每一个模块。”
他走到白板前,开始讲解:“看这里,第一部分是狭义相对论中的时间膨胀效应,需要用到洛伦兹变换。第二部分转入量子力学,涉及波函数坍缩的概率计算。第三部分用统计物理的玻尔兹曼分布处理宏观态……”
他讲得很清晰,但速度很快,像是故意要展示这道题的难度和深度。讲到一半时,教室里已经有一半学生完全跟不上了。
讲完后,陆清昀转向张浩:“现在,你还需要我继续解释吗?还是承认自己解不出来?”
张浩的脸色难看到极点。他张了张嘴,想说什么,但最终只是低下头,声音小得像蚊子:“对不起……”
“对谁说?”陆清昀问。
张浩抬起头,看向顾燃,眼神里满是不甘和屈辱:“顾燃……对不起。”
顾燃看着他,很久,然后点了点头:“我接受。”
声音很平静,没有任何得意或嘲讽。就像这只是件无关紧要的小事。
陆清昀走回座位,开始收拾东西。午休时间到了,但他没有立刻离开。他等着,等教室里的人都走得差不多了,只剩下他和顾燃。
顾燃走过来,靠在陆清昀的桌边:“那道题……真是未公布的压轴题?”
“嗯。”陆清昀点头,“我从教练电脑里看到的。本来想今晚研究一下。”
“你全背下来了?”
“看了三遍,记住了结构和关键步骤。”陆清昀说,“短期记忆能保留大约70%的细节,足够重构。”
顾燃笑了,摇摇头:“陆清昀,你真是个……”
他没说完,但语气是柔软的。
两人一起走出教室。走廊里很安静,其他学生都去食堂了。阳光从尽头的窗户照进来,在地板上投下明亮的光斑。
“谢谢。”顾燃突然说,声音很轻。
“不客气。”陆清昀说,“这是合理的应对。质疑需要证据,他们没有证据,只有偏见。而偏见在逻辑上不成立。”
“你就不能有一次说‘因为我看不惯他们欺负你’之类的话吗?”顾燃开玩笑。
陆清昀认真思考了几秒,然后说:“那也是原因之一。但逻辑反驳更有效。”
顾燃笑出声:“行吧,逻辑反驳更有效。”
下午的训练更加紧张。教练似乎听说了上午的冲突,特意增加了题目的难度和广度。连续四小时的高强度解题,到第三节课时,已经有人趴在桌上休息了。
陆清昀还在坚持。他的笔尖在纸上快速移动,额头上渗出细密的汗珠。他遇到了一道特别难的题——关于非线性动力学中的分岔现象,需要用到他还不熟悉的拓扑方法。
他尝试了三种思路,都卡住了。时间一分一秒过去,旁边的学生陆续交卷,教室里越来越空。
一只手伸过来,在他草稿纸的空白处画了一个简图。
顾燃不知什么时候坐到了他旁边,手指指着那个图:“这里,你试过用庞加莱截面吗?”
陆清昀愣了一下,然后眼睛亮了:“对……可以简化相空间维度……”
他重新开始计算。顾燃就坐在旁边,安静地看着,偶尔在他卡住时提示一两个关键词。不是直接给答案,而是引导思路。
二十分钟后,陆清昀解出来了。他放下笔,长长舒了口气。
“谢谢。”他说,声音里带着真实的感激。
“互助协议。”顾燃说,嘴角微微扬起。
从那以后,下午的训练变成了某种意义上的合作。虽然规定是独立完成,但教练似乎默许了他们之间的低声交流——毕竟,能跟上陆清昀思路的,整个集训营可能只有顾燃一个。
晚上是自习时间。教室里的灯亮到十点,大部分学生九点左右就离开了,只剩下几个特别用功的。
陆清昀和顾燃留到了最后。
他们在研究那道压轴题——陆清昀上午写出来的那道。现在没有了时间压力,可以慢慢分析,深入探讨。
“这里,”顾燃指着其中一个步骤,“你用了近似处理,但如果考虑二阶效应……”
“会引入误差,但不超过0.3%。”陆清昀说,“在这个精度要求下可以接受。”
“但理论上应该完整推导。”
“时间成本太高。”陆清昀说,“在竞赛中需要在精度和效率间权衡。”
两人争论起来。不是争吵,是那种学者间的、基于理据的辩论。你提出一个观点,我提出反驳;我给出一个证明,你指出漏洞。声音不高,但语速很快,思维更快。
窗外的天完全黑了。教室里只有他们这一角还亮着灯,在空旷的空间里像一座孤岛。
十点整,保安来催了。两人收拾东西离开教室。
走廊里的灯已经关了一半,光线昏暗。脚步声在空旷的空间里回响,一轻一重,一快一慢。
走到楼梯口时,顾燃突然停下脚步。
“陆清昀。”
陆清昀转过身:“嗯?”
顾燃没有立刻说话。他站在昏暗的光线里,脸半明半暗,眼睛很亮。他的呼吸有些急促,像是刚刚跑完步,但陆清昀知道他没有——他们一直走得很慢。
“为什么?”顾燃问,声音低哑,“为什么总护着我?”
陆清昀愣住了。这个问题顾燃问过很多次,他给过很多答案——因为逻辑,因为研究,因为互助协议。但这一次,他感觉到顾燃要的不是那些答案。
或者说,不仅仅是那些答案。
走廊很安静。远处传来保安锁门的声音,还有渐行渐远的脚步声。灯光又暗了一盏,现在他们几乎站在黑暗里。
顾燃向前走了一步,两人之间的距离缩短到不到半米。陆清昀能闻到他身上淡淡的汗味和墨水味,能看见他眼睛里自己的倒影,能感觉到他呼吸喷在自己脸上的温热。
“上午,”顾燃继续说,声音压得很低,几乎像是耳语,“你为了我,当众让张浩难堪。下午,你明明可以自己解那道题,但还是让我提示。晚上,你和我争论那道题的解法,不是为了赢,是为了……”
他停顿了一下,喉咙滚动:“为了让我参与。为了让我觉得,我和你是平等的。为了让我觉得,我也能帮你,而不只是你在帮我。”
陆清昀的嘴唇抿紧了。他的大脑在快速运转,试图分析顾燃这些话背后的含义,试图找到合适的回答。但他的心跳太快了,干扰了思维过程。
“我……”他开口,声音有些哑,“我没有……”
“你有。”顾燃打断他,又向前走了一步。现在他们的距离近得危险,近到陆清昀能看见顾燃瞳孔里细碎的纹理,能看见他睫毛的颤动,能看见他嘴唇因为紧张而微微抿起。
“陆清昀,”顾燃的声音更低了,几乎像是叹息,“你为什么……要对我这么好?”
这个问题太重了。
重到陆清昀所有准备好的答案——逻辑的,理性的,科学的——都显得苍白无力。
他站在那里,在昏暗的楼梯口,在顾燃近在咫尺的注视下,突然意识到一件事:
他可能永远无法用逻辑完全解释自己对顾燃的感觉。
就像他无法用公式描述星空的美丽,无法用数据量化分形的奇妙,无法用模型捕捉“那些光出发时恐龙还活着”那一瞬间的震撼。
有些东西,超出了理性的边界。
“因为……”陆清昀开口,声音很轻,轻得像怕惊醒什么,“因为你是顾燃。”
这个答案太简单了。简单到不像陆清昀会说的话。
但顾燃听懂了。
他听懂了那些未言之语:因为你是你。因为你是那个会在星空里藏分形的人。因为你是那个说“光出发时恐龙还活着”的人。因为你是那个既脆弱又坚韧、既聪明又固执、既需要帮助又拒绝同情的人。
因为你是那个,让陆清昀的理性世界开始动摇的人。
顾燃的眼睛在黑暗中睁大了。他的呼吸停滞了一瞬,然后变得更加急促。他的手指无意识地蜷缩起来,像是想抓住什么,又不敢。
然后他笑了。
一个破碎的,几乎像是哭泣的笑。
“陆清昀,”他说,声音里带着哽咽,“你真是……”
他没说完。他突然伸手,抓住陆清昀的手腕——不是用力地抓,而是很轻地,几乎是试探地,握住。
陆清昀的身体僵住了。他能感觉到顾燃掌心的温度,能感觉到他指尖的薄茧,能感觉到那种细微的、持续的颤抖。
“我……”顾燃开口,声音哑得厉害,“我不知道该怎么……”
他没说完。走廊尽头传来脚步声,是保安在最后一轮巡视。
顾燃像是突然惊醒,猛地松开手,后退一步。距离重新拉开,空气涌入两人之间,带着夜晚的凉意。
“该走了。”他说,声音恢复了平静,但陆清昀听出了里面的颤抖。
“嗯。”陆清昀点头。
两人一前一后走下楼梯。谁都没说话,只有脚步声在空旷的楼梯间回荡。
走到一楼时,顾燃突然说:“明天见。”
“明天见。”陆清昀说。
他们在校门口分开。顾燃往左,去公交站;陆清昀往右,走路回家。
陆清昀走得很慢。夜晚的风很凉,吹在脸上,吹不散那种滚烫的感觉——顾燃握过他手腕的地方,还残留着温度。
他的手插在口袋里,手指无意识地摩挲着那块皮肤。
他的大脑还在处理刚才的一切:顾燃的问题,顾燃的眼神,顾燃的触碰,还有他自己那个简单到不像话的回答。
“因为你是顾燃。”
这可能是他说过的最不理性,但又最真实的话。
他抬起头,看向夜空。今晚天气很好,能看见很多星星。他想找猎户座,找M42星云,找那个顾燃画给他的、藏着分形的星空。
然后他笑了。
一个很轻的,但很真实的微笑。
他知道,从今晚开始,有些事情再也回不去了。
他的梯度下降算法,在情感优化的参数空间里,找到了一个新的、更深的局部最小值。
而那个最小值,名字叫顾燃。