靳丹 周建宏 陳佐虎 李寧
國網甘肅省電力公司 甘肅 蘭州 730030
在音頻﹑視頻﹑文本識別應用領域,基于深度學習的人工智能技術已經成為工程界的主流[1],如何提升模型準確度是一個不可避免的工程問題。以圖像識別為例,針對深度學習技術路線而言,提升圖像識別準確率主要有以下幾種辦法:
這是最簡單也最可靠的解決辦法,深度學習模型的準確程度主要取決于樣本數據。增加驗證準確性的最簡單方法就是添加更多數據。除增加原始樣本外,一般可以通過圖像增強或者生成對抗網絡補充樣本。
向模型中添加更多層可以增強它更深入地學習數據集特性的能力,因此它將能夠識別出細微差異。增加訓練輪次也可以提升模型準確度,但當訓練輪次增加到一定程度后,模型準確度提升將變得極為緩慢甚至可能降低。
使用預訓練的模型,并進行參數調諧。
現有人工智能模型的準確度以及樣本獲取需要通過技術人員主動去發現,這不屬于自動化的工業方式。因而,本文提出一種模型準確度提升方法,自動捕捉樣本,供后臺訓練﹑評估用,進而生產出新的模型,進而實現不斷改進模型識別準確度的目標。
對集團企業而言,云端人工智能平臺并不能解決所有問題。受限于網絡通信條件,許多應用需要采用云邊協同方式解決。以最常見辦公領域為例。音頻識別﹑圖像識別﹑OCR識別以及文本識別均得到了廣泛應用。典型場景包括會議語音識別﹑話音轉文本﹑參會人員識別﹑文件材料OCR讀取。集團總部一般通過云中心進行人工智能計算支撐,而分支機構受限于網絡條件,通常需要云邊協同架構達成目的。
電力行業是數字化信息化較快的領域,隨著基層大量的人工智能應用接入,難免會遇到數據處理的反鎖問題。特別是在圖像﹑音頻以及文本識別等融合應用普及后,海量的數據和運算大大增加了成本和云端服務器負荷。在此背景下,新的邊緣智能計算技術需求應運而生。
所謂邊緣計算,就是把計算前置,更靠近計算場地做實時處理,直接在邊緣側智能分析,只把處理后的結構化數據和少量樣本數據上傳云。邊緣計算設備與云端互動管理設備協同完成應用支撐,極大提升了設備和網絡利用率,提高了響應的實時性,對數據的安全性與準確性也有了更近一層的保障。在云邊協同模式下,云端一般完成模型訓練﹑模型評估﹑模型下發﹑模型版本管理以及樣本庫管理工作。邊緣設備接收云端下發的人工智能模型,利用自身計算能力承擔工程計算任務,同時上傳處理結果以及某些特定樣本數據。
方案面向兩級部署應用,邏輯上可分為三個主要部分:①集團-平臺側(云端);②軟件/模型/樣本分發機制;③邊側應用。
①針對邊側應用建設樣本倉庫﹑模型庫,管理邊側應用的個性化樣本﹑模型;②建立評估標準,從樣本中按統計方法選取模型評估集,建立模型評價指標體系;③從集團樣本庫和邊側樣本倉庫中按M︰N比例提取樣本,訓練邊側模型。M﹑N數值按工程需要調整。
圖1 整體部署架構
工作包括[2]:①數據收集:獲取什么類型的數據,數據可以通過那些途徑獲取。常見的數據來源是采集﹑購買或其他方式獲取現有數據;②數據理解:獲取到原始數據之后,分析數據里面有什么內容﹑數據準確性如何,為下一步的預處理做準備;③數據預處理:原始數據可能會有環境影響或者干擾因素,所以為了保證預測的準確性和有效性,需要進行數據增強。常見的比如調整照片亮度﹑對比度﹑銳化等等;④特征提取:將數據里有用的,有典型特征的抽取出來;⑤模型構建:依托常用框架(Tensorflow﹑Pytorch﹑Darknet(yolov4)﹑百度飛槳),使用適當的算法,獲取預期準確的值。⑥模型評估:通常對一個模型進行評估的標準有準確率﹑查全率;⑦模型訓練:根據模型評估的結果,對模型進行不斷的訓練甚至是調整,以達到更好的效果;⑧生成可下發的模型:將模型部署﹑應用到邊側實際場景中。
所采用DOCKER倉庫使用流程如下:①云端搭建Harbor倉庫;推理模型鏡像上傳至Harbor;云端安裝Portainer管理工具;②利用Portainer代理將邊端注冊到云端;③邊端定期拉取/更新AI識別模型鏡像;④邊端創建數據卷容器;⑤掛載數據卷容器,建立模型數據的映射關系,啟動推理模型容器;⑥實現AI識別模型同步至邊端數據卷容器中,邊端啟動應用程序容器,掛載含有AI識別模型的數據卷容器,實現AI識別模型同步至應用系統容器中,應用系統便可實現AI識別工作。
邊側模型同步機制如下:①模型和樣本采用Public /subscribe模式;②模型描述依據基準測試集建立指標體系;③樣本上傳通過數據中臺通道。
圖2 邊側設備部署
該模型準確度提升方法包含以下步驟[3]:①在現有多種開源﹑開放的模型中選取兩個作為遷移學習基礎模型,并在基礎樣本集﹑測試集上進行圖像識別訓練﹑評估,得出精度和召回率;②權衡精度和召回率,使用F1分數作為信度函數
③針對同一目標問題,采用不同樣本集訓練兩個人工智能識別模型,不失一般性,模型a,模型b;④根據模型a,模型b在測試集的表現,即F1(a),F1(b)定義優先級;⑤模型a,模型b均部署在邊端設備上;⑥在邊端目標識別過程中,當模型a,模型b結果出現差異,將差異圖像上傳云端人工確認,確認的結果作為模型a,模型b的評價,并累計。同時,將差異圖像保存到樣本庫。⑦當差異信度函數大于閾值設定時,Abs(F1(a)-F1(b))>閾值T,則更新評價分值F1較低的模型。⑧因為只更新一個模型,所以邊端設備上的模型始終存在差異,形成更新驅動力。
在某邊端實際應用場景中,我們使用了1塊FPGA和6塊NPU(17Tflops),可以支持128路1080P視頻,模型平均更新周期約為2個月。接下來的工作是重點提升邊緣設備設備的可靠性。
AI技術相對開放,但入門的門檻也比較高。未來幾年內,信創方向有望與AI技術深度融合,率先在業務應用中實現全國產化。因而,以邊端識別等輕量級應用為切入點,可以快速積累人工智能應用經驗。