1. 程式人生 > >李飛飛最新演講全文:機器已能“看懂”影象和視訊,但我們仍站在人工智慧研究的起點

李飛飛最新演講全文:機器已能“看懂”影象和視訊,但我們仍站在人工智慧研究的起點

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

來源: 科研圈

摘要:AI 不僅僅能夠精準辨認物體,還能夠理解圖片內容、甚至能根據一張圖片寫一小段文章,還能“看懂”視訊......

所以無論我們在討論動物智慧還是機器智慧,視覺是非常重要的基石。世界上所存在的這些系統當中,我們目前瞭解最深入的是人類的視覺系統。從 5 億多年前寒武紀大爆發開始,我們的視覺系統就不斷地進化發展,這一重要的過程得以讓我們理解這個世界。而且視覺系統是我們大腦當中最為複雜的系統,大腦中負責視覺加工的皮層佔所有皮層的 50%,這告訴我們,人類的視覺系統非常了不起。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

寒武紀物種大爆發

一位認知心理學家做過一個非常著名的實驗,這個實驗能告訴大家,人類的視覺體系有多麼了不起。大家看一下這個視訊,你的任務是如果看到一個人的話就舉手。每張圖呈現的時間是非常短的,也就是 1/10 秒。不僅這樣,如果讓大家去尋找一個人,你並不知道對方是什麼樣的人,或者 TA 站在哪裡,用什麼樣的姿勢,穿什麼樣的衣服,然而你仍然能快速準確地識別出這個人。

1996 年的時候,法國著名的心理學家、神經科學家 Simon J. Thorpe 的論文證明出視覺認知能力是人類大腦當中最為了不起的能力,因為它的速度非常快,大概是 150 毫秒。在 150 毫秒之內,我們的大腦能夠把非常複雜的含動物和不含動物的影象區別出來。那個時候計算機與人類存在天壤之別,這激勵著電腦科學家,他們希望解決的最為基本的問題就是影象識別問題。

在 ImageNet 之外,在單純的物體識別之外,我們還能做些什麼? 

過了 20 年到現在,計算機領域內的專家們也針對物體識別發明了幾代技術,這個就是眾所周知的 ImageNet。我們在影象識別領域內取得了非常大的進步:8 年的時間裡,在 ImageNet 挑戰賽中,計算機對影象分類的錯誤率降低了 10 倍。同時,這 8 年當中一項巨大的革命也出現了: 2012 年,卷積神經網路(convolutionary neural network)和 GPU(圖形處理器,Graphic Processing Unit)技術的出現,對於計算機視覺和人工智慧研究來說是個非常令人激動的進步。作為科學家,我也在思考,在 ImageNet 之外,在單純的物體識別之外,我們還能做些什麼?

640?wx_fmt=png

8年的時間裡,在ImageNet挑戰賽中,計算機對影象分類的錯誤率降低了10倍。 

通過一個例子告訴大家:兩張圖片,都包含一個動物和一個人,如果只是單純的觀察這兩張圖中出現的事物,這兩張圖是非常相似的,但是他們呈現出來的故事卻是完全不同的。當然你肯定不想出現在右邊這張圖的場景當中。

640?wx_fmt=png

這裡體現出了一個非常重要的問題,也就是人類能夠做到的、最為重要、最為基礎的影象識別功能——理解影象中物體之間的關係。為了模擬人類,在計算機的影象識別任務中,輸入的是影象,計算機所輸出的資訊包括影象中的物體、它們所處的位置以及物體之間的關係。目前我們有一些前期工作,但是絕大多數由計算機所判斷的物體之間的關係都是十分有限的。

最近我們開始了一項新的研究,我們使用深度學習演算法和視覺語言模型,讓計算機去了解影象中不同物體之間的關係。

計算機能夠告訴我們不同物體之間的空間關係,能在物體之間進行比較,觀察它們是否對稱,然後瞭解他們之間的動作,以及他們之間的介詞方位關係。所以這是一個更為豐富的方法,去了解我們的視覺世界,而不僅僅是簡單識別一堆物體的名稱。

640?wx_fmt=png

Visual Relationship Detection with Language Priors. ECCV. 2016

更有趣的是,我們甚至可以讓計算機實現 Zero short(0 樣本學習)物件關係識別。舉個例子,用一張某人坐在椅子上、消防栓在旁邊的圖片訓練演算法。然後再拿出另一張圖片,一個人坐在消防栓上。雖然演算法沒見過這張圖片,但能夠表達出這是“一個人坐在消防栓上”。類似的,演算法能識別出“一匹馬戴著帽子”,雖然訓練集裡只有“人騎馬”以及“人戴著帽子”的圖片。

讓 AI 讀懂影象

在物體識別問題已經很大程度上解決以後,我們的下一個目標是走出物體本身,關注更為廣泛的物件之間的關係、語言等等。

ImageNet 為我們帶來了很多,但是它從影象中識別出的資訊是非常有限的。COCO 軟體則能夠識別一個場景中的多個物體,並且能夠生成一個描述場景的短句子。但是視覺資訊資料遠不止這些。經過三年的研究,我們發現了一個可以有更為豐富的方法來描述這些內容,通過不同的標籤,描述這些物體,包括他們的性質、屬性以及關係,然後通過這樣的一個圖譜建立起他們之間的聯絡,我們稱之為 Visual Genome dataset(視覺基因組資料集)。這個資料集中包含 10 多萬張圖片,100 多萬種屬性和關係標籤,還有幾百萬個描述和問答資訊。在我們這樣一個數據集中,能夠非常精確地讓我們超越物體識別,來進行更加精確的對於物體間關係識別的研究。

640?wx_fmt=png

那麼我們到底要怎麼使用這個工具呢?場景識別就是一個例子:它單獨來看是一項簡單的任務,比如在谷歌裡搜尋“穿西裝的男人”或者“可愛的小狗”,都能直接得到理想的結果。但是當你搜索“穿西裝的男人抱著可愛的小狗”的時候,它的表現就變得糟糕了,這種物體間的關係是一件很難處理的事情。

絕大多數搜尋引擎的這種演算法,在搜尋影象的時候,可能很多還是僅僅使用物體本身的資訊,演算法只是簡單地瞭解這個圖有什麼物體,但是這是不夠的。比如搜尋一個坐在椅子上的男性的圖片,如果我們能把物體之外、場景之內的關係全都包含進來,然後再想辦法提取精確的關係,這個結果就會更好一些。

2015 年的時候,我們開始去探索這種新的呈現方法,我們可以去輸入非常長的描述性的段落,放進 ImageNet 資料集中,然後反過來把它和我們的場景圖進行對比,我們通過這種演算法能夠幫助我們進行很好的搜尋,這就遠遠地超過了我們在之前的這個影象搜尋技術當中所看到的結果。

640?wx_fmt=png

Google圖片的準確率已經得到了顯著提升

這看起來非常棒,但是大家會有一個問題,在哪裡能夠找到這些場景影象呢?構建起一個場景圖是一件非常複雜並且很困難的事情。目前 Visual Genome 資料集中的場景圖都是人工定義的,裡面的實體、結構、實體間的關係和到影象的匹配都是我們人工完成的,過程挺痛苦的,我們也不希望以後還要對每一個場景都做這樣的工作。

所以我們下一步的工作,就是希望能夠出現自動地產生場景圖的一個技術。所以我們在今年夏天發表的一篇 CVPR 文章中做了這樣一個自動生成場景圖的方案:對於一張輸入影象,我們首先得到物體識別的備選結果,然後用圖推理演算法得到實體和實體之間的關係等等;這個過程都是自動完成的。

640?wx_fmt=png

Scene Graph Generation by Iterative Message Passing. CVPR. 2017

人工智慧可以像人類一樣看懂視訊?

Visual Genome 資料集能讓計算機更好地瞭解場景資訊,但是還是不夠的。而且實際上到現在為止,我們僅僅探索了認知心理學家所討論的一個概念——現場感知(scene gist perception):只需要輕輕一瞥,就能把握主整個場景中的物體和它們之間的關係。那麼在此之外呢?

我想回過頭去看看十年前我在加州理工學院讀博士的時候做的一個心理學實驗,我用 10 美元/小時的費用招募人類被試,通過顯示器給他們快速呈現出一系列照片,每張照片閃現之後用一個類似牆紙一樣的影象蓋住它,目的是把他們視網膜暫留的資訊清除掉。然後讓他們儘可能多地寫下自己看到的東西。有些照片只顯示了 1/40 秒(27毫秒),有些照片則顯示了 0.5 秒的時間,我們的被試能夠在這麼短的時間裡理解場景資訊。如果我給的實驗費用更高的話,大家甚至能做的更好。進化給了我們這樣的能力,只看到一張圖片就可以講出一個很長的故事。

2015 年開始,我們使用卷積神經網路和遞迴神經網路演算法比如 LSTM 來建立影象和語言之間的關係。從此之後我們就可以讓計算機給幾乎任何東西配上一個句子。比如這兩個例子,“一位穿著橙色馬甲的工人正在鋪路”和“穿著黑色T恤的男人正在彈吉他”。

不過影象所包含的資訊很豐富,一個簡短的句子不足以涵蓋所有,所以我們下一步的工作就是稠密捕獲(dense capture)。讓計算機將一張圖片分為幾個部分,然後分別對各個部分進行描述,而不是僅僅用一個句子描述整個場景。

640?wx_fmt=png

Deep Visual-Semantic Alignments for Generating Image Descriptions. CVPR. 2015

除了此之外,我們今年所做的工作邁上了一個新的臺階,計算機面對影象不只是簡單的說明句子,還要生成文欄位落,把它們以具有空間意義的方式連線起來。這與認知心理學家所做的實驗當中人類的描述結果是非常接近的。

640?wx_fmt=png

COCO 軟體能夠根據圖片寫出幾個句子(粉色部分),而新演算法能夠生成一個段落(藍色部分)。A Hierarchical Approach for Generating Descriptive Image Paragraphs. CVPR. 2017

但是我們並沒有停止在這裡,我們開始讓計算機識別視訊。這是一個嶄新且豐富的計算機視覺研究領域。網際網路上有很多視訊,有各種各樣的資料形式,瞭解這些視訊是非常重要的。我們可以用跟上面相似的稠密捕獲模型去描述更長的故事片段。把時間的元素加入進去,計算機就能夠識別一段視訊並對它進行描述。

視覺認知和邏輯推理的結合

最後,我想談談在簡單認知以外,我們如何讓人工智慧達到任務驅動的水平。從一開始人類就希望用語言給機器人下達指定,然後機器人用視覺方法觀察世界、理解並完成任務。

在 20 世紀七八十年代的時候,人工智慧的先驅們就已經在研究如何讓計算機根據他們的指令完成任務了。比如下面這個例子,人類說:“藍色的角錐體很好。我喜歡不是紅色的立方體,但是我也不喜歡任何一個墊著角錐體的東西。那我喜歡那個灰色的盒子嗎?” 那麼機器或者人工智慧就會回答:“不,因為它墊著一個角錐體”。它能夠對這個複雜的世界做理解和推理。

640?wx_fmt=png

最近,我們和 Facebook 合作重新研究這類問題,創造了帶有各種幾何體的場景,我們命名為 Clever dataset。這個資料集包含成對的問題和答案,這其中會涉及到屬性的辨別、計數、對比、空間關係等等。我們會給人工智慧提問,看它會如何理解、推理、解決這些問題。

我們將人工智慧和人類對這類推理問題的回答做了個比較:人類能達到超過 90% 的正確率,機器雖然能做到接近 70% 了,但是仍然有巨大的差距。有這個差距就是因為人類能夠組合推理,機器則做不到。

640?wx_fmt=png

因此我們開始尋找一種能夠讓人工智慧表現得更好的方法:我們把一個問題分解成帶有功能的程式段,然後在程式段基礎上訓練一個能回答問題的執行引擎。這個方案在嘗試推理真實世界問題的時候就具有高得多的組合能力。這項工作我們剛剛發表於 ICCV。

比如我們提問“紫色的東西是什麼形狀的?”,它就會回答“是一個立方體”,並且能夠準確定位這個紫色立方體的位置。這表明了它的推理是正確的。它還可以數出東西的數目。這都體現出了演算法可以對場景做推理。

640?wx_fmt=png

總的來看,我給大家分享的是一系列超越 ImageNet 的工作:

首先,計算機視覺能夠做到除物體識別之外的關係識別、複雜語義表徵和場景圖景的構建;

這之後,我們使用視覺+語言處理單句標註、段落生成、視訊理解、聯合推理;

最後是任務驅動的視覺問題,這裡還是一個剛剛起步的領域,我相信視覺和邏輯的組合會在這個領域真正攜起手來。

人類視覺已經發展了很久,計算機的視覺識別雖然在出現後的 60 年裡有了長足的進步,但也仍然只是一門新興學科。

這是一張我女兒二十個月大時候的照片,視覺能力是她的日常生活裡重要的一部分,她讀書、畫畫、觀察情感,和這個世界建立各種聯絡等等,而這些毫無疑問對於她的成長非常關鍵。視覺認知,或者說視覺智慧,對於我們人類的理解、交流、協作、互動等等都是非常非常關鍵的,而我們才剛剛起步,去探索這個新的世界。

640?wx_fmt=png