面向建筑运行管理的 AI 基础平台设计
2020-02-01陈勤平叶从周谢鹏华上海市建筑科学研究院上海008上海建科商务服务有限公司上海0003
陈勤平,叶从周,严 敏 ,谢鹏华(. 上海市建筑科学研究院, 上海 008;. 上海建科商务服务有限公司,上海 0003)
1 研究背景
大型公共建筑拥有大量的设备和系统,受建筑设计、设备参数等技术条件和使用需求以及外部环境等多种因素影响,其运行管理具有很高的复杂度和不确定性。同时,各系统之间运行缺乏协调性,数据应用不充分,使建筑不能成为一个协调统一的有机体,管理运行效率较低,建筑精细化管理的需求愈发迫切。
近年来物联网、云计算,特别是新一代人工智能技术的发展,已深刻改变了人类社会生活。美国、欧盟等国家和地区以及一些科技巨头均制定了专项政策,投入人力、资金以大力发展人工智能。我国亦制定了相关政策,上海市于2017 年 11 月发布了《关于本市推动新一代人工智能发展的实施意见》的通知,明确提出要大力拓展人工智能融合应用场景,强化智能感知优化城市综合运行,推动物联传感、智能预测在电力、给排水、燃气等管网建筑能耗监控和安全运行监测及交通基础设施运行维护等领域的应用,保障城市基础设施智能有序运行。
实际上,人工智能应用从研发到部署是一套庞大的系统工程,从数据的生成、清洗、预处理、存储,到设计算法架构、搭建训练环境、训练模型、调整参数、模型效果评估和产生模型,再到最终的模型分发和部署应用,涉及诸多环节。面向建筑运行管理开发 AI 基础平台,可大幅度降低机器学习和深度学习等人工智能技术在建筑精细化管理中的应用难度,为其他应用系统提供人工智能技术支撑。
2 平台功能需求
AI 基础平台应以可视化的方式为用户提供数据定义、流程设计、算法选择、参数设置、模型训练部署等功能,并开放 API 接口。
(1)数据定义。用户可以通过平台上传 CSV 格式数据文件,或者通过定义数据库连接参数指定数据库中的数据表。
(2)流程设计。在平台上可以设计算法流程,如数据清洗、归一化、模型训练等数据和算法处理过程。
(3)算法选择。选择需要的算法,设置和调整算法参数。
(4)模型训练。根据定义的流程、选择的算法、设定的参数在提供的数据上进行训练。
(5)模板重用。算法流程和训练后的模型可以保存为算法模板,便于重复使用。
(6)用户友好。提供用好的用户界面,以可视化的方式设计算法流程,定义数据,选择算法,查看模型训练结果。
(7)接口调用。平台提供 Restful 形式的接口供其他应用程序调用,为其提供机器学习和深度学习等人工智能技术支撑。
3 平台架构设计
平台总体架构如图 1 所示。
图 1 平台总体架构
(1)用户可在平台界面上通过数据接口上传 Csv、Excel 等格式数据文件到服务器,或者定义数据库的数据表。
(2)用户可定义数据预处理方式。通过标准化、归一化、去除重复项、设置缺失值处理方法等方式,对数据进行预处理从而提高数据质量。
(3)基于机器学习框架 Scikit-learn/Spark ML、深度学习框架 TensorFlow/Keras 开发建筑运行管理适用的适用算法。
(4)用户在平台界面上以可视化方式定义算法流程、选择算法、设置算法参数。
(5)平台根据用户定义的流程和算法训练模型,用户可以查看训练结果,保存、部署训练后的模型。
(7)平台提供 API 服务接口,外部应用程序可通过API 调用平台算法服务。
4 平台程序流程设计
平台程序流程设计如图 2 所示。
图 2 平台程序流程设计
(1)用户建立算法模板,设置模板基本信息。
(2)在界面上以可视化方式设计算法流程,设计完成的流程提交到后台程序。
(3)后台程序将流程保存到数据库,同时将算法流程推送到消息中间件。
(4)算法程序从消息中间件获取算法流程,从数据中获取算法基本信息,运行算法流程。
(5)算法程序将运行结果推送到消息中间件,后台程序将运行结果存入数据库,前端界面展示从消息中间件获取运行结果并展示。
(6)若需要对运行结果不满意,可在算法流程进行调整,否则可保存为模板进行复用。
5 算法框架
5.1 机器学习
平台选择 Scikit-learn 和 Spark ML 作为机器学习框架。Scikit-learn 是专门面向机器学习的 Python 开源框架,包括分类、回归、聚类、降维、模型选择、预处理等多种模块,实现了 SVM、KNN、随机森林、SVR、Lasso、K-Means、PCA 等各种机器学习算法。但 Scikit-learn 并非分布式机器学习框架,对大数据处理效率较低,因此平台将 Spark ML 作为大数据机器学习框架。Spark 是为大规模数据处理而设计的快速通用的计算引擎,还有 Spark SQL、Spark Streaming、Spark ML、GraphX 等多种组件,Spark ML 是 Spark 提供的可扩展的机器学习库,可在大规模数据集上进行机器学习。
5.2 深度学习
目前深度学习框架已经从百花齐放的阶段发展为TensorFlow 和 PyTorch 两强争霸的境地。TensorFlow 在产业界广泛应用,PyTorch 因其易用性和支持动态图等特性在学术界的应用后来居上。最近发布的 TensorFlow 2.0 和Keras 深度整合,提升了应用性,对动态图也提供了支持,同时具有可视化工具 TensorBoard 和部署服务 TensorFlow Servering,对移动端可进行更好地支持。因此平台选择TensorFlow 作为深度学习框架,后期也会扩展对 PyTorch的支持。
6 应用场景
机器学习和深度学习在建筑运行管理过程中有广泛的应用场景,如能耗数据异常判断与修复、建筑能耗预测、仪表数字图像识别、建筑设备运行优化等。
(1)能耗数据异常判断与修复。采用 K-Means 聚类算法对 14 d 的逐时能耗数据进行聚类,将数据分为 6 类,对某类占比小于阈值的即认为时异常数值,再采用 KNN 算法计算模拟值。通过联合 K-Means 和 KNN 算法,可以较好实现能耗异常数据判断和缺失数据修复。
(2)建筑能耗预测。根据建筑类型,以室外温度、相对湿度、工作时间、工作日、节假日作为特征参数,可以采用 SVR、随机森林、KNN 等算法对建筑能耗进行短时预测,为设备开启提供依据。
(3)建筑用能诊断。基于历史数据,采用 K-Means聚类算法对建筑逐时用能曲线进行分类,形成每日“高”“中”“低”能耗类别,建筑实际运行数据与分类曲线比较,得到对建筑用能情况的初步诊断。
(4)仪表数字图像识别。对燃气表、水表等一些缺乏数据通信口的仪表,可采用摄像头拍照方式,在边缘计算设备上,采用深度学习算法基于 MobileNet 等轻量级神经网络模型对照片进行数字识别,从而实现数据采集。
(5)建筑设备运行优化。目前建筑中设备运行基本上采用基于固定规则的控制策略或 PID 控制,泛化性较差,不能够持续优化。可以采用强化学习方法优化建筑设备运行策略,建立运行优化任务的马尔可夫决策过程模型,确立激励规则,应用强化学习算法探索学习不断改进控制策略,并使算法探索过程满足系统设备运行和约束条件。强化学习通过试错和优化进行设备运行策略的调整,可以不断适应条件变化,自动优化控制策略。还可以深度学习的感知能力和强化学习的决策能力相结合形成深度强化学习,进一步增强决策优化能力。
7 结 语
通过建立面向建筑运行管理的机器学习和深度学习的 AI基础平台,提供适用于建筑运行管理场景的算法。此平台可大幅降低人工智能技术在建筑运行管理中的应用难度,为建筑精细化管理提供技术支撑。