0
雷鋒網(wǎng)按: Google I/O 2018 上,谷歌發(fā)布了可供開發(fā)者定制移動端機器學(xué)習(xí)模型的 ML Kit 開發(fā)套件,關(guān)于該套件中的核心技術(shù):Learn2Compress 模型壓縮技術(shù),谷歌也火速在 Google AI 上撰文對其進行了詳細(xì)介紹和實戰(zhàn)測試,雷鋒網(wǎng) AI 科技評論將其內(nèi)容編譯如下。
大家都知道,要成功地訓(xùn)練和運行深度學(xué)習(xí)模型,通常要求海量的計算資源,超大內(nèi)存以及足夠的能源來支撐,這也就為想要在移動端(mobile)和 IoT 設(shè)備上同樣成功地運行模型帶來了相應(yīng)的障礙。移動端機器學(xué)習(xí)(On-device machine learning)允許你直接在該設(shè)備上運行推理,且具有保證數(shù)據(jù)隱私性和隨時使用的優(yōu)勢,不管網(wǎng)絡(luò)連接狀況如何。此前的移動端機器學(xué)習(xí)系統(tǒng),如輕量神經(jīng)網(wǎng)絡(luò) MobileNets 和 ProjectionNets 均通過對模型效率的優(yōu)化來處理資源瓶頸問題。但如果你想要在手機上的移動應(yīng)用中運行自己設(shè)計和訓(xùn)練的模型呢?
現(xiàn)在谷歌幫你解決了這個難題,在 Google I/O 2018 上,谷歌面向所有移動端開發(fā)者發(fā)布了移動端機器機器學(xué)習(xí)開發(fā)套件 ML Kit。該 ML Kit 開發(fā)套件中的一項即將可用的核心功能,是由谷歌 research 團隊開發(fā)的 Learn2Compress 技術(shù)所驅(qū)動的一項自動模型壓縮服務(wù)。Learn2Compress 技術(shù)能夠在 TensorFlow Lite 內(nèi)定制移動端深度學(xué)習(xí)模型,定制后的模型可高效的運行在移動端設(shè)備上,無需擔(dān)心內(nèi)存不足和運行速度過慢。谷歌也很高興不久后在 ML Ki 中實現(xiàn) Learn2Compress 技術(shù)驅(qū)動的圖像識別功能。Learn2Compress 技術(shù)將率先開放給一小部分開發(fā)者,并將在接下來的幾個月內(nèi)提供給更多的開發(fā)者們使用。對該技術(shù)特性感興趣并有意設(shè)計自己模型的開發(fā)者可以點擊此網(wǎng)址(https://g.co/firebase/signup)進行注冊。
Learn2Compress 技術(shù)融合了此前研究中介紹的 ProjectionNet 等學(xué)習(xí)框架,并結(jié)合了神經(jīng)網(wǎng)絡(luò)模型壓縮的幾項前沿技術(shù)。Learn2Compress 技術(shù)的工作原理是這樣的:先輸入一個用戶提供的預(yù)先訓(xùn)練好的 TensorFlow 模型,隨后 Learn2Compress 技術(shù)開始訓(xùn)練和優(yōu)化該模型,并自動生成一個隨時可用的移動端模型,該模型尺寸較小,內(nèi)存占用和能源利用效率更高,且能在保證最小限度丟失準(zhǔn)確率的情況下達到更快的推理速度。
為了達成模型壓縮的目的,Learn2Compress 技術(shù)使用了多重神經(jīng)網(wǎng)絡(luò)優(yōu)化和下面三項模型壓縮技術(shù):
通過移除那些對預(yù)測沒有太大作用的的權(quán)重或者運算(比如低分權(quán)重)來修剪,降低模型尺寸。該操作尤其能使包含稀疏輸入或輸出的移動端模型的效率得到相當(dāng)大的提升,雖然模型在尺寸上被壓縮小 2 倍,但仍保留著原來模型 97% 的預(yù)測質(zhì)量。
在訓(xùn)練模型的過程中應(yīng)用的量子化技術(shù)格外有效,該技術(shù)可以通過減少用于模型權(quán)重和激活數(shù)值的位數(shù)來提升模型推理速度。例如,使用 8-bit 固定點表示而非浮點數(shù)值可以加速模型推理,降低能源消耗以及有望進一步將模型尺寸縮小 4 倍。
遵循老師-學(xué)生學(xué)習(xí)策略的聯(lián)合訓(xùn)練(Joint training)和蒸餾(distillation)方法—保證最小限度丟失準(zhǔn)確率的前提下,谷歌在使用一個大的老師網(wǎng)絡(luò)(在該案例中,使用的是用戶提供的 TensorFlow 模型)來訓(xùn)練一個壓縮學(xué)生網(wǎng)絡(luò)(即移動端模型 on-device model)。
老師網(wǎng)絡(luò)可以是固定的(就像在蒸餾方法中那樣)或者是被共同優(yōu)化的,老師網(wǎng)絡(luò)甚至還可以同時訓(xùn)練不同尺寸的多種學(xué)生模型。因而,Learn2Compress 技術(shù)只需一次操作就可以生成具有不同尺寸和不同推理速度的多種移動端模型,而非單一模型,同時還支持開發(fā)者從中選取最符合自己應(yīng)用需求的那個模型。
以上這些再加上其他類似遷移學(xué)習(xí)這樣的技術(shù)也可以使模型壓縮進程更加具有效率和可擴展至大規(guī)模數(shù)據(jù)集。
為了證明 Learn2Compress 技術(shù)的有效性,谷歌基于幾個在圖像和自然語言任務(wù)中使用的最先進的深度神經(jīng)網(wǎng)絡(luò)(如 MobileNets,NASNet,Inception,ProjectionNet 等),并使用該技術(shù)將它們壓縮成移動端模型。給定一個任務(wù)和數(shù)據(jù)集,谷歌就可以使用該技術(shù)生成具有不同的推理速度和模型尺寸的多種移動端模型。
在圖像識別方面,Learn2Compress 技術(shù)可生成適合手機應(yīng)用的,且具有良好預(yù)測精度的既小又快的模型。舉個例子,在 ImageNet 任務(wù)上,Learn2Compress 技術(shù)可實現(xiàn)一個比 Inception v3 baseline 小 22 倍,比 MobileNet v1 baseline 小 4 倍的模型,而準(zhǔn)確率僅下降了 4.6-7%。在 CIFAR-10 上,使用共享參數(shù)來共同的訓(xùn)練多種 Learn2Compress 模型所花費的時間,只比訓(xùn)練單獨的一個 Learn2Compress 大模型多耗時 10%,例如 yields 3 壓縮模型在尺寸上要小 94 倍,而速度上快 27 倍,成本降低 36 倍,且能達到很好的預(yù)測質(zhì)量(90-95% 的 top-1 級別準(zhǔn)確度)。
谷歌也很開心地看到開發(fā)者已經(jīng)使用這種技術(shù)做出了一些成果。例如,一個名為 Fishbrain 的垂釣愛好者社交平臺使用了谷歌的 Learn2Compress 技術(shù),將平臺目前的圖像識別云模型(尺寸大小 80MB+,達到了 91.8% 的 top-3 級別準(zhǔn)確度)壓縮成了一個十分小的移動端模型(尺寸少于 5MB,但仍保持與原來大模型相似的準(zhǔn)確度)。在另外一些案例中,谷歌發(fā)現(xiàn)得益于正則化效應(yīng)(regularization effect),壓縮后的模型在準(zhǔn)確度上甚至有稍微勝于原來的大模型的可能。
谷歌表示,隨著機器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)的不斷發(fā)展,他們將會繼續(xù)改進 Learn2Compress 技術(shù)并將其擴展至更多的用戶案例(不僅局限于圖像識別這類模型)。谷歌還很期待上線 ML Kit 的模型壓縮云服務(wù)。谷歌希望 Learn2Compress 技術(shù)可以幫助開發(fā)者自動構(gòu)建和優(yōu)化他們自己的移動端機器學(xué)習(xí)模型,這樣開發(fā)者們就可以專注于開發(fā)包含計算機視覺、自然語言以及其他機器學(xué)習(xí)應(yīng)用在內(nèi)的優(yōu)秀的應(yīng)用程序和酷炫的用戶體驗了。
via Google AI Blog,雷鋒網(wǎng)AI科技評論編譯。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。