人工智慧的未來 ——記憶、知識、語言

從一個悲劇故事談起

黛博拉(Deborah)輕輕地推開房門,探頭往裡看。克萊夫(Clive)發現進來的是妻子,臉上露出無限的喜悅。他直奔門前,高喊「太好了」,並張開雙臂緊緊地抱住黛博拉。克萊夫一邊和黛博拉親吻,一邊說「你來了,真讓我吃驚」。接著兩人又開始擁抱,好像分別已久。坐下來後,黛博拉用溫柔的眼光看著克萊夫說「其實我今天早上也來過」,克萊夫搖搖頭反駁道「不可能,這是我今天第一次見到你。」這樣的場景每天都在黛博拉和克萊夫之間重複上演。

克萊夫·韋爾林(Clive Wearing)是英國的一位音樂家1 。他四十多歲的時候突然患上了病毒性腦炎,這是一種死亡率很高的疾病。幸運的是他活了下來,不幸的是疾病給他留下了失憶症(amnesia)。過去發生的很多事情已不能記起,但他還認識妻子,卻不認識女兒。更嚴重的是他對當前發生的事情不能記憶到腦子裡,幾分鐘後就會完全忘記。他的行動沒有任何問題,語言和思維似乎也正常,可以飲食、行走、說話、寫字,甚至彈琴、唱歌,看上去和正常人一樣。但他就是長期記憶(long term memory)出了問題。他感受到的世界和大家是一樣的,但轉過頭去,剛發生的一切就會從腦海中消失,他所擁有的只是「瞬間到瞬間的意識」,沒有過去可以聯繫,也沒有未來可以展望。

克萊夫·韋爾林用自己不幸的經歷為我們揭示了長期記憶對我們的智能,乃至我們的人生的重要意義。

記憶與智能

人腦的記憶模型如圖1所示,由中央處理器、寄存器、短期記憶和長期記憶組成。視覺、聽覺等感測器從外界得到輸入,存放到寄存器中,在寄存器停留1~5秒。如果人的注意力關注這些內容,就會將它們轉移到短期記憶,在短期記憶停留30秒左右。如果人有意將這些內容記住,就會將它們轉移到長期記憶,半永久地留存在長期記憶里。人們需要這些內容的時候,就從長期記憶中進行檢索,並將它們轉移到短期記憶,進行處理[1]。

圖1 人腦記憶模型

長期記憶的內容既有信息,也有知識。簡單地說,信息表示的是世界的事實,知識表示的是人們對世界的理解,兩者之間並不一定有明確的界線。人在長期記憶里存儲信息和知識時,新的內容和已有的內容聯繫到一起,規模不斷增大,這就是長期記憶的特點。

大腦中,負責向長期記憶讀寫的是邊緣系統中的海馬體(hippocampus)。克萊夫·韋爾林患失憶症,是因為海馬體受到了損傷。長期記憶實際上存在於大腦皮層(cerebral cortex)。在大腦皮層,記憶意味著改變腦細胞之間的鏈接,構建新的鏈路,形成新的網路模式。

我們可以認為,現在的人工智慧系統是沒有長期記憶的。無論是阿爾法狗,還是自動駕駛汽車,都是重複使用已經學習好的模型或者已經被人工定義好的模型,不具備不斷獲取信息和知識,並把新的信息與知識加入到系統中的機制。假設人工智慧系統也有意識的話,那麼其所感受到的世界和克萊夫·韋爾林是一樣的,那就是,只有瞬間到瞬間的意識。

那麼,意識是什麼?這是當今科學的最大疑團之一,眾說紛紜,莫衷一是。日裔美國物理學家加萊道雄 (Michio Kaku)給出了他的定義。如果一個系統與外部環境(包括生物、非生物、空間、時間)互動過程中,其內部狀態隨著環境的變化而變化,那麼這個系統就擁有「意識」[2]。按照這個定義,溫度計、花兒是有意識的系統,人工智慧系統也是有意識的。擁有意識的當前的人工系智能系統缺少的是長期記憶。

具有長期記憶將使人工智慧系統演進到一個更高的階段。這應該是人工智慧今後發展的方向。

智能問答系統

未來人工智慧技術不斷發展,預計將會出現智能性的問答系統,系統包括語言處理模塊、短期記憶、長期記憶、中央處理模塊(如圖2所示)。有大量的結構化的、非結構化的信息和知識作為輸入,也有大量的問答語對作為訓練數據。系統能夠自動獲取信息與知識,掌握語言理解與生成能力,將信息和知識處理存儲到長期記憶,理解用戶用自然語言提的問題,利用記憶的信息與知識給出正確的答案。

圖2 智能問答系統

在某種意義上,現在已經存在這種系統的原型,例如,互聯網搜索引擎就可以看作是其簡化版。但是要真正構建人類的智能信息助手,還有許多難關要攻克,有許多課題要解決。

知識問答的本質問題是:

(1)語義分析,即將輸入的自然語言的表示映射到內部的語義表示;

(2)知識表示,即將輸入的信息知識轉換為內部的語義表示。最大的挑戰來自語言的多義性和多樣性,以及知識的模糊性。

語言具有多義性(ambiguity),也就是說一個表達可以表示不同的意思。下面是語言學家查爾斯·菲爾默(Charles Fillmore)給出的例子。英語單詞climb,其基本語義是四肢用力沿著一條軌跡向上移動,表示「向上爬」的意思。所以如果用climb造句,大家一般會給出這樣的句子「The boy climbed the tree」(男孩爬上了樹)。但是climb一詞的語義會向不同方向擴展,可以說「Prices are climbing day by day」(物價每日飆升),這裡climb就沒有了四肢用力移動的意思。也可以說「He climbed out of a sleeping bag」(他從睡袋中爬出),這裡climb就沒有了向上移動的意思。語言的辭彙都具有如下性質:有一個核心的語義,對應一些典型說法,可以由一些特徵表示。但部分特徵可以缺失,形成新的語義,產生新的說法。語言中,除了辭彙的多義性,還有句法的多義性。

同時語言也具有多樣性(variability),也就是說多個表達可以表示同一個意思。比如,「地球和太陽的距離」,「地球離太陽有多遠?」,「太陽和地球相隔有多少公里?」等,都是同義表達。

人們的知識,特別是常識,具有模糊性(fuzziness)。下面是人工智慧研究的先驅者特里·維諾格拉特(Terry Winograd)給出的例子。英文中,bachelor是指未婚成年男性,即單身的意思。看似是一個明確的概念,但是當我們判斷現實中的具體情況時,就會發現我們對這個概念的認識是模糊的,比如,未婚父親是否是bachelor?假結婚的男子是否是bachelor?過著花花公子生活的高中生是否是bachelor?大家並沒有一致的意見。

神經符號處理

近年,深度學習給自然語言處理帶來了巨大變化,使機器翻譯、對話等任務的性能有了大幅度的提升,成為領域的核心技術。但是另一方面,深度學慣用於自然語言處理的局限也顯現出來。面向未來,深度學習(神經處理)與傳統符號處理的結合應該成為一個重要發展方向,神經符號處理(neural symbolic processing)的新範式被越來越多的人所接受,其研究也取得初步進展。

圖 3 基於神經符號處理的智能問答系統

深度學慣用實數向量來表示語言,包括單詞、句子、文章,向量表示又稱為神經表示(neural representation)。神經表示的優點在於其穩健性,可以更好地應對語言的多義性和多樣性,以及語言數據中的噪音。另一方面,傳統的符號表示(symbolic representation)的優點在於其可讀性和可操作性。語言是基於符號的,計算機擅長的是符號處理,用符號表示語言處理的結果是自然的選擇。神經符號處理旨在同時使用神經表示與符號表示來描述語言的語義,發揮兩者的優勢,更好地進行自然語言處理。

基於神經符號處理的智能問答系統也是由語言處理模塊、短期記憶、長期記憶、中央處理模塊組成,如圖3所示。語言處理模塊又由編碼器和解碼器組成。編碼器將自然語言問題轉換為內部的語義表示,存放在短期記憶中,包括符號表示和神經表示。中央處理模塊通過問題的語義表示,從長期記憶中找出相關的信息和知識。長期記憶中的信息和知識也是基於符號表示和神經表示的。找到相關的答案後,解碼器把答案的語義表示轉換為自然語言答案。

最新進展

實現問答系統有三種方法,分別是基於分析的、檢索的、生成的方法。通常是單輪對話,也可以是多輪對話。這裡考慮單輪的基於分析的問答系統。

傳統的技術是語義分析(semantic parsing) [3]。基於人工定義的語法規則,對問句進行句法分析以及語義分析,得到內部語義表示——邏輯表達式。語義分析需要人工定義句法,開發成本較高,可擴展性不好。

近年,基於神經符號處理的問答系統的研究有了很大突破。可以從數據出發,完全端到端地構建問答系統。不需要人工干預,只需要提供足夠量的訓練數據。問答的準確率也有了一定的提升。傳統的語義分析技術被顛覆。下面介紹幾個有代表性的工作。

臉書(Facebook)的韋斯頓(Weston)等人提出了記憶網路(memory networks)框架[4],可以用於如下場景的問答:

John is in the playground.

Bob is in the office.

John picked up the football.

Bob went to the kitchen.

Q: where is the football?

A: playground.

記憶網路由神經網路和長期記憶組成。長期記憶是一個矩陣,矩陣的每一個行向量是一個句子的語義表示。閱讀時,記憶網路可以把給定的句子轉換成內部表示,存儲到長期記憶中。問答時,把問句也轉換成內部表示,與長期記憶中每行的句子語義表示進行匹配,找到答案,並做回答。

谷歌DeepMind的格拉夫(Graves)等發明了可微分神經計算機(differentiable neural computer)模型[5]。該模型由神經網路和外部記憶組成。外部記憶是一個矩陣,可以表示複雜的數據結構。神經網路負責對外部記憶進行讀寫,它有三種類型,擁有不同的注意力機制,表示三種不同的讀寫控制,對應哺乳動物中海馬體的三種功能。神經網路在數據中進行端到端的學習,學習的目標函數是可微分的函數。可微分神經計算機模型被成功應用到了包括智能問答的多個任務中。

谷歌的尼拉康藤(Neelakantan)等開發了神經編程器(neural programmer)模型[6],可以從關係資料庫中尋找答案,自動回答自然語言問題。模型整體是一個循環神經網路。每一步都是基於問句的表示(神經表示)以及前一步的狀態表示(神經表示),還包括計算操作的概率分布和列的概率分布,以及選擇對資料庫表的一個列來執行一個操作(符號表示)。順序執行這些操作,並找到答案。操作表示對資料庫列的邏輯或算數計算,如求和、大小比較。學習時,整體目標函數是可微分的,用梯度下降法訓練循環神經網路的參數。

谷歌的Liang等開發了神經符號機(neural symbolic machines)模型[7]。神經符號機可以從知識圖譜三元組中找到答案,回答像「美國最大的城市是哪個?」這樣的問題。模型是序列對序列(sequence-to-sequence)模型,將問題的單詞序列轉換成命令的序列。命令的序列是LISP語言2的程序,執行程序就可以找到答案。神經符號機的最大特點是序列對序列模型表示和使用程序執行的變數,用附加的鍵-變數記憶(key-variable memory)記錄變數的值,其中鍵是神經表示,變數是符號表示。模型的訓練是基於強化學習(策略梯度法)的端到端的學習。

圖4 包含查詢器的智能問答系統

華為公司的呂正東等開發了神經查詢器(neural enquirer)、符號查詢器(symbolic enquirer)和連接查詢器(coupled enquirer)三個模型[8,9],用於自然語言的關係資料庫查詢。例如,可以從奧林匹克運動會的資料庫中尋找答案,回答「觀眾人數最多的奧運會的舉辦城市的面積有多大?」這樣的問題。問答系統包括語言處理模塊、短期記憶、長期記憶和查詢器,語言處理模塊又包括編碼器和解碼器。圖4即是這種架構的具體實現。查詢器基於短期記憶的問題表示(神經表示)從長期記憶的資料庫中(符號表示與神經表示)尋找答案。符號查詢器是一個循環神經網路,將問句的表示(神經表示)轉換為查詢操作(符號表示)的序列,執行操作序列就可以找到答案。利用強化學習,具體的策略梯度法,可以端到端地學習此循環神經網路。神經查詢器是一組深度神經網路,將問句的表示(神經表示)多次映射到資料庫的一個元素(符號表示),也就是答案,其中一個神經網路表示一次映射的模式。利用深度學習,具體的梯度下降法,可以端到端地學習這些深度神經網路。符號查詢器執行效率高,學習效率不高;神經查詢器學習效率高,執行效率不高。連接查詢器結合了兩者的優點。學習時首先訓練神經查詢器,然後以其結果訓練符號查詢器,問答時只使用符號查詢器。

未來展望

計算機最擅長的是計算和存儲,其強大的計算能力已經在現實中展現出巨大的威力,但是其強大的存儲能力並沒有得到充分的發揮,通常存儲的是數據,而不是信息和知識。計算機還不能自動地對數據進行篩選和提煉,抽取信息和知識,並把它們關聯起來,存儲在長期記憶里,為人類服務。

可以預見,未來會有這樣的智能信息和知識管理系統出現,它能夠自動獲取信息和知識,如對之進行有效的管理,能準確地回答各種問題,成為每一個人的智能助手。人工智慧技術,特別是神經符號處理技術,有望幫助我們實現這樣的夢想。期盼這一天的到來!

致謝

感謝呂正東、蔣欣、尚利峰、牟力立、殷鵬程等,本文中的很多想法是在與他們合作的工作中產生的。

腳註

1互聯網上有文章和視頻介紹克萊夫·韋爾林的生平。

2LISP是List Processing的縮寫,是一種早期開發的、具有重大意義的表處理語言。它適用於符號處理、自動推理、硬體描述和超大規模集成電路設計等。

參考文獻

[1] Frank L. Learning and Memory: How It Works and When It Fails. Stanford Lecture, 2010.

[2] Michio K. Consciousness Can be Quantified. Big Think, Youtube, 2014.

[3] Percy L. Learning Executable Semantic Parsers for Natural Language Understanding [J]. Communications of the ACM, 2016.

[4] Weston J, Chopra S, Bordes A. Memory Networks[C]// Proceedings of the International Conference on Learning Representations (ICLR), 2015.

[5] Graves A, Wayne G, Reynolds M, et al. Hybrid computing using a neural network with dynamic external memory [J]. Nature, 2016, 538(7626):471.

[6] Neelakantan A, Le Q V, Sutskever I. Programmer: Inducing Latent Programs with Gradient Descent[C]// Proceedings of the International Conference on Learning Representations (ICLR), 2016.

[7] Liang C, Berant J, Le Q, et al. Neural Symbolic Machines: Learning Semantic Parsers on Freebase with Weak Supervision[C]// Proceedings of the 55th Annual Meeting of Association for Computational Linguistics (ACL』17), 2017.

[8] Yin P, Lu Z, Li H, Kao B. Neural Enquirer: Learning to Query Tables with Natural Language[C]// Proceedings of the 25th International Joint Conference on Artificial Intelligence (IJCAI』16), 2016:2308-2314.

[9] Mou L, Lu Z, Li H, Jin Z, Coupling Distributed and Symbolic Execution for Natural Language Queries[C]// Proceedings of the 34th International Conference on Machine Learning (ICML』17), 2017:2518-2526.


推薦閱讀:

邏輯回歸(LogisticRegression)推導與實戰
蒙特卡洛樹搜索簡介與實現
DIY發現新行星操作指南 | 谷歌開源了行星發現代碼
未來政治制度是一個「演算法」制度
理解變分自編碼器(VAE)

TAG:人工智慧 | 人工智慧產品 | 人工智慧演算法 |