999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微控制器設計的神經網絡數據預處理應用框架

2023-12-26 04:47:10關靖濤
智能制造 2023年6期
關鍵詞:模型系統

關靖濤

(廣東海洋大學計算機科學與工程學院,廣東 陽江 529500)

關鍵字:人工智能物聯網;神經網絡;嵌入式系統;微控制器

1 引言

隨著神經網絡技術的不斷普及,我們可以清晰的看到它對生活產生的各種變化,從起初將卷積神經網絡應用到了汽車的自動駕駛和人臉識別等各個場景,到現在自然語言處理的集大成模型——ChatGPT 的出現帶來了更人性化的人機交互體驗,無一不體現出其重要性。目前神經網絡標準的開發流程是先根據需求采集合適的數據并對其進行分類標記,再搭建特定的神經網絡模型,隨后通過使用高算力、高性能的服務器來對目標模型進行訓練,根據結果不斷對其權重參數或模型架構進行調整和優化,在獲得了滿意的準確率和推導能力之后便將模型部署到系統中,常規的部署方案是采用“遠程”的推導方式,即用戶端負責數據的采集并使用某種通信方法將其傳送到服務器中進行處理和推導[1],得到的結果再傳送回用戶端的執行單元中,經判斷決定本地設備該執行何種類型的動作。

用戶端的本地設備只參與了“數據采集”與“動作執行”的兩個步驟,核心設備仍然是神經網絡模型所在的服務器端。這種傳統的部署方法隨著芯片計算能力的提升產生了許多變化與創新,其中人工智能物聯網(AIoT)就是其中新的應用方向,它是由人工智能(AI)和物聯網(IoT)相互融合、相互促進后誕生的新興技術,目標是豐富感知層的執行能力,通過借助高性能的芯片,讓傳感節點來輔助完成神經網絡模型推導過程中更多的重要步驟,甚至可以將規模不大、算力要求不高的模型下放到節點中,使整個系統能具備離線推導的能力。本文則解釋如何將神經網絡模型推導過程中數據預處理這一步驟的內容移植到本地的嵌入式設備,直接為神經網絡模型提供可用的數據,拓展人工智能網絡在工業發展和智能家具等領域的使用場景。

2 卷積神經網絡的數據處理

2.1 卷積神經網絡的用途

卷積神經網絡(Convolutional Neural Networks,CNN)是深度學習最具代表性的算法之一,它是一種包含了卷積運算并且帶有深度結構的前饋神經網絡,常適用于圖像識別或手寫識別等。卷積神經網絡是通過使用不同大小的卷積核對目標圖像的窗口或部分區域進行采樣和特征抽取,最后利用這些特征來構建出目標圖像的分類或表示內容。在此重點討論其使用的數據的類型和對輸入數據的處理方法。

2.2 卷積神經網絡使用的數據

卷積神經網絡的處理對象是圖像,那么輸入到模型中的自然是與圖像相關的數據,在對模型進行訓練或推導時,常用的輸入數據就分為單通道圖像(灰度圖)和多通道圖像,獲得的圖像在經過一系列步驟處理后才可進行使用。

2.3 數據的處理方法

通常原始的圖像數據復雜度高,并且可能會含有大量噪聲等不利因素,直接使用會影響神經網絡的準確率和運行效率,因此輸入的圖像必須要完成各種預處理操作[2]。而常規的數據預處理方法包括濾波去噪、去均值、歸一化或白化等相關操作。以下對歸一化和去均值兩種常用的處理方法做簡單的介紹。

1)歸一化。歸一化的目的是為了讓不同維度的數據具有相同的分布,有利于卷積神經網絡在訓練的過程中更好的優化自身網絡的權重和偏置,以下為線性歸一化的表達式:

式中,xnew為歸一化后的目標值,xorg為需要進行歸一化的原始值,xmax、xmin分別為卷積神經網絡模型輸入張量中的最大值與最小值。觀察公式可知在轉換完成后輸入張量中的所有數據可以標準化映射成在[0,1]區間的任何一數值,借此可以縮小輸入數值的范圍,做到降低模型的收斂速度和提高模型泛化等能力。

2)去均值。當輸入的張量中有過大的均值時,會導致參數的梯度過大,因此需要使用去均值的方法來處理數據。將張量中的原特征值減去均值后的結果即為新的特征值,處理后的數據各個維度都中心化為0,從而避免過多的數據偏差。

3 循環神經網絡的數據處理

3.1 循環神經網絡的用途

循環神經網絡(Recurrent Neural Network,RNN)是以序列數據作為輸入,并且在序列的演進方向進行遞歸,其所有循環單元都按照鏈式連接的遞歸型神經網絡。因為循環神經網絡具有記憶性、參數共享以及圖靈完備等特點,使得它對序列的非線性特征的學習具有優勢,是深度學習中除卷積神經網絡外的另一個重要算法。

循環神經網絡應用的場景很多如語音識別、語音助手和機器翻譯等,且可以和卷積神經網絡進行結合來開發復雜應用,如使用卷積神經網絡對圖片的特征進行分類后讓循環神經網絡來生成對應的文字描述等。

3.2 循環神經網絡使用的數據

循環神經網絡處理的對象是序列,這里“序列”的這個元素其實是我們生活中常見的連續并存在某種關聯的信息數據。

當下循環神經網絡最流行的應用場景是自然語言處理(Natural Language Processing,NLP),目標是讓計算機識別和理解人類使用的自然語言并執行與其對應的命令或動作,但無論是語音識別還是多語種翻譯,最終都是將文本轉換成序列信息來進行循環神經網絡模型的推導和訓練,下文也以序列作為網絡的使用對象展開講解。

3.3 數據的處理方法

循環神經網絡在訓練和部署這兩個不同的階段時針對輸入的信息會有不同的處理步驟,由于本文主題是以訓練后的網絡模型為前提下進行框架設計的,因此該節要處理的數據應是訓練數據集之外的輸入內容,而且系統內應保存有訓練完成的詞嵌入矩陣及字典等內容來輔助完成操作。

(1)分詞 在部署模型的硬件系統中,無論是從存儲設備或者是網絡上獲得的文本信息,在加載后都是以字符串的形式等待處理,首先第一個步驟是將這一連串的句子進行分詞,其中包括去除標點符號、去除停用詞、同義詞替換、區分大小寫或辨別姓名等操作。

得到了分詞的數組后,下一個步驟則對數組中的特征詞和字典中的內容進行匹配,獲取其整型編號并映射到程序的存儲空間中。

(2)獨熱編碼 獨熱編碼又稱為一位有效編碼,采用N位的狀態寄存器來對N個狀態進行編碼,使用在文本數據的預處理時,需要根據字典中總單詞的大小來決定獨熱向量的維度,比如說此時與部署的神經網絡模型匹配的字典中單詞的總數量為500,則要轉化的獨熱向量維度是500。每個單詞的獨熱向量與其映射的整型編號相關聯。

獨熱編碼的特點是使每個單詞都是單獨一維,單詞之間的特征完全相互獨立,但缺點也非常明顯,如果字典的單詞過多時,每個單詞的維度會非常高,導致構建循環神經網絡時需要計算巨量的權重參數,因此使用詞嵌入來對獨熱向量進行降維。

在框架設計中,需要根據設備的實際性能來挑選輸入序列的處理手段,若是字典的總容量不高,微控制器性能強勁,則可以直接上傳獨熱向量,甚至可以在本地中利用詞嵌入矩陣轉換成稠密向量再發送到上位機,否則只需要發送映射后的序列即可。

4 框架的實現

本節內容講解數據預處理框架的實現方法,先根據部署的網絡類型設計硬件結構,選取合適的微控制器和外設等,隨后根據前文所闡述的兩種神經網絡模型的數據處理方法來制定程序算法。同時該節內容也介紹如何將預處理框架嵌入已有的硬件系統中,以及框架后續功能擴展的思路和嘗試等。

4.1 硬件系統的搭建

搭建硬件系統時需要重點注意匹配兩個方面的內容:

一是硬件系統的實際功能,若是項目設計時開發的系統是針對圖像進行識別的話,在設備上就不需要增加一些與功能不相關的設備如麥克風、電機等;二是考慮系統穩定運行時的性能要求,神經網絡模型的運算大多都牽涉到浮點數和矩陣的運算,開發初期就應明確芯片對浮點數的處理能力,系統正常運行時是否需要進行高強度高密度的計算任務,確定適不適宜裝載預處理框架等。

本次搭建和測試預處理框架所選用的硬件如圖1 所示,該產品的核心采用了Cortex-M4 架構的STM32F407微控制器,其內部包含浮點運算單元(Floating Point Unit,FPU)和DCMI 數字圖像采集接口,大大提高了對浮點數運算和讀寫圖像的速度;另外開發板中已經集成了Wifi 和Bluetooth 等通信模塊,搭載預處理框架后無需再外接設備就能將采集到的聲音或圖像信息直接傳送到附近物聯網系統的網關單元中。

圖1 搭載預處理框架的開發板

另一方面,若是有需求在原有的物聯網系統上進行改造升級的,則需評估以下內容:原有微控制器的性能是否能滿足要求;原有的硬件設備是否留有足夠的接口進行擴展;原有的系統是否已經配備了通信模塊,是否需要額外增加多種通信方式;是否有擴展外部存儲空間,存儲空間的大小是否合適。當滿足了改造的條件之后,再根據神經網絡模型的類型來增加必要外設,即可完成原有系統的改造了。

4.2 預處理程序的實現

預處理框架中軟件層面上的核心則是實現數據預處理方法的代碼化,簡而言之就是將文字方法和公式轉化成可執行的代碼,至于對何種預處理方法進行轉換則要根據實際的開發情況而定。本節對前文中卷積神經網絡和循環神經網絡講解的預處理方法進行程序的算法設計,如圖2、圖3 所示。

圖2 圖片數據預處理程序算法

圖3 文本數據預處理程序算法

圖2 是針對卷積神經網絡中常規的圖片預處理程序的算法過程,在實際的測試環節中,使用本文搭建的硬件系統進行測試,處理一張200 萬像素的三通道圖像總共耗時約30ms,該處理速度已經符合了現實生活中大部分應用場景中的性能要求了。

同理,圖3 為循環神經網絡模型的數據預處理程序算法,根據項目開發時設定的輸入序列結構來選擇獨熱向量或者是映射后的序列作為程序的處理結果發送到上層應用。在實際的測試中框架的運行效果會隨著使用的字典大小變化而產生波動,若是模型使用字典的詞匯量較大,不對輸入進行獨熱編碼而是直接發送映射后的序列顯然占用硬件系統的資源更少,發送速度更快,反之獨熱編碼的處理結果更合適字典容量較小的情況。

4.3 效果驗證

基于前文對預處理框架的設計思路,將編輯好的代碼燒錄到開發板中作為傳感節點,實現對預處理框架的性能測試;通過節點處理采集到的圖像或序列數據,然后傳送到已經部署神經網絡模型的上位機中進行推導,觀察和評估預處理框架的實際運行效果。

(1)CNN 環境下的測試 本次測試在卷積神經網絡的環境下選用的模型是YOLO 算法,對目標環境進行實時的、多角度的識別和監控。該測試系統的監控頻率為30Hz,傳感節點通過攝像頭OV2640 獲取圖像信息,圖像分辨率設置為800×600,實際的運行結果如圖4 所示。

圖4 雙模式的識別效果對比

圖4a 顯示圖像為常規系統的識別結果,圖4b 則是在加載了預處理框架后的檢測圖像。在實際觀察中兩種模式都能穩定的保持30Hz 的刷新頻率。同樣的為了驗證預處理框架是否會影響神經網絡模型推導的準確率,本次測試分別統計了3 000 次、5 000 次與10 000 次的推導,對比兩種模式下的識別情況,具體數據見表1。

表1 雙模式準確率對比

由以上的數據可看出在搭載預處理框架的情況下,模型的準確率仍然能夠保持95%以上,再結合實際的運行效果,可以得出結論:在目前的設置下,將圖像識別中數據預處理的步驟放到速度較慢的傳感器節點中,不但不會影響監控系統運行,上層服務器還能釋放出的部分性能,在后續的維護中加以利用,進一步優化網絡模型的結構,提高系統的表現。

(2)RNN 環境下的測試 在針對循環神經網絡的工作環境中,本次測試選用了經典的Seq2Seq 模型來實現機器翻譯的應用。此時通過串口向傳感節點發送需要翻譯的句子,節點在處理輸入數據后將序列信息發送到神經網絡模型進行推導翻譯,其效果如圖5 所示。

圖5 翻譯效果圖

從圖5 可看到在傳送節點中輸入需要翻譯的英文句子后,節點通過預處理框架將句子整理成長度為20 的序列信息發送到上層應用,最終經過算法推導得到正確的翻譯結果。在這里由于本次使用的字典容量為1k,若對輸入序列進行獨熱編碼并直接發送獨熱向量會對節點造成不必要的資源浪費,故系統在正常運行時僅傳輸了與單詞對應的詞匯編號。

4.4 功能擴展

前文已經通過測試初步實現了預處理框架在人工智能物聯網中的應用,在實際的工業設計中還能根據任務需求的改動進行功能的擴展[3],本節內容先是評估了測試系統在執行框架后的剩余資源和整體性能,分別提出了在框架中增加中數據增強和詞嵌入矩陣的兩種功能設計思路。

先是適用于卷積神經網絡的數據增強功能,它是一種提高模型泛化能力的有效手段,原理是修改原始數據,包括對圖像進行旋轉、平移、錯切或縮放等一系列操作,從而加入新的訓練數據,在后期對卷積神經網絡模型的權重參數更新的時候會有更加積極的作用,預防過擬合的出現,而在程序的改動中只需要簡單的調整圖片的特征值即可。

這里使用了前文YOLO 監控系統,在程序代碼中設定為每10min 一次,截取當前畫面進行處理并保存到本地存儲,作為下次模型優化時的訓練集數據。該功能對截取的圖片進行一系列的修改,如旋轉或鏡像等,以保證數據集的多樣式。

另一方面循環神經網絡的擴展功能則是嘗試將詞嵌入矩陣加入到框架當中,由于深度學習在常規的自然語言處理應用中會加入詞嵌入層,對輸入端的獨熱向量進行降維,獲得包含豐富特性信息的稠密向量來進行推導,而詞嵌入層本質是一個矩陣,其內部數據在前期訓練結束后便長期保持,直至下一次模型的更新或修改,因此利用這個特點可嘗試將其存放在本地存儲中,預處理框架可根據獨熱向量查找到對應特征詞的稠密向量作為最后的處理結果,發送到上層應用[4]。

5 結束語

本文講解了數據預處理框架的設計步驟,分別采用了卷積神經網絡和循環神經網絡兩種模型中常見的預處理方法作為框架中程序的核心算法,部署在以STM32F407微控制器為核心的硬件設備中進行測試,并提出了若干個功能擴展的思路。在實際的工業環境中使用該數據預處理框架有諸多的好處,除了能提高神經網絡模型的推導效率,提供多種途徑增強和優化數據便于項目后期的維護和更新,還能對現有的硬件系統進行適配,從而進行人工智能項目的部署,降低研發的成本和門檻,還能讓深度學習的技術進一步普及到更多的應用場景,促進物聯網向人工智能物聯網方向發展與壯大[5]。

猜你喜歡
模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 午夜性刺激在线观看免费| 国产婬乱a一级毛片多女| 尤物精品国产福利网站| 亚洲欧美在线精品一区二区| 欧美一区福利| 日韩激情成人| 狼友视频国产精品首页| 中文字幕欧美日韩高清| 青青草综合网| 91精品国产丝袜| 国模沟沟一区二区三区| 免费一级无码在线网站| 伊人欧美在线| 国产高潮流白浆视频| 777国产精品永久免费观看| 高清不卡一区二区三区香蕉| 午夜福利网址| 欧美精品色视频| 国产成人综合在线视频| 国产成人精品18| 四虎永久免费地址| 亚洲婷婷丁香| 国产激情无码一区二区免费| 日韩毛片在线播放| 国产精品开放后亚洲| 亚洲天堂啪啪| 97国产在线观看| 日韩在线视频网站| 丰满的熟女一区二区三区l| 成人年鲁鲁在线观看视频| 丰满的熟女一区二区三区l| 狠狠色婷婷丁香综合久久韩国| 精品伊人久久久久7777人| 国产特级毛片aaaaaa| 色成人亚洲| 国产swag在线观看| 午夜毛片免费观看视频 | www亚洲天堂| 九九热精品视频在线| 不卡无码网| 99久久精品无码专区免费| 精品综合久久久久久97| 亚洲国产黄色| 成人va亚洲va欧美天堂| 欧美中文字幕第一页线路一| 国产波多野结衣中文在线播放| 国产系列在线| 久久久久中文字幕精品视频| 久青草免费在线视频| 国产麻豆精品在线观看| 中文字幕亚洲无线码一区女同| 国产青榴视频| 性69交片免费看| 久久久黄色片| 欧美视频在线播放观看免费福利资源| 在线观看免费黄色网址| 99热6这里只有精品| 国产香蕉在线视频| 波多野吉衣一区二区三区av| 精品少妇人妻一区二区| 毛片最新网址| 激情视频综合网| 亚洲色图综合在线| 国产精品蜜芽在线观看| 日韩av无码精品专区| 综合色婷婷| 国产美女视频黄a视频全免费网站| 天天视频在线91频| 国产成人精品视频一区视频二区| 99热国产这里只有精品无卡顿"| 日韩欧美国产区| 亚洲国产精品一区二区第一页免| 天天做天天爱夜夜爽毛片毛片| 99在线免费播放| 这里只有精品在线播放| 欧美日韩专区| 2019国产在线| 亚洲天堂成人| 久久综合色视频| 免费无码又爽又黄又刺激网站| 91久久偷偷做嫩草影院电| 亚洲人成网站在线观看播放不卡|