天天看點

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

雷鋒網按:本文為aml實驗室負責人joaquin

candela在@scale大會上發表了的關于如何将ai技術應用于facebook各個領域的下半部分演講内容。此篇中,joaquin

candela和大家講解了ai技術在視訊了解平台、文本了解、語音識别、視訊風格變換多個領域的應用,并配以實際案例幫助大家了解。上篇内容及演講視訊請看雷鋒網報道《facebook

aml實驗室負責人:将ai技術落地的n種方法(上)》。以下為雷鋒網編譯。

圖像視訊了解:lumos平台

lumos的故事很有意思,它最初誕生于fair實驗室,最初隻是一個實驗性的項目,當時有人提出,我們要不建一個可以了解所有facebook上面圖檔的系統?這個項目開始的時候,看起來似乎不可能完成。後來這個項目的成員轉來了aml,成了如今cv團隊裡的種子成員,接着我們跟fair實驗室一起合作開發了新的lumos平台。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

在應用方面,lumos如今每天都要對facebook上的每張圖檔進行分析,處理的數量高達數十億。要處理很多任務,比如:

為盲人描述圖檔 重制重要回憶 提供更好地圖檔和視訊搜尋結果 保護人們不受有害内容的侵擾

一件很酷的事情就是,我們有一個共享的訓練庫,lumos上已經有超過一億訓練樣本,并且這一資料還在增長。

去年,我們更新了lumos的核心模型,不出意料,是的,更新成為了一個deep residual network(deep resnet)。當我們啟動新模型時,那感覺就像是,潮水升起,帶着船隻也升高。也就是說,facebook公司内所有依賴lumos的模型,一下子準确度都提高了。但是,有一個問題,從無到有訓練這些模型,然後轉移到新的架構裡,是需要重新訓練的,而這會花費很長時間。還有就是,有很多的任務需要這樣的模型,如果我們用專用的resnet為每一個應用工作,當你整個公司有數百個應用的時候,你很快就會無法忍耐計算量和資料集的局限。

現在這兩個問題,我們都一次解決了。我們解決問題的方式,比較像是一個多層蛋糕。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

現在,你有一個大型主模型(master model),這個模型是用你所有的資料來訓練的,并且解決了數千個不同的預測任務。這個模型定期更新,随着你處理越來越多的任務,那麼之後,當你處理一個新任務時,并不需要從頭開始做。resnet已經學習的特征是非常有用的,是以你的出發點可以換到更高一層,而不是從原始的像素開始。

但是,這當中有一個需要尋找“平衡點”(trade

off)的過程,如果你在靠近輸出層(output

layer)的地方開始,那麼就不需要重複訓練每一層的模型,這樣的結果是,你很快就可以得到的一個新任務模型,但是就會犧牲一些準确性。相反的,如果你不采用這種方法,而是在靠近輸入層(input

layer)的地方開始,輸入層特征更加通用,但是你要接下來訓練很多層模型,這會花費你很多的精力。

是以要知道最好的“平衡點”是什麼。是以,我來跟大家展示,一個新的任務團隊來使用lumos的時候,會是一個怎樣的體驗,記住,“易用性”是裡面最關鍵的地方。

比如,我們要建立一個全新的模型,來分辨出“人騎馬”的圖檔。那麼最一開始,我們需要什麼呢,當然是訓練資料。然後用一些關鍵詞,比如“人”、“馬”等,從facebook和instagram的公開照片裡,檢索出關鍵詞的圖檔。

當我們得到這些圖檔時,一個很酷的事情就是lumos平台會做一些類别排序,你能夠快速檢索到特定類别的圖檔,你可以為你所有的資料打上符合或不符合的标簽,制作成訓練集。然後你可以做一個我們稱為“現場預覽”(live

preview),來看看它的運作狀況如何,糾正一些錯誤。你所訓練過的模型,facebook的其他工程師在fblearner

flow也可以重複利用。随着其他人對它的訓練越來越多,這個模型也會變得越來越精确。

下面我跟大家展示另一個訓練模型例子,你可以看到它被訓練的效果很好。隻要有了生産資料,這個模型就能在你的産品上運作起來。這意味着什麼呢?這意味着隻需要幾分鐘,我們就獲得了一個新的模型,這個模型就有能力識别facebook上釋出的所有新照片。而我們每個人都可以在facebook上用這個模型。就這麼簡單。

看它的一個成果,這是我女兒,她正在騎馬。有趣的是,你可以在分類上看到“people

riding on horse”,這說明lumos起作用了。它識别出了horse,animal和people riding on

horse。除此之外,它還有ranch(大牧場)标簽,這說明之前有人讓模型學習過“ranch”這個标簽對應的是什麼圖形,同樣道理,下面還有outdoor,nature和has

person。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

現在我知道它已經學會識别某些圖檔了,但這還不夠。我還想知道它哪裡有缺陷。

然後我就想,這裡有沒有“sitting

on chair”的模型。接下來我看到了lumos呈現出來的這張人坐在椅子上的圖檔。在這張圖檔的分類裡有people

sitting,face, table,indoor,restaurant

indoor等幾個标簽,這都很好。但并沒有chair這個标簽,這很不可思議。不過不用擔心,我已經知道怎麼修補這個缺陷了。隻需要訓練這個模型幾分鐘,它就學會要在有chair的圖檔裡加上“chair”這個标簽了。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

下面我給大家展示兩個其他研發團隊是如何應用lumos平台的。

圖檔搜尋。

現在,純粹的以圖搜圖技術已經投入應用了。大家中場休息的時候可以用自己的手機試一下,點選搜尋引擎上的photo指令,用圖檔搜尋圖檔。

我記得有一次我過生日的時候,我們沒點生日蛋糕,而是由我自己親手做了派拉(paila,一種拉美菜)。我把和派拉的合照釋出在了網上,但是上面并沒有出現任何關于這道菜的描述,但是當我再次搜尋派拉圖檔的時候,我看到了下面結果:

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

看,我的照片在搜尋結果中,lumos再次成功運作。這個過程很簡單并且效果還可以,不過我們要求的是精益求精。

是以圖檔搜尋的原理是什麼呢?簡單來說,搜尋圖檔原理的關鍵之處就在于“概念”,即你搜尋的内容和圖檔顯示内容之間有共同的概念。搜尋圖檔就是讓lumos對圖檔的預測和對搜尋内容的預測比對起來。

下面這張圖檔,看起來像是中央公園(central park)。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

從圖檔中可以提取出的概念有sky,cloud,city,park,grass,foliage和skyscraper等。

而在查詢(query)部分,我們用了解引擎把實體central

park和要查詢文本“central park”聯系起來。是以,查詢機制從“central

park”中提取出來的概念有location,park,place,attraction等等。現在,你有了兩組概念,接下來的事情就是尋找其中的關聯度。而你所做的,就是輸入查詢“central

park”,最後得的到底是不是你想要的圖檔,它們的概念比對到底對不對。是的,它再一次成功運作了。

而接下來,我們為什麼不能用這種方法做更多事呢?

我們希望用這種方法解決更多問題,因為它有很強的互動性(interactive)。我們上面說的認為挑選出來以訓練分類器的概念,其實事實上照片不知道它對應的是哪一部分。是以更好的辦法就是直接把圖像和查詢内容共同嵌入在共同潛在空間(common

latent spaces)中,用減少排序損失(ranking loss)的方法進一步提高圖檔搜尋的精确度。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

你的團隊可以用這種方法訓練分類器,看它的比對性能強不強。在這個圖中你看到query出現了兩次,這表示這個研究團隊在選擇更合适的排序損失。他們會給同一個查詢内容,然後看哪個帶有标簽的知識更比對你要查的内容,以確定你的嵌入的排序損失達到最小化。而結果表明,用這種方法進行圖檔搜尋,比對度的确高了很多。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

自動轉換文本

去年4月,我們公司上線了自動轉換文本(automatic

alternative

text,aat)技術。用該技術,facebook可以通過圖像識别認出使用者釋出的圖檔中包含的資訊并讀出來,幫助盲人“看到”網站上的圖檔。我們周圍的盲人有好幾億,是以解決幫盲人閱讀網絡上的圖檔這個問題迫在眉睫。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

facebook從這三張圖中看到得分别是:左圖——披薩、食物,中圖——樹、天空、戶外、右圖——兩個人、微笑、太陽鏡、戶外、水。

而右圖除了有實物“兩個人”,還包含有人的動作“微笑”。我們發現facebook可以讀出這裡面有人,可以讀出來人在做什麼。而對該技術的研發團隊來說,他們想做的就是希望告訴盲人“圖檔中的對象在做什麼”,這和僅告訴他們“圖檔裡面有什麼”,有相當大的差別。

大家可以看下面一個例子:

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

facebook用語音描述了一張圖檔,“說”:image may contain one person ,on stage and playing music al instrument(該圖檔可能包含了一個在舞台上彈樂器的人)。

而它聰明的地方在于,它并沒有給出像one

person,person on stage,person are playing musical

instrument這樣的描述。是以這是facebook在進行自然語言處理(nlp)時,為了呈現出描述更符合自然語言所涉及到的另一個技術點。

進行圖檔搜尋時我們同時用到了兩項技術,一個是平台上的文本了解技術,另一個是計算機視覺技術,即lumos。

深度語義識别産品: deep text

而我們接下來講的是基于文本了解技術的另一個産品deep text。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

就像做計算機視覺技術一樣,deep

text所需要處理的資料量之大和大資料對系統的要求之高,是難以想象的。每天在facebook上釋出的翻譯文章高達40億條。語言對文字内容的依賴程度非常強,是以想要精确地分析短語語義,尤其是用一種語言來解釋在另一種語言中原本不存在的現成說法。在這裡我跟大家講一個關于語言翻譯的笑話,來說明語言真的非常難以了解。笑話是這樣的,說有一個人要進行中俄互譯,英譯俄的英語原句本來是是“out

of sight,out of mind(看不見了,也就忘了)”,而再把譯成的俄語反譯為英語的時候,句子則變成了“invisible

idiot(看不見的傻子)”

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

deep text的一些應用

用于銷售

人們使用facebook的範圍,已經大大超出我們的想像,比如用它買賣産品,如下圖所示。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

你希望人們能用母語在上面釋出資訊,你需要發現他釋出的資訊中蘊含有銷售意向,并且把文章歸類為銷售帖,讓你能更快完成交易。

用于移動聊天工具

deep

text另一個核心應用是在移動聊天工具上。比如你和一個朋友說“hey,我想搭個便車”, deep

text就能識别出“需要坐車”,或者你發“我不需要搭便車”,那麼它就不會出現任何提示,但你發“讓我們打車去那吧”,“我喜歡騎驢”,“打個的士”,“打個計程車”,

“但是我需要打個的”,它都會出現“需要坐車”的提示。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

用于社交推薦

還有一個是用在社交推薦上。如果有人在上面發文章,請朋友推薦個餐廳、美容院之類的,deep text就能自動把朋友們的選擇推薦給你,并在地圖上标出實體所處的地理位置。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

語音識别

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

我們平均每天轉錄約100萬個視訊檔案,為其自動加字幕。這個功能對網站來說大有益處。很多地方性團體或企業都有網站,而用了我們這個功能之後,他們網頁的流量也會随之增加。

除此之外,我們還做了一件非常棒的事——大開腦洞,把自動語音識别技術用在社交vr上,這個産品就是social vr avatar。如果social vr avatar發現有一個人正在說話,那麼它不僅能較準确地還原出說話人講的内容,還能把他的動作,神情等都在虛拟任務上精确還原出來。

視訊風格變換

最後,我要介紹一下facebook另一個超級炫酷的攝像功能。

Facebook AML實驗室負責人:将AI技術落地的N種方法(下)

它好玩的地方是,在你錄像的同時,相機可以為你的錄像内容實時添加你喜歡的藝術濾鏡。我們研究這個功能的時候發現它實時添加濾鏡的速度太慢了。一開始它處理一幀需要花十幾秒,但如果讓它在手機上實時添加濾鏡的話,我們要求它一秒鐘可以處理數十幀。在這裡順便提一下,作為參考,其他同類可以實時添加濾鏡的應用都是在gpu伺服器上跑的。這就是我們研究的時候遇到的困難。不過後來我們找到了更好的算法模型,在和fair實驗室同仁的共同努力下,解決了這個問題。

給大家展示下面三個視訊中。第一段視訊是研發團隊在騎自行車,你可以看到視訊時加過濾鏡的,并且是當時實時加上去的;第二個視訊錄的是美國某個城市的公共汽車;第三個視訊是一個很有趣的小應用,使用者的手移動時,手機上的小顆粒的狀态也會随之有變化。

是以,我今天想和大家講的關鍵點就在于,我們想設計能在生活中廣泛應用的ai應用。讓鄉鎮也能用上我們的應用是我們要實作的大目标。為了實作這個目标,我們需要讓整個公司都更強大起來,我們需要專注于研發更多令人拍手稱贊的平台,專注于産品的可用性,專注于建立更優秀的研究團體。

本文作者:夏睿

繼續閱讀