葉柯 孔佳玉 周奕希 曹瀚洋 姜沁琬


摘 要 以web 開發技術與人工智能技術為核心 平臺采用前后端分離模式進行開發 前端平臺主要使用react 框架進行搭建 后端使用gin 框架及gorm 實現與mysql 的數據持久化 且利用docker容器技術進行快捷開發 同時 使用flask 設計編碼解碼器encoder-decoder 模型的接口進行數據重建 實現對異常檢測模塊的調用 利用該平臺 可以對導入的工廠排污數據進行可視化分析 并對某一段時間序列內的異常點進行檢測 從而檢測工廠是否有偷排行為
關鍵詞 編碼解碼器 異常檢測 數據重建 偷排行為
中圖法分類號tp311? ?文獻標識碼a
1 引言
作為碳排放總量世界第一的大國,我國工業總體上尚未完全走出“高投入、高消耗、高排放”的發展模式困境,生態環境保護仍長期面臨資源能源約束趨緊、環境質量要求持續提高等多重壓力,中國環保產業的市場前景不斷擴大。然而,排污企業是固定污染源,其污染排放是我國環境污染的主要來源之一。對固定污染源的監管是我國污染防治的重中之重。但目前,仍然存在企業偷排,惡意篡改監測設備參數,破壞在線監測設備設施,設備運維不規范、不及時導致的監測數據異常或無效的情況,給環境造成污染,進而對監管提出更高的要求。
綜上所述,環境污染問題與國家經濟息息相關,更與人們的生活環境相關,故對排污數據的有效處理和反饋有著十分重要的意義。
2 相關領域發展現狀
目前,國內外對于水質等污染排放的檢測在硬件方面已十分完備,各類水質傳感器、漂浮式水質監測站以及水質監測終端機的開發與研究,保證了對水質排放相關指標數據的精準高效搜集。
然而,大多數企業只是做排放檢測,并且只是簡單地進行了一些排放污上限的判斷,這只能檢測排放是否超標,而針對一些污染偷排導致的數據異常行為卻無法檢測。由于僅用一些法律手段來要求企業自查,監管部門難以進行高效監管[1] ,因此可利用物聯網技術,在不同排污口設置監測點,再將監測點數據上傳至數據中心進行可視化[2] 。在時間序列的異常檢測領域中,通常基于一些傳統統計學方式,如3?sigma原則、指數平滑法、滑動平均法、ARIMA 模型。
隨著人工智能技術飛速發展,后續出現了一些基于DNN 網絡的模型[3] ,本文設計了一種基于編碼解碼器(Encoder?Decoder)的數據重建模型,對排污異常數據進行較為合理高效的判斷。
3 平臺構建
3.1 前端設計
Web 平臺采用前后端分離模式進行開發。前端平臺主要使用React 框架進行搭建,React 是一套用于構建用戶界面的javascript 庫,其聲明式設計使創建交互式UI 更加便捷,有利于對每個狀態設計簡潔的視圖。同時,React 的組件化可便于構建管理自身狀態的封裝組件,從而與其他組件配合構成復雜的UI。當數據變動時,React 將新變更的文檔樹與原虛擬文檔樹進行比較,部分刷新視圖,能更高效地更新并渲染合適的組件,最大程度上減少與文檔樹的交互。項目主要由Redux 進行全局狀態管理及路由權限控制。Redux 是JavaScript 應用的狀態容器,其提供可預測的狀態管理,可以運行在客戶端、服務端和原生程序。其集中管理應用的狀態和邏輯便于進行撤銷重做操作以及實現狀態持久化等功能。數據可視化主要基于Echarts 實現,Apache ECharts 是一個基于JavaScript的開源可視化圖表庫,通過數據集管理數據,支持數據過濾、聚類、回歸,幫助實現同一份數據的多維度分析;支持Canvas,SVG, 使用增量渲染、流加載等技術實現千萬級數據的流暢交互,并且可配置友好的無障礙訪問,可生成圖標描述和貼花圖案,幫助視力障礙人士了解圖表內容,讀懂圖表背后的故事。
前后端交互將使用axios 請求方式。axios 是一個基于promise 的網絡請求庫,其支持PromiseAPI,可自動轉換JSON 數據,并且客戶端支持防御XSRF。平臺將導入的信息存放在axios 請求體中并發送給后端,經算法模型處理后,由后端將模型提取出的有效信息返回給前端,前端再將這些信息展示在界面上,實現前后端分離。
3.2 后端設計
使用Golang 進行后端開發,主要使用輕量化的Gin 和GORM 框架,Gin 路由基本遵循Restful 風格進行編寫,該框架相較于原生HTTP,具有更好的性能和更多的拓展功能。使用GORM 框架編寫持久化層對MySQL 進行高效的數據讀寫和管理。
在系統功能視圖設計方面,將用戶分為管理員、公司人員、游客3 級,不同的級別具有不同權限,如管理員可以修改公司的異常狀態、公司可以進行異常申訴、游客可以進行舉報等。
通過JWT 進行token 鑒權和權限功能控制,相較于session 和cookie 方案,JWT 的鑒權更加高效,在用戶量大時更節約服務器存儲空間。平臺登錄界面(多角色登錄選擇)如圖1 所示。
Gin 框架與Flask 相結合,Gin 負責處理路由,Flask 負責數據處理以及模型運行, 利用Numpy,Pandas 等數據處理庫,以及用Pytorch 框架編寫的模型進行處理,得到相關指標和數據,最后將其返回給前端進行可視化展示,2 種編程語言優勢互補,有機結合,充分發揮它們在不同領域的功能優勢。其具體如圖2、圖3 所示。
3.3 異常檢測編碼解碼器模型設計
首先對輸入數據進行清洗和適當濾波降噪等預處理,而后進行多次encode 編碼,在encode 模塊中,嵌入了self?attention 機制和MLP 網絡[4] ,對輸入信息進行特征提取,并且參考了Resnet(殘差神經網絡)的設計[5] ,增添了Resnet Block 以避免因網絡過深導致的梯度消失問題。之后,進行decode 解碼及序列的推理重建,如此進行適當的訓練即可使網絡具有強大的重構能力,并且根據不同的輸入數據,可以進行更多的數據異常檢測下游任務。異常檢測編碼解碼器模型結構設計如圖4 所示。
3.4 系統部署
利用Docker 容器技術進行部署。通過編寫Dockerfile 將本地項目及各種依賴進行打包,生成Docker 鏡像,上傳至倉庫后,在服務器端進行鏡像拉取并創建容器,以部署應用服務,可以實現系統資源利用更高效、啟動時間更快速,以及遷移、維護和擴展更便捷。
4 結束語
針對排污數據的高效利用,本文基于編碼解碼器(Encoder?Decoder)對數據進行異常檢測,并且構建了數據可視化監管平臺,可以讓用戶輕松處理污染排放異常的問題,將污染排放與環保監督有機結合,快速辨別異常原因,形成監管層的高效監督。未來,將收集更多渠道數據,與數據提供商和監管部門站在同一戰線,賦能監管一站化、智能化。
參考文獻:
[1] 呂曉君,董崢,吳鐵,等.基于環保大數據的污染防治可行技術數據庫建設路徑研究[J].環境影響評價,2018,40(1):15?18.
[2] 李凱.環保大數據在智慧環保監管領域的應用思考[J].皮革制作與環保科技,2022,3(1):33?35.
[3] 李晨,陳玉松.時間序列模型研究現狀及發展分析[J]. 中外交流,2018(18):50.
[4] VASWANI A,SHAZEER N,PARMAR N,et al.Attention isall you need[J].Advances in neural information processingsystems,2017,30:10663?10671.
[5] HE K,ZHANG X,REN S,et al.Deep residual learning forimage recognition[C]∥Proceedings of the IEEE conferenceon computer vision and pattern recognition,2016:770?778.
作者簡介:
葉柯(2002—),本科,研究方向:文本生成、目標檢測。