摘要:這一新程序被稱為,是一個完整的深度學習系統,它的架構已經嵌入手機中。因此,移動設備環境對機器學習系統提出了機遇和挑戰。展望下一步,加上這樣的研究工具鏈,是的機器學習產品的核心。
風格遷移一直是機器學習領域內的一項重要任務,很多研究機構和研究者都在努力打造速度更快、計算成本更低的風格遷移機器學習系統,比如《怎么讓你的照片帶上藝術大師風格?李飛飛團隊開源快速神經網絡風格遷移代碼 》、《谷歌增強型風格遷移新算法:實現基于單個網絡的多種風格實時遷移 》。今天,Facebook 又在其官方博客上宣布了一種可以用在移動設備實現實時風格的深度學習系統 Caffe2Go,自稱能在眨眼之間完成處理的任務,而且還能實現高質量的視頻風格遷移。Facebook 還表示該項目將會在未來幾個月內進行部分開源。
隨著視頻通話逐漸成為人們交流的主要方式,Facebook 希望創造的視頻創意工具來幫助人們表達自我。最近,他們在手機 app 中測試了新的相機應用,實時在視頻中添加藝術元素。這項技術被稱為「風格轉換」。它可以將一張圖片中的藝術風格,例如梵高的畫作,加入普通的圖片或視頻中去。這是以往技術上難以實現的事,通常這需要將參考圖和要處理的數據發送到數據中心,通過大型服務器進行處理。Facebook 開發的移動端深度學習平臺第一次擺脫了信號塔的束縛,可以實時捕捉、分析和處理圖像,將技術放進人們的手中。這一新程序被稱為 Caffe2Go,是一個完整的深度學習系統,它的架構已經嵌入手機 app 中。通過將處理圖片和視頻的人工智能模型壓縮至百分之一大小,Facebook 現在已經可以在 iOS 和安卓系統中高效運行深度學習網絡。最終,Facebook 公司的應用可以在部分手機中以不到 50 毫秒的速度完成人工智能任務的處理,而人眨眼需要的時間大約需要 300 毫秒。
相機風格轉換工具是兩種技術的結合:Caffe2Go 運行環境與風格轉換模型。Facebook 的人工智能團隊一直在處理算法與大規模系統,他們一直在致力于開發新模型,讓風格轉換更加快速穩定。于是,現在你拿起手機,開始攝像,梵高的繪畫風格變得無處不在了。
Caffe2Go 項目在三個月前開始,目前沒有其他公司的產品能夠做到這樣的效果:讓人工智能風格轉換變成創作工具。不僅如此,Facebook 做到了更多,他們讓這種應用可以在手機中實時處理圖像。該項目的研究者跨越產品、技術和研究者。FAIR 團隊的 Justin Johnson 是一篇描述該項目技術基礎論文(Perceptual Losses for Real-Time Style Transfer and Super-Resolution (https://arxiv.org/abs/1603.08155))的作者,他們在前人的努力基礎之上開發了新的技術;應用機器學習團隊則通過努力將 AI 引擎塞進手機設備中;相機團隊負責滿足用戶需求;正是因為所有人的努力,這些團隊構建了運行在移動設備上的高效神經網絡。我們將解釋如何思考和開發這一應用技術的,從 Caffe2Go 開始。
Caffe2Go
輕量快速
人工智能對計算機科學產生了深遠的影響,但它的應用一直被局限在大型數據中心里,距離普通用戶存在很長一段距離。大多數時候,人工智能「實時處理」應用將數據發送到遠端數據中心,通過那里的 GPU 來處理,物理距離造成了不可避免的延遲。我們認為使用超級計算機進行實時處理是不實際的,于是我們轉換思路,努力讓人工智能在移動設備的 CPU 中運行。
沒人想拖著一臺超級計算機出門
手機可以拍照,通話,也可以實時理解用戶所需,不需要連接遠端服務器,但它們的性能有限。盡管近年來硬件設備的發展讓移動設備的計算能力有了很大改進,手機 CPU 現在已經可以在一秒鐘內進行數十億次運算,但智能軟件在設計中還要面對諸如功率,存儲器和計算能力的各種資源限制。因此,移動設備環境對機器學習系統提出了機遇和挑戰。
面對這些挑戰,我們的解決方案是設計超輕量級模塊化框架。為此,我們以開源的 Caffe2 項目為基礎,遵循 Unix 理念開發了 Caffe2Go。我們確保了用于聲明和連接組件的核心架構的輕量化,允許多種組件與其連接——包括對于移動設備的專用優化。我們保留了一個精巧的算法框架,允許工程人員將抽象概念描述成有向無環圖(DAG),同時確保沒有約束被強加在圖中執行節點的輸入和輸出上。這允許我們的工程團隊能夠在不同平臺上實現和優化模塊,同時可以輕松地連接各種模塊。當圖像實時輸入時,通過硬件功能進行自我實例化可以達到較大處理速度。
速度是計算密集型移動應用的關鍵,特別是對于圖像和視頻處理而言,框架的輕量級設計允許我們為特定的運算符執行平臺進行特定的優化。NNPack 庫是其中一個例子,Caffe2 集成在移動運行環境中時,通過使用移動 CPU 中被稱為 NEON 的功能,可以顯著提高運算速度。在 iOS 設備上,我們也正在著手集成加速功能如 Metal 語言。所有這些都是通過模塊化設計完成的,無需改變一般模型定義。因此,算法端和運行環境可以互相依靠,不必擔心兼容性的問題。
面向開發者
Caffe2 是我們的第一個產業級深度學習平臺,它可以在服務器 CPU、GPU、iOS 和安卓四種平臺上運行,使用同一種代碼。因為我們的模塊化設計,這種架構在不同平臺上都使用同一種語言,但對每個平臺都有優化。這是一個開發人員不必擔心的細節;例如,可以在移動端 NNPack(iOS 和安卓)和服務器 GPU 的 CUDNN 中進行選擇。在 Caffe2 中,算法開發者可以專注于算法,無需考慮如何運行卷積。
快速的部署設計也能使開發者受益。從開發者的角度看,調試移動設備的運行時間可能是一項挑戰,因為移動端工具鏈(toolchain)并不如桌面的和服務器的工具鏈那么先進。我們通過從硬件上抽象神經網絡的數學而解決了這個問題——一個 Caffe2go 中的串行化網絡(serialized network)在被應用于移動手機和服務器時可以得到相同的數值輸出。其結果是,我們可以將大部分工作(模型訓練、性能評估、用戶體驗研究)移動到服務器環境中進行;當結果看起來不錯了之后,就可以實現在移動環境中的一鍵式部署了。
訓練風格遷移模型
風格遷移(style transfer)并不是什么新概念。它最早是由研究人員在發表于 2015 年 8 月的一篇題為《A Neural Algorithm for Artistic Style》的論文中引入的。但是,當時這項技術的速度還很慢,而且需要強大的服務器。后面的幾個月,研究社區改進了這項技術,將其速度提升了幾個數量級,但也還是需要依賴服務器上的大量計算能力。
Caffe2go 成功使人工智能實現了高速處理,并且可以集成到你手上的移動設備中。但該風格遷移模型仍然還需要優化,這樣才能在確保實時體驗的同時還能保證得到高質量、高分辨率的圖像。
優化成有效的模型大小
傳統的風格遷移研究得到的模型(甚至只是前饋變量)是很大(在參數的數量方面)很慢的。我們的目標是創造能夠運行新的、更小的、更高效的模型的風格遷移應用——能夠在 iPhone 6s 或以上的手機上不掉幀地提供 20 FPS 的高質量視頻。
為了減小該模型的尺寸,我們應用了 3 種主要的方法:優化了卷積層的數量(這是處理中最耗時間的部分)、優化了每一層的寬度、以及調整了處理過程中的空間分辨率(spatial resolution)。卷積層的數量和寬度是可用于調整處理時間的多帶帶指標——即調整圖像有哪些方面需要處理,或調整一個多帶帶的處理過程需要多少時間。對于空間分辨率,我們可以調整中間層中圖像實際被處理的大小。通過較早地使用池化(pooling,縮小正被處理的圖像的大小),我們可以加速處理時間,因為系統不再需要處理那么多的數據了。我們還發現,使用這些技術,我們可以極大地減少該網絡的寬度和深度,同時還能保持合理的質量。
提升質量
圖像質量是主觀的,非常難以測量——尤其是對于風格遷移這樣的東西。因此我們打造了一些可視化工具,其中包括 A/B tests;并訓練了不同的模型以確保我們可以得到較高質量的圖像結果。我們的大型 GPU 集群由 FBLearner Flow 驅動,讓我們可以快速掃描大范圍的超參數(比如模型架構、內容/風格權重、和下采樣),從而找到滿足我們的性能目標同時能保持和提升質量的訓練良好的前向風格(feedforward style)。
在提升質量方面還有很多其它的技巧——比如,應用實例規范化(instance normalizatio)而不是常用的批規范化(batch normalization)能有助于多種風格,同樣避免卷積層中的零填充(zero padding)可以減少偽像,也可以將不同的預處理或后處理過濾器應用到風格或內容圖像上。但在我們的測試中,我們發現這些方法往往在一些風格上效果良好,在另一些風格上則效果不佳。
憑借在這項風格遷移技術上的速度和質量優化,使用 Caffe 2 框架,我們就可以將一種實時圖像處理系統應用到移動設備上。
展望下一步
Caffe2go,加上 Torch 這樣的研究工具鏈,是 Facebook 的機器學習產品的核心。因為其在大小、速度和靈活性上的優勢,我們正在將 Caffe2go 推廣到整個 Facebook 的 stack 中。
我們還在致力于和社區分享我們的軟件和設計,從而讓我們可以學習更好地利用多種硬件平臺和算法設計的特性,這在跨平臺機器學習系統中是尤其重要的。在未來的幾個月,我們將會部分開源該人工智能框架。
隨著我們的進步,你可以想象出設備上實時運行的人工智能可以如何幫助世界更加開放、人們更加互連。我們手中的智能設備將繼續顛覆我們對「智能(intelligence)」的認知方式。有了像 Caffe2go 這樣精巧的機器學習系統,我們將致力于為人們帶來更贊的人工智能和增強現實體驗——讓你在拍視頻的時候,設備里還有一把梵高的畫刷。
歡迎加入本站公開興趣群商業智能與數據分析群
興趣范圍包括各種讓數據產生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數據倉庫,數據挖掘工具,報表系統等全方位知識
QQ群:81035754
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/4431.html
摘要:賈揚清現身說法發布后,作者賈揚清在上連發四記解答。,賈揚清一上來就表明了身份。正式發布新框架有何不同賈揚清親自解答有人問搞出意義何在現在已經有等諸多框架。賈揚清說和團隊緊密合作。 ?圖左為Caffe2作者賈揚清今天凌晨召開的F8大會上,Facebook正式發布Caffe2~隨著人工智能的發展,在訓練深度神經網絡和大規模人工智能模型以及部署各機器的計算量時,通常要在大量數據中心或超級計算機的支...
摘要:下圖總結了絕大多數上的開源深度學習框架項目,根據項目在的數量來評級,數據采集于年月初。然而,近期宣布將轉向作為其推薦深度學習框架因為它支持移動設備開發。該框架可以出色完成圖像識別,欺詐檢測和自然語言處理任務。 很多神經網絡框架已開源多年,支持機器學習和人工智能的專有解決方案也有很多。多年以來,開發人員在Github上發布了一系列的可以支持圖像、手寫字、視頻、語音識別、自然語言處理、物體檢測的...
摘要:部署旨在幫助開發人員和研究人員訓練大規模機器學習模型,并在移動應用中提供驅動的用戶體驗?,F在,開發人員可以獲取許多相同的工具,能夠在大規模分布式場景訓練模型,并為移動設備創建機器學習應用。 AI 模型的訓練和部署通常與大量數據中心或超級計算機相關聯,原因很簡單。從大規模的圖像、視頻、文本和語音等各種信息中持續處理、創建和改進模型的能力不是小型計算擅長的。在移動設備上部署這些模型,使其快速輕量...
摘要:阿里妹導讀作為大神,賈揚清讓人印象深刻的可能是他寫的框架,那已經是六年前的事了。經過多年的沉淀,成為阿里新人的他,對人工智能又有何看法最近,賈揚清在阿里內部分享了他的思考與洞察,歡迎共同探討交流。 showImg(https://segmentfault.com/img/remote/1460000018868775); 阿里妹導讀:作為 AI 大神,賈揚清讓人印象深刻的可能是他寫的...
閱讀 1683·2021-11-15 11:38
閱讀 4538·2021-09-22 15:33
閱讀 2343·2021-08-30 09:46
閱讀 2191·2019-08-30 15:43
閱讀 835·2019-08-30 14:16
閱讀 2080·2019-08-30 13:09
閱讀 1262·2019-08-30 11:25
閱讀 709·2019-08-29 16:42