非死book人工智能領域利器:FBLearner Flow平臺
有沒有這樣的經歷,也許你保存了某篇文章里的一張圖片,忽然有一天你想要重讀這篇文章,結果你又不能用手上的圖片反向檢索文章。事實上直到最近1、2年,很多搜索引擎采用的依然是文字驅動技術,而不是通過圖像搜索。換言之,用戶能不能檢索出自己想要的東西,取決于這個東西在搜索引擎內部是否被分類標記,或者是否有準確的文字描述。
最近一兩年是人工智能的啟動元年,人工智能已經推動計算機視覺技術達到了一個新的高度。在這個高度,業界的目標是在像素級理解圖像,而不是之前的需要文字描述、分類等方式協助。這種進步幫助我們的系統認識圖像里面是什么內容,圖像里面是什么場景,例如是不是一個有名的旅游勝地。反過來看,這種技術可以更好地為視障人士提供幫助,幫助他們更好地使用搜索引擎搜索圖像和視頻。
構建人工智能工廠為了讓AI(人工智能)更容易地進入非死book的軟件大家庭,非死book管理層認為需要引入一個通用的平臺,這個平臺需要可以支持工程師自己控制集群規模,最終引入的平臺叫做FBLearner Flow。有了FBLearner Flow平臺之后,非死book的工程師在運行、調試機器學習程序的時候不用再擔心集群負載海量實時任務的業務負擔了。非死book目前在FBLearner Flow平臺上平均每個月需要運行120萬個AI任務,這個數字是1年以前的6倍。
非死book還在不斷地加強FBLearner Flow平臺,包括提供自動化處理機器學習的工具、構建專用內容理解引擎等。此外,非死book也允許工程師通過編寫多機運行的訓練代碼方式構建整個生態環境,這樣的運行環境和代碼可以被全公司的工程師復用。
計算機視覺平臺FBLearner Flow平臺最初起源于非死book人工智能研究的一個小型研究項目,當FBLearner Flow平臺達到了生產環境要求的時候,FBLearner Flow平臺和整個小組成員已經轉換為應用機器學習團隊,并作為非死book計算機視覺團隊的分析引擎。
Lumos構建于FBLearner Flow平臺之上,它是專用于圖像和視頻的學習平臺。Lumos很容易使用,如果一個非死book工程師想要使用Lumos訓練和部署一個新的模型,他不需要接受針對深度學習或者計算機視覺技術的培訓。Lumos平臺一直都在不斷提升,無論是通過標定數據,還是通過非死book各種應用程序提供的注釋數據。
深度學習的進步讓非死book在圖像分類領域有了重大提升,比如“圖像中有什么?”和“目標在哪里?”這樣的問題可以通過系統回答,而且精度較之前提高了很多。非死book通過在給定圖像上檢測和分割對象的設計方案加強搜索準確度。
讓我們想象一下整個流程。這些技術被應用在非死book,圖像可以穿過深度學習引擎,穿越過程中分割圖像并且識別對象和場景,進而可以讓圖像本身附帶更多的意義。這個過程為非死book的產品或者服務提供大量可以使用的數據。非死book的幾十個小組已經在Lumos上通過訓練和部署了超過200個視覺模型,針對例如不良內容檢測、反垃圾郵件、自動圖像字母等等目的。從非死book的連通性實驗室到無障礙團隊都在使用這些應用程序。
提升內容非死book目前正在研究將圖像識別技術應用到提升自動高亮圖像文字描述(AAT),這項技術可以幫助視覺障礙人士理解圖像內容。
之前的一段時間,非死book技術只能描述圖像當中的對象。2017年2月2日,非死book宣布增加了一組12個動作,圖像描述對應可以增加類似于“走路的人”、“跳舞的人”、“騎馬的人”,以及“彈奏樂器的人”等等。
AAT的這次更新在兩個部分執行,通過Lumos實現快速、可擴展的迭代更新。由于非死book應用里面有相當多的圖像包含了人類,所以非死book著重提供針對人的自動描述。人工智能團隊從非死book應用上搜索了13萬張包含人的圖片(用戶完全公開的圖片)。標定人員需要假定自己在像視覺障礙人士解釋圖片的內容,通過一句話方式描述圖片。然后非死book利用這些注釋建立一個機器學習模型,支持推斷出圖片中人的動作,進而用于AAT功能。
Lumos允許這個任務快速迭代,讓另一個任務通過接口使用前一次訓練模型的標記。例如,如果我們正在訓練“騎馬的人”分類,想要去增加包括馬的圖片(沒人騎的馬),開發人員可以使用模型的一部分標定示例去學習是否圖片里面有一匹馬。
Lumos允許通過檢索和聚類相結合的方式生成訓練數據。給定一組標簽或搜索術語,Lumos平臺可以檢索互聯網上的圖像的一小部分,找到匹配標簽的圖像。這些圖像通過語義集合方式更快地分類標簽,Lumos用戶選擇按照用戶用例對樣本進行負面或者正面的注解分類,無論是在一個大規模數據集級別或者是針對數據集內部的每一張圖片,都可以這樣注釋。這種做法可以幫助一個有初始數據集的分類任務進一步擴散,通過迭代方式訓練并獲得更高的精確度/召回分類。
AAT應用對于非死book來說至關重要,因為它解決了非死book視覺障礙用戶的使用問題,業界也有其他的應用程序嘗試提供類似的方式解決問題,但是更多地把精力放在了搜索參數多樣性上面,而不是人工智能領域。
深入理解非死book宣稱他們的搜索系統可以通過大量的信息以及相關圖像,利用圖像的理解進行快速排序。換句話說,比如我們正在搜索“黑色襯衫照片”,非死book系統可以自我確定是否圖像中存在黑色襯衫,即便圖像上沒有標簽信息。這些工作是通過圖像分類器完成的。
為了理解圖像中的內容,非死book團隊使用了尖端的深度學習技術,使用該技術學習幾十億的圖像數據,弄清楚這些圖像的原始語義。
團隊為了更好地對圖像進行分類,使用以下幾點技術:
- 對象識別:圖片識別模型的底層是一個帶有數以百萬計學習參數的深度神經網絡。它構建于最先進的深度殘差網絡之上,使用數千萬帶有標簽的圖像訓練對象識別。它可以自動預測一系列豐富的語義,包括場景(例如花園)、對象(例如汽車)、動物(例如企鵝)、地點和景點(例如金門大橋),以及穿戴內容(例如圍巾)。
- 圖像嵌入:這個特性也會生成高層次的語義特征,它是深度神經網絡最后幾層的輸出的量化版本。這些豐富的信息對于提煉圖像搜索結果很有用。
原始語義特征是高維浮點數向量,特別是當工程師不得不索引很多圖片的時候,它使用了大量的存儲索引。通過利用量化技術,這些特征被進一步壓縮成幾個Bit,這種情況下依然可以保留大部分的語義。壓縮成Bit級別的圖片可以被直接用來作為搜索引擎排名、檢索。
實現這種目標的一種方式是從圖像中提取出預測的概念和類別,然后解析搜索查詢并連接到實體和提取物,進而在兩組概念之間使用相似性函數確定相關性。
對于非死book團隊來說這是一個好的開端,但是非死book并沒有止步于預測圖像分類,他們進一步使用了查詢和圖像聯合嵌入方式,動態提升準確率和查全率。
非死book采用這種方式從多方面解決排名問題。此外,非死book也在圖像之間使用了一種相似性測量辦法,確保圖像搜索結果多樣性。
后續計劃非死book團隊確實做了大量的工作,將FBLearner Flow平臺納入到了生產環境使用。非死book團隊表態還有很長的路要走,目前僅僅觸及了自服務式計算機視覺平臺的皮毛。未來將會利用FBLearner Flow平臺建立訓練更多的模型,用于非死book各個產品領域。
相關知識
-
機器學習與數據挖掘的區別
不管是數據挖掘,還是機器學習,都是以統計學為基礎。統計學著重于數據的收集、組織、分析和解釋,可以分為描述性統計學和推斷統計學。描述性統計學注重的是對數據整理與分析,得出數據的分布狀態、數字特征和隨即變量之間的關系進行估計和描述,可以細分為數據的集中、離散和相關性分析。推斷統計學側重于通過樣本數據推斷總體。數據挖掘在通過算法得到的結果上,采用描述性統計學解釋問題。而機器學習則是側重于通過推斷統計學來實現自學習。
-
Deep Neural NetWork(深度神經網絡)
2006年,Hinton利用預訓練方法緩解了局部最優解問題,將隱含層推動到了7層(參考論文:Hinton G E,Salakhutdinov R R. Reducing the Dimensionality of Data with Neural NetWorks[J].Science,2006),神經網絡真正意義上有了“深度”,由此揭開了深度學習的熱潮。這里的“深度”并沒有固定的定義,在語音識別中4層網絡就能夠被認為是“較深的”,而在圖像識別中20層以上的網絡屢見不鮮。為了克服梯度消失,ReLU、maxout等傳輸函數代替了sigmoid,形成了如今DNN的基本形式。單從結構上來說,全連接的DNN和多層感知機是沒有任何區別的。值得一提的是,高速公路網絡(Hignway Network)和深度殘差學習(Deep Residual Learning)進一步避免了梯度彌散問題,網絡成熟達到了前所未有的一百多層。
-
Deep Residual Network(深度殘差網絡)
它的主要思想是在標準的前饋卷積網絡上,加一個跳躍繞過一些層的連接。每繞過一層就產生一個殘差塊(Residual Block),卷基層預測加輸入張量的殘差。
來自:http://www.infoq.com/cn/news/2017/02/非死book-FBLearner-Flow