清华大学马少平教授:那些年,我们做过的AI……
马少平老师的这篇,写得真心好。人工智能不是玄学,作为实践者一路走来,都是踏踏实实,在具体的工程中,无数的坑踩过来。今天AI潮起,必然还会潮落。每一次的盛夏,都不可避免一次寒冬。有一种观点认为AI冬天不会再来,这是我不认同的。只有踏踏实实的实践者,才能不管冬夏,都能坚定地走下去,不断开创。如Hinton,如马老。
——来自文因互联CEO鲍捷的朋友圈
最近,有不同人问了我同一个问题:是什么渊源,走上了人工智能这条路。说实话,别说是人工智能,就连进入计算机行业,都完全是阴差阳错的结果,并不是我的主动选择。
1977年,文革结束后,突然传来消息,要回复高考了,当时我还在读高中,对于怎么填报志愿,一概不知。班主任老师的意见是,什么专业你自己选,学校一定要报清华北大。我问这两所学校的差别,老师说,北大偏文理,清华偏理工。我想了想,觉得自己喜欢理工,就选择了清华,但是还是不知道选择什么专业,在那个小县城里,没有任何资料可供参考。刚好在本地的报纸上刊登了一些学校的专业目录,在清华大学栏目下,我看到了“自动控制”四个字,虽然不知道自动控制是干什么,但凭感觉是个自己喜欢的专业,于是就报了这个专业。
高考结束后,有一天突然收到了被清华大学电子工程系录取的通知书,这电子工程系是干什么的一概不知,中学的老师也没有人知道。刚好一个老师在北京工作的亲戚来探亲,他是文革前毕业的大学生,老师很热心的帮我咨询。这位亲戚看完录取通知书后,很神秘的对我说:这是一个保密专业,就没有任何下文了。
来到学校报到后,才知道我读的就是电子工程系的自动控制专业,此外还有计算机和无线电两个专业。1979年,电子工程系更名为计算机系,而原来的无线电系则从四川绵阳搬回北京,更名为电子工程系。
而当时我们教研组的一些老师,张钹老师、林饶瑞老师、石纯一老师、黄昌宁老师等,则从更早的时候,就在探讨开拓新的研究方向,并选择了人工智能,从1978年就开始招收人工智能方向的研究生,1979年在我系本科中开设人工智能导论课,由林尧瑞老师主讲。我就是在那个课上首次接触了人工智能,印象中教材是一本油印的教材,内容包括至少现在在大多数人工智能教材中还会讲的A*算法、α-β剪枝算法、定理证明等。之后又开设了lisp语言课,由陆玉昌老师主讲,做过的作业包括八皇后问题等。最后的考试有多个题目可选,我选择了使用α-β剪枝算法实现五子棋下棋程序,虽然水平并不高,但也可以下棋了。这应该是我最早实现的人工智能程序,而α-β剪枝算法正是IBM的深蓝所采用的基本算法框架。
1982年本科毕业后,我继续在清华读硕士,研究方向是有关汽车自动驾驶的,也就是现在火热的无人车,论文题目为“汽车行驶的计算机实时控制及性能函数对系统参数灵敏度的计算”。当然那个时候受各种条件的限制,做的还比较简单,我的论文中只实现了左右转弯、躲避固定障碍物等的简单控制。实验室购买了一辆二手的日本车,经改装后作为实验用车,在实际测试时为了观察汽车轨迹是否合理,在车上装了一桶水,通过一个水管流水,记录车的运行轨迹,计算机用的是TRS-80,用的是basic编程语言。
1984年硕士毕业留校后,我开始从事专家系统构建方面的研究工作,和研究生一起,先后实现了好几个专家系统,包括货船积载专家系统、火车编组站调度专家系统和某军事设备故障诊断专家系统等,还申请了一个863项目,机器人故障诊断系统。做专家系统的关键是整理专家知识,为了能跟专家对话,需要花费很多时间学习相关的领域知识,基本上可以称得上半个专家了。比如为了做火车编组站调度专家系统,自学了很多编组站调度方面的书籍,多次去山海关火车站向调度人员请教、学习,到后来,我们也基本可以胜任调度员的工作了,只是做的不如专业调度员快,但我们做的方案基本被对方所认可。掌握了相关知识后,进一步总结整理知识,最后实现的专家系统,可以达到专业调度员的水平,并且速度要快的多,极大的减轻了调度人员的工作强度,提高了工作效率。
我做的最成功的一个专家系统是90年代中期为某企业做的一个市场调查报告自动生成专家系统,是我们系为该企业做的一个信息化系统的一个组成部分。根据以往企业撰写的市场调查报告,总结了若干模板和写作知识,根据企业收集的市场数据,自动完成市场调查报告。为了使得报告内容看起来更加自然和富有变化,我们总结了很多写作知识,所完成的报告,基本可以达到人的水平。该专家系统,结合我们系为该企业做的信息化系统,可以用语音的形式播报市场调查报告,并配合语音的进度,自动在计算机屏幕上,显示各种图表等,相关的同步信息,也是由专家系统自动生成的。
从1992年,我又开始从事汉字识别方面的研究工作,选择了被认为难度最大的脱机手写体汉字识别,也就是对写在纸上、经扫描得到的汉字图象做识别。1994年我在职攻读博士学位,研究方向就是有关脱机手写体汉字识别方面的。在单字汉字识别研究的基础上,我们组最早研究了汉字识别后处理方法,也就是说,在单个汉字识别的基础上,利用汉字在句中的上下文关系,自动纠正识别结果,提高识别率。在一次863组织的汉字识别评测现场,我们的系统以句子为单位,先是显示单字识别结果,再显示后处理后的结果。限于当时的技术水平,又加上评测用的汉字写的不是很工整,识别结果错误很多,以至于很多句子看不懂,但是经后处理后,大多数识别错误的汉字得以纠正,人看懂已经完全没有问题了。当后处理结果显示出来后,我还清楚的记得,现场观众一片哗然的叫好声。
大概在1997年前后,突然有几个公司宣布要做《四库全书》数字化的工作,有的公司还在人民大会堂抢先召开新闻发布会,试图抢占先机。这些公司完全没有想到这件事情的难度,试图采取人工录入的方式,完成《四库全书》的数字化工作,最终导致失败,只有采用了我们的汉字识别技术的书同文公司最终取得了成功,完成了《四库全书》全部的数字化工作,这也是我一生中可以保留下来的一件有意义的工作。
《四库全书》数字化难度在哪里呢?为什么用人工录入方式的尝试均以失败告终呢?《四库全书》共收录古籍3503种、79337卷、装订成36000余册,含有约8亿个汉字。台湾曾经出版过影印版,在页面缩小到原来页面的四分之一后,全套书总重量仍然达到了2.5吨的重量,可以想象这套书有多少。这么大的量,又是繁体字,录入也好,校对也好,都带来了极大的难度。而以汉字识别为基础的数字化方案,从识别到校对,可以提供一套确实可行的解决方案,最终历时两年时间,终于完成了《四库全书》的全部数字化工作。这其中也遇到了几个技术难题,比如缺少训练用样本等,为此我们提出了一种样本生成技术解决训练样本少的问题,并提出了一种增量式学习方法,实现了边训练边识别,可以滚动式地构建古籍识别系统,这对古籍数字化是一个非常重要的技术。可惜在报教育部奖时,被某权威人士认为是“现有技术的简单应用”而落选。
在做《四库全书》数字化的过程中,接触到了信息检索,当时互联网开始普及,google也刚刚成立不久,意识到搜索引擎在将来的网络化社会将是一个十分重要的工具。在经过一番调研之后,决定将小组的工作转向搜索引擎相关技术的研究。在黄昌宁老师的建议下,我们先从参加TREC评测开始(TREC是信息检索领域的一个著名的会议,以各种评测闻名),一方面可以通过参加评测获得数据,另一方面也可以相对快速地检验我们的研究成果,和国际上优秀团队一绝高低。经过大约两年的学习、研究,小组于2002年首次参加TREC评测,就获得了一项第一名,这也是TREC举办以来,亚洲参加评测单位首次获得第一名,在此之前亚洲最好成绩是第4。从此一发不可收拾,小组连续10年每年都至少有一个第一名。也正是由于有了这样的成绩,从2007年开始,和搜狗公司共建清华大学-搜狗公司搜索技术联合实验室,双方合作9年,就搜索引擎技术共同开展合作研究,并于2016年将联合实验室升级为天工智能计算研究院,为此搜狗公司捐赠了1.8亿人民币用于研究院的建设。这期间双方不仅在国际顶级会议和期刊上联合发表了多篇论文,大多数研究成果还用于搜狗搜索引擎中,有效的提升了搜狗搜索引擎的性能。
这么多年来,在人工智能的若干个方向上做了一些研究,看似是些不同的方向,但是相互之间也是有很多关联的,很多基础知识是通用的。比如在汉字识别后处理中,我们就引入了专家系统中的黑板模型,将多种不同的知识融入到汉字识别后处理,有效提高了后处理的性能。在做信息检索研究时,尤其是初期,很多汉字识别中用到的机器学习方法,也起到了非常重要的作用。
回首往事,一直艰难地走在人工智能之路上,在人工智能的寒冬期,多少诱惑不为所动,因为看好人工智能的未来;在今天人工智能的火热期,更要保持冷静的头脑,因为人工智能还远远没有达到人们所期望的那样,还有很长的路要走。努力吧,路在前方!