1. 程式人生 > >現場丨2017中國計算機大會(CNCC2017)之沈向洋演講:自然語言中的描述、對話和隱喻

現場丨2017中國計算機大會(CNCC2017)之沈向洋演講:自然語言中的描述、對話和隱喻

0?wx_fmt=gif&wxfrom=5&wx_lazy=1

640?wx_fmt=png&wxfrom=5&wx_lazy=1
最近我一直講的一句話就是“得語言者,得天下”,只有我們切身明白自然語言是怎麼回事才能夠真正把人工智慧講清楚。

在這裡,我側重三方面內容,主要講講如何一步步深入研究自然語言:

640?wx_fmt=png&wxfrom=5&wx_lazy=1
第一步,表述方面:通俗來說,就是如何利用自然語言技術表述一個事件。如今關於表述的研究,已經發展得非常好了。

第二步 對話及智慧:相對而言,這個比較難一點。對話即智慧,這是目前來說非常強調的一點。

第三步 機器意境:相比以上兩點,這點比較懸疑,就是說整個機器意識,到底應該如何理解?意境到底是怎麼回事?延伸來說,為什麼有些人講的東西你覺得比較有深度?

剛剛提到的三點實際是可以理解為三個層次,正如小學、初中、高中所訓練的作文寫作一樣。

第一層次:小學老師說,你要把一件事情清楚寫出來,這就是記敘文。

第二層次:可以總結為正論文。也就是對話層面,簡單來說就是要把一個問題講清楚,論點、論據、論證缺一不可。其實我們大多數的科研論文都是處在這樣一個level。

第三層次:當你的文章開始寫得有點水平時,老師說可以寫詩歌、寫散文,寫一些表達自己心境、情懷的文章,運用到我們研究的自然語言理解中,也就是機器意境這個層次。

下面,我會通過具體的案例來詳細解析這三個層次的研究。

首先,講一講如何用機器學習來做自然語言表述。這裡我用一個比較特別的例子——降低視覺和自然語言結合,同大家解釋一下。

想表述清楚這個問題,就要提一下我們一直以來推出的微軟認知服務(Microsoft Cognitive Services),其中有一個很特別的東西,名為Traction ball。就是說,上傳一張照片後,它可以直觀告訴你,這張照片中到底有什麼以及如何描述這張照片。

此後,基於這個技術,我們做了一個應用軟體——Saying AI,它可以為盲人服務。

0?wx_fmt=png

回到照片描述的這個問題上,也就是我剛才提到的Traction ball。這個特殊的技術,最基本的原理就是計算機視覺的API,稱為Image Capture。

例如,配上一張照片,一個人游泳的照片,在這張照片中我們能夠得到什麼樣的表述呢?能不能檢測到說照片中的人數,人的動作、表情等很多資訊?賣個關子,如果大家有興趣的話,可以到微軟的網頁上瀏覽,會有很多技術涉及到這方面。當然我們除了Traction ball之外,還有很多其他的類似的視覺服務,這只是一個很好的具有代表性的例子。

值得一提的是,我們在做Traction的服務時,專門做了一個標準資料集,叫做Microsoft COCO。在COCO的研發中,我們也一直與其他的系統做過可行性的比較。實踐表明,過去一年的時間內,我們做Traction是比較出色的,但從資料的角度出發,如今微軟研究院做的系統大概是26.8%的準確率,人類目標希望達到63.8%,我們確實還有很長的一段路要走。

0?wx_fmt=png

如果深入瞭解的話,Traction的服務除了標準資料集之外,還會涉及影象描述。影象描述主要想解決什麼問題?實際上可以定義為計算機視覺和計算機語言交匯的地方。首先要具備一個語意空間,隨後就可以將整個影象的空間和特色投影到文字表述,通過字、句、段來呈現。

0?wx_fmt=png

例如,這是一個網球場,一個人拿著球牌,在機器表述中還有沒有表現出來的要素,這些都是我們技術提升的方向。所以語意空間是連線影象和文字的有效工具,於是我們做了一個深度結構語意的模型DSCM,在這方面又有了巨大的空間提升。

談一談有關表述的產品釋出出去後還會有什麼問題呢?

所謂Diploma dreamer research,最重要的一點就是你釋出出去之後,使用者會在兩方面進行輔助,提供更多的使用者資料以及提供建議,幫助你意識到這個系統的問題在哪裡。早期,更多是使用者覺得系統或者是產品如何;現在更多是我們自己講,我們覺得系統怎樣,如果做一個correlation,就會對比清楚明瞭。

問題一:有一些做的真好,我們說好,使用者也說好,這些通常是一些很自然的場景,叫做In natural photo,一些common objects,例如城市的一些雕塑等。

問題二:我們覺得做的不太好,但使用者覺得做的好,有一些很自然的場景,就是加上這種型別的照片,一定程度上可是我們的confidence比較低,但使用者覺得挺好。相反,有時候我們覺得還行,但是使用者覺得不行。

問題三:我們也覺得不行,使用者也覺得不行。例如一開始做raiseman分析的時候,一些照片從影象特徵分析開始就有問題。

做完這個對比分析後,我們得出了什麼重要結論呢?在做大資料的時候,在做這樣AI的問題中,大家一定要明白,要分析資料,就是You know want you know、You know want you don’t know、You don’t know want you know and You don’t know want you don’t know,所以你要做這樣一個分析。

如今,相關產品不斷迭代,技術不斷更新,模型架構不斷趨於精準,那麼基於這類技術,落地應用情況又如何?

例如,在我們的辦公室軟體中,使用者數量非常大。例如Power point,今天如果你做PPT的話需要上傳一張照片,我就可以告訴你,這張照片大致上可以說用怎樣的Image Capture。如果覺得不是很perfect的話,可以建議其中用一些什麼樣的object,也可以考慮要不要這樣去用。此外還有之前提及的SAYING AI,它是專門為是為有挑戰的人士(盲人)準備的。

一直以來,我們不斷思考人工智慧最後的目的是什麼?人工智慧的目的是打敗人類還是幫助人類?對於微軟來說,我們覺得人工智慧的目的是幫助有需要的人類。在此基礎上,我來講講對話與智慧。

0?wx_fmt=png
對話就是智慧,智慧在於對話,你問我,這樣表述到底是什麼意思?其實回答這個問題之前,應該瞭解兩件事:機器閱讀理解其實是從從回答問題到提出問題;問答對話生成是從一問一答到提出問題。

0?wx_fmt=png

目前深度學習確實在語言智慧方面幫助很大,我們現在可以用很多深度學習的方法去完成對語言的深度理解,不僅能夠回答問題,還能夠提出問題。那麼問題來了,怎麼去提出問題?讀一段書,你要從文本里面找到關鍵點,然後要圍繞這些關鍵點的話,這就可以生成問題。

最近我在加拿大買了一家做的很不錯的AI公司,叫做Mover。主要是在做reading、capture,他們最近發表了一篇論文就解釋瞭如何找到問題並提出。

0?wx_fmt=png

當然不能光提問題,提問題的意義就是現在還知道答案,答案是three,這是我們現在很努力在做的事情。AI提了一個很有趣 的問題,就是說“How many breakers?或者record?

0?wx_fmt=png

不僅僅是回答問題以及詢問問題,更重要的事情是要具備一個連續對話的系統。現在我們用微軟聊天完成小冰的架構,主要就是要做一個對話深層模型,其中包括一個記憶機制。做之前要知道談話的內容、觀點以及主題,做這樣一件事情之前,首先要有一個record,接下來要有一個attention,attention這樣一個model。

0?wx_fmt=png

談到現在的關注點,整個過程中,要對對話整體的情緒和情感做一個建模,對使用者的畫像,也就是使用者要有足夠的理解。在這上面,綜合使用者的上下文和AI的上下文,再加上整個使用者當前的輸入,你就可以預測接下來應該講什麼。但問題還遠沒有那麼簡單,當你有這樣一個連續對話,長程對話的時候,應該想到必須要有一個引導機制,不然整個聊天會沒有方向。

所以,應該有這樣一個focus,要加上一個話題引導機制,同時還要有相關的興趣話題在裡面。所以滿足這兩個非常重要的方面,就是對話即智慧。

相對來講,我們提出的問題,並不是那種可以給出很多答案的問題。當我們在機器的描述到機器的對話,到底智慧體現在哪裡呢?僅僅是能夠規劃,那還不算是真正的智慧,真正的智慧最應該體現在這個對話中。

以圖片舉例,圖片能夠被詮釋成Capture,但這些Capture到現在為止僅僅是一個客觀描述;也許更加有突破性的事兒,就是一張照片出現之後,不僅僅具備客觀描述,更重要的是對它有一個主觀評價。甚至說,一張圖表示一個意境,可以從這張圖片出發做詩,意境到底體現在哪裡?什麼是天馬行空的意境?為什麼古人講只可意會,不可言傳,怎麼體現出來的? 
0?wx_fmt=png

由此展開對機器意境的一個詳細的解釋。我覺得我們可以建一個模型,可以講的很清楚AI到底要解決什麼樣的問題。到現在為止,通過自然輸入,語音也好、語言也好、手寫也好、鍵盤也好,機器把這些自然輸入做成機器的representation,在做這樣一個深度學習,就出現了一些機器意境的結果。

今天絕大多數人工智慧的科研都停留在這一步,機器的結果出現後就結束了,真正有意義的實際上是要繼續下一步,也就是反向推理。要把機器的結果,通過反向推理,讓人可以理解,讓人能夠感覺講的到底是什麼。

下面,我來講講我們是如何將以上三個層次的技術與理解應用到小冰上。比如說詩歌這件事情,每個人寫,每個人讀,意境不同,理解可能都很不一樣,為什麼?

0?wx_fmt=png

讓我們看看小冰的圖片評論,例如今天大家用小冰聊天機器人。如果描述的話,一隻腫了的腳,這就很了不起,但評論說傷的這麼重,疼不疼?這太神奇了,怎麼能夠知道呢?

圖中有兩隻貓,這也很了不起,很多人都可以做到。但評論說,小眼神太犀利了,真了不起。

第三個,表述比薩斜塔,這能做出來也很了不起,誰知道這是不是比薩,評論說你要不要我幫你扶著?我們需要的就是這個結果。所以一定要在補充最後一步,才可以讓人更好的理解機器。

最近微軟做了一個非常激動人心的工作,小冰寫詩。上線了大概幾個月,在微信上,全國的網民(小冰的fans)一共發表了22萬首詩,這是個什麼概念呢?就是中華人民共和國到現在真正發表的詩歌可能還沒有這個數字。

通常大家都覺得,自己的詩寫的不夠好,還沒到到真正刊登的程度,只在自己的微信朋友圈釋出就可以了。

0?wx_fmt=png

小冰是如何作詩的?

首先,通過tool把整個照片的意思搞清楚,這是街道、城市、紅綠燈,很繁忙。第一步是先要生成單首詩、一句詩,做法是一個前向的RNN,再加上反向RNN的模型。我們現在正在寫這篇論文,應該很快可以發表,到時候大家可以再批評。

一句詩出來後,再加一個基於遞迴神經網路的一個laid generation approach,例如從這張照片出發,我們可以產生一首詩,大意是城市在他身後緩緩的流動,我的生活忙碌,我們在沒人知道的地方寂靜,嘴邊掛著虛假的笑容。你問我這個人到底講什麼?我說我也不知道這個人到底講了什麼。

我自己覺得,AI最了不起的,就是做人腦的延伸,對於人腦的理解,最重要是有兩個方向,一個叫做IQ,一個叫做EQ。小冰寫詩就是這個意思。

任何一個科技時代,我們都會去想改變我們的事。當年的PC時代,是作業系統和應用軟體;後來的網際網路時代,是瀏覽器加上搜索引擎;後來的移動時代,APP為王;現在AI時代就說到了對IQ、EQ的理解。

0?wx_fmt=png

我們非常高興小冰這個產品已經登陸中國、日本、美國、印度、印尼五個國家,目前有上億使用者。我自己非常自豪這個產品從北京做起,走向世界,我覺得其中最重要的一方面就是在人工智慧的發展過程中對自然語言的理解。

0?wx_fmt=png

最後,我還是要強調,接下來的研究方向就是自然語言,就像非常了不起的一首詩所言,“得語言得天下,不要人誇顏色好,只留清晰滿乾坤”。

0?wx_fmt=jpeg