文/王俊杰 浙大寧波理工學院
當前,以深度神經網絡和深度學習為基礎的人工智能技術依舊是一個高速發展的熱門領域,與此同時,其他學科領域也在積極探索有效利用人工智能技術的方式。建筑學科也不例外,實際上在計算機圖像處理領域中以卷積神經網絡(Convolutional Neural Networks,CNN) 為基礎的各種神經網絡已經開始被應用于建筑設計,最典型的比如用生成對抗網絡(Generative Adversarial Networks,GAN)來生成建筑平面,甚至已經有商業化的軟件產品被開發出來。本文以近兩年內計算機輔助設計領域主要國際會議上發表的相關研究為基礎,從五個方面對深度神經網絡在建筑設計領域的應用作了簡要而有啟發性的介紹。
基地及周邊環境的分析,旨在為設計提供依據,實質上是一種基于現有資料和數據的推理過程,而這種推理是神經網絡的強項。計算機快速處理大量數據的能力遠非人力所能企及,更重要的是神經網絡通過學習現有的數據可以發掘出建筑師通常憑經驗或者直覺難以發現的規律或者潛在的聯系,這也是深度學習神經網絡最為吸引人的特性之一。比如有研究者把城市中各個地塊的使用性質歸納為五種類型(住宅、商業、公共服務、工業、綠地廣場)及其不同比例的混合,用大量的現狀數據訓練了神經網絡,當拿到一塊待建的空地時,該神經網絡就能夠根據周邊用地的使用性質推薦該地塊建筑的使用功能組合[1]。更加深入一些的,還可以利用神經網絡為建筑師推薦建筑物的主要人流入口,這在商業綜合體、博物館、影劇院等大型的文化或者商業項目設計中非常有價值。另外,在對基地環境進行分析時建筑師用到的最大量的直觀資料是基地的衛星圖和街景照片,這樣識別圖像的卷積神經網絡(CNN)就大有用武之地。比如可以用神經網絡識別衛星圖并提取建筑體量生成建筑師喜歡的圖底關系圖(圖1),對生成的黑白圖像簡單處理一下就可以得出該區域較為準確的覆蓋率,不失為一種高效的城市環境分析手段[2]。另外還可以訓練CNN對街景照片中的天空、綠化和建筑物進行識別從而分析綠化指數、SVF(Sky View Factor)等指標[3]。
用于合成圖像的生成對抗網絡(GAN)最直截了當的應用就是作為建筑總平面布局的生成器。通過學習,神經網絡能夠掌握輸入圖像和輸出圖像的內在聯系,如果把某類型建筑的用地范圍作為輸入圖像,把實際的總圖布局作為輸出圖像來訓練神經網絡,那么我們就可以得到一個該類型建筑的總圖生成器,下次遇到新的用地就可以用它來直接生成總圖布局。圖2 是對一個小學總平面生成網絡的測試,左邊是輸入圖像(黑色為用地范圍,藍色為周邊道路),中間是電腦生成的總圖布局(黃色為操場,紫色為風雨操場,紅色為教學樓,青色為連廊),右側為該用地的實際總圖布局[4]。從圖中看出電腦通過學習之后瞬間生成的總圖還是基本抓住了要領的(當然這只是生成的眾多總圖中的一個)。同樣的,城市街區布局也可以用GAN 來生成,將城市街區信息進行簡化,抽取道路、河流、綠地等場地條件作為輸入信息,而街區內的建筑布局作為輸出信息[5],圖3 中展示的生成圖像幾乎達到了以假亂真的程度(左、中、右分別為輸入條件、生成結果和真實情況)。

圖1 計算機生成圖底關系

圖2 計算機生成小學總圖

圖3 計算機生成城市肌理

圖4 計算機生成戶型

圖5 立面風格遷移

圖6 三維風格遷移

圖7 平面風格遷移

圖8 利用環境參數自動生成建筑體量

圖9 圖結構屬性

圖10 神經網絡架構
用GAN 生成建筑平面的探索比較多地集中在住宅戶型上,主要是住宅平面尤其是高層單元式住宅的平面布局邏輯較為確定,另外各個“找房平臺”上有大量戶型平面圖可以利用來訓練神經網絡。圖4 是用GAN 生成“貝殼找房”風格戶型平面的測試,圖中左邊是神經網絡生成的戶型平面,右邊是真實的戶型,輸入條件是戶型的外輪廓[6]。可以看出神經網絡生成的大格局與真實的完全一致,只是細節上有些模糊不清,考慮到這個網絡是用112 個真實的戶型平面訓練而成的,能到達這樣的效果顯示了神經網絡具有很強的學習能力,可以預見如果訓練樣本擴大100 倍甚至1000 倍,神經網絡可以瞬間生成出大量的較高質量的戶型平面供建筑師參考。事實上國內已經有公司開發出以深度學習神經網絡為核心的設計生成軟件,供給商品房開發商使用,軟件生成方案的優品率可達80%。
計算機輔助設計和參數化為建筑設計帶來了大量炫酷的立面造型,隨著對CNN 的利用,建筑師在立面造型上又增添了夢幻般的手段。最典型的就是風格遷移(Style Transfer)神經網絡的應用(圖5),左上角為輸入的內容圖片,左下角為風格圖片,右邊是合成的效果[7]。簡單地說,就是CNN 從內容圖片中提取高層次的語義信息(比如這個例子里建筑立面構成和各種開口的分布),而從風格圖片中提取顏色、質感等低層次信息,然后用反向CNN 重新合成圖片。當然現在看來這種立面生成主要是表達性的,更多是作為設計的參考或者啟發。圖6 是另外一個例子,研究者希望對洛杉磯的地標建筑——美國銀行大樓立面進行風格轉換,首先用CNN 網絡識別航拍圖片(內容圖片)中的目標建筑,然后根據風格圖片對其立面進行處理,而內容圖片的其他部分則不受影響[8]。甚至還有把風格遷移用在平面上的嘗試,圖7 是把巴洛克式平面作為風格遷移到現代建筑平面上的效果[9]。

圖11 平面合成
綠色生態建筑的設計理念已經得到建筑師廣泛的認同,但在方案設計最初的階段建筑熱環境、氣流環境等模型分析難以實質性地介入用于指導設計,成為行業的一個痛點。其中一個主要原因是計算機流體力學(CFD)等傳統的模擬手段雖然可以得到比較準確的結果但比較耗時間,而在設計創意階段方案的需求則正好相反。在方案本身就比較粗略的情況下,建筑師對模擬結果的準確度要求不太高但需要模擬結果能夠實時反饋。現在深度神經網絡的應用則有望解決這個問題,研究人員利用大量現有的CFD 模擬結果訓練了GAN 網絡,這樣在設計過程中,只要輸入建筑總圖布局立刻便可以得到相應的風速熱力模擬圖[10]。還有研究進一步地把訓練好的GAN 網絡與參數化生成的算法模塊結合起來,對生成的街區建筑體量進行實時的建筑微氣候分析并反饋給體量生成模塊[11],這樣就可以真正實現結合環境效果模擬的建筑體量生成(圖8)。
參數化設計軟件grasshopper 里galapagos運算器的出現,使得遺傳算法被大量運用于建筑找形,事先設定好評價標準之后,程序可以從隨機的形式開始不斷地進化(迭代),生成新的形式并最終找到最優的解。但這里的問題是,建筑設計并非純理性的過程,許多高層次的判斷標準,比如審美取向、建筑師的個人偏好等難以表達成量化的評價標準。現在,研究人員正在嘗試用深度學習神經網絡解決這個困難,將建筑師的審美偏好結合到神經網絡的訓練中。對于每個訓練循環,系統用遺傳算法模塊生成一定數量的形式(比如體塊不同組合方式),然后要求設計者選擇最佳的一個或者幾個相對較好的結果。然后,網絡將根據設計師的選擇進行學習,并調整遺傳算法模塊的生成參數開始下一輪循環。試驗表明經過為數不多的訓練循環,神經網絡就能比較好地掌握用戶的審美取向,從而使得生成的形式向建筑師個人的偏好靠攏[12]。對于深度神經網絡在建筑設計中的應用,這無疑是一個很有前途的方向。首先,判斷標準不是事先設定的,而是在一種人機互動的過程中逐漸形成的,而這種人機互動與傳統意義上的計算機輔助設計相比無疑是進一步了;其次,這種思路實際上提供了量化設計中抽象規則的一種方法。神經網絡在學習建筑師選擇的過程中不斷地調整成千上萬的權重數值,最終達到擬合設計偏好的目的。雖然在我們看來,這一堆權重數值沒有任何意義,但我們卻有辦法對這個“黑匣子”進行各種處理和操作。試想如果有兩個神經網絡擬合了兩個不同建筑師的偏好,那我們就可以把這兩個網絡的權重以一定的比例混合起來賦予一個新的網絡,不難想象這個新的網絡將在一定程度上是這兩個建筑師偏好的綜合。
類似的,有研究試圖通過神經網絡提取現有建筑平面的潛在特征并合成新的平面[13]。具體步驟如下,先將建筑平面圖表達為附帶屬性的圖結構(圖9),屬性除了最基本的房間功能、面積和連接關系之外,還可以增加建筑者認為重要的其他信息,在這個研究里則增加了人在平面中可能的活動的情況。然后,用大量建筑平面的圖結構來訓練神經網絡。圖10 是神經網絡架構的示意圖,最醒目的是最中間紅色的神經元組成的隱含層或者隱含向量①。這個隱含向量的左邊部分是編碼器,事實上就是編碼器把輸入的以圖結構表達的建筑平面“濃縮”成這個隱含向量,也就是說建筑平面被編碼成了一個隱含向量。而右邊是解碼器,作用是根據這個隱含向量重新生成平面。訓練這個神經網絡的目標是使輸出的平面與輸入的一致。一旦訓練完成,編碼器和解碼器就可以獨立工作,來進行平面合成。首先用編碼器把兩個(或者多個)不同的平面編碼成隱含向量,然后對兩個隱含向量進行數學運算(比如簡單相加)計算出一個新的隱含向量,接著用解碼器根據這個新的隱含向量生成平面,而新平面具有兩張輸入平面的特征(圖11)。這仿佛是,我們借助神經網絡進入了建筑平面圖背后的“隱含空間”,在這個高次元的空間里,我們能夠輕而易舉地把現實中難以操作的各種特性組合起來,然后生成新的平面。
這一輪的人工智能熱潮還在持續中,而相關技術在建筑設計中如何應用的探索更是剛剛開始,現在要給出一個較為確定的結論似乎還為時尚早。但是,即使僅憑本文所提及的為數不多的探索,也不難看出人工智能在建筑設計中的應用潛力;其中利用深度神經網絡學習建筑師主觀偏好、提取建筑空間潛在特性、量化抽象設計標準的嘗試更是非常有啟發性,人工智能有望成為推動建筑學科發展的一個全新動力。
注釋:
①向量就是按一定順序排列的一組數值,整個隱含層里每個神經元都有一個輸出數值,所以稱其為隱含向量。
圖片來源:
圖1:參考文獻[2]
圖2:參考文獻[4]
圖3:參考文獻[5]
圖4:參考文獻[6]
圖5:參考文獻[7]
圖6:參考文獻[8]
圖7:參考文獻[9]
圖8:參考文獻[11]
圖9—圖11:參考文獻[13]