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