陳勤平,葉從周,嚴 敏 ,謝鵬華(. 上海市建筑科學研究院, 上海 008;. 上海建科商務服務有限公司,上海 0003)
大型公共建筑擁有大量的設備和系統(tǒng),受建筑設計、設備參數(shù)等技術條件和使用需求以及外部環(huán)境等多種因素影響,其運行管理具有很高的復雜度和不確定性。同時,各系統(tǒng)之間運行缺乏協(xié)調性,數(shù)據(jù)應用不充分,使建筑不能成為一個協(xié)調統(tǒng)一的有機體,管理運行效率較低,建筑精細化管理的需求愈發(fā)迫切。
近年來物聯(lián)網(wǎng)、云計算,特別是新一代人工智能技術的發(fā)展,已深刻改變了人類社會生活。美國、歐盟等國家和地區(qū)以及一些科技巨頭均制定了專項政策,投入人力、資金以大力發(fā)展人工智能。我國亦制定了相關政策,上海市于2017 年 11 月發(fā)布了《關于本市推動新一代人工智能發(fā)展的實施意見》的通知,明確提出要大力拓展人工智能融合應用場景,強化智能感知優(yōu)化城市綜合運行,推動物聯(lián)傳感、智能預測在電力、給排水、燃氣等管網(wǎng)建筑能耗監(jiān)控和安全運行監(jiān)測及交通基礎設施運行維護等領域的應用,保障城市基礎設施智能有序運行。
實際上,人工智能應用從研發(fā)到部署是一套龐大的系統(tǒng)工程,從數(shù)據(jù)的生成、清洗、預處理、存儲,到設計算法架構、搭建訓練環(huán)境、訓練模型、調整參數(shù)、模型效果評估和產(chǎn)生模型,再到最終的模型分發(fā)和部署應用,涉及諸多環(huán)節(jié)。面向建筑運行管理開發(fā) AI 基礎平臺,可大幅度降低機器學習和深度學習等人工智能技術在建筑精細化管理中的應用難度,為其他應用系統(tǒng)提供人工智能技術支撐。
AI 基礎平臺應以可視化的方式為用戶提供數(shù)據(jù)定義、流程設計、算法選擇、參數(shù)設置、模型訓練部署等功能,并開放 API 接口。
(1)數(shù)據(jù)定義。用戶可以通過平臺上傳 CSV 格式數(shù)據(jù)文件,或者通過定義數(shù)據(jù)庫連接參數(shù)指定數(shù)據(jù)庫中的數(shù)據(jù)表。
(2)流程設計。在平臺上可以設計算法流程,如數(shù)據(jù)清洗、歸一化、模型訓練等數(shù)據(jù)和算法處理過程。
(3)算法選擇。選擇需要的算法,設置和調整算法參數(shù)。
(4)模型訓練。根據(jù)定義的流程、選擇的算法、設定的參數(shù)在提供的數(shù)據(jù)上進行訓練。
(5)模板重用。算法流程和訓練后的模型可以保存為算法模板,便于重復使用。
(6)用戶友好。提供用好的用戶界面,以可視化的方式設計算法流程,定義數(shù)據(jù),選擇算法,查看模型訓練結果。
(7)接口調用。平臺提供 Restful 形式的接口供其他應用程序調用,為其提供機器學習和深度學習等人工智能技術支撐。
平臺總體架構如圖 1 所示。

圖 1 平臺總體架構
(1)用戶可在平臺界面上通過數(shù)據(jù)接口上傳 Csv、Excel 等格式數(shù)據(jù)文件到服務器,或者定義數(shù)據(jù)庫的數(shù)據(jù)表。
(2)用戶可定義數(shù)據(jù)預處理方式。通過標準化、歸一化、去除重復項、設置缺失值處理方法等方式,對數(shù)據(jù)進行預處理從而提高數(shù)據(jù)質量。
(3)基于機器學習框架 Scikit-learn/Spark ML、深度學習框架 TensorFlow/Keras 開發(fā)建筑運行管理適用的適用算法。
(4)用戶在平臺界面上以可視化方式定義算法流程、選擇算法、設置算法參數(shù)。
(5)平臺根據(jù)用戶定義的流程和算法訓練模型,用戶可以查看訓練結果,保存、部署訓練后的模型。
(7)平臺提供 API 服務接口,外部應用程序可通過API 調用平臺算法服務。
平臺程序流程設計如圖 2 所示。

圖 2 平臺程序流程設計
(1)用戶建立算法模板,設置模板基本信息。
(2)在界面上以可視化方式設計算法流程,設計完成的流程提交到后臺程序。
(3)后臺程序將流程保存到數(shù)據(jù)庫,同時將算法流程推送到消息中間件。
(4)算法程序從消息中間件獲取算法流程,從數(shù)據(jù)中獲取算法基本信息,運行算法流程。
(5)算法程序將運行結果推送到消息中間件,后臺程序將運行結果存入數(shù)據(jù)庫,前端界面展示從消息中間件獲取運行結果并展示。
(6)若需要對運行結果不滿意,可在算法流程進行調整,否則可保存為模板進行復用。
平臺選擇 Scikit-learn 和 Spark ML 作為機器學習框架。Scikit-learn 是專門面向機器學習的 Python 開源框架,包括分類、回歸、聚類、降維、模型選擇、預處理等多種模塊,實現(xiàn)了 SVM、KNN、隨機森林、SVR、Lasso、K-Means、PCA 等各種機器學習算法。但 Scikit-learn 并非分布式機器學習框架,對大數(shù)據(jù)處理效率較低,因此平臺將 Spark ML 作為大數(shù)據(jù)機器學習框架。Spark 是為大規(guī)模數(shù)據(jù)處理而設計的快速通用的計算引擎,還有 Spark SQL、Spark Streaming、Spark ML、GraphX 等多種組件,Spark ML 是 Spark 提供的可擴展的機器學習庫,可在大規(guī)模數(shù)據(jù)集上進行機器學習。
目前深度學習框架已經(jīng)從百花齊放的階段發(fā)展為TensorFlow 和 PyTorch 兩強爭霸的境地。TensorFlow 在產(chǎn)業(yè)界廣泛應用,PyTorch 因其易用性和支持動態(tài)圖等特性在學術界的應用后來居上。最近發(fā)布的 TensorFlow 2.0 和Keras 深度整合,提升了應用性,對動態(tài)圖也提供了支持,同時具有可視化工具 TensorBoard 和部署服務 TensorFlow Servering,對移動端可進行更好地支持。因此平臺選擇TensorFlow 作為深度學習框架,后期也會擴展對 PyTorch的支持。
機器學習和深度學習在建筑運行管理過程中有廣泛的應用場景,如能耗數(shù)據(jù)異常判斷與修復、建筑能耗預測、儀表數(shù)字圖像識別、建筑設備運行優(yōu)化等。
(1)能耗數(shù)據(jù)異常判斷與修復。采用 K-Means 聚類算法對 14 d 的逐時能耗數(shù)據(jù)進行聚類,將數(shù)據(jù)分為 6 類,對某類占比小于閾值的即認為時異常數(shù)值,再采用 KNN 算法計算模擬值。通過聯(lián)合 K-Means 和 KNN 算法,可以較好實現(xiàn)能耗異常數(shù)據(jù)判斷和缺失數(shù)據(jù)修復。
(2)建筑能耗預測。根據(jù)建筑類型,以室外溫度、相對濕度、工作時間、工作日、節(jié)假日作為特征參數(shù),可以采用 SVR、隨機森林、KNN 等算法對建筑能耗進行短時預測,為設備開啟提供依據(jù)。
(3)建筑用能診斷。基于歷史數(shù)據(jù),采用 K-Means聚類算法對建筑逐時用能曲線進行分類,形成每日“高”“中”“低”能耗類別,建筑實際運行數(shù)據(jù)與分類曲線比較,得到對建筑用能情況的初步診斷。
(4)儀表數(shù)字圖像識別。對燃氣表、水表等一些缺乏數(shù)據(jù)通信口的儀表,可采用攝像頭拍照方式,在邊緣計算設備上,采用深度學習算法基于 MobileNet 等輕量級神經(jīng)網(wǎng)絡模型對照片進行數(shù)字識別,從而實現(xiàn)數(shù)據(jù)采集。
(5)建筑設備運行優(yōu)化。目前建筑中設備運行基本上采用基于固定規(guī)則的控制策略或 PID 控制,泛化性較差,不能夠持續(xù)優(yōu)化。可以采用強化學習方法優(yōu)化建筑設備運行策略,建立運行優(yōu)化任務的馬爾可夫決策過程模型,確立激勵規(guī)則,應用強化學習算法探索學習不斷改進控制策略,并使算法探索過程滿足系統(tǒng)設備運行和約束條件。強化學習通過試錯和優(yōu)化進行設備運行策略的調整,可以不斷適應條件變化,自動優(yōu)化控制策略。還可以深度學習的感知能力和強化學習的決策能力相結合形成深度強化學習,進一步增強決策優(yōu)化能力。
通過建立面向建筑運行管理的機器學習和深度學習的 AI基礎平臺,提供適用于建筑運行管理場景的算法。此平臺可大幅降低人工智能技術在建筑運行管理中的應用難度,為建筑精細化管理提供技術支撐。