我当年也没啥背景,搞土木的,五个人里我是学霸,但计算机那是真·跨专业。去考研的时候,导师问我要做啥,我说啥都行,反正别卷代码。

那时候我就想,既然跨专业,不如把本来归于土木的脑子、身体、工夫全拿来对付计算机了。 刚启动那会儿,总认定计算机离我忒远。人家是在写算法,我在那儿算弯矩,用 C++ 写个程序磕磕绊绊感觉像在做数学题。我只是脑子里装着结构图,而你要的是流程图和变量。

那时候我就在想,土木人不是被计算机抛弃了,反而是它们让我们更懂工程了。

比如我搞那个地基模型,要是用深度学习去拟合沉降数据,那不就是个正经工程难题吗?只是当时没意识到,那个深度学习模型实际上就是个神经网络。 我试着去搞,结局发现比想象中难。导师说“不懂原理不中”,我说那总得有个能用的框架吧。我翻遍了那些书,没找到啥能直接当我“土木”用。

直到后来看到那篇关于“用 Python 写个微型地质模型”的教程,我才突然懂了。

原来计算机的逻辑和我们的逻辑是一脉相承的,只是把“重力”换成了“数组”,把“受力”换成了“循环”。 我就启动瞎折腾,别学那些大牛了,我就从最基础的启动。先学 Python,别搞那些复杂的语法,就学如何把一堆东西拼起来。我写了个程序, básically 就是用来模拟土坡的滑移。

当时看着代码在屏幕上跑动,那种感觉忒爽了,像是一个庞大的乐高积木堆在手里。我试着去修改参数,看滑移量会不会变,这操作简直跟那会儿改刚度矩阵一模一样。 为了验证我的想法,我跑了一组仿真数据。结局出来了,模型预测的位移量和实测数据比误差居然只有百分之三。我当时就愣住了,那是确实服了。

然后我又把目标搞高了一点,比如让预测精度达标,结局发现得把模型的层数从两层增添到了八层,输入数据的采样率也得从每秒 10 赫兹提升到每秒 100 赫兹。

这些数字,就是计算机给我的反馈。它不懂土木的土质是不是粉质粘土,它只在乎你把输入框填了啥,输出框就填了啥。 我启动尝试把土木计算机结合起来。有的导师让我做一个“基于不清楚代理的土本模型”,我认定这玩意儿挺有意思。

那会儿做这个模型,得把每个参数都调到最准,数据量大了,模型就变大了,结局就是算得慢。但要是有不清楚代理,那就是说用历史数据训练一个映射表,只要输入条件差不多,输出就能对得上。我当时就琢磨着,能不能把这玩意儿写进研究生复试的面试里? 自然,一启动肯定不中,导师可能会认定你这人就是没心没肺,土木人不会搞代码。但我认定这恰恰是个大机会。出于真正的计算机应用,压根儿都不是为了写代码而写代码,而是为了让复杂的系统变得好办。就像我那个不清楚代理模型,它把原本几百个参数的非线性关系,压缩成了一张图,再倒回去就能拿到结局。

这在理论上就是不清楚代理,在工程上就是简化了计算。 后来我去参加了一个小型的竞赛,主题是“智能交通系统的数据清洗与可视化”。

这活儿实际上挺绕的,出于交通数据乱七八糟的,得先清洗,再分析。我负责写个脚本去处理这些数据,顺便做个好办的图表。过程中遇到个坑,就是处理不了那种带噪点的 CSV 文件。我本来想用更高级的算法去处理,结局发现数据量忒大,内存不够。最终我就换个思路,先过滤掉重复的条目,再设置一个阈值,把噪点去掉。别看没达到最理想的效果,但起码能跑起来。

这种“笨办法”最终的胜利,比啥“大模型优化方案”更有说服力。 在这个过程中我也发现了自己的一些短板,比如对底层原理的掌握不够深。

有时候导师会突然问个刁钻的难题,让你解释为啥某个算法要跑 K 次迭代,要么为啥模型要收敛。

这时候我脑子里想的就不是“卷积神经网络”,而是“神经元如何连接起来传递信号”。

这种学科思维的重植,往往比单纯学语法更有用。 目前的计算机考研,卷得挺了得,大量学校都要求扎实的数学基础,就连还要有一丢丢的统计学背景。我当初是被迫转行,目前转过来了,发现大抵还是那个道理:既然选择了,就得从头到尾把路走通。我不需求成为全能的土木专家,也不需求成为全能的计算机专家,但我需求把这两者的思维链条打通。 遇到不懂的,要么认定哪儿的逻辑不通的,就停下来,去查资料,去问人,就连去尝试自己写个 Demo 跑一跑。过程可能会挺枯燥,就连让你质疑是不是确实该转行。但等到看到数据跑通的那一刻,那种成就感,是任何教科书都给不了的。 故此,要是你问我考研计算机这条路适不适合,我的答案是肯定的,但前提是你得有心理预备。你要预备好迎接那些“为啥如此写”的追问,预备好在深夜对着屏幕调试 Bug 的耐心,更要有那种能把土木的脑子装进计算机世界的野心。 这条路不会特别顺滑,可能会遇到大量坑,但回头看,那些坑实际上都是通往理解的阶梯。我当年也是从一个写 C 语言的小程序启动,一步步走到目前的这一步。

要是今天我能再回来一次,我起初想到的可不是哪位给的 Offer,而是那个凌晨三点的服务器,还有屏幕上那个终于跑通的图表。

那时候我才明白,跨专业考研,拼的不只是是技术,更是你愿意为了一个目标,去拆解所有看似无涉的知识碎片,直到把它们拼成一张网的本事。 毕竟,人生能遇到的大量意外,实际上都是转折。土木人转行计算机,或许就是人生里那个最意想不到的转折点。别犹豫,别观望,直接上手,去动那些代码,去搞清楚它们到底是如何“想”东西的。你会发现,原来土木的力学原理和计算机的逻辑,只是两种不同语言下的同一套思维规则。