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