谷歌在 Google AI 上撰文進行對剛剛發布的 ML Kit 中的核心技術:Learn2Compress 自動模型壓縮技術進行了詳細介紹和實戰測試。
AI科技評論按:Google I/O 2018 上,谷歌發布了可供開發者定制移動端機器學習模型的 ML Kit 開發套件,關于該套件中的核心技術:Learn2Compress 模型壓縮技術,谷歌也火速在 Google AI 上撰文對其進行了詳細介紹和實戰測試,AI 科技評論将其内容編譯如下。
大家都知道,要成功地訓練和運行深度學習模型,通常要求海量的計算資源,超大内存以及足夠的能源來支撐,這也就為想要在移動端(mobile)和 IoT 設備上同樣成功地運行模型帶來了相應的障礙。移動端機器學習(On-device machine learning)允許你直接在該設備上運行推理,且具有保證數據隐私性和随時使用的優勢,不管網絡連接狀況如何。此前的移動端機器學習系統,如輕量神經網絡 MobileNets 和 ProjectionNets 均通過對模型效率的優化來處理資源瓶頸問題。但如果你想要在手機上的移動應用中運行自己設計和訓練的模型呢?
現在谷歌幫你解決了這個難題,在 Google I/O 2018 上,谷歌面向所有移動端開發者發布了移動端機器機器學習開發套件 ML Kit。該 ML Kit 開發套件中的一項即将可用的核心功能,是由谷歌 research 團隊開發的 Learn2Compress 技術所驅動的一項自動模型壓縮服務。Learn2Compress 技術能夠在 TensorFlow Lite 内定制移動端深度學習模型,定制後的模型可高效的運行在移動端設備上,無需擔心内存不足和運行速度過慢。谷歌也很高興不久後在 ML Ki 中實現 Learn2Compress 技術驅動的圖像識别功能。Learn2Compress 技術将率先開放給一小部分開發者,并将在接下來的幾個月内提供給更多的開發者們使用。對該技術特性感興趣并有意設計自己模型的開發者可以訪問此網址(https://g.co/firebase/signup)進行注冊。
Learn2Compress 技術融合了此前研究中介紹的 ProjectionNet 等學習框架,并結合了神經網絡模型壓縮的幾項前沿技術。Learn2Compress 技術的工作原理是這樣的:先輸入一個用戶提供的預先訓練好的 TensorFlow 模型,随後 Learn2Compress 技術開始訓練和優化該模型,并自動生成一個随時可用的移動端模型,該模型尺寸較小,内存占用和能源利用效率更高,且能在保證最小限度丢失準确率的情況下達到更快的推理速度。
為了達成模型壓縮的目的,Learn2Compress 技術使用了多重神經網絡優化和下面三項模型壓縮技術:
通過移除那些對預測沒有太大作用的的權重或者運算(比如低分權重)來修剪,降低模型尺寸。該操作尤其能使包含稀疏輸入或輸出的移動端模型的效率得到相當大的提升,雖然模型在尺寸上被壓縮小 2 倍,但仍保留着原來模型 97% 的預測質量。
在訓練模型的過程中應用的量子化技術格外有效,該技術可以通過減少用于模型權重和激活數值的位數來提升模型推理速度。例如,使用 8-bit 固定點表示而非浮點數值可以加速模型推理,降低能源消耗以及有望進一步将模型尺寸縮小 4 倍。
遵循老師-學生學習策略的聯合訓練(Joint training)和蒸餾(distillation)方法—保證最小限度丢失準确率的前提下,谷歌在使用一個大的老師網絡(在該案例中,使用的是用戶提供的 TensorFlow 模型)來訓練一個壓縮學生網絡(即移動端模型 on-device model)。
老師網絡可以是固定的(就像在蒸餾方法中那樣)或者是被共同優化的,老師網絡甚至還可以同時訓練不同尺寸的多種學生模型。因而,Learn2Compress 技術隻需一次操作就可以生成具有不同尺寸和不同推理速度的多種移動端模型,而非單一模型,同時還支持開發者從中選取最符合自己應用需求的那個模型。
以上這些再加上其他類似遷移學習這樣的技術也可以使模型壓縮進程更加具有效率和可擴展至大規模數據集。
為了證明 Learn2Compress 技術的有效性,谷歌基于幾個在圖像和自然語言任務中使用的最先進的深度神經網絡(如 MobileNets,NASNet,Inception,ProjectionNet 等),并使用該技術将它們壓縮成移動端模型。給定一個任務和數據集,谷歌就可以使用該技術生成具有不同的推理速度和模型尺寸的多種移動端模型。
在圖像識别方面,Learn2Compress 技術可生成适合手機應用的,且具有良好預測精度的既小又快的模型。舉個例子,在 ImageNet 任務上,Learn2Compress 技術可實現一個比 Inception v3 baseline 小 22 倍,比 MobileNet v1 baseline 小 4 倍的模型,而準确率僅下降了 4.6-7%。在 CIFAR-10 上,使用共享參數來共同的訓練多種 Learn2Compress 模型所花費的時間,隻比訓練單獨的一個 Learn2Compress 大模型多耗時 10%,例如 yields 3 壓縮模型在尺寸上要小 94 倍,而速度上快 27 倍,成本降低 36 倍,且能達到很好的預測質量(90-95% 的 top-1 級别準确度)。
谷歌也很開心地看到開發者已經使用這種技術做出了一些成果。例如,一個名為 Fishbrain 的垂釣愛好者社交平台使用了谷歌的 Learn2Compress 技術,将平台目前的圖像識别雲模型(尺寸大小 80MB ,達到了 91.8% 的 top-3 級别準确度)壓縮成了一個十分小的移動端模型(尺寸少于 5MB,但仍保持與原來大模型相似的準确度)。在另外一些案例中,谷歌發現得益于正則化效應(regularization effect),壓縮後的模型在準确度上甚至有稍微勝于原來的大模型的可能。
谷歌表示,随着機器學習和深度學習技術的不斷發展,他們将會繼續改進 Learn2Compress 技術并将其擴展至更多的用戶案例(不僅局限于圖像識别這類模型)。谷歌還很期待上線 ML Kit 的模型壓縮雲服務。谷歌希望 Learn2Compress 技術可以幫助開發者自動構建和優化他們自己的移動端機器學習模型,這樣開發者們就可以專注于開發包含計算機視覺、自然語言以及其他機器學習應用在内的優秀的應用程序和酷炫的用戶體驗了。
via Google AI Blog,AI科技評論編譯。
對了,我們招人了,了解一下?
BAT資深算法工程師獨家研發課程
最貼近生活與工作的好玩實操項目
班級管理助學搭配專業的助教答疑
學以緻用拿offer,學完即推薦就業
掃碼或點擊閱讀原文了解一下!
┏(^0^)┛歡迎分享,明天見!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!