肖朋林 曾莎潔
摘要:文章提出了一種基于深度學習框架的建筑領(lǐng)域算法服務平臺,研究了深度學習和深度學習基礎(chǔ)框架,并對該平臺的架構(gòu)、功能和數(shù)據(jù)模型研究和實踐進行了闡述。
關(guān)鍵詞:深度學習;深度學習框架;建筑領(lǐng)域;算法服務平臺
doi:10.3969/J.ISSN.1672-7274.2024.04.029
中圖分類號:TP 311,TU 17? ? ? ? ? 文獻標志碼:B? ? ? ? ? ?文章編碼:1672-7274(2024)04-00-04
Research and Practice on Algorithm Service Platform in the Construction Field Based on Deep Learning Framework
XIAO Penglin, ZENG Shajie
(Shanghai Research Institute of Building Sciences Co., Ltd., Shanghai 200032, China)
Abstract: This article proposes a deep learning framework based algorithm service platform for the construction field, studies deep learning and its basic frameworks, and elaborates on the architecture, functions, and data model research and practice of the platform.
Keywords: deep learning; deep learning framework; the construction field; algorithm service platform
0? ?引言
隨著人工智能技術(shù)的發(fā)展,涌現(xiàn)出TensorFlow[1]、PyTorch[2]、PaddlePaddle[3]等多個深度學習框架,它起到了承上啟下的作用,下接芯片,上承各種業(yè)務模型、行業(yè)應用,為傳統(tǒng)行業(yè)在人工智能方面的應用開發(fā)提供了高效的基礎(chǔ)。本文研究并實踐了基于深度學習框架(PaddlePaddle)的建筑領(lǐng)域算法服務平臺,以期為建筑領(lǐng)域提供專業(yè)的人工智能算法模型服務。
1? ?深度學習框架
1.1 深度學習
深度學習(Deep Learning)是2006年由Hinton等人提出的概念,它是機器學習的一個分支。區(qū)別于淺層學習(Shallow Learning)依賴人工經(jīng)驗和特征抽取、特征選擇等特征轉(zhuǎn)換方法獲取特征(Feature),深度學習能夠從數(shù)據(jù)中自動學習到有效的特征表示。因此,深度學習也被稱為表示學習[4][5]。
深度學習一般采用深層神經(jīng)網(wǎng)絡模型實現(xiàn)端到端學習(End-to-End Learning)[6],具有四個主要特征:一是自動學習高層次抽象特征,不需要人工設計特征;二是通過多層次的模型學習抽象特征,實現(xiàn)非線性建模;三是處理高維度和海量數(shù)據(jù),自適應控制模型復雜度;四是使用深度卷積神經(jīng)網(wǎng)絡等多種結(jié)構(gòu)實現(xiàn)各種任務,如圖像識別、自然語言處理、語音識別等。深度學習發(fā)展的關(guān)鍵因素包含數(shù)據(jù)、算力和算法。
①數(shù)據(jù)。深度學習的發(fā)展離不開大量、高質(zhì)量的數(shù)據(jù)支持。
②算力。深度學習需要進行大量的計算,需要強大的算力支持。
③算法。算法是深度學習取得巨大成功的關(guān)鍵因素之一。
1.2 框架研究
為了讓AI專業(yè)開發(fā)者更高效地實現(xiàn)深度學習算法,各大AI科技公司紛紛將深度學習中常用的算子、基礎(chǔ)網(wǎng)絡結(jié)構(gòu)、迭代優(yōu)化算法,以及經(jīng)典的模型實現(xiàn)采用開源的方式形成深度學習框架。深度學習框架是一種底層開發(fā)工具,是集智能算法核心訓練和推理框架、基礎(chǔ)模型庫、端到端開發(fā)套件、豐富的工具組件于一體的平臺。目前常見的深度學習框架包括TensorFlow、PyTorch、Keras、Caffe、Theano、CNTK、MXNet、PaddlePaddle等。常見的深度學習框架如表1所示[7]。
1.3 框架選擇
目前深度學習領(lǐng)域最為流行的三個框架是TensorFlow、PyTorch、PaddlePaddle。
(1)TensorFlow是由Google推出的一個開源深度學習框架,支持多種編程語言,如Python、Java和C++等。TensorFlow的優(yōu)點在于它強大的計算圖能力,可以進行分布式計算,支持多種設備。缺點在于其初學門檻較高,需要較長時間的學習和實踐。
(2)PyTorch是Facebook推出的一個開源深度學習框架,特點在于其動態(tài)圖能力,使得模型的搭建和調(diào)試更加方便。同時PyTorch也有著非常完善的文檔和社區(qū)支持。缺點在于其不太適合于大規(guī)模的分布式計算。
(3)PaddlePaddle是由百度推出的一個開源深度學習平臺,支持多種編程語言,如Python、C++和Java等。PaddlePaddle的優(yōu)點在于其強大的分布式計算能力,支持GPU、CPU和FPGA等多種硬件平臺。同時PaddlePaddle也有著較為完善的文檔和社區(qū)支持,并且其提供了一整套的生態(tài)系統(tǒng),包括自動化調(diào)參平臺和可視化平臺等。缺點在于其相對于TensorFlow和PyTorch來說,社區(qū)的活躍程度稍遜。
由于PaddlePaddle具有強大的分布式計算能力和完整的生態(tài)系統(tǒng),以及提供了豐富的預訓練模型以及易于使用的API接口,可以有效地降低實現(xiàn)深度學習算法的門檻,在模型開發(fā)、訓練和部署方面具有很高的靈活性和可擴展性,非常適合用于建筑領(lǐng)域算法服務平臺的構(gòu)建和應用。因此,本文將選擇PaddlePaddle作為建筑領(lǐng)域算法服務平臺的基礎(chǔ)架構(gòu)。
2? ?算法服務平臺設計
2.1 架構(gòu)設計
平臺架構(gòu)包含基礎(chǔ)設施層、基礎(chǔ)框架層、平臺服務層、應用服務層四個層級?;A(chǔ)設施層包括對數(shù)據(jù)、模型、代碼的數(shù)據(jù)存儲設備、用于模型訓練的大規(guī)模GPU、CPU等數(shù)據(jù)計算設備和用于通信及安全保障的其他支撐設備;基礎(chǔ)框架層包括核心的深度學習框架和模型庫,核心框架提供一套開發(fā)、訓練、推理部署環(huán)境,模型庫提供一套用于存儲通用算法、通用模型和建筑領(lǐng)域模型的算法模型管理環(huán)境;平臺服務層包含數(shù)據(jù)加工、模型訓練、模型評估、模型管理、模型部署、模型優(yōu)化等一套完整的算法模型使用功能,以及用于任務、資源調(diào)度、日志記錄和文件存儲的支撐管理功能;應用服務層為用戶提供服務調(diào)用、交互式模型開發(fā)和SDK組件庫三種服務模式,既滿足非專業(yè)人員的模型使用需求,也為專業(yè)用戶提供模型開發(fā)和調(diào)用的途徑。
2.2 功能設計
(1)數(shù)據(jù)加工。提供可視化的數(shù)據(jù)導入、數(shù)據(jù)清洗、數(shù)據(jù)預處理、特征工程等功能。在數(shù)據(jù)導入方面,支持多種數(shù)據(jù)源,如文本文件、數(shù)據(jù)庫、NoSQL、Hadoop等。在數(shù)據(jù)清洗和預處理方面,提供一些基本的處理模塊,如缺失值處理、異常值處理、特征編碼等。
(2)模型管理。提供模型上傳、模型創(chuàng)建、模型編輯、模型保存、模型刪除等功能。提供模型檢索、模型版本控制等管理功能,以方便用戶更好地管理和使用模型。
(3)模型訓練。提供可視化的模型選擇、模型參數(shù)設置、數(shù)據(jù)集選擇、交叉驗證等功能。支持多種機器學習算法和深度學習算法,如線性回歸、決策樹、支持向量機、神經(jīng)網(wǎng)絡等。在模型訓練過程中,提供模型訓練狀態(tài)監(jiān)控、性能評估等功能,以便用戶根據(jù)訓練結(jié)果進行優(yōu)化。
(4)模型部署。提供模型導出、模型轉(zhuǎn)換、模型打包、模型發(fā)布等功能。支持多種部署環(huán)境,如本地環(huán)境、云環(huán)境、邊緣設備等。在模型部署過程中,提供模型部署狀態(tài)監(jiān)控、性能評估等功能,以方便用戶監(jiān)控模型的運行狀態(tài)。
(5)模型評估。提供模型性能評估、業(yè)務需求評估、用戶反饋評估等功能。平臺應該提供可視化的評估報告,以便用戶更好地了解模型的性能、用戶需求和用戶滿意度。
(6)模型優(yōu)化。提供模型調(diào)參、模型重構(gòu)、模型量化等功能。提供自動化的模型優(yōu)化功能,如超參數(shù)優(yōu)化、模型結(jié)構(gòu)搜索等。
2.3 數(shù)據(jù)模型設計
為實現(xiàn)用戶數(shù)據(jù)加工、模型訓練、模型評估、模型管理、模型部署、模型優(yōu)化等功能,設計了平臺數(shù)據(jù)模型,如圖1所示。
通過此數(shù)據(jù)模型設計,可以實現(xiàn)一個模型通過多個算法和參數(shù)的組合,以及實現(xiàn)模型訓練后的應用發(fā)布記錄和模型調(diào)用日志記錄。
3? ?算法服務平臺實踐
3.1 建筑領(lǐng)域模型
(1)建筑設計與優(yōu)化模型。幫助建筑師在早期設計階段進行更快、更高效的方案探索。通過訓練數(shù)據(jù)驅(qū)動的模型,建筑師可以預測建筑方案在各種性能指標(如能源消耗、結(jié)構(gòu)性能、舒適度等)上的表現(xiàn)。
(2)能源模擬與預測模型。用于建筑能源模擬和預測,提高能源管理的效率。例如,通過訓練一個回歸模型來預測建筑的耗能情況,以便更好地理解建筑的能源使用情況,從而制定相應的節(jié)能措施。
(3)建筑智能控制模型。用于開發(fā)更智能的建筑控制系統(tǒng),以提高建筑物的舒適度和能效。例如,可以使用神經(jīng)網(wǎng)絡或強化學習來自動調(diào)整空調(diào)、照明等設備的設置,以滿足不同時間和場景下的需求。通過實時監(jiān)測和預測建筑內(nèi)的環(huán)境參數(shù)(如溫度、濕度、光照等),智能控制系統(tǒng)可以自動調(diào)整設備參數(shù),實現(xiàn)更高的能效和舒適度。
(4)故障檢測與診斷模型。在建筑設備故障檢測和診斷方面也具有很大的潛力。通過訓練一個分類模型,可以實時監(jiān)測建筑設備的運行狀態(tài),自動檢測異常情況,并及時進行診斷。以便降低建筑運維成本,提高設備的可靠性和壽命。
(5)安全監(jiān)測與預警模型。在建筑施工過程中,安全監(jiān)測和預警至關(guān)重要。分析現(xiàn)場視頻、聲音和傳感器數(shù)據(jù),實時檢測潛在的安全隱患。
(6)建筑物識別與分析模型。在自動識別和分析建筑物的外觀特征。例如,可以使用深度學習模型自動提取建筑物的幾何形狀、材料和風格特征,為城市規(guī)劃和歷史保護提供有價值的信息。
(7)建筑生命周期評估模型。用于評估建筑物在其整個生命周期中的環(huán)境影響。通過收集和分析各種數(shù)據(jù)(如建筑材料、能源消耗、廢棄物處理等),可以訓練一個回歸模型來預測建筑物的碳排放、能源效率等指標。
3.2 平臺功能實現(xiàn)
(1)創(chuàng)建應用。實現(xiàn)選擇應用類型,并支持填寫名稱、基本簡介等應用基本信息。
(2)訓練集上傳。實現(xiàn)根據(jù)應用類型選擇相應的數(shù)據(jù)集,或者上傳新的數(shù)據(jù)集。
(3)模型選擇。實現(xiàn)根據(jù)應用類型選擇相應的模型和算法。
(4)信息確認。實現(xiàn)確認應用訓練的基本信息,包括應用場景、訓練數(shù)據(jù)集、模型,并設置訓練參數(shù)和笨次訓練的模型版本號。
(5)訓練和發(fā)布。實現(xiàn)選擇訓練模型,后臺服務會實時更新訓練狀態(tài),待訓練完成后可發(fā)布模型。
(6)應用調(diào)用。實現(xiàn)模型發(fā)布后,用戶可以通過應用發(fā)布的Restful接口調(diào)用算法。
本實踐平臺為用戶提供了一整套人工智能算法從訓練到發(fā)布的運行環(huán)境,用戶可以通過上傳數(shù)據(jù),選擇算法模型,提交訓練任務和發(fā)布算法應用完成建筑領(lǐng)域人工智能算法的落地,并能夠通過不斷訓練或者篩選模型,不斷升級應用,實現(xiàn)人工智能算法在建筑領(lǐng)域中應用的不斷迭代和功能升級,進一步滿足各類用戶的需求。
3.3 算法場景驗證
為驗證平臺的功能實現(xiàn),本文選擇基于目標監(jiān)測模型,實現(xiàn)了建筑交通領(lǐng)域橋梁目標檢測模型的訓練、發(fā)布和驗證。通過此模型的應用,幫助用戶將圖片分成了不同的類別。
4? ?結(jié)束語
本文提出了基于深度學習框架(PaddlePaddle)的建筑領(lǐng)域算法服務平臺的架構(gòu)設計,設計了平臺的功能和數(shù)據(jù)模型,研究了建筑領(lǐng)域的各類場景模型,初步實現(xiàn)了算法服務平臺,并在建筑交通領(lǐng)域中的目標檢測場景進行了驗證,實現(xiàn)了平臺功能流程的驗證。本文設計平臺具有廣闊的應用前景和發(fā)展空間,未來將繼續(xù)在平臺功能優(yōu)化、模型擴充、模型優(yōu)化及服務方式方面繼續(xù)進行深入的研究,為建筑領(lǐng)域的從業(yè)者提供更加全面、專業(yè)和高效的技術(shù)支持,推動建筑領(lǐng)域的智能化和可持續(xù)發(fā)展。■
參考文獻
[1] https://www.tensorflow.org
[2] https://pytorch.org
[3] https://www.paddlepaddle.org.cn
[4] 周志華.機器學習[M].北京:清華大學出版社,2016.
[5] 邱錫鵬.神經(jīng)網(wǎng)絡與深度學習[M].北京:機械工業(yè)出版社,2020.
[6] Rosenblatt,F(xiàn).The Perceptron:A Probabilistic Model for Information Storage and Organization in The Brain[J].Psychological Review,1958,65:386-408.
[7] 朱瑞琪.基于深度學習框架的圖像特征檢測服務的設計與實現(xiàn)[D].中國科學院大學(中國科學院沈陽計算技術(shù)研究所),2022.