我是干什么事都会半途而废的性子。不过这次也许不一样。

8月初的时候,文科体质内潜藏的理科好奇宝宝重新爆发,于是报名加入了斯坦福的《Machine Learning》网络课程。上课的教授是华裔,Andrew Ng。记得大学学过,Ng在粤语和福建话里都是吴姓,猜这位教授的祖辈跟香港或者福建大概有什么渊源。

机器学习,听上去似乎是个非常技术的概念,但只要做一些基础的了解,就会发现它并不神秘。从手机上每天用到的书写识别,到垃圾邮件识别,再到特斯拉的自动驾驶汽车,和它都有关系。简单说来,ML基于输入的一系列数据,利用不同算法,经过一层或多层计算,拟合出曲线,用于预测和输出结果。真正的挑战,在于设计算法网络。

我比较惊讶的,是早在20世纪50年代,数学家们就已经开始研究神经网络了。60年代末,反向传播算法(Back Propagation Algorithm)已经发明。而Ng教授在课堂上展示的自动驾驶片段来自80年代卡耐基梅隆大学的自动驾驶实验,画质感人。视频中,一辆迷彩越野车前额挂着摄像机等仪器,先由人驾驶一遍,再交由自动驾驶。可以看到,对于学习过的单行道驾驶,机器预测的方向十分准确,在小路上缓缓开过,而到了岔路口,路况不同,汽车似乎有点“傻眼”。

在编程作业里,我还体验了用机器学习识别手写数字。其实质是将一个手写数字当做一组像素组合,作为一个例子;用许多个不同的例子和对应的输出结果进行学习,从而让机器掌握“判断”手写数字的方法。

虽然结果酷炫,写代码的过程对我这个文科生来说非常痛苦。第二周开始有编程作业,三个小时的预计时间。将将做完来得及,可真正要消化,三个小时必然不够。报名之前我很审慎地读过要求:一定的编程基础和矩阵知识。编程基础我是没有的。矩阵在修经双的时候学过,倒是还能找回来。所以硬着头皮上了。

学习的过程是和公式定理打交道,幸而老师讲的深入浅出,经常来一句“这个公式没学过求导的同学们可能不太懂,不过没关系,咱不需要懂”,要么就是说“哎呀,学到这里,你们比硅谷那些靠ML吃饭的人懂得还多了”。总之,挺贴合美国本科数学教育水平的。

在课程刚开始的“打招呼”论坛上,助教提示可以讲讲自己想用ML做些什么。我写的是,想用ML来写诗。根据已经掌握的知识,这个想法说不定真的可以实现。只是,我要先学会用分词技术构建一个巨大的词汇库……

还有一点额外的小收获。在了解反向传播算法时,我发现曾对该算法作出贡献的华人数学家何毓琦教授,是民国将军何竞武之子。这位将军是我的浙江老乡,出生在诸暨,在海宁长大,和徐志摩是同窗好友,关系好到让自己女儿认了徐志摩和陆小曼做干爸干妈。不过,何竞武1948年赴台,何毓琦则于1949年前往香港,第二年被麻省理工录取,年仅16岁。

更神奇的是,以82岁高龄,何教授仍然在以一周一篇的平均速度写自己的博客,虽然都是英文,但内容亲民,很有意思。比如这种标题:“Science in the Age of Selfies”,和这种标题:“Donald Trump and a CIA officer walk into a room”。不过以上是转载,还有一些是教授自己写的文字。连阮一峰都在他的博文里写,“要是读大学时就能读懂这样的文章,我的人生也许就完全不一样了”。

课程一共11课,目前上到了第6课,刚好过半。继续努力咯。