计算机科学与技术学院的实验楼还沉睡在晨雾里,只有三楼东侧的一个实验室亮着灯。灯是冷白色的LED光源,照在堆满书籍和打印纸的长桌上,在墙壁上投下参差的黑影。空气中漂浮着咖啡、纸张和电路板松香的混合气味——这是科研工作者特有的“实验室香水”。
陆星衍坐在实验室最里面的位置,面前是三块并排的显示器。左边屏幕上跑着神经网络训练的数据流,绿色字符瀑布般滚动;中间屏幕开着五篇论文的PDF,密密麻麻的公式像某种神秘的咒语;右边屏幕是代码编辑器,光标在几千行Python代码间跳跃。
他已经在这里坐了三个小时。从凌晨四点开始。
李睿曾经开玩笑说:“陆神,你是不是把床搬实验室了?还是说你其实是个机器人,不需要睡觉?”
陆星衍当时只是笑了笑,没有回答。因为他确实不需要太多睡眠了——自从开始执行“情感隔离计划”,他就发现,当身体疲惫到一定程度时,大脑会自动关闭情感区,只剩下纯粹的逻辑运算。这是一种自我保护机制,也是一种……高效的逃避。
此刻,他正在修改一篇即将投往NeurIPS(神经信息处理系统大会)的论文。这是人工智能领域的顶级会议,接收率常年低于25%。他的导师——长江学者特聘教授陈景行——昨天看完初稿后说:“思路很新颖,但实验部分还需要更严谨的证明。你有三天时间。”
三天。七十二小时。对别人来说可能紧张,对陆星衍来说,刚刚好。
他抿了一口已经冷掉的咖啡——这是今天的第三杯。咖啡因在他的血管里奔腾,像给大脑CPU超频。手指在键盘上飞舞,敲出一行行严谨的证明:
“Theorem 3.1: Under the assumption of Lipschitz continuity, the convergence rate of our algorithm is O(1/√T)...”
定理3.1:在Lipschitz连续性假设下,我们算法的收敛速率是O(1/√T)……
数学是美丽的。它不撒谎,不背叛,不消失。你证明一个定理,它就永远成立。你建立一个模型,它就按照你设定的规则运行。这种确定性和可控性,是现实生活永远无法给予的。
而现实生活……陆星衍已经学会了管理它。
根据“情感隔离计划”,他每天有十分钟可以想念沈清辞。他把这十分钟安排在晚上10点整,像服药一样准时。十分钟内,他可以回忆、想象、甚至允许自己脆弱。但十分钟一到,闹钟会响,他就必须停止。
这种方法很奇怪,但有效。就像给洪水修建堤坝,虽然水还在,但至少不会泛滥成灾。
而且,他找到了更好的泄洪渠道:科研。
---
上午
实验室的门被推开了,陈景行教授走了进来。他五十多岁,头发花白但梳理得一丝不苟,穿着熨烫平整的白衬衫和灰色西裤,手里拿着一叠打印稿。
“陆星衍,这么早就来了?”陈教授的声音温和而有磁性。
“陈老师早。”陆星衍站起身。
“坐,坐。”陈教授摆摆手,在他旁边的椅子上坐下,“我昨晚又想了想你的论文,有个地方可能需要调整。”
他翻开打印稿,指着第7页的一个公式:“这里你用了矩阵扰动理论,但假设条件是不是太强了?在实际数据中,Lipschitz常数可能不是全局的。”
陆星衍凑过去看。陈教授说得对,这个假设确实太理想化了。他大脑飞速运转,开始思考替代方案。
“可以用局部Lipschitz性,”他说,“然后加一个正则项来约束……”
“对,我也是这么想的。”陈教授眼睛一亮,“你写个附录,证明局部条件下的收敛性。虽然会增加论文复杂度,但更扎实。”
“好。”陆星衍已经在草稿纸上开始演算。
陈教授看着他,眼神里有欣赏,也有一丝担忧:“陆星衍,你最近……是不是太拼了?我听说你上周在实验室待了98个小时。”
陆星衍没有抬头:“课题需要。”
“课题需要,但人也需要休息。”陈教授说,“你还年轻,科研是长跑,不是短跑。别把自己烧干了。”
“我明白。”陆星衍说,但他笔下的演算没有停。
陈教授知道劝不动,叹了口气:“对了,下个月NeurIPS的投稿截止,你确定这篇能赶上?”
“能。”陆星衍终于抬起头,“三天后给您完整版。”
“好。”陈教授站起身,走到门口又回头,“记得吃饭。我听实验室其他同学说,你经常忘记。”
“记得。”陆星衍说,但他说谎了。他今天还没吃早饭,而且不打算吃。饥饿感能让人更专注,这是他的新发现。
陈教授摇摇头,走了。
实验室重新安静下来,只有服务器风扇的低沉嗡鸣。
陆星衍继续工作。他沉浸其中,像潜水员沉入深海——周围的一切都模糊了,只剩下眼前的问题:如何证明局部Lipschitz条件下的收敛性?如何设计正则项?如何平衡理论严谨性和计算效率?
这种沉浸感是治愈的。当大脑被复杂问题完全占据时,就没有空间留给其他东西——没有空间给思念,没有空间给等待,没有空间给那个锁在保险箱里的人。
只有数学。只有算法。只有真理。
---
下午
实验室的门又被推开了。这次是周明宇。
“陆神!果然在这儿!”周明宇提着一个塑料袋走过来,“给你带了饭。二楼的糖醋排骨和炒青菜,还有米饭。”
陆星衍愣了一下:“你怎么知道我没吃饭?”
“李睿说的。”周明宇把塑料袋放在桌上,“他说你昨晚又没回宿舍,让我今天务必押着你吃饭。他还说,如果你不吃,下次宿舍卫生你就得全包。”
陆星衍笑了。李睿总是用这种幼稚的威胁。
“谢谢。”他接过塑料袋,打开。饭菜还是温的,糖醋排骨的酸甜气味飘出来,刺激着他的胃——他突然意识到自己确实饿了。
“你吃了吗?”他问。
“吃了。”周明宇在他对面坐下,“对了,你听说没?数院有个大二学生发了篇ICML,现在全院都在讨论。”
ICML,国际机器学习大会,和NeurIPS齐名的顶会。
“谁?”陆星衍问。
“不知道具体名字,听说是数学系的,做强化学习和博弈论交叉。”周明宇说,“现在大二就这么猛,让我们这些大三的情何以堪。”
陆星衍没有接话。他快速扒了几口饭,脑子里却在想:如果他的NeurIPS论文中了,他就是大二发顶会。但他不是为了竞争,只是为了……填满时间。
“你最近怎么样?”周明宇问,“除了科研,还做别的吗?打球吗?看电影吗?约会吗?”
“没时间。”陆星衍简单地说。
“你这样不行。”周明宇认真起来,“陆星衍,我知道你……嗯,有些事。但人不能只有一件事。你得有生活。”
“科研就是我的生活。”陆星衍说。
“科研是你的事业,不是你的生活。”周明宇坚持,“生活是……和朋友吃饭,打球,看电影,偶尔发呆,偶尔浪费时间。你这样会出问题的。”
陆星衍停下筷子,看着他:“你觉得我有什么问题?”
周明宇被问住了。他张了张嘴,最后叹了口气:“算了,我说不过你。但作为朋友,我得提醒你:机器需要保养,人需要休息。你是人,不是机器。”
“我知道。”陆星衍说,“但我现在需要这样。”
需要忙碌。需要疲惫。需要没有空隙。
因为空隙里会长出别的东西——思念,孤独,等待。
而他暂时还处理不了那些东西。
周明宇看着他,最后只是拍了拍他的肩:“行吧。但你得答应我,每周至少吃三顿正经饭。这个我能监督。”
“好。”
周明宇走了。陆星衍快速吃完剩下的饭菜,把饭盒扔进垃圾桶,然后回到屏幕前。
下午的工作效率比上午还高。也许是因为吃了饭,也许是因为周明宇的关心让他感到一丝温暖——虽然只是一丝,但足够支撑他继续。
他解决了局部Lipschitz性的证明问题,设计了合适的正则项,还跑了一组新的实验。数据结果很漂亮:他的算法在三个标准数据集上都达到了state-of-the-art(最先进水平)。
他看着屏幕上那些漂亮的曲线和数字,突然想起沈清辞说过的一句话。
那是高二的数学竞赛培训,他们一起研究一道组合优化题。陆星衍用了很复杂的方法,沈清辞看了说:“阿衍,你知道吗?最好的解法往往是最简洁的。不是用更多技巧,是用更深刻的洞察。”
当时的陆星衍不服气:“但我的方法也能解出来。”
“能解出来和优雅地解出来,是两回事。”沈清辞笑着说,酒窝深深,“就像生活——能活下去和好好地活下去,是两回事。”
现在陆星衍明白了这句话的意思。
他现在是在“能活下去”的阶段。用工作填满时间,用疲惫麻痹情感,用成就证明价值。这不是优雅的解法,是……暴力破解。
但他暂时只需要这样。
优雅的解法,等以后再说。
等他能处理那些情感的时候。
等保险箱能打开的时候。