倍可親

回復: 0
列印 上一主題 下一主題

計算機將擁有「常識」?還有很多關要闖

[複製鏈接]

4364

主題

9732

帖子

1萬

積分

七級貝殼核心

Rank: 5Rank: 5

積分
17462
跳轉到指定樓層
樓主
非常時期 發表於 2016-11-2 00:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 新鮮人 於 2016-11-2 00:54 編輯

  計算機將擁有「常識」?還有很多關要闖

  2016年11月01日 11:13   文章來源:賽先生微信公眾號

  

  前一段有「深度學習教父」之稱的 Geoffrey Hinton 預測在十年內將出現「具有常識」的計算機系統。此言一出,「常識」頓時在媒體上成了個高頻詞,還有名人為此預測的成敗公開打賭。在這一片熱鬧之中,卻很少有人解釋一下「常識」究竟是什麼,以及為什麼擁有常識比擊敗圍棋高手還難。也許這本身就是常識,因此無需解釋?且待我們細細看來。

  「弱方法」和「強方法」

  主流人工智慧研究的目標是「解決那些只有人能解決的問題」。在早期,研究者致力於發現和總結那些可以用於解決各種問題的通用技術,如狀態空間搜索和符號邏輯推理等等。但這些技術只獲得了有限的成功,而越來越多的人認識到並沒有什麼「包治百病」的妙方。不管你多聰明,沒有相關領域裡的專門知識也是解決不了多少問題的。在上世紀八十年代,「知識就是力量」的口號被一些研究者重新喊出來了,而「基於知識的系統」、「專家系統」、「知識工程」等概念也流行起來。當時的普遍看法是:僅靠通用技術的問題求解方法只能解決簡單問題,因此是「弱方法」,而依據專門知識的方法才能解決複雜問題,是「強方法」(見參考材料[1])。請注意,這與目前稱專用智能系統為「弱人工智慧」,通用智能系統為「強人工智慧」的說法恰好相反。

  我早年曾做過一年多「知識工程師」。每做一個新項目,我們就會到客戶那裡去仔細分析相關行業的決策過程(我去過電話公司、保險公司、銀行、投資公司),然後把有關專業知識整理后存進一個「專家知識庫」,以使得這個系統能根據這些知識對各個具體問題提出解決方案。在不同的應用領域中,此類專業知識是非常不同的,但我們開發的專家系統對這些知識的處理技術是不變的,基本上是基於數理邏輯的推理以及狀態空間搜索。這種系統的成敗的確主要取決於專家知識是否能被知識工程師們有效地表達成計算機所能利用的形式。

  在網際網路浪潮的推動下,出現了另一類相關的計算機技術,包括「語義網」(semantic web)、「本體論」(ontology)、「知識圖譜」(knowledge graph)等等。儘管細節和重點不同,但這些工作都致力於把人類知識表示成計算機程序能直接使用的形式,其中的「知識」包括常識,也包括專業性知識。

  目前這種對於領域知識的依賴也體現在很多機器學習演演算法對「大數據」的依賴之中。數據不夠,再強的學習演演算法也是「難為無米之炊」的。在很多情況下,只要數據夠了,用哪個演演算法差別都不大。這就是「數據為王」這個說法的根據,其實和「知識就是力量」異曲同工。

  總而言之,智能系統需要知識來解決複雜的問題,這是大部分人工智慧工作者的共識。以 Rodney Brooks 為代表的「行為主義學派」挑戰過這個觀點,試圖用和外部環境的相互作用來代替基於知識的推理,但他們的成功僅限於掃地機器人等相對簡單的系統。

  人工智慧和「常識」

  人工智慧對於「常識」(common sense)的需求主要是在對推理系統的研究中出現的,其中有兩個不同的研究課題,「常識知識庫」和「常識推理」。

  在開發專家系統時,一個常見的問題就是專家所提供的知識不足以推出所需的結論,而中間所缺乏的是「常識」,就是平常人際交流時無需說出的那些人人知道的事情。在計算機不能自動獲取這種知識的情況下,有必要把有關事實存進一個「常識知識庫」裡面。這個知識庫和前述「專家知識庫」相比有兩個主要不同點:首先,這個庫是通用的,不用為每個應用系統建一個;其次,這個庫要比專家知識庫大好幾個數量級,因為「常識」實在是太多了。

  挑戰這個難題的最著名的努力當屬 Douglas Lenat 所領導的 Cyc 項目(「Cyc」取自「encyclopedia」,即「百科全書」)。自1984年開始,他們一個幾十人的團隊致力於把百科知識表示成符號邏輯命題,並讓計算機據此進行推理。比如說「樹木是植物」在 Cyc 中表示成「(#$genls #$Tree-ThePlant #$Plant)」。三十多年後,這項工程仍遠未完成,但已有的成果已開始被用於各種實際問題的解決。

  麻省理工學院的 OMCS(Open Mind Common Sense)和 Cyc 有著類似的目標,但採取了「眾包」的辦法(crowdsourcing,儘管當時還沒有這個詞)。他們建了個網站,鼓勵世界各地的志願者貢獻諸如「天是藍的」、「鳥會飛」、「桌子有四條腿」之類的知識。這些知識以自然語言的形式被提供,然後加工成系統能使用的形式。這麼做自然比 Cyc 成本低多了,但知識的可靠性、完整性、系統性都不好保證,而且自然語言處理本身就不容易。這類項目還有幾個,但進展都低於主持者的預期。

  即使一個常識知識庫已經被建起來了,用這種知識進行推理也不是個簡單的任務。這裡的主要問題是「常識」並不具有數學知識或科學知識的嚴格可靠性,而往往只是「大致」、「通常」、「一般來說」是對的,因而面臨「例外」的挑戰。比如在對話中說話人提到一隻鳥,聽話人會自然以為它能飛,儘管這種推論可能是錯的(如它是企鵝、幼鳥、傷鳥等等)。為了處理這種「常識推理」,人工智慧的奠基人之一 John McCarthy 倡導了對「非單調邏輯」的研究。在使用這種邏輯的推理系統中,系統信念總量不是「單調增長」的知識累積,而是有增有減,因為新知識(如「此鳥是只企鵝」)可能導致對舊信念(如「此鳥能飛」)的否定或修正。在信念衝突發生時,修正的範圍不是顯而易見的,因為信念間通常有複雜的依賴和蘊涵關係。目前的非單調推理系統只是在有限的領域獲得了應用。

  深度學習和「常識」

  前面的介紹說明「常識」在人工智慧研究中遠非新問題,而且以往的工作也有一定的成果,儘管離「計算機已經有常識」還差很遠。在這個課題上,前面的工作都是由「邏輯學派」做的,而這次 Hinton 說的當然是深度學習可以實現這個目標。他的根據是什麼呢?畢竟這對深度學習是個新課題。

  由於 Hinton 並沒有展開談,下面只能是我的推測了。基於深度學習已經展現的力量,它帶給這個領域的新思路大概不外乎是「從已有材料中學習常識」。和傳統的知識庫構建方式比較,這裡的新意主要是兩點:一是直接利用已有材料,尤其是網際網路上的文本和多媒體信息;二是用這些材料訓練神經元網路,而非把知識表示為命題或語句集合。

  

  和利用手工方式(不論是用符號語言還是自然語言)構建常識知識庫相比,直接利用網上信息顯然是成本低而效率高。和八十年代的情況不同,現在大概所有常識性知識都能在網上找到。如果考慮到能從圖片、影片、語音中抽取出來的知識就更是如此了。這些知識目前沒能被計算機所充分使用,是因為「理解」這個問題尚未被解決。比如說,自然語言處理技術就沒達到能讓機器能通過閱讀獲取知識的地步。

  深度神經元網路已成功地建立了大量圖片和其內容描述之間的對應關係,而這類關係也可被看成是屬於常識。照此看來,深度學習能讓計算機獲得常識似乎是其已有成果的自然拓展。深度學習在自然語言理解上的辦法和它處理圖片和語音的辦法相似,即通過反覆訓練把輸入材料壓縮編碼為網路參數,也就是所謂「詞語向量」(word vectors)和「思想向量」(thought vectors)。說這些向量表徵了常識,是指它們可被用來完成某些查詢或推理任務,比如判斷兩段詞語的語義相似程度。

  「常識」中的麻煩

  但「讓計算機有常識」可遠不僅意味著存儲和檢索海量知識,其中的困難大概還遠沒有得到充分認識。

  首先要問的是「誰的常識?」這個問題很少被討論,因為答案似乎顯而易見——當然是人的常識。但「人類常識」不是一個有明確定義的範疇,而某個信念是否屬於常識可能是有爭議的。比如說「太陽東升西落」和「地球圍繞太陽轉」哪個是常識?「新年是在冬季」只在北半球是對的,那還算常識嗎?在辯論雙方都指責對方「缺乏常識」或「違背常識」的時候,誰有資格做裁判?

  就算我們可以就「人類常識」的範圍和內容達成共識或妥協,它和「機器常識」的關係仍是個問題。一個智能系統的知識應當來自其經驗,包括得自感覺-運動的直接經驗和得自系統間通訊的間接經驗。即使一個人工智慧系統具有和人相似的認知功能,它的經驗也不會和人的經驗達到同等的類似程度。就算是人形機器人,它的軀體和感覺-運動器官也不會和人完全一樣。在通訊的過程中,一個人工智慧同樣不可能得到和人一樣的社會經驗,因為人們不會把它當人來對待。

  因為環境的相似性和人機通訊的同化效用,一個人工智慧系統的經驗當然和人類經驗會有相當程度的共同性和對應性,但差異仍會非常大。這和系統的智能水平無關。如果兩個智力相當的人是在非常不同的自然和社會環境中長大的,那他們獲得的「常識」一定是非常不同的。古龍的《絕代雙驕》和馬克·吐溫的《王子與貧兒》講的都是這種故事。

  我們當然可能把人類常識灌輸給一個人工智慧系統,而利用其強大的記憶和處理能力構造一個包羅萬象的知識庫。但如果這些知識既不能指導這個系統的行為,又不能根據這個系統的經驗被修正,那這個知識庫對這個系統就沒有意義,儘管它可能對某些旁觀者有意義。這正是塞爾的「中文屋」思想實驗所批評的情形。一個通用人工智慧系統的世界觀一定是和人的不完全一樣的,否則它就不是真的有智能,而只是人類的應聲蟲。但另一方面,讓智能機器發展它們自己的「常識」會為我們對它們的理解和控制帶來挑戰,如我在《人工智慧危險嗎?》中所討論的。

  深度學習的研究現在仍是聚焦於系統輸入-輸出之間的數學關係,而極少仔細分析更大範圍內的認知和哲學問題。殊不知這些問題是不會隨著技術進步而水到渠成地迎刃而解的。把常識簡單地處理成輸入-輸出關係的一個缺點就是不利於使這些關係本身成為思考的對象,而這也是「聯結主義」遜於「符號主義」的要點之一。神經元網路另一個技術上的問題是「詞語向量」和「思想向量」這類辦法在學習知識時是針對一個特定任務的,而常識需要有通用性才行。所謂「遷移學習」(transfer learning)正是針對這一點的,但能走多遠還很難說。

  納思和「常識」

  我在前面的若干短文中(如《你這是什麼邏輯?》)已經介紹了我設計的「納思」。作為一個通用人工智慧系統,納思自然要處理常識。在這裡我只介紹基本想法,而請對細節有興趣的讀者看我的學術著述,如參考材料[2]和我主頁上的相關論文。

  納思的設計是不依賴於具體領域的,但其對具體問題的解決能力很大程度上取決於系統當時所具有的相關知識。用我在《人工智慧迷途:計算機的高技能等於高智能嗎?》中引入的區分來說,納思的「智能」是通用的和先天植入的,體現為「元知識」;而其「技能」是專用的和後天習得的,體現為「領域知識」。常識是後者中那些和其它系統共享,但並未體系化的部分。由於這種知識沒有明確邊界,也無需特別處理,因此納思並沒有一個特別的「常識推理」機制。和其它領域知識(個人知識或理論知識)相同,常識來自納思的直接或間接經驗,並始終在被組織和修改的過程中。

  由於納思的知識由符號語言表示成概念關係,而且可以循某種邏輯進行推理和修正,它和前面提到的常識知識庫和非單調邏輯都有相似之處。但納思的所有知識都是可以被系統經驗所修正的,而這就和以往的(公理化)推理系統不同了。納思和神經元網路的相似之處體現在對學習的倚重和對不確定性的包容,但納思中的知識是表示成一個概念網路,因此在技術細節上和思想向量非常不一樣。

  通過人機交流,人類知識會成為納思信念的一部分,但不會是全部,而它也會根據自己的經驗對有關知識的適用程度進行評估,並決定是否依此行事。因為納思的信念可以成為它的思維對象,系統可以在一定程度上區分人類教給它的知識和它自己總結出的知識。這就像我們可以了解他人的信念,但並不需要完全接受這些信念。

  總而言之,我認為目前計算機已經可以表示和使用人類的某些常識了,而且這方面的能力會越來越強。由於人工智慧系統從自己經驗中總結出來的知識和人類常識不會完全一樣,協調二者的關係仍會是一個重大課題。(本文圖片來自網路)

  參考資料

  [1] George F。 Luger, Artificial Intelligence, 6th edition, Addison Wesley, 2009

  [2] Pei Wang, Rigid Flexibility: The Logic of Intelligence, Springer, 2006

格外小心
您需要登錄后才可以回帖 登錄 | 註冊

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-8-10 19:14

快速回復 返回頂部 返回列表