摘要:人工智能技術(shù)在移動終端的應(yīng)用呈現(xiàn)出飛速發(fā)展的態(tài)勢。基于神經(jīng)網(wǎng)絡(luò)的人工智能技術(shù)主要依靠構(gòu)建人工智能的總體框架和網(wǎng)絡(luò)模型的運(yùn)行推理技術(shù),來實現(xiàn)科學(xué)研究的實踐化。本文將通過對移動終端上的人工智能技術(shù)應(yīng)用分析,進(jìn)一步深化研究移動智能終端的人工智能技術(shù),從而提出關(guān)于未來終端人工智能技術(shù)發(fā)展的預(yù)測。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);人工智能;移動終端
一、人工智能技術(shù)在移動終端上的應(yīng)用
隨著智能手機(jī)、平板電腦、運(yùn)動手環(huán)等移動終端在人類日常生活中的普及使用,人工智能技術(shù)已經(jīng)在人類的日常生活中占據(jù)著非常重要的地位。AI技術(shù)能使各種設(shè)備愈發(fā)便捷化、人性化,主要是基于神經(jīng)網(wǎng)絡(luò)來實現(xiàn)的。相較于傳統(tǒng)的遵循特定計算邏輯和規(guī)則的應(yīng)用編程,神經(jīng)網(wǎng)絡(luò)可以通過程序員提供的樣本進(jìn)行自主選擇學(xué)習(xí)、自動執(zhí)行任務(wù)。多層次構(gòu)成的神經(jīng)網(wǎng)絡(luò),除了輸入層和輸出層,還包括隱藏層。每一層次的神經(jīng)元都具備將抽象復(fù)雜的數(shù)據(jù)表示法進(jìn)行簡略化理解、操作的能力。
盡管神經(jīng)網(wǎng)絡(luò)運(yùn)行的原理相同,但是人工智能技術(shù)在移動終端上的應(yīng)用形式卻存在一定差異。其中,較為簡單的一種是端云結(jié)合的AI技術(shù)。移動客戶端作為信息采集的據(jù)點,通過網(wǎng)絡(luò)將收集到的信息數(shù)據(jù)傳遞至云端,經(jīng)過云端的AI處理后再反饋給客戶。這種形式主要適用于語音助手、在線翻譯等對相應(yīng)速度要求不高的功能服務(wù)。另外,還有一種是在移動客戶端直接進(jìn)行操作的AI技術(shù)。這樣不僅能夠使客戶端的響應(yīng)時間得到有效縮減,而且還能提高其使用的安全可靠性,更好地保護(hù)用戶隱私的相關(guān)數(shù)據(jù)。同時,這種直接進(jìn)行人工智能處理的技術(shù)還能不受網(wǎng)絡(luò)環(huán)境的限制,在無網(wǎng)絡(luò)信號覆蓋的區(qū)域中依然支持使用。當(dāng)然,如果想較為完美地發(fā)揮這些優(yōu)勢,還需要滿足移動終端關(guān)于算力和功耗的一系列要求。
二、移動終端人工智能的總體構(gòu)架
移動終端人工智能技術(shù)的正常運(yùn)行,不可缺少端側(cè)人工智能計算框架的支持。目前,端側(cè)人工智能計算框架主要是基于神經(jīng)網(wǎng)絡(luò)進(jìn)行向上、向下的推理計算。向上是通過UI用戶界面向用戶提供功能邏輯、數(shù)據(jù)儲存等服務(wù)。向下則是通過調(diào)用人工智能計算框架進(jìn)行AI任務(wù)處理,使數(shù)據(jù)得到獲取、傳遞以及結(jié)果反饋。一般來講,移動終端的人工智能計算構(gòu)架主要包括通用構(gòu)架和專用構(gòu)架。通用構(gòu)架指Tensorflow Lite、Caffe2等,它們能夠支持Android、iOS多操作系統(tǒng)、多芯片平臺的人工智能計算構(gòu)架。專用架構(gòu)指SNPE、HiAI等,這些人工智能計算構(gòu)架僅支持部分芯片平臺上的運(yùn)行。
終端人工智能技術(shù)的推理計算,最終是要在硬件上得到落實。移動終端的人工智能技術(shù)在為人類的日常生活提供便利的前提下,也對終端的計算芯片的算力有著高標(biāo)準(zhǔn)的要求。目前,比較常見的硬件資源包括 CPU、GPU、DSP、NPU等。其中,CPU構(gòu)架中大比重的控制器、寄存器等部件能夠帶動指令的準(zhǔn)確執(zhí)行、函數(shù)的調(diào)用,但適應(yīng)于計算的邏輯單元較少,處理數(shù)據(jù)的能力較弱。相比而言,GPU能夠提供的算力更高,用于圖像處理的邏輯單元更豐富,但是算力依舊不能緊跟移動終端人工智能技術(shù)的腳步。為了更進(jìn)一步滿足移動終端對AI技術(shù)算力的要求,專門針對人工智能計算的AI硬件加速單元NPU、DSP等出現(xiàn)在了大眾視野。通過采用程序和數(shù)據(jù)分開的結(jié)構(gòu),DSP芯片利用專門的硬件乘法器下達(dá)指令,在虛擬或增強(qiáng)現(xiàn)實、處理圖像或視頻、計算視覺等計算負(fù)載當(dāng)中發(fā)揮重要作用。同時,各種神經(jīng)網(wǎng)絡(luò)模型的算法在這里得到了極速版實現(xiàn),高通驍龍芯片的HVX矢量擴(kuò)展技術(shù)(DSP)和張量加速器HTA就是很好的例子。
三、神經(jīng)網(wǎng)絡(luò)推理的四步驟
基于神經(jīng)網(wǎng)絡(luò)的人工智能技術(shù)在終端的應(yīng)用,主要是通過推理計算實現(xiàn)的。神經(jīng)網(wǎng)絡(luò)的推理是利用模型進(jìn)行數(shù)據(jù)的運(yùn)轉(zhuǎn)、預(yù)測的過程,執(zhí)行一般需要四步驟:神經(jīng)網(wǎng)絡(luò)模型的轉(zhuǎn)換與加載、數(shù)據(jù)轉(zhuǎn)換、神經(jīng)網(wǎng)絡(luò)模型的運(yùn)行推斷、推理結(jié)果輸出。
(一)神經(jīng)網(wǎng)絡(luò)模型的轉(zhuǎn)換與加載
進(jìn)行神經(jīng)網(wǎng)絡(luò)推理的第一步,就是關(guān)于神經(jīng)網(wǎng)絡(luò)模型的選擇和使用。神經(jīng)網(wǎng)絡(luò)模型作為一種數(shù)據(jù)結(jié)構(gòu),是通過訓(xùn)練學(xué)習(xí)網(wǎng)絡(luò)的邏輯和知識,整理計算所采集的數(shù)據(jù),從而完成特定任務(wù)、解決相應(yīng)問題。神經(jīng)網(wǎng)絡(luò)模型在首次進(jìn)行人工智能操作前,需要搭建成型并進(jìn)行數(shù)據(jù)訓(xùn)練,訓(xùn)練的精準(zhǔn)程度達(dá)到推理應(yīng)用的要求后才能付諸實踐。在模型訓(xùn)練的過程中,會形成模型結(jié)構(gòu)和參數(shù)兩部分。同一個神經(jīng)網(wǎng)絡(luò)模型經(jīng)過數(shù)據(jù)訓(xùn)練后,可以按照參數(shù)轉(zhuǎn)換成不同的預(yù)訓(xùn)練模型,從而識別不同的目標(biāo)對象,對不同的人工智能任務(wù)進(jìn)行不同的處理操作。當(dāng)然,預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型一般是由上一節(jié)中提及的人工智能計算框架生成,不同的端側(cè)人工智能計算框架對應(yīng)支持不同的神經(jīng)網(wǎng)絡(luò)模型格式。通過人工智能計算框架進(jìn)行模型的轉(zhuǎn)換,轉(zhuǎn)換成各框架支持的格式之后,移動終端上的預(yù)訓(xùn)練模型的部署工作才能開展。比如TensorFlow模型是從TensorFlowLite架構(gòu)中應(yīng)運(yùn)而生。
神經(jīng)網(wǎng)絡(luò)模型的轉(zhuǎn)換與加載,是為了能夠更加高效地執(zhí)行設(shè)備命令,主要發(fā)揮兩個作用。首先是可靈活適配人工智能計算構(gòu)架。由于人工智能計算構(gòu)架的端側(cè)存在差異,支持神經(jīng)網(wǎng)絡(luò)模型的運(yùn)行就會受到局限。當(dāng)解釋器無法“認(rèn)同”預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,就需要對其進(jìn)行格式轉(zhuǎn)換以適配相應(yīng)的人工智能計算構(gòu)架。這種格式轉(zhuǎn)化的過程少不了模型轉(zhuǎn)換工具的功勞。只有模型轉(zhuǎn)換工具發(fā)揮了對預(yù)訓(xùn)練模型在結(jié)構(gòu)和參數(shù)兩方面的優(yōu)化功能,準(zhǔn)確率和處理速度就會得到滿意的提升。
關(guān)于神經(jīng)網(wǎng)絡(luò)模型的轉(zhuǎn)換與加載的第二個作用,是壓縮和優(yōu)化現(xiàn)有模型的作用。這種壓縮和優(yōu)化過程是模型的量子化過程。Float類型,是一般的神經(jīng)網(wǎng)絡(luò)模型的參數(shù)和數(shù)據(jù)參數(shù)類型,它通過在CPU或GPU上執(zhí)行來提高準(zhǔn)確率,但處理速度非常緩慢。隨著終端人工智能計算的AI硬件加速單元NPU、DSP等的發(fā)展,更好算力的int類型就此出現(xiàn)。就如同其命名的一樣,這是一類能夠支持INT型數(shù)據(jù)的預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,通過模型量子化過程,使模型能夠在AI加速度單元上執(zhí)行任務(wù)。盡管這樣的壓縮會損失一部分的精確度,但其充分利用AI加速單元提升的速度和降低的功耗,給移動終端的用戶帶來了全新的體驗。
(二)數(shù)據(jù)轉(zhuǎn)換
人工智能任務(wù)開始之前,需要進(jìn)行輸入數(shù)據(jù)的預(yù)處理工作環(huán)節(jié)。比如在識別圖像時,卷積核的大小、步長等參數(shù)都是神經(jīng)網(wǎng)絡(luò)模型處理的數(shù)據(jù)對象,根據(jù)處理圖像規(guī)定的要求進(jìn)行卷積等運(yùn)算。一般情況下,不同的神經(jīng)網(wǎng)絡(luò)模型對圖像都有不同的的尺寸要求。這就需要再執(zhí)行圖像處理任務(wù)時,需要在格式、大小上對采集的圖像進(jìn)行縮放或拉伸預(yù)處理,進(jìn)一步加工以滿足模型的尺寸要求。之后圖像預(yù)處理后,可以將其轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)模型進(jìn)行計算。為了適應(yīng)終端硬件單元的處理特點,通常需要將圖像轉(zhuǎn)換成線性變量,如內(nèi)存中的ByteBuffer。同時,根據(jù)模型的精度要求,將每個像素的值轉(zhuǎn)換為浮點型或int型。
(三)神經(jīng)網(wǎng)絡(luò)模型的運(yùn)行與推理
這一步驟涉及的神經(jīng)網(wǎng)絡(luò)模型的運(yùn)行與推理,主要在于對人工智能解釋器的構(gòu)建和相關(guān)數(shù)據(jù)的分配工作。人工智能解釋器在建構(gòu)過程中,能夠指定整個人工智能計算構(gòu)架的預(yù)訓(xùn)練網(wǎng)絡(luò)模型、各項數(shù)據(jù)參數(shù)、硬件適配等,驅(qū)動移動終端的硬件進(jìn)行計算,支持不同的移動操作系統(tǒng)運(yùn)轉(zhuǎn)。例如,TensorFlowLite的解釋器可以支持CPU、GPU、NN API。
CPU中運(yùn)行的float浮點數(shù),適用范圍廣泛,幾乎在所有的移動終端都可運(yùn)行使用,但是結(jié)構(gòu)限制下出現(xiàn)的算力有足、推理結(jié)果不夠精確、執(zhí)行速度較慢等,是其無法避免的缺陷。
GPU則是設(shè)計用來完成大規(guī)模運(yùn)算并行工作的。包含大量運(yùn)算符的神經(jīng)網(wǎng)絡(luò)是應(yīng)用GPU最多的一類,將大的輸入張量劃分為更小的工作負(fù)載同時執(zhí)行,會在推理運(yùn)算速度上得到大的提升。與CPU相比,利用GPU進(jìn)行高效的推理運(yùn)算的同時,還能消耗更少的電力和產(chǎn)生更少的熱量。
區(qū)別于CPU和GPU的普及化推理運(yùn)算,NN API是專門面向移動設(shè)備上的機(jī)器學(xué)習(xí)高密度運(yùn)算而生。它作為一個基礎(chǔ)性階段,為訓(xùn)練神經(jīng)網(wǎng)絡(luò)的更高級機(jī)器學(xué)習(xí)框架的構(gòu)建而做準(zhǔn)備。
(四)推理結(jié)果輸出
這一步驟是在模型執(zhí)行完畢之后,向客戶反饋特定的數(shù)據(jù)結(jié)構(gòu)的過程。為了防止用戶無法理解數(shù)據(jù)的含義,開發(fā)人員就需要附帶完成關(guān)于反饋數(shù)據(jù)的解釋工作,將數(shù)據(jù)結(jié)構(gòu)以通俗易懂的形式解釋給用戶。例如在進(jìn)行圖像分類處理中,神經(jīng)網(wǎng)絡(luò)模型會自動生成圖片處理結(jié)果相關(guān)的概率列表,而且結(jié)果會由多組數(shù)據(jù)組成,按照概率高低逐一展現(xiàn)出來。
四、結(jié)語
人工智能技術(shù)在移動終端的應(yīng)用是打破傳統(tǒng)編程邏輯的新發(fā)展方向,能夠在人性化的智能時代為用戶提供更智慧、更便捷的服務(wù)。無論是芯片廠商、終端廠商或人工智能框架開發(fā)商,都紛紛抓住移動終端智能化的商業(yè)發(fā)展契機(jī),在各自負(fù)責(zé)的領(lǐng)域范疇投入了前所未有的支持力度,使基于神經(jīng)網(wǎng)絡(luò)的人工智能技術(shù)在移動終端的應(yīng)用日益完善。相信人工智能技術(shù)在移動智能終端的應(yīng)用發(fā)展將不會止步于此,一定會在未來伴隨著技術(shù)的不斷成熟、用戶體驗的不斷反饋升級、服務(wù)質(zhì)量的不斷優(yōu)化而走向顛覆性的新時代。
參考文獻(xiàn):
[1]解謙,張睿,劉紅.移動智能終端基于神經(jīng)網(wǎng)絡(luò)的人工智能技術(shù)與應(yīng)用[J].信息通信技術(shù)與政策,2019(12):45-50.
[2]張偉.談未來移動通信技術(shù)發(fā)展趨勢與展望[J].數(shù)字通信世界,2017(05):151-154.
[3]郭佳穎,解謙,陳詩洋.移動智能終端指紋識別率和識別處理時延測試方法[J].移動通信,2018(06):1-6.
[4]成郁.信息通信技術(shù)的基本原理及5G移動通信技術(shù)發(fā)展的探究[J].數(shù)字通信世界,2018(07)131.
武漢商貿(mào)職業(yè)學(xué)院覃勤