新智元报道
如果你近年来观察计算机科学(CS)领域的演变,确切地说,是大学CS专业的课程设置,有一个明显的趋势是显而易见的:
和数学相关的内容越来越多了。
实际上,许多CS专业的学生如果要进一步深耕理论,实际上必须要好好修几门数学。
哈佛大学的Boaz Barak教授在Twitter上发文说:「每年我教CS理论时,我发现越来越不需要为有这么多数学内容而道歉了。」他表示,CS的实践正变得越来越数学化。
此外,他还问道,学生是想学习阅读理论文章,还是直接学编程,以及数学的应用方面。
他引用斯坦福大学研究人员的一篇论文,说「这个本科生介绍课程,确实在教他们一个中心观点:不要害怕数学。」
Barak在研究论文中指出了理论上的数学的重要性。他说,随着时间的推移,能够消化新的数学知识,在计算机科学中越来越具有实际意义。
但是,真的是这样吗?也有人有不同意见。
哈佛大学教授Yannai A. Gonczarowski表示异议。
他说,虽然他热爱数学,但是将非数学圈定为 「在HTML中交换图标」,属于是犯了两个方向上的错误。
首先,是将人机交互(HCI)和大规模软件工程/设计等领域视为微不足道。其次,这样会让学生认为,某些领域比其他领域优越和高级。
另外他还表示,Barak的观点反过来说也能成立:比如,非常抽象的 「外在」数学与可能为无数不同能力的用户打开前所未见的领域的大门。
他还说,如果真的要比较,就在一个领域内比较,跨领域的比较一般都不靠谱。
Barak澄清说,他没有把人机交互比作「在HTML下交换图标」,他认为,人机交互的意义远不止于此。「我对学生说的是,不惧怕数学的能力,将为他们提供许多选择。」
纽约大学副教授朱利安·托格里斯也加入讨论,他认为,确实可以在对数学领域「几乎一无所知」的情况下,在CS领域取得成功,包括在机器学习。
「看看我吧,我几乎没有通过那些必要的理论课程,仍然获得了成功。」他说。
然而,Barak并不同意。他建议,有些知识懂总比不懂好。
「所以,即使我们的学生对编程要求学理论数学有抱怨。我还是支持多学数学」。
另外,他在谈到深度学习时说,从论文成果,到产品落地,这个时间间隔正在缩小,所以说阅读论文的能力变得更加重要。
在进一步的讨论中,Oskar Ojala阐述了数学在解决现实生活问题中的实际应用,同时举了一个Facebook的成功例子。
Alex Eisenmann不同意Oskar的观点,他说,缺少数学的CS可以给你带来Facebook,但有了数学的CS,可能产生AI、机器学习、量子计算和区块链等。
这对一些数据科学家来说确实如此,有人从头开始写复杂的算法,但也有人使用Python等框架中预先存在的库,当当「调包侠」也能弄出能用的模型 。
不知各位搞CS的同学,对数学怎么看?各位觉得学CS,入坑AI,数学要学到什么程度呢?