如何让电脑看图说话认识一只猫
------数据工程
1903年,30岁的罗素讲了一个理发师的故事,瞬间把当时的数学家小伙伴们惊呆了。罗素说,一位理发师宣称要为本城市所有不给自己刮脸的人刮脸,结果这位理发师非常困惑,他要不要为自己刮脸呢?罗素提出的这个悖论,成为有史以来数学最大的三个悖论之一,动摇了当时的数学大厦的基石。
罗素所代表的这种作为科学的数学,似乎中国人一直没有发明出来,著名数学家吴文俊说,中国人也似乎一直不在乎,与西方数学相比,中国人一直在乎的是算法数学,也就是今天所谈到的计算机数学,在数学领域与当今计算机最适合、最现代化的数学,也就是今天的主题:数学工程。
三国曹魏有一个小官叫做刘徽,按照木工经常制作圆的原理,把一个正圆按照正六边形开始,正十二边形、正24边形、最后算到了正2072边形,刘徽与中国古代的工匠一样,永远不会纠结西方从古希腊就开始的数学哲学问题,而是从最接近圆的好计算多边形不断接近正确答案,这就是远远领先的圆周率:3.1416. 刘徽所采用的极限方法以及以后几百年中国古代数学家所发明的子程序、迭代、差分方程、方程组等,是对世界数学的巨大贡献,所采用的数学机械化和计算数学,深深影响了后面的数学,也成为今天计算机数学的重要支柱。

冯康通过刘家峡计算进而发展出了有限元方法
1964年,中国黄河在修一个很复杂的水电站:刘家峡水电站。这个地质水文复杂、湍流复杂的电站的形状,不仅是不规则的,而且是中空的,按照完全简化的矩形来计算,根本不能准确计算出水电站所受的力,工期因此严重推迟。这个时候,中科院计算所的冯康出马了,他将复杂形状的电站切分成成千上万个小块,就像2000年前刘徽计算圆周率那样,不过这次冯康不仅是遇到把形状切小的问题,还要同时处理每个小块的受力和传导。与刘徽一模一样的思路,切的块越小,越接近真实,好在冯康的1964年,中国已经独立发明出来的原始的计算机,冯康按照当时的计算能力,把块切得尽量小。等到计算完成的时候,受力也就计算出来了。完成这个工程后,冯康把这种计算方法进行总结,在世界上第一次发明了有限元的方法。今天,有限元成为计算机数据受力计算的基础方法,所代表的数字机械化路径已经成为工程数学的基石,今天我们买到很便宜简单的宜家家具。很差的材料经过简单的连接就能承载很重的压力,要感谢工程数学的模拟计算才行。
工程数学,让实践有了更多的创新的可能,科学家们的研究不都用阅读别人的论文开始,也不用等到科学原理的突破,就可以从工程或物理原理出发,可以取得巨大的突破。斯坦福大学的人工智能教授李飞飞,就是这样做到的。
深度学习理论,是在神经网络基础上发展起来的一门人工智能学科,发展到今天,已经在视频、图像和声音识别有了很成熟的应用。然而,在算法上改进,难度很大,效果也很不好。例如,你让一个机器识别一个毯子上卧着的一只猫并写下这个句子甚至文章,是很难的。李飞飞经过对儿童认识猫的过程进行分析,发现小孩子从来不需要学习关于猫的概念和理论知识,而是见猫和狗的过程多了,试错试出来的。于是,李飞飞模拟小孩子的学习过程,通过重酬筹集了167个国家的5万个人、 6万张猫照片、10亿张图片、2400万个节点、1亿4千万个参数、150亿个连接,训练计算机不断认出猫。顺便说一句,李飞飞采用的连接数,是尽可能逼近人类大脑的脑细胞数量了。如果说西方的概念图示是先描绘猫的概念然后再认识猫,李飞飞采用的就是东方的数据工程方法,采用大数据方法让机器自己学会什么是猫,最后计算机写出了“一只猫卧在毯子上”这个句子。

李飞飞的计算机写出了“一只猫卧在毯子上”
数据工程之所以越来越被数据科学时代所重视,和软件工程的发展密切相关。最早的软件是机器语言,后来发展成为符号语言,再往后面发展出来独立的数据库。随着软件业的发展和应用需求,软件的应用感官、内在逻辑、数据开始分离,这种分离使得数据处理独立于软件和应用模型,成为一种高效的工程机械化的数据工程,数据科学家也成为一种独立的专业,数据工程也成为越来越重要的计算机发展的支柱型基础设施建设了。
吴文俊院士生前曾预见说,中国人的数学思维模式传统,更适合未来计算机迭代和机械化的数据工程时代,让我们拭目以待吧。不过我要说的是,既然教计算机也得使用让计算机自主学习的模式,我们的教师教学生的时候,为什么还把从概念开始当作唯一的方式呢?
本文为某杂志专栏文章,需要发表请与作者联系 wising@sina.com。