評測機器認知智慧
說到認知智慧,一個不可避免的問題是怎麼去評測機器的認知智慧?這個事情聽上去很簡單,但事實上相當困難。早在1950年, 人工智慧的祖師爺圖靈就提出了著名的圖靈測試。簡而言之,人類評委和事先不知道是機器還是人的物件交談,如果人類評審不能夠區別交談的物件是機器還是人,那就認為這個機器具有人的智慧。
但是,圖靈測試值得商榷。2014年,有一個叫做Eugene Goostman的程式,號稱通過了圖靈測試,超過1/3的人類評委覺得它就是一個烏克蘭的小孩,不是機器。但是,這在學術界引起廣泛爭議。為什麼?因為某種意義上可以用一些欺騙的方法來做這個事情,比方說可以不回答問題,反過來問問題引導人類評審專家。例如,當面對較難的問題的時候, 可以回答“我不知道”,而反過來問人類評審一些相關的閒話。可能很多時候人類評審就被馬馬虎虎的應付過去了,尤其在機器設是一個非英語母語的小孩的時候。無論Eugene Goostman是否通過了圖靈測試,這至少表明,以圖靈測試作為評測機器的標準值得討論,比如於劍老師在這方面就有過很多深入的思考。
另外的一個候選者是智商測試,估計大家都做過。用機器來做智商測試會怎麼樣?這是一個挺有意思的事情。自動智商測試沒有想象的那麼簡單,對現在的人工智慧技術提出了很大的挑戰,既需要涵蓋人工智慧的諸多方向,也需要融合之前提到的各個流派,而且智商測試本身就有一定的通用性。因此,我們現在正在進行這方面的課題研究,也舉辦了相應的國際比賽,歡迎大家關注。當然,我們也不認為機器智商測試做得好,就一定代表機器比人強。但我們認為這一定能促進機器在認知智慧領域的發展。
數學自動答題
很多人都有這樣的感受:所有的學科裡面,學的最吃力、最痛苦的莫過於數學。機器到底是不是可以解數學題,跟人比起來,能力到底如何?這也是個挺有意思的問題。我們在這方面也進行了一些嘗試。
首先我先問大家一個問題,關於機器和機器之間的交流的問題。中國人和中國人之間用中文;英國人和英國人之間用英語,那機器和機器之間交流到底該用什麼?機器語?非常好的回答。對,就是機器語。這就是我們做的工作的出發點。我們定義了一套關於數學的機器語言。這樣,機器和機器之間就可以透過這套語言實現所謂的交流和答題。
這個機器語言長得就像圖中這個樣子,主要是基於邏輯學的。細節不重要,重要的是機器確實是可以有一套機器語言的,可以透過這套語言相互交流,表示知識,學習知識,從而解決問題。舉個例子(見上圖),這是一個很簡單的題目,等差數列求通項公式的問題。題目的自然語言對人來說可以輕易理解,但是對於機器而言就是一堆ASCII碼,機器是不懂得這個題目在講些啥的。因此,我們需要把自然語言的題目翻譯成機器能理解的機器語言,就是圖的中間這一塊。因為機器語言是事先定義的,所以機器能夠懂這個語言。在把自然語言翻譯成機器語言之後,機器就可以呼叫規則庫來解數學題了。
跟人一樣,機器解題也是透過一步一步呼叫定理。剛開始的時候,選取一條規則執行,提取結果之後會得到新的知識,新的事實,然後把它加到原來的事實庫裡面,又可以繼續推。一步一步重複這樣推演步驟,機器就能解答數學題。
之前我們和訊飛有合作,做高考答題。大概能做得怎麼樣呢,跟大家彙報一下。我們選取其中比較難的數列來做,基本上在解題部分可以做到90%到。如果工程量足夠的話,估計可以做到95%。但也就差不多就能這樣了。為什麼?下面這張圖能夠稍微解釋這個情況。
高考數學題中一大部分的題目可以透過很簡單的模板來解決假設知道了數列的幾項,求它的通項公式,這就是個模板,以後所有的這種型別的題目都可以完成了。這在數學題裡面就是那種特別簡單的送分題。如果把所有的題都考慮的話,發現模板越來越困難,因為它是題目和題目之間的組合、形式和形式的組合,它會非常複雜。你寫了兩千個、一萬個都不能窮舉所有的情況。
所以下一層就需要用到規則。簡而言之,規則就是把數學定理用機器語言寫給機器,機器就懂了這些數學定理,然後透過這些數學定理的組合,就可以解決數學題目。這樣,大致上就能夠搞定高考題目了,因為高考題目透過這些組合也就差不多(大約90%到95%)可以囊括了。
在規則之上是方法,有很多不同的數學的方法,比方說歸納法、反證法、分情況討論等等。現在我們正在嘗試用數學的方法來解數學題。我們也相信,如果方法完全做到位的話,大致能夠做競賽題。但這還不夠。因為數學家肯定不是透過這些死的方法來開展研究的。方法都是死的,數學家還有很多靈感和直覺,來發現新的定理和概念、定義新的東西。這個層面就可能需要更深的人工智慧理論和技術了。某種意義上,數學自動答題這個事兒,它不是一個事兒,它是很多不同層次的事兒,而且現在的技術做得並不怎麼樣。
事實上,在解題方面雖然有可能做到95%,但是在題意理解(即把自然語言翻譯成機器語言)這一步,反而會做得比較差。對於比較封閉的全是用數學語言來寫的題目,大致可以做到整題理解正確率80%-85%,工程做全大致能到90%。但是對於開放的題目,比如應用題或自定義新概念的題目,那題意理解就會相當的差。例如,有一道題目是:毛主席有一句詩詞,“坐地日行八萬裡”,請問地球的周長是多少?後半句機器還能理解,前半句就夠嗆了,而把前半句和後半句聯絡在一起,機器基本束手無策。
面臨的痛點
認知智慧的能做的事情還有很多,比如智慧醫療:怎麼用認知智慧的方法去幫助抑鬱症患者,怎麼進行早期診斷等等。
再分享一點:在做這些事情的時候我們遇到的最大的痛點是什麼?我的答案是如何真正融合基於神經網路的連線流派和基於邏輯的符號流派。這是人工智慧的兩個特別主要的流派,但是它們的假設非常不一樣。一個是神經元的,是隱式的,一個是顯式的,符號的。它們兩個到底怎麼能夠真正的融合在一起,我覺得是通用人工智慧,也是強人工智慧的一個充要條件。這方面的探索還很不夠。
大家都知道,人腦肯定是連線的,生物神經網路有百億級的神經元。感知某種意義上也是連線的,這也是為什麼深度學習在感知智慧上能夠做得這麼好的一個很重要的原因,因為它很適合這個事情。但是計算機的本質,其實是符號的。計算機起源於邏輯學,計算機的幾個重要的基礎,包括可計算理論、程式語言、數位電路,都基於邏輯和顯式符號。所以某種意義上,計算機的本質是符號的。認知和互動,大部分也是符號的。比方說,我們現在透過中文這種符號語言在交流,而機器程式,用C語言也好,Python也好,是透過一種機器的符號語言在交流。機器跟機器之間的交流,也是一種機器符號語言。認知和互動某種意義上主要是基於符號的。
對於人來說,這兩個完美的統一到了一起,我們用生物神經網路說著各種符號語言,用的還特別好。但是對於機器來說,這是個特別大的痛點,特別困難的問題。
為什麼我要借鑑腦科學與神經科學的方法來做人工智慧的問題。我們的大腦,左腦管抽象思維,右腦管形象思維,這兩個完美的結合能夠做很多事情。如果能夠借鑑腦科學和神經科學的一些方法,是不是能夠真正讓人工神經網路也能夠處理結構化的資訊,能夠自動地獲取知識?當然了,這很困難,現在還處在一個特別初級的起步階段,但是也有一些很有意思的事情或想法在嘗試。
認知智慧的應用
最後,我稍微講一講如果認知智慧做得比較好的話,可以應用在什麼方面。
人類解決事物的流程,先感知再認知,認知是感知後面的一個階段。絕大部分事情,真正要把它做好的話,感知和認知都有。踢足球也好,自動駕駛也好,都是先感知再認知的。認知智慧跟感知智慧不是一個對立的東西,而是認知智慧的處理是在感知智慧之後的。如果認知智慧做得好的話,它的應用場景是非常多的。
比方說智慧教育。智慧手機相對於手機是個顛覆性的、革命性的創新。教育也是一樣,孔子就說過要因材施教。但如果不借助機器的話,因材施教是很困難的——老師沒有這麼多時間,不太可能真正的去對每個孩子因材施教。如果機器真正能夠掌握數學知識,就能夠精準的評測學生知識掌握的好壞(這就是“因材”),從而制定精準的學習計劃(這就是“施教”)。所以某種意義上,認知智慧上的發展可以真正的實現老夫子的宏願。
再比如知識庫,企業的知識庫以及企業的自動化流程。企業裡面有很大一部分事情屬於重複性勞動。比如說我特別煩的一個事情就是報銷,報銷這個事兒有好多規定,我根本就搞不懂,但是機器搞懂這個事情比我要容易,它就是一個流程,一個規章制度。所以像這種重複性的、大量的勞動,以後在認知智慧得到一定的發展的時候,都是可以交給機器去做的,可以把人解放出來。
資料庫已經是一個萬億美元的市場了,可以想象以後的企業知識庫應該也類似。因此,認知智慧做得好的話,有很大的商業價值。
還有,Google、百度等搜尋現在反饋的結果是一個頁面,也就是很多網站的排序,但是我們真正想要的是那些網站的排序嗎?不是的,人很懶。懶當然是個缺點,但是某種意上,懶也是促進人類進步的一個很大的動力。
搜尋一個東西,我們真正想要的就是答案,直接的答案。現在搜尋技術能夠提供的跟人類真正想要的還有一段的距離。“知識”可以某種意義上來做這個事情。現在Google、百度等也開始這樣的嘗試了,比方說用一些包括知識圖譜的工具。當搜尋“姚明”的時候,關於姚明的身高體重以及他的一些親戚關係就自動出來了,這就是知識的功效。
但這還不夠,因為很多時候我們就是懶到想直接要答案。這也是為什麼現在很多行業搜尋、基於推薦的搜尋變成特別大的一個商業領域的原因,因為人永遠是想節省時間的,永遠是懶的。而認知智慧或者知識上面的突破,可以幫助我們做多很多事情。
演講者 | 周熠
文字整理 | 貓擼火鍋、王佳
排版 | John