叶柯 孔佳玉 周奕希 曹瀚洋 姜沁琬
摘 要 以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—),本科,研究方向:文本生成、目标检测。