天天看點

5G時代,為什麼主流大廠紛紛布局這項技術?

導讀:深度學習技術已經在網際網路的諸多方向産生影響,每天科技新聞中關于深度學習和神經網絡的讨論越來越多。深度學習技術在近兩年飛速發展,各種網際網路産品都争相應用深度學習技術,産品對深度學習的引入也将進一步影響人們的生活。

而移動技術如晶片技術爆發式進化以及5G通信技術的到來,讓移動平台成為機器學習技術落地的最佳實踐平台,是工業界應用最看重的場景,各大廠商再次逐鹿于此。本文将帶你了解深度學習與移動平台智能。

5G時代,為什麼主流大廠紛紛布局這項技術?

01 深度學習與移動平台的關系

目前的機器學習應用主要分為三個大方向:傳統機器學習模型、深度學習模型和非深度學習的新模型。

在解決少量樣本的簡單問題時傳統機器學習算法依然是不可或缺的利器,因為在這些場景中學習目标和樣本的關系往往比較簡單,如果使用深度學習容易出現過拟合等現象,而且深度學習的很多概念和理論基礎依然來自于傳統的機器學習模型,是以傳統機器學習依然具有很強的生命力。嗯,沒錯這是辯證的,沒有絕對的好壞。

但是,目前在許多主流應用方向,比如圖像、文字、語音之類的模式識别和生成任務中,在擁有大量樣本的情況下,深度學習模型的确比傳統機器學習模型效果優秀很多,畢竟面對這些複雜的任務,人類想要去發現極佳的特征是一個非常困難的事情。

而且大部分傳統機器學習模型很難處理複雜的非線性任務,使得傳統機器學習算法很難和深度學習競争。這也是深度學習帶來的貢獻,畢竟原來傳統機器學習無法落地的場景在深度學習面前已經可以成為現實了!

面對這些複雜任務深度學習是目前最好的解決方案。但好用不代表就完全沒有問題,事物總是存在兩面性,是以作為知識體系的完整性補充,我們有必要把深度學習的問題也提出來供大家了解。

深度學習的原理決定了其訓練産生的模型自身是無法解釋且證明的。深度學習最強大的地方在于自動學習特征,但問題是這些深度學習尋找出的特征都是人類無法解釋清楚的,這就使得模型本身的可解釋性、模型的泛化能力存在潛在問題,往往簡單粗暴的增加樣本會大幅改善模型品質。

而早前就出現的機率圖模型和現在興起的可解釋學習都有望從根本上解決上述問題,是下一個前沿發展方向。

5G時代,為什麼主流大廠紛紛布局這項技術?

但無論如何,深度學習目前在工業應用領域深度學習的确是不可替代的,而作為應用工程師最關心的肯定是這些有實用價值的技術和方法。

在移動網際網路時代的後半程和物聯網、5G時代的大潮下,人們對于移動端機器學習的需求已經越來越強烈,這也就是為什麼我們要在移動智能的場景下探讨深度學習的原理、算法、解決方案和優化問題。

深度神經網絡在工業界機器學習領域是一種行之有效的解決問題的工具,是以大家都在想如何能将深度學習更有效地利用到計算能力和存儲能力更為有限的移動平台中。在算法工程師的努力下,現在移動智能已經無法離開深度學習。

02 移動平台的發展與實踐

這是一個移動平台機器學習技術風起雲湧的時代,由各個擁有豐富技術積累的大型企業牽頭研發的移動端機器學習架構,推動了這一領域的迅速成長。

Google:推出TensorFlow Lite

Facebook:推出PyTorch Mobile

蘋果:推出Core ML以及A系列仿生晶片

騰訊:推出NCNN

百度:mobile-deep-learning(MDL)的全部代碼以及腳本(基于CNN)

5G時代,為什麼主流大廠紛紛布局這項技術?

我們可以看到,主流大廠紛紛布局移動端機器學習已經是十分明顯的趨勢,移動平台更新疊代快,不僅相應的軟體技術日新月異,相應的SoC也迅速進化,而專門處理機器學習計算的神經單元也早已嶄露頭角。

與此同時,龐大且活躍的使用者量也讓各個大廠加速布局移動端機器學習落地。是以,軟體的快速疊代、專有硬體的快速進化再加上龐大且活躍的使用者群讓移動平台機器學習形成了良性發展,越來越多的産品在移動端落地,産生巨大價值的同時開辟了廣闊的市場。

把可穿戴裝置以及邊緣計算裝置納入移動平台的範疇,我們還能看到潛在的應用和實踐。面向消費級産品的晶片已不再拘泥于中央處理器這個場景,越來越多的專有晶片已登陸各種可穿戴裝置。

可以預想的是,在不久的将來通過這些移動平台專有晶片實作人工智能技術也不是太過遙遠的事情。此外,邊緣計算裝置結合新的通信技術,讓網際網路的疆域進一步得到擴充,如何讓邊緣計算裝置提供人工智能計算解決方案是一個極為吸引人和令人激動的問題。通過移動端機器學習技術讓實時人工智能計算無處不在,已不再是純粹的設想。

雖說移動端機器學習和傳統伺服器端的機器學習會有一些差異,但是必須要注意的是畢竟這依然屬于機器學習的範疇,隻不過我們希望能夠在移動端能夠更高效地執行我們訓練的模型,以滿足顯示生活中對機器學習應用的性能需求,是以我們依然需要關注機器學習的基礎知識、生态環境、工具鍊以及如何訓練我們的模型。

5G時代,為什麼主流大廠紛紛布局這項技術?

03 應用場景與流派

網際網路行業在移動端應用神經網絡的案例已經越來越多。與深度學習緊密聯系在一起的圖像技術同樣在業界廣泛應用。傳統計算機視覺和深度學習的結合使圖像技術得以快速發展。

我們來聊一聊深度學習在移動端主要有哪些應用場景。比較常見的如分辨出一張圖檔中的物體是什麼,也就是分類問題。

場景舉例:使用TensorFlow Lite作為前向引擎預測移動裝置攝像頭捕捉的畫面的具體類别,或者識别出一張照片中的人物、物品與場景,并在照片上自動進行标注。對于擁有大量照片的使用者來說,這樣的功能十分有用,而且很多時候就是依賴于離線機器學習,比如iOS相冊當中的自動識别功能等。

目前的流派主要有兩種:

其一,依賴于網絡連接配接和API請求執行深度神經網絡,用戶端負責将所需的資料喂給API調用,并将API調用傳回的資料顯示在用戶端的界面上。在移動端深度學習普及之前,絕大部分的移動平台App 都使用了這種服務端計算+本地展示的方式實作機器學習應用。

優點是開發移動端相對簡單,缺點是實時性不高,且無法在網絡環境不好的情況下服務。

其二,完全離線運作深度神經網絡。相較于第一種方式,優點顯而易見,那就是**模型完全離線運作,預測實時計算,可以在保證運作速度的同時提供流暢體驗。如果我們能保證移動端高效運作神經網絡,可以使使用者感覺不到加載和運算的過程。

**

我們舉個簡單例子,如iPhone當中的相冊就會自動為你做好基于人臉識别的分類,而這個運算是不依賴于實時聯網功能的。除此之外,還有很多圖像識别的案例也是無需連接配接遠端伺服器就可以實作的實時預測。

5G時代,為什麼主流大廠紛紛布局這項技術?

由于深度學習需要大量資料(這會導緻計算能力的降低),是以大部分深度學習都是雲計算。通過移動端深度學習架構的推出,将不需要在雲端擁有一大批的伺服器,可以利用現成的移動裝置上的資料來訓練模型,并逐漸改善使用者體驗,不需要等待被調整的模型與雲端之間往返。所有教育訓練資料都将保留在使用者的移動裝置上,而不必單獨更新存儲在雲端。

這對技術提出了很高的要求,需要對硬體、性能、神經網絡模型的大小做嚴格限制,讓它在計算能力有限的智能手機上,獨立工作。移動端已然成為機器學習、深度學習技術的最佳實踐場,同時也是工業界應用最看重的場景,把深度學習實際應用到解決實際問題中,而不是實驗室裡去做個benchmark成為了重中之重。

那麼我們怎樣才能讓實驗室中的模型應用到解決實際問題中?如何行之有效地開發移動端機器學習應用?如何進行系統的機器學習理論梳理并付諸實踐?這些問題的提出成為了筆者撰寫《移動平台深度神經網絡實戰:原理、架構與優化》一書的初衷。有興趣的讀者可以了解一下。

關于作者:盧譽聲,Autodesk資料平台和計算平台資深工程師,負責平台架構研發工作。工作内容涵蓋大規模分布式系統的伺服器後端、前端以及SDK的設計與研發,在資料處理、實時計算、分布式系統設計與實作、性能調優、高可用性和自動化等方面積累了豐富的經驗。擅長C/C++、JavaScript開發,此外對Scala、Java以及移動平台等也有一定研究。

原文釋出時間:2019-12-06

本文作者:盧譽聲

本文來自雲栖社群合作夥伴“

大資料DT

”,了解相關資訊可以關注“

繼續閱讀