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