0
本文作者: 圖普科技 | 2016-09-29 18:39 |
雷鋒網(wǎng)按:9月23日,Google Brain宣布在TensorFlow 上開源了其最新版的自動圖像描述系統(tǒng)“Show and Tell”,采用采用編碼器-解碼器神經(jīng)網(wǎng)絡架構(gòu),可以根據(jù)新的場景生成準確的新圖說。作者系圖普科技工程師,本文將會解析機器如何“看圖說話”?以及,Google為什么要開源其系統(tǒng)?雷鋒網(wǎng)獨家文章。
電影《HER》中的“薩曼莎”是一款基于AI的OS系統(tǒng),基于對西奧多的手機信息和圖像內(nèi)容的理解,“她”可以為他處理日常事物、可以陪他談心、甚至進行Virtural Sex,還可以讀懂所有的書、跟哲學家交流,“她”所做的一切儼然就是一個有血有肉的人類才能實現(xiàn)的。但薩曼莎還勝于人類,她能夠同時和8316個使用者聊天,和641個使用者in love,并且對每個人都是真情實感。
電影的“她”是人類想象中的強AI,“她”有思維,具備比人還強的智力以及運算能力,雖然目前的AI還不能完全做到“她”那樣強,但近年來人工智能技術(shù)的發(fā)展讓機器可以越來越像人類,計算機開始能夠理解更高層次的圖像內(nèi)容,“看圖說話”似乎不再是專屬于人類的專利。
在人工智能領(lǐng)域,這是機器的 Image Captioning(自動圖像描述)能力。
從表現(xiàn)上看,機器不僅需要能夠知道圖像中包括哪些物體,同時還必須描述物體之間的聯(lián)系以及它們的屬性和參與的活動,這顯然是機器一種更加高級的智能形態(tài)。如下圖:
圖1. Automatic image caption 的例子
從原理上看,這依賴于智能的兩個部分:“看”和“語言表達”,分別對應人工智能最重要的兩大子領(lǐng)域: 機器視覺和自然語言處理。
機器視覺和自然語言處理從來都不是相互割裂的,兩者技術(shù)上相互借鑒歷史由來已久,更重要的是,從一個完整的智能系統(tǒng)上看,無論是現(xiàn)在的人類智能還是終極機器的智能,多模態(tài)的融合是一項必然的要求,視覺和語言理解表達缺一不可,兩者相互協(xié)助,共同產(chǎn)生高級智能。
所以圖像自動描述能力作為兩個智能領(lǐng)域的關(guān)鍵性連接,必然是人工智能領(lǐng)域最頂尖的研究者最密切關(guān)注的任務之一。雖然圖像自動描述并不是一個新興的任務,在此領(lǐng)域中已經(jīng)積累了大量的研究工作,但在2015年,此任務才得到了一個顛覆性的突破,機器自動描述圖像的能力在某些案例上的表現(xiàn)會讓人產(chǎn)生一種強人工智能即將要實現(xiàn)的錯覺。
9月23日,Google Brain宣布在TensorFlow 上開源了最新版的自動圖像描述系統(tǒng)“Show and Tell”,成功地將機器這方面的能力提高到一個新臺階。在這之前的版本,更多的是告訴大家圖像里面有什么或者總是重復使用人類在訓練模型時使用的描述語言,對于圖像中的物體之間以及物體和環(huán)境之間的關(guān)聯(lián)、意義并不能給出滿意的描述。
而“Show and Tell”在遇見全新的場景時,能夠基于圖像中物體和環(huán)境之間的交互聯(lián)系,自動生成更加準確的圖像描述,并且使用的自然語言更加流暢,與人類的表述差異無幾。
那么Google是如何做到這樣效果?要弄清其中的原理,我們需要先了解下在如今的深度學習時代,引領(lǐng)機器視覺和自然語言處理兩個領(lǐng)域取得突破的最重要的兩個技術(shù),分別是:DCNN(Deep Convolutional Neural Network,深度卷積網(wǎng)絡)與LSTM(Long Short Term Memory,長短時記憶網(wǎng)絡)。
在自然語言處理領(lǐng)域,許多高難度的任務都可以歸結(jié)進序列到序列(sequence to sequence)的框架中。
比如說,機器翻譯任務表面上是將一種語言轉(zhuǎn)換為另一種語言,本質(zhì)上就是從一段不定長的序列轉(zhuǎn)換為另一段不定長的序列。如今實現(xiàn)seq2seq最有效的方法即為LSTM,一種帶門的RNN(Recurrent Neural Network,遞歸神經(jīng)網(wǎng)絡),它可以將源語言編碼為一個固定長度含豐富語義的向量,然后作為解碼網(wǎng)絡的隱藏狀態(tài)去生成目標語言。而Image Caption Generator(自動圖像生成器)方法正是受到機器翻譯中seq2seq進展的啟發(fā):何不將源語言信號替換成圖像信號,這樣就能夠?qū)C器翻譯的任務轉(zhuǎn)換也就是把圖像轉(zhuǎn)成自然語言,即圖像自然語言描述。
可是簡單地將圖像信號直接作為輸入是無法達到很好的效果,原因是原始的圖像信號并不是一個緊致的表示,含有太多的噪聲。所以需要引入DL(Deep Learning,深度學習)在機器視覺中最核心的部件:CNN(Convolutional Neural Network,卷積網(wǎng)絡)。
在DCNN的高層神經(jīng)元輸出可以表示圖像的緊致的高層語義信息,如今眾多成功的機器視覺應用都得益于此,比如前段時間爆紅的Prisma(《AI修圖藝術(shù):Prisma背后的奇妙算法》),其texture transfer(風格轉(zhuǎn)換)算法正是巧妙的利用了含有高層語義的圖像表示。
所以此圖像文字描述方法的基本思想就是利用了DCNN生成圖像的高層抽象語義向量,將其作為語言生成模型LSTM的輸入進行sequence to sequence的轉(zhuǎn)換,其結(jié)構(gòu)圖如下:
圖2. 系統(tǒng)結(jié)構(gòu)
此方法的巧妙之處在于將視覺和自然語言處理領(lǐng)域中最先進的兩類網(wǎng)絡連著在一起,各自負責其擅長的部分,同時進行端到端的訓練學習。
Image Caption的神經(jīng)網(wǎng)絡學習可以用數(shù)學公式概括為:
其中I為圖片,S為生成的句子,θ為網(wǎng)絡需要學習的參數(shù),這個公式的含義指的是:學習最佳的網(wǎng)絡參數(shù)θ最大化在給定圖片下其生成正確描述的概率。同時由于語言句子的長度是不定長的,所以一般將其概率用鏈式法則寫成:
其中N為句子的長度,S_i為句子的每一個詞。更具體的網(wǎng)絡形式為下圖:
圖2. 語言模型LSTM,圖像模型CNN和詞嵌入模型
上圖將LSTM的recurrent connection(復現(xiàn)連接)以更加直觀的展開形式畫出來,在網(wǎng)絡訓練過程中,目標可以寫為以下的損失函數(shù):
其目標是更新LSTM、CNN和詞嵌入模型的參數(shù),使得每一個正確的詞出現(xiàn)的概率最大,也就是讓此loss函數(shù)越小。除了LSTM、CNN模型的選擇和詞嵌入模型都會極大影響最后的效果,此方法最早發(fā)明時,最好的DCNN是2014年ImageNet競賽的冠軍網(wǎng)絡GoogLeNet。而后,隨著更強的CNN網(wǎng)絡Inception V1到V3系列的出現(xiàn),作者發(fā)現(xiàn)在此框架的Image Caption的效果也隨之變得更好。這也是必然的,因為更強的CNN網(wǎng)絡意味著輸出的向量表示可以做到更好的圖像高層語義表示。
作者在其開源的Tensorflow項目中號召大家去嘗試現(xiàn)在最強的CNN分類網(wǎng)絡Inception-Resnet-V2,看看是否會有效果的繼續(xù)提升。對于詞嵌入模型,最簡單的方式是 one-hot-encoding的方法(向量中代表詞的維度為1,其余為0),而此方法使用了一個更復雜的詞嵌入模型,使得詞嵌入模型也可以隨著其他兩個網(wǎng)絡一起訓練,訓練出來的詞嵌入模型表示被發(fā)現(xiàn)可以獲取到自然語言的一些統(tǒng)計特性,比如以下的詞在學習到的空間中是非常相近的,這符合自然語言中這些詞的距離。
圖4. 一些詞在嵌入空間中的相近詞
在最早的版本中,CNN模型使用的是在ImageNet數(shù)據(jù)庫上預訓練好的分類模型,在Image caption訓練過程中其參數(shù)是不做更新的。而在最新的方法中,作者稱在訓練過程中更新CNN最高層的權(quán)重可以產(chǎn)生更好的效果,不過這些參數(shù)的更新需要在LSTM更新穩(wěn)定后才能進行,不然LSTM的噪聲會對CNN模型造成不可逆的影響。
視覺模型和語言生成模型進行端到端的聯(lián)合訓練有利于相互提升效果。例如在CNN模型中,可以將圖像中更有利于“描述”而不是用于“分類”的信息遷移給語言模型,由于ImageNet的訓練數(shù)據(jù)的類別空間中比較缺少顏色信息,所以在不使用聯(lián)合訓練的CNN模型的2015 CVPR版本中,并不會生成類似于“一輛藍色和黃色的火車”這樣的描述。當進行聯(lián)合訓練后,caption模型可以生成更精確、更細節(jié)化的句子,如下圖所示:
圖5. 初始模型和最新模型生成句子的對比
這讓人會不禁產(chǎn)生一個疑問:現(xiàn)在的模型是否真的學會對圖片中未曾見過的情境和交互生成全新的描述,還是只是簡單的復述訓練數(shù)據(jù)中的句子?這個問題關(guān)乎到算法是否真正理解了物體及其交互這個核心問題。
科學家們給出了一個令人振奮的答案: Yes。
如今的圖像語言描述系統(tǒng)確實已經(jīng)發(fā)展出自主產(chǎn)生全新的句子能力,例如下圖粗體的描述為不在數(shù)據(jù)庫中的標注句子:
圖6. 生成的語言描述 (粗體的句子為不在訓練數(shù)據(jù)中的全新句子)
其生成全新描述過程可以用下圖進行很好的闡述:
圖7. 模型從訓練數(shù)據(jù)提供的概念中生成全新的描述
此領(lǐng)域的突破同時也得益于如今標注數(shù)據(jù)的增長,作者們通過實驗證明:越多的圖像描述樣本,越是可以極大地增強如今已經(jīng)效果不錯的圖像描述算法。
圖像描述數(shù)據(jù)庫對比于如今最大的標注數(shù)據(jù)庫ImageNet還差幾個數(shù)量級,所以我們有理由期待,一旦具備更多的標注數(shù)據(jù),圖像描述算法在如今的基礎(chǔ)上還可以得到大幅度的提升。
這也是Goolge的研究者開源其系統(tǒng)的原因,其希望讓更多人參與到此領(lǐng)域的研究中。
視覺信息約占人類從外界獲取信息的?,所以機器視覺的重要性自然不言而喻;語言作為人之所以為人的標志,因而自然語言處理被稱為人工智能皇冠上最亮的明珠。Image caption作為一個連接此兩個領(lǐng)域的問題,其突破性的進展更深層次的意義在于表明人工智能的全面進步。
俗話說「一圖勝千言」,長久以來計算機視覺領(lǐng)域比較關(guān)注一些基本的視覺任務,如分類,檢測,分割等。近期在image caption領(lǐng)域的突破使得計算機可以用自然語言去描述圖片,實現(xiàn)真正的“千言說圖”。也許我們真的在進入一個嶄新的智能時代,而當強人工智能真正出現(xiàn)之時,一切都將不可逆地去往技術(shù)奇點。
圖8. 取于《HER》影片末尾。
我想,如果有一天,“她”真的到來,看到此情此景。
“她”大概會說:天臺上一位穿著紅衣的女生依偎著白衣男生,眼前是鱗次櫛比的上海夜景,他們好像都有點心事重重。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。