那天在自习室,对着屏幕上的题目,琢磨如下学科中哪些是人工智能的基础。桌子上摊着打印出来的讲义,边上还放着半杯凉掉的水,鼠标来回点,翻了好几个网页,越看脑子越乱。一开始想当然,以为只要是和电脑沾边的学科就全都算,随手在笔记上勾了好几个选项,连计算机组成原理都一股脑画上标记,心里觉得肯定不会错。

坐对面的同学扫了一眼我的草稿,随口说了句不是所有计算机相关科目都属于人工智能的基础。当时还不太服气,觉得书本里讲AI,开篇就会提到计算机相关内容,那自然都算进去。然后就点开论坛帖子,一段一段慢慢看,好多人的说法还不一样,有人说这个算,有人又说不算,越看越迷糊,笔记上划掉又重勾,纸上变得乱糟糟。

就是卡在这个地方。

花了不少时间,翻之前的课件,课件里面提到数学相关内容占了很大一块,概率统计、线性代数这些,还有离散数学。之前看书的时候总觉得数学只是上学要应付的考试科目,和写代码搞AI是两码事,做练习题的时候,下意识把数学类学科排除在外,只盯着计算机方向的内容,现在回头看才发现,自己之前的想法完全偏了。

翻到一段课程介绍,里面写人工智能很多模型的推导都离不开数学工具,算法的底层逻辑大多建立在这些理论之上,计算机编程更偏向于是实现工具,而不是底层基础学科。盯着这行文字看了很久,慢慢擦掉笔记上一些勾错的选项。可还是拿不准,分不清应用层面的课程和底层基础学科的边界在哪,看到机器学习、深度学习这类名词,又会犹豫要不要把它们也算进去,反复来回改标记。

问了任课老师,老师没有直接给完整答案,只是说可以把人工智能想象成一栋房子,不同学科承担的角色不一样,有的是地基,有的只是后期装修用的工具。听完之后,自己坐在位置上慢慢捋,才慢慢分开两者的差别。但也只是理清了我当时遇到的这道题,换一套别的学科列表,说不定又会混淆,这种区分的感受,只代表我那时候的状态,换别的人,或是换别的题目场景,体验会不一样。

之后又翻了一些入门教材,序言部分反复强调数学在人工智能底层的作用,但是教材本身也不会把所有相关学科全部罗列死。看到有的资料会把逻辑学归进去,有的资料提的就很少,不同教材的取舍本来就有差别,没法找到一个绝对统一的清单。那时候才意识到,不是简单打勾就可以完成这件事,判断的尺度会跟着资料的侧重点产生变化。

合上笔记本,关掉网页。天色慢慢暗下来,自习室里的人陆续收拾东西离开。也没有非要把所有边界抠到一清二楚,只是把笔记上混乱的标记简单整理好,收拾书本准备回宿舍。

直到走出自习室大门,脑子里还在回想老师打的那个房子比方。