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

深度學習技術已經(jīng)在互聯(lián)網(wǎng)的諸多方向產(chǎn)生影響,每天科技新聞中關于深度學習和神經(jīng)網(wǎng)絡的討論越來越多。深度學習技術在近兩年飛速發(fā)展,各種互聯(lián)網(wǎng)產(chǎn)品都爭相應用深度學習技術,產(chǎn)品對深度學習的引入也將進一步影響人們的生活

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

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

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

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

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

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

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

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

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

在移動互聯(lián)網(wǎng)時代的后半程和物聯(lián)網(wǎng)、5G時代的大潮下,人們對于移動端機器學習的需求已經(jīng)越來越強烈,這也就是為什么我們要在移動智能的場景下探討深度學習的原理、算法、解決方案和優(yōu)化問題。

深度神經(jīng)網(wǎng)絡在工業(yè)界機器學習領域是一種行之有效的解決問題的工具,因此大家都在想如何能將深度學習更有效地利用到計算能力和存儲能力更為有限的移動平臺中。在算法工程師的努力下,現(xiàn)在移動智能已經(jīng)無法離開深度學習。

02 移動平臺的發(fā)展與實踐

這是一個移動平臺機器學習技術風起云涌的時代,由各個擁有豐富技術積累的大型企業(yè)牽頭研發(fā)的移動端機器學習框架,推動了這一領域的迅速成長。由Google主導開發(fā)的TensorFlow Lite、Facebook主導開發(fā)的PyTorch Mobile以及由騰訊主導開發(fā)的NCNN框架的迅速崛起,各大科技公司紛紛推出移動端深度學習框架(甚至硬件):

●Google:推出TensorFlow Lite

●Facebook:推出PyTorch Mobile

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

●騰訊:推出NCNN

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

我們可以看到,主流大廠紛紛布局移動端機器學習已經(jīng)是十分明顯的趨勢,移動平臺更新迭代快,不僅相應的軟件技術日新月異,相應的SoC也迅速進化,而專門處理機器學習計算的神經(jīng)單元也早已嶄露頭角,如蘋果公司在iOS設備上使用的A系列仿生芯片,每年都在以令人驚訝的速度進化。

與此同時,龐大且活躍的用戶量也讓各個大廠加速布局移動端機器學習落地。因此,軟件的快速迭代、專有硬件的快速進化再加上龐大且活躍的用戶群讓移動平臺機器學習形成了良性發(fā)展,越來越多的產(chǎn)品在移動端落地,產(chǎn)生巨大價值的同時開辟了廣闊的市場。

把可穿戴設備以及邊緣計算設備納入移動平臺的范疇,我們還能看到潛在的應用和實踐。面向消費級產(chǎn)品的芯片已不再拘泥于中央處理器這個場景,越來越多的專有芯片已登陸各種可穿戴設備,比如蘋果公司推出的AirPods就搭載了專有H1芯片,華為公司推出的FreeBuds3也搭載了專有芯片來提升用戶體驗。

可以預想的是,在不久的將來通過這些移動平臺專有芯片實現(xiàn)人工智能技術也不是太過遙遠的事情。此外,邊緣計算設備結合新的通信技術,讓互聯(lián)網(wǎng)的疆域進一步得到擴展,如何讓邊緣計算設備提供人工智能計算解決方案是一個極為吸引人和令人激動的問題。通過移動端機器學習技術讓實時人工智能計算無處不在,已不再是純粹的設想。

雖說移動端機器學習和傳統(tǒng)服務器端的機器學習會有一些差異,但是必須要注意的是畢竟這依然屬于機器學習的范疇,只不過我們希望能夠在移動端能夠更高效地執(zhí)行我們訓練的模型,以滿足顯示生活中對機器學習應用的性能需求,因此我們依然需要關注機器學習的基礎知識、生態(tài)環(huán)境、工具鏈以及如何訓練我們的模型。

03 應用場景與流派

互聯(lián)網(wǎng)行業(yè)在移動端應用神經(jīng)網(wǎng)絡的案例已經(jīng)越來越多。與深度學習緊密聯(lián)系在一起的圖像技術同樣在業(yè)界廣泛應用。傳統(tǒng)計算機視覺和深度學習的結合使圖像技術得以快速發(fā)展。

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

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

目前的流派主要有兩種:

其一,依賴于網(wǎng)絡連接和API請求執(zhí)行深度神經(jīng)網(wǎng)絡,客戶端負責將所需的數(shù)據(jù)喂給API調(diào)用,并將API調(diào)用返回的數(shù)據(jù)顯示在客戶端的界面上。在移動端深度學習普及之前,絕大部分的移動平臺App 都使用了這種服務端計算+本地展示的方式實現(xiàn)機器學習應用。

優(yōu)點是開發(fā)移動端相對簡單,缺點是實時性不高,且無法在網(wǎng)絡環(huán)境不好的情況下服務。

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

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

由于深度學習需要大量數(shù)據(jù)(這會導致計算能力的降低),所以大部分深度學習都是云計算。通過移動端深度學習框架的推出,將不需要在云端擁有一大批的服務器,可以利用現(xiàn)成的移動設備上的數(shù)據(jù)來訓練模型,并逐步改善用戶體驗,不需要等待被調(diào)整的模型與云端之間往返。所有培訓數(shù)據(jù)都將保留在用戶的移動設備上,而不必單獨更新存儲在云端。

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

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

關于作者:盧譽聲,Autodesk數(shù)據(jù)平臺和計算平臺資深工程師,負責平臺架構研發(fā)工作。工作內(nèi)容涵蓋大規(guī)模分布式系統(tǒng)的服務器后端、前端以及SDK的設計與研發(fā),在數(shù)據(jù)處理、實時計算、分布式系統(tǒng)設計與實現(xiàn)、性能調(diào)優(yōu)、高可用性和自動化等方面積累了豐富的經(jīng)驗。擅長C/C++、JavaScript開發(fā),此外對Scala、Java以及移動平臺等也有一定研究。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論