作者:劉知遠,清華大學計算機系副教授、博士生導師。主要研究方向為自然語言處理、表示學習、知識圖譜和社會計算。2011年獲得清華大學博士學位,已在ACL、IJCAI、AAAI等人工智慧領域的著名國際期刊和會議發表相關論文80餘篇,Google Scholar統計引用超過12000次。承擔多項國家自然科學基金。曾獲清華大學優秀博士學位論文、中國人工智慧學會優秀博士學位論文、清華大學優秀博士後、中文資訊學會青年創新獎,入選《麻省理工科技評論》“35歲以下科技創新35人”中國區榜單(MIT TR-35 China)、中國科協青年人才託舉工程、中國計算機學會青年學者提升計劃。擔任中文資訊學會青年工作委員會主任,中文資訊學會社會媒體處理專委會委員、秘書,SCI期刊Frontiers of Computer Science青年編委,多次擔任ACL、EMNLP、COLING、IJCNLP等著名國際會議的領域主席。
2018年6月高考結束後,我寫過一篇短文:寫給正在填報志願並對CS/AI感興趣的考生們,為的是在計算機專業日益火爆的當下,解答考生和家長們普遍好奇的問題,幫助考生更加理性地選擇專業,希望更多真正喜歡CS/AI的考生選好學校選對專業。現在看,這篇短文除了部分統計資料有些過時外,提及的觀點基本沒有變化。而這一年裡,國內CS/AI方向又有很多新的變化,最明顯的是各大高校紛紛設立人工智慧學院,開始招收人工智慧專業本科生。所以最近花了些時間整理出這篇短文,講講人工智慧應該學什麼,怎麼學,以及去哪兒學的問題。
Q:人工智慧是什麼?A:人工智慧(Artificial Intelligence,AI)是一門年輕的學科,從1956年達特茅斯會議正式提出AI名稱至今不過65年;從阿蘭圖靈1950年提出判斷機器是否能夠思考的圖靈測試至今也不過70年時間。AI的70年發展史彙集了來自數學、計算機科學、邏輯學、哲學、神經科學、語言學等不同領域學者的努力,是典型的交叉學科。同時,從整體來看AI仍然是計算機科學技術的主要分支。
人工智慧是什麼?簡言之,人工智慧學科是利用計算機實現人類智慧。人類智慧並沒有公認的定義與界限,實際上也隨著AI的發展而有所變化。某項人類技能被計算機所掌握後,人們往往不再認為它代表人類"真正"的智慧。例如,1997年IBM深藍戰勝人類國際象棋冠軍卡斯帕羅夫後,就有評論說IBM計算機只是在暴力搜尋,不是真正的智慧,that's not thinking!這種現象又被稱為"AI Effect"。
所以,人工智慧總是聚焦在那些尚未被計算機破解的人類智慧能力上。比較簡單的人類智慧已經被解決了,例如計數能力有了計算器,資料記憶和查詢有了資料庫,下棋能力有了下棋軟體,剩下的是那些困難的高階智慧。簡單而言,如果我們把大腦看做一個黑盒,它能夠接受外部世界的刺激訊號,大腦處理這些訊號產生輸出反饋,人類智慧正體現在這些"刺激-反饋"的對應中。針對不同刺激訊號和反饋處理的複雜性,AI下面有很多專門的領域開展相關研究和探索。目前,公認的AI核心課題包括:機器學習、計算機視覺、自然語言處理、語音處理、知識表示與計算、推理與規劃,等等,並在此基礎上支援著許多重要應用場景如無人駕駛(無人車)、機器人等。
機器學習:旨在讓計算機具備自動學習的能力,能夠解決分類、聚類、迴歸、關聯分析等任務。目前主流是從大規模資料中自動學習和總結規律,從而能夠對新的資料進行預測,也被稱為統計機器學習。簡單地講,機器學習是從大量"刺激-反饋"資料中自動總結規律的技術。計算機視覺:旨在讓計算機理解和處理影象資料(包括圖片、影片等),使計算機掌握"看"的能力。影象是典型的無結構資料,由畫素組成,如何從一幅影象中自動識別不同層次的物件(如輪廓、人臉、場景等)及其複雜關聯,是計算機視覺面臨的挑戰問題。語音處理:旨在讓計算機理解、處理和生成人類語音,使計算機掌握"聽"和“說”的能力。語音也是一種典型的無結構序列資料,看似簡單的一維語音訊號包含著豐富的資訊如內容、意圖、身份、情感、通道、場景、干擾等。以語音識別為例,目前在深度學習技術的支援下,普通場景的語音轉文字的效果已經得到廣泛應用。而在多人、方言、強噪、遠場等挑戰場景下,語音識別效果還需要進一步提升。自然語言處理:旨在讓計算機理解和處理人類語言。與C++、Java等人工設計的程式語言不同,人類語言是大自然的產物,因此被稱為"自然語言"。人類語言也是典型的無結構資料,由字詞組合而成,如何理解一句話、一篇文章甚至一本書的意思,也是人工智慧面臨的挑戰問題。由於語言是人類特有的傳遞豐富資訊和知識、表達複雜思想和情緒的載體,甚至被認為是人類思考的重要工具,因此自然語言處理問題更接近人類高階認知智慧,有很多重要的開放問題。知識表示與計算:人類對世界的認識積累形成了知識,知識是人類理解外部資訊、實現各種智慧能力的基礎。近年來隨著知識圖譜的廣泛應用,成為研究界和工業界關注的重點問題。由於上述這些課題都關涉人類智慧,所以互相密切關聯、不分彼此,例如計算機視覺、語音識別和自然語言處理都是機器學習演算法的重要應用場景,知識表示與計算也成為計算機視覺和自然語言處理方向的重要話題,等等。正因為年輕,這些方向都充滿著活力,一方面最新技術日益深遠地影響著人類社會生活的方方面面,同時學科體系和技術框架也在飛速地日新月異、推陳出新,現在去翻十年前的教材很多內容都顯得過時了。
從學科設定來看,國內大學遵照教育部《學位授予和人才培養學科目錄》來頒發學位。最初的計算機一級學科是"計算機科學與技術",下設"計算機系統結構"、"計算機軟體與理論"、"計算機應用技術"三個二級學科,其中"計算機系統結構"對應高效能計算(超算)和計算機網路體系架構(網際網路),後來單獨成立出"網路空間安全"一級學科;"計算機軟體與理論"對應軟體工程和計算機理論科學等,後來單獨成立出"軟體工程"一級學科;而"計算機應用技術"則對應計算機的各類應用技術,很大程度上正沿著從資訊化到自動化再到智慧化的路線前進,可以想見,如果現在這波AI浪潮還能持續幾年,單獨成立"人工智慧"一級學科也指日可待。
從研究配置來看,AI研究隊伍主要分佈在計算機、自動化、電子工程等資訊科學相關院系中,這與AI起源有密切關係,計算機的奠基人圖靈、馮諾依曼,自動化的主要理論基礎"控制論"的奠基人維納,以及電子工程和訊號處理的主要組成"資訊理論"的奠基人夏農,均為AI的創立貢獻了思想。所以,計算機系主要從計算理論和計算機應用的角度研究AI,自動化系從自動控制的角度理解AI,電子工程系則從訊號處理(將AI關心的視覺、文字、聽覺等模態理解問題看做訊號處理)的角度解讀AI。
當然,在哲學、腦神經等其他領域也有從事人工智慧探索的學者。不過總體而言,由於人工智慧核心目標是探索如何將人類智慧轉化為可計算問題,因此它主要還是落在計算機領域。
如果希望對AI發展有比較通俗全面的瞭解,可以參考以下兩本書:《人工智慧狂潮》雖然標題名略顯中2,內容比較紮實,淺顯全面並及時涵蓋到最近的深度學習浪潮;《人工智慧簡史》是華人尼克的大作,作者蒐集的史料全面紮實,夾敘夾議有很多幹貨,讀起來很過癮,不過很多地方點到即止,如果沒有相關背景知識很難看懂作者所指。
Q:人工智慧學什麼?A:如前所述,人工智慧大致還是一個計算機應用的課題。雖然這兩年國內外已有很多高校開設了人工智慧班和專業,課程設定還沒有形成共識。我們可以從國內AI本科教育體系的先聲——南京大學人工智慧學院釋出的《南京大學人工智慧本科專業教育培養體系》做一些分析。
作為對比,這裡列出清華大學計算機科學與技術系的選課指導清單,其中用紅框標出了與人工智慧有關的限選課程。
可以看到,人工智慧需要學習的主要內容包括:
數學基礎課:清華CS和南大AI都需要學習的有 微積分(或數學分析)、代數與幾何、離散數學(或數理邏輯、圖論等)、機率論。南大AI新增 最最佳化方法,這在清華CS為研究生課程。學科基礎課:清華CS和南大AI都需要學習的有 程式設計基礎、資料結構、人工智慧導論、計算機原理、數位電路、系統控制。南大AI新增 機器學習、知識表示、計算機視覺、自然語言處理 作為學科基礎課,這在清華CS均為高年級選修課或研究生課程;清華CS需要額外學習 電路原理、訊號處理、作業系統、編譯原理、形式語言與自動機,這些被南大AI列為專業選修課。專業選修課:南大AI設立了很多AI相關的專業選修課,如 自動規劃、機率圖模型、強化學習、神經網路、深度學習等,在清華CS均為人工智慧方向研究生課程;而南大AI設立的很多認知科學、神經科學、計算金融、計算生物學、計算語言學等交叉課程,在清華則分散在各院系開設的課程。由此可以總結,目前看AI本科專業核心課程的設定與計算機專業相比,重疊部分要遠大於差異部分。可以看出南大在AI課程體系構建方面花費了大量心力,非常符合AI的當前發展特點。
所以,回到這個問題,人工智慧學什麼?建議就是以計算機核心課程(數學基礎課、學科基礎課)為學科主線,以 機器學習、知識表示、計算機視覺、自然語言處理 為學科特色,以學科交叉為輔助。因此,我們也可以說,無論是在以南京大學人工智慧學院為代表的新成立的人工智慧專業,還是以清華大學計算機係為代表的計算機專業,都可以完成對人工智慧基礎知識的學習。不同之處在於,前者預置為學科基礎課,後者則成為高年級時的可選方向(計算機系統結構、計算機軟體與理論、計算機應用技術)之一的計算機應用技術,如下是該方向的專業限選課程列表,其中超過一半課程是AI相關。
如果對這些課程要學什麼感興趣,可以購買查閱《南京大學人工智慧本科專業教育培養體系》或者使用搜索引擎檢索相關介紹。
Q:人工智慧怎麼學?A:清華大學章程明確提出"價值塑造、能力培養、知識傳授"三位一體的育人模式,我認為這是高水平AI人才養成方式的最佳描述。
知識傳授這層不必多說,師者傳道受業解惑,在大學裡透過課程講授和課下實踐,研習精通計算機和人工智慧理論與技術,每位同學透過一門門課程成績反映出的,正是專業知識掌握的水平。我想,絕大部分同學都能明白課程學習的重要性。然而,大學之道不僅於此,不然大學就不過是個專業技校。
在知識傳授之上就要構築能力培養,這對CS/AI專業而言尤其重要。計算機和人工智慧是非常年輕的學科,正處在飛速發展的朝陽時期,學科知識更新換代很快,大部分最新知識根本無法在短時間內及時沉澱到教科書中。而進入教科書的那些知識,與實際應用場景往往已有較大距離。很多CS/AI高科技公司自身就站在學科最前沿,亟需有快速學習和獨立解決開放問題能力的人才。這樣,一方面要求同學有意識建立終身學習的理念,有較強的獨立學習的能力;另一方面則要求同學注意透過實驗室研究等方式鍛鍊科研創新能力。CS/AI同學們需要主動參與科研工作的全過程,樹立專業志趣,培養獨立學習的能力、自我學習的習慣、提出問題的意識、以及獨立解決開放問題的能力,這是大學培養CS/AI高水平人才的必由之路。因此,大學教師在CS/AI開展高水平原創研究的能力,也一定程度上決定了他們對學生進行能力培養的水平。
最後一層價值塑造也許是最玄乎的,但更加重要。一個人在知識和能力確定的情況下,Ta的努力方向和堅持程度最終決定其成長的高度。找到在術業上的堅持方向,就是價值塑造的過程。這個過程絕不是簡單粗暴的灌輸和宣講就能實現的,要有高水平的教師一起教學相長,有志存高遠的同學共同努力拼搏,有各界奮鬥的學長作為示範榜樣,有校外海外的實踐平臺廣開視野。實踐出真知,只有自己多聽多看多想,才能找到自己喜歡的、努力的方向,也才更有後勁堅持不懈。
所以,不管是人工智慧、計算機專業還是其他什麼專業,只要想把自己培養成為該領域的可堪大用之才,就需要從知識、能力和價值這三個層面來努力提升自己。
Q:人工智慧去哪學?A:上面說了這麼多,接下來圖窮匕見,再聊聊在國內人工智慧應該去哪裡學。根據前面幾個問題的回答,可以從師資水平、課程設定等方面來做判斷,其中師資水平應該是最重要的因素,而課程設定、培養水平等與師資水平直接正相關。
如何判定AI師資水平,與QS、THE、US News、ARW�U等大學或學科排名相比,我更推薦UMass教授Emery Berger維護的高校計算機科學領域排名CSRankings,採用DBLP資料庫中大學CS/AI教授在不同方向頂級會議上發表的論文數量進行排名,有客觀確切資料支援,例如美國號稱CS四大名校的Stanford、MIT、UCB和CMU就排在美國前四位。同時CSRankings工程和資料全部開源在github上,可以非常方便地進行檢查、復現和擴充套件。
CSRankings將CS劃分為AI、Systems、Theory、Interdisciplinary Areas四個一級方向,每個方向有有若干子領域,例如AI就又下分General AI (AI總方向)、Computer Vision (計算機視覺)、Machine Learning & Data Mining(機器學習與資料探勘)、Natural Language Processing(自然語言處理)、The Web & Information Retrieval(網際網路與資訊檢索)。每個字領域只收錄2-3個頂級會議,這主要是因為計算機科學技術由於發展比較快,所以學者們更重視透過國際會議論文發表最新成果進行學術交流,而不像其他領域那樣主要是透過期刊發表最新研究成果。
由於CSRankings原網站沒有提供中國單列的高校排名,國內學術網站AMiner做了一個改進版,除了提供中國高校單列名單外,還額外提供根據論文引用數量的排名。如果按照2009-2019十年間論文發表統計,我簡單統計了國內AI/CS排名較高的高校(不含香港臺灣高校、不考慮中科院)排序如下。同時表格還列出2016-2019近三年的排序資料,可以看到,最近幾年國內高校AI進步神速,特別是清華AI已經躍居世界第一。
這個排序大致能夠反映各大高校CS/AI專業的國際學術前沿整體水平,而且透過AI領域和CS整體的排名反差,可以觀察到該高校AI方向的強勢程度,例如復旦的AI排名高於其CS排名2位,哈工大AI排名高於CS排名3位等等,說明這兩所大學的AI方向相對比較強勢。而且,還可以看出,國內高校AI領域的世界排名明顯超過CS整體的世界排名,說明國內高校在AI方面更接近世界前沿水平。
需要注意:(1)這個統計結果只能反映師資力量的一個側面,而很多國內高校如北航、國防科大等在國家資訊科學重大需求方面做出的巨大貢獻如天河等,並無法客觀反映到這個統計中。(2)由於CSRankings作者Emery Berger堅持只收錄能招收博士的CS教授,因此那些在電子工程或自動華系等其他非CS系的教授沒有被收錄進來,從而導致該清單並不能完全反映各大高校的AI等領域的師資水平,但也正因為其只收錄CS教授,也許對於我們評判這些高校的CS專業師資力量更有幫助。此外,部分高校可能面臨教授列表不全等問題,CSRankings接受修改申請,建議國內高校相關院系可以去申請更新。
CSRankings主要以高校為單位進行排序,前幾天我組同學用CSRankings開源資料,對AI領域的國內C9高校學者進行了排序,可以看到前20的學者有7位清華、5位北大、2位南大、2位浙大、2位哈工大、2位復旦,可以從另一個側面反映各高校的AI師資力量。
總之,我認為CSRankings是很好地定量了解各高校CS各領域研究實力和師資力量的平臺,例如下面就是CSRankings提供的清北兩校不同領域發表論文分佈的餅狀圖。
如果覺得只考慮頂會論文數量還不夠,學術網站AMiner對CSRankings進行了擴充套件,考慮了論文引用數,http://csrankings.aminer.cn/,大家也可以參考。國內高校在頂會論文引用數(體現學術影響力)的世界排名普遍比論文數的排名要低,這點正是國內高校需要繼續努力的方向。不過國內高校近年來在引用數排名上的進步速度也非常可觀。
Q:想來清華學人工智慧去哪學?A:透過上個問題可以看到,想在國內學習AI,高考分數夠的話,清華大學是不二選擇。如果想來清華學AI都有哪些選擇呢?這裡對清華與AI有關的專業大類做一個簡單介紹:
計算機類:含交叉資訊研究院的計算機科學實驗班(姚班)、人工智慧學堂班(智班)、計算機系、軟體學院。如前所述,AI核心目標是探索如何將人類智慧轉化為可計算問題,主體落在計算機領域。所以清華計算機類是學習AI的首選。自動化(與工業工程)類、電子資訊類。如前所述,自動化的主要理論基礎"控制論"的奠基人維納,以及電子工程和訊號處理的主要組成"資訊理論"的奠基人夏農,均為AI的創立貢獻了思想,所以自動化系從自動控制的角度理解AI,電子工程系從訊號處理的角度解讀AI,也與AI有密切關係。因此自動化類、電子資訊類也是學習AI的可選方案。數理類、文理通識類。數理類下的基礎科學班以及文理通識類新雅書院,均支援同學自由選擇未來發展方向。人工智慧(特別是其中偏重基礎理論的機器學習)是基科班同學的熱門選擇;而新雅書院也有大量同學選擇計算機和人工智慧方向。其他工科類。清華是工科強校,在資訊化和智慧化的浪潮下,很多傳統強勢的工科方向近年來也開始努力開展智慧化轉型,如土木系的智慧建造、電機系的智慧電網,車輛學院的無人駕駛(成立了清華智慧駕駛實驗室)、精儀系的類腦器件(成立了清華類腦計算研究中心),可以說幾乎每個工科大類都有深度參與智慧化的研究方向。依託清華在資訊科技上的優勢,人工智慧技術將為很多工科方向帶來新的研究熱點,共同造福人類社會。希望更多對AI感興趣的同學來選擇參與到這些交叉方向上來,讓AI技術得到更快更廣更深的應用。文科類。清華的文科方向大多小而精,我由於從事一些交叉方向研究,所以與很多文科方向比較熟悉,例如社科學院有社科大資料的構建與研究,法學院致力於計算法學研究,中文系有計算語言學研究,外文系有語言認知研究,心理系有腦認知研究,美學院有資訊互動設計和智慧藝術創作研究,這些都與計算機和人工智慧有密切聯絡,具有高度的文理交叉特點。所以,如果文科同學對人工智慧感興趣,也能在這些方向上充分感受清華的AI力量。關於清華各院系和專業類的詳細介紹,可以直接下載瀏覽《清華大學2019年本科招生報考指南》,簡單搜尋“智慧”、“無人”、“類腦”等關鍵詞,就可以找到哪些專業和院系在從事與人工智慧有關的研究。