机器学习技术在建筑设计中的应用研究*
2021-05-10马辰龙朱姝妍王明洁
马辰龙,朱姝妍,王明洁
当前神经网络深度学习技术被广泛应用于图像识别推荐算法等领域,机器学习、神经网络、人工智能等相关概念越来越被公众所熟知[1]。机器学习及神经网络技术在建筑领域有哪些具体应用,这些前沿技术如何介入建筑设计流程,成为许多建筑学者关注的问题。
机器学习与神经网络两个概念既有关联又有不同侧重,存在混淆与误读,大多数建筑师仍无法窥探神经网络和机器学习的真实面目。本文基于知识图谱手段梳理建筑及相关领域国际研究现状,分析在建筑设计中运用这一类工具的潜力及局限性;梳理面向建筑师及建筑设计阶段的机器学习前沿研究成果,发掘其介入未来建筑设计流程的潜力。
1 机器学习及神经网络的概念及分类
1.1 机器学习概念及分类
机器学习(machine learning)是一门涉及概率论、统计学、凸分析等多门学科的交叉学科,从数据中获取新的知识,根据这些知识“经验”改善自身性能,以对新的情况做出有效的决策,一定程度上模拟了人类的学习行为。从二十世纪五十年代初期至今涌现出基于逻辑表示的“符号主义”、基于神经网络的“连接主义”两类派别,九十年代登场的以支持向量机(SVM)和核方法(kernel methods)为代表的“统计学习”(statistical learning)思想为当代机器学习应用提供了有效算法工具[2]。针对不同的机器学习任务,算法工程师运用不同的“机器学习算法”——如对带标记数据1)进行分类的支持向量机(SVM)算法,k邻近分类(KNN)算法,决策树算法等;实现对带标记数据的回归预测的LASSO算法;运用对无标记数据聚类分析的K-means算法,对高维数据降维分析以发掘内在关联的主成分分析(PCA)算法等[3]。
图1 建筑设计领域机器学习潜在应用热点
1.2 神经网络概念
机器学习领域的神经网络指的是“神经网络学习”,描述了实现前述机器学习任务的一类工具的核心设计思想——受生物神经网络的启发建构神经元模型以实现机器学习任务[2]。神经网络(neural network)是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反应[4]。
神经网络最基本的成分是神经元(neuron),其他神经元传递的信号通过带权重的连接传递到某一神经元,这些信号的总输入通过激活函数(activation function)处理再传递给其他神经元,把许多这样的神经元按一定的结构连接起来便组成了不同类型的神经网络。一般地,神经网络的使用分为训练和预测两个阶段——训练阶段输入已知数据,通过反向传播算法(back propagation)更新神经网络得到各神经元的权重值,在预测阶段输入需要预测的数据,利用权重值更新过后的神经网络模型计算新数据的分类、回归、聚类等预测结果[2]。然而,神经网络连接主义的本质决定了其内部的计算机制无法被明确解释,成为一个“黑箱”工具。
2 基于文献分析的研究
Citespace软件是基于知识图谱原理进行文献分析的工具,通过分析不同文献的引用关系特征、关键词频率可挖掘某一学科领域的研究热点与研究趋势[5]。广义的建筑工程设计包含了建筑设计、建筑结构、暖通空调系统、施工管理等领域,而作为“建筑学”的建筑设计相关研究则因其偏向于实践,更具探索性与应用性。目前在建筑工程相关领域,机器学习的主流研究集中于空调与能耗、建筑结构、建筑工程管理等方向,适用于在复杂多变量场景下的数据预测及特征分析任务。
利用Scopus数据库对建筑设计领域的前沿国际学术会议进行文献分析,共获取1999~2019年间123篇研究文献。由于国际会议论文相对于期刊论文引用量极少,无法进行有效的文献共引分析,利用CiteSpace软件中的关键词分析功能挖掘当前机器学习在建筑设计领域的潜在应用热点。名词性关键词形成词云,关键词大小表示其出现次数,关键词的分布情况反应了研究热点的集中度,如图1所示。
从可视化结果可以得出如下结论:
(1)城市设计(urban design/urban planning)相关问题被提及的频次较高,且相关关键
(2)词形成一定的集中度,具有较多元化的研究方向,包括了环境性能(environment performance)、建筑形态特征提取(architectural feature extraction)、社会交往(social life)等。
(3)建筑性能(building performance/performance model)、 机 器 自 动 生 成(robotic automatic generation)、图像分类(image classification)、设计决策(decision making)、不均匀线性材料(no-uniform linear material)等关键词有较高出现频率,
表1 面向建筑设计的机器学习前沿应用文献梳理
图2 运用SOM神经网络探索不同环境数据与人体生理反应指标的关联性
(4)代表当前较为热门的研究方向。
(5)其他关键词的涵盖范围相当广泛且分布较为平均,包括了建筑平面排布(architectural layout)、自由形态壳体(free-form shell)、BIM平台的模型检测(BIM-based model check)、进化算法(evolutionary algorithm)、数据挖掘(data mining)、实时成本测算(real-time cost estimation)等大量不同研究方向,这代表了当前学术界在各个细分研究方向上的探索实践。
值得注意的是,由于机器学习当前仍属于一种新兴技术,其在建筑设计领域的应用仍处于萌芽期,相关研究数量并不多,因此针对少量文献的关键词分析并不能保证获得清晰准确的研究脉络。因此本文接下来将通过对最新国际会议文献的人工筛选获取更深入的研究现状。
3 面向建筑设计的机器学习前沿应用研究
为了解决Scopus等数据库对国际会议前沿文献收录的滞后性,通过人工检索建筑领域最新研究文献(包括了截至2020年6月的近三年重要国际会议及相关期刊论文),展现机器学习技术在建筑设计相关领域的前沿应用图景。根据算法架构和研究领域侧重,可将所有文献划分为12个算法大类和8个研究方向,将上述所有文献呈现在表格中(表1)。
根据机器学习算法的复杂度将所有涉及到的机器学习算法划分为非深度学习算法(non-deep learning)与深度学习算法(deep learning)。非深度学习算法除了传统浅层神经网络(ANN)算法还包含回归分析、SVM、SOM算法等,被广泛应用于除建筑设计之外的其他建筑工程领域。而深度学习算法涉及到多层复杂神经网络,包括较热门的CNN、GAN、RNN算法及风格迁移算法、基于图结构的算法、强化学习(reinforced learning)算法等,深度学习算法对高维数据及抽象特征有更好的识别能力。
3.1 算法视角的前沿应用分析
传统非深度学习算法(不包含Simple ANN浅层神经网络)的应用集中于建筑形体、建筑性能与使用者行为等研究领域。虽然这些机器学习算法已被成熟运用于结构、暖通等工程领域,但在建筑设计领域的前沿研究中尚未被广泛提及。其中,SOM自组织神经网络将高维数据映射到二维网格并进行自组织聚类,可用于建筑形体推敲[15,16]、判断复杂构筑物的大量形态控制参数与最终建造结果间的关联性[21]、环境要素与使用者各项生理指标间复杂关联性的分析[17](图2),也可以被创造性地应用于建筑风环境的CFD拟合计算[18],具有较大的未来应用潜力。内森·布朗(Nathan Brown)等学者则将PCA主成分分析方法运用于大跨桁架结构的优化流程,综合桁架控制点的高度参数,抽象为不同权重的影响桁架结构性能的若干控制变量,保证建筑师能够在直观把握建筑结构性能的前提下仍具有进一步自由形态调整的余地[7]。值得注意的是,以上这些应用均涉及到了建筑性能相关研究,以统筹复杂非线性的参数关系。
以Simple ANN(浅层神经网络)为代表的机器学习算法可以从多变量高维数据集中学习对应的输入输出关联模式,从而建立一个输入输出关联模型,通过将新数据输入训练好的预测模型,可以预测对应的数据输出。这一性质被广泛运用于建筑能耗预测相关领域以加快建筑能耗优化的速度,并被成为“代理模型”或“元模型”方法(surrogate model/metamodel)[80,81,30-32](图 3)。同样地,元模型方法可以被用于结构性能优化方向,如在优化过程中辅助设计师对整个方案搜索空间的性能趋势的判断[26]、加速结构静力学优化计算[27],以及涉及更多材料特性设置的结构性能快速预测[28]。相对于前述若干机器学习算法,浅层神经网络能够更有效地捕捉复杂参数约束的内在关联性,应用范围更加广泛。其可以拟合建筑形体随控制点移动而产生的形态变化[23],证明其敏锐捕捉非线性复杂参数关系以进行插值计算的能力,这一能力也可进一步应用于进行机械臂操作路径的优化[19,20]。王振宇等学者将国内440个已建成博物馆的周边城市环境数据(公交站数量与方位、周边道路等级等)和博物馆主入口方位这一对数据作为输入输出,训练一个单隐层神经网络,该神经网络可以根据新给定的博物馆选址环境决策博物馆最佳入口方位,同人工选取相比一致率达到70%~90%[22]。克里斯蒂安·西奥伯格[8]和郑豪[24]将形态参数作为神经网络输入端,观察者对形态美感的打分作为神经网络的输出端,从而“模仿”人的主观偏好,以辅助建筑形体优化过程。上述两类应用可以看作对人类决策过程的拟合,是较为初级的“人工智能”。
CNN (卷积神经网络)以其对二维图像抽象特征的解读能力成为图像特征识别领域的重要工具。 吉村酉二(Yuji Yoshimura)等学者将不同风格建筑师的作品图像输入一个深度卷积神经网络进行训练,训练出的神经网络可以从新输入的建筑图像中辨别出抽象的建筑风格特征,推测该建筑的风格属于哪位建筑师,并以伪色图的形式表征该推测基于建筑图像的哪些区域[36],这是二维图像识别技术在建筑设计领域的最直观应用。更进一步地,一个名为DANIEL的推荐系统可根据输入的建筑平面图提取建筑布局逻辑,对应输出若干具有相似特征的建筑平面,为购房者提供多样化的候选方案[43]。除了进行传统的图像识别与分类任务[36-44]以辅助建筑设计流程,卷积神经网络也可以在城市尺度上借助卫星图进行自动化的城市区块类型识别[45],将卷积神经网络的应用拓展到城市形态规划领域。
图3 基于机器学习的“代理模型”/“元模型”方法辅助建筑性能优化过程
图4 基于生成式对抗神经网络(GAN)的建筑平面设计流程及树状方案筛选界面
图5 基于styleGAN的现代风格建筑立面
图6 基于pix2pixHD的城市风貌意象生成
GAN(生成对抗神经网络)的输入输出参数均为二维图像数据。郑豪、黄蔚欣等学者从lianjia.com网站获取155个住宅户型平面,并绘制对应的功能色块图以不同颜色标记房间功能,分别作为输出与输入端连接pix2pixHD 神经网络[82]进行训练,训练得到的神经网络可以根据新输入的功能色块图生成逼真的户型平面图[53]。这证明了将建筑平面布局当作二维图像进行信息交换的可操作性。斯坦尼斯拉斯·夏约(Stanislas Chaillou)在此基础上做了更进一步的平面生成尝试,运用GAN神经网络实现了建筑红线-建筑基底轮廓-房间划分-门窗洞口设计-家具排布整个平面图设计流程的模拟,每一步骤均可生成大量备选方案,依托实时的树状选取界面,设计师可以灵活筛选每一个步骤的生成结果[55](图4)。另一方面,将场景照片作为媒介的研究也显示出GAN神经网络的潜在价值:国内小库团队于2017年开始启动了“罗塞塔计划”,利用styleGAN神经网络,通过对大量已有的优秀建筑设计案例进行深入学习, 建立一个关于设计风格、逻辑与理念等的庞大知识库, 并输出学习后的智能设计成果供设计师参考[59](图5)。STEINFELD等学者的GAN Loci研究比较了Pix2pixHD和styleGAN两种神经网络再现不同城市“场所精神”(Genius Loci)的潜力,证明了GAN神经网络对抽象特征的强大识别归纳能力[58](图6)。
RNN(循环神经网络)相对于CNN可以灵活处理不等长的数据序列,因此被用于文本、语音的语义分析等领域。这使得其除了可基于时序数据进行人流行为模拟[66]之外,还可以结合图结构2)进行建筑平面拓扑相似性的识别[63],不均匀材料的变形特性预测[64,65]。进一步地,如果将建筑设计步骤看作时序数据训练RNN神经网络,则可以让其理解非线性的设计决策过程,协助建筑师做方案决策[67]。
用于二维图像的风格迁移(style transfer)技术、多用于社交数据处理的图结构、强化学习算法分别在辅助设计师获取创作灵感[68-73]、建筑空间拓扑关系识别[75-77]、基于动态反馈的生成式设计[78]和结构优化方法[79]等研究方向上找到了自己的一席之地。其中,孙澄教授团队将风格迁移技术运用于三维建筑形体,基于二维概念意向图的语义信息辅三维建筑形体的风格推敲,这为未来的建筑创作提供了新的思路[74]。
3.2 基于不同研究方向的前沿应用分析
特征识别技术随着近期CNN神经网络的热门而受到广泛关注,基于CNN神经网络的特征识别方法主要依托于二维图像,其被运用于不同的建筑设计分支领域帮助设计师实现效率提升。YURI KATO等学者结合CNN与google maps提取街道界面色彩搭配模式[38]以为接下来的建筑与城市规划决策提供依据;KIM, JINSUNG等学者研究了机器学习如何帮助计算机自动识别未知建筑构件的类型[37]。
在城市形态层面的机器学习运用也主要基于将城市规划图像的像素化处理,进而利用CNN、GAN、Style Transfer等算法进行抽象特征的识别和基于此的形态风格转换。同济大学彭茜等学者论述了当前人工智能在城市规划领域的应用前景,并利用CNN网络对城市纹理和土地利用分类进行大规模、精细的判别[45](图7)。
对建筑平面与空间拓扑的研究则形成了两种截然不同的路径,第一种是前文提及的基于GAN网络的生成式设计方法,其利用建筑平面的像素格式图像进行训练以获取新的平面布局方案,然而这种平面生成方式并不能直接同矢量建模软件进行精确的数据交换。第二种基于图结构的机器学习方法则更能有效表达建筑空间的拓扑关系,具有更大潜力融入传统建筑设计流程[63,75-77](图8、9)。
图7 基于CNN神经网络的城市形态识别
图8 建筑平面图的拓扑分析
图9 三维建筑体的空间组织图结构可视化
建筑形体层面,除了对形体控制参数、主观评价参数间内在关联性的提取之外,另一个具有潜在价值的研究方向是如何将三维的建筑形体信息转译以供机器学习算法调用。将建筑的三维形态进行像素化,将其看作三维分布的像素点,则可创建对应的三维卷积神经网络(3dCNN)。大卫·牛顿(David Newton)在grasshopper平台链接Keras神经网络工具建立了3dCNN网络,该神经网络目前可以识别建筑的三种特征[47]。米盖尔(Jaime de Miguel)等学者则在此基础上增加了每个采样“像素点”周围的邻接信息,经转译后的建筑形体信息被输入自编码网络(autoencoder),建筑形体信息通过4层隐含层被压缩为一个隐空间(latent space)中的向量;训练两种不同建筑形体,在隐空间的两个对应向量间进行平滑采样则可取得两种建筑形体特征间的混合结果[25](图10),这与基于SOM算法的建筑形体研究[16]结果相似(图11)。STEINFELD等学者建立了机器学习在生成式设计中的应用框架,其对建筑三维形体的转译采取了另一种路径:将建筑三维实体不同方向的切割面图像作为神经网络的输入端以描述形体信息,进一步利用GAN神经网络生成新的三维实体,证明了这一形体转译方法的可行性[60](图12)。
机械臂建造方向,结构优化方向,使用者行为分析方向,建筑性能分析与优化方向,机器学习作为模式识别的工具均体现出其应用潜力。其中,安洛斯·柯尼斯(Angelos Chronis)等学者利用GAN神经网络建立了基于Rhinoceros3D的实时建模可视化平台,专注于解决城市尺度的环境性能模拟,该神经网络输入数据为表达建筑高程的灰度图像,实时输出数据为行人高度的风压与日照辐射伪色图,其足以辅助建筑师直观感知建筑布局对城市风热环境的影响,以进行更全面的城市形态优化[62]。该算法被整合于最新发布的Giraffe城市设计平台中作为地面风环境舒适度计算的工具包,其快速的性能反馈效果在建筑界引起了广泛讨论3)。SOM算法也有此方面的应用,依托Mathematica数值计算SOM神经网络进行CFD的拟合,快速生成三维风场数据[18]。Thomas Wortmann等学者依托于元模型思路开发了元启发式优化算法,并基于此开发了grasshopper平台内的优化插件Opossum,该优化算法相比于遗传算法等传统优化算法,能够在较小的迭代次数下获得更优异的性能优化结果[35]。
4 机器学习方法的应用路径
当前面向建筑师的机器学习相关研究与应用尚处于萌芽期,本小节介绍现阶段可供建筑师运用的机器学习工具与接口,以及对应的典型应用路径。
4.1 机器学习工具包及软件
图10 基于自编码网络的建筑形体特征混合方法
图11 基于SOM网络的建筑形体特征混合方法
图12 基于多视图的建筑形态转译
当前有各类成熟的机器学习算法工具包,分别具有不同的侧重。Accord.NET Framework、NeuronDotNet.dll、AForge.Neuro.dll/ NLOptDotNet.dll等工具包为轻量级的基于.NET的机器学习算法包,在进行插件编写时可直接调用对应的.dll文件实现机器学习算法。但这些工具尚无法完成深度学习等复杂的机器学习任务,也无法调用GPU进行高负荷的机器学习计算。Python作为一种“胶水语言”4)被机器学习工程师青睐,Scikit-learn作为python环境下的通用的机器学习算法框架,提供了大量执行机器学习算法的模块化方案以用于数据挖掘和分析,几乎覆盖了机器学习的所有主流算法,但并未针对当前热门的深度学习技术优化。当前在深度学习领域被广为采用的框架为Keras、tensorflow、pytorch、Caffe等,可通过python接口灵活搭建自定义的深度学习神经网络,目前大多数深度学习相关研究基于上述深度学习框架。MATLAB作为工程领域广为应用的软件,也包含机器学习模块,通过MATLAB API可实现MATLAB与外部工程设计软件的实时数据传输。
4.2 脱离3D建模软件的机器学习实现
当前主流机器学习研究集中于对图像、文本等大数据媒体资料的处理。直接运用这类媒体资料解决建筑领域的相关问题并不需要3D建模软件的参与。如在郑豪[53]、STEINFELD[58]等学者的相关研究中,户型平面图、街景图片作为输入输出媒介,使用经典的styleGAN、Pix2PixHD等基于二维图像的机器学习算法包生成需要的二维图像结果,整个过程均直接利用Python编程平台实现。
4.3 基于3D建模软件的机器学习实现
基于3D建模软件实现机器学习算法有两条主要路径:建模软件自带的插件工具;3D软件与成熟算法平台的数据互通。
软件自带的插件工具将机器学习算法进行打包,不需设计师进行自定义编程,因此能够快速将机器学习算法融入设计流程。在Rhinoceros3D平台下有若干第三方算法grasshopper插件支持实现机器学习算法:opossum优化插件[83,84]、Lunchbox、Owl、Crow、Dodo、ANT插件等(表2)。受限于软件平台,上述插件均不能链接GPU并行计算,其参数的设置和修改具有局限性,而这些参数的调整往往是神经网络设计中最重要的问题[85]。Lunchbox插件也有基于Revit的Dynamo平台版本,包含了与grasshopper平台同样的机器学习算法。
表2 支持机器学习算法的grasshopper插件汇总
3D软件与外部机器学习工具的数据交互有两种方式——通过插件互通与通过交换文件链接。在Rhinoceros3D平台下可通过Ghcpython和ghpython remote插件直接在grasshopper界面内调用numpy、scipy、keras、tensorflow等机器学习相关运算库,方便建立无缝的机器学习流程;在Revit的Dynamo平台下也可以通过Python、C#编程语言实现以上数据交换。Houdini 中的PDG参数化平台基于Python语言同样可以链接tensorflow、pytorch等经典机器学习算法库,官方网站介绍了基于机器学习的快速地形生成方法[86]。另外,将3D软件内的数据以.csv等格式导出后也便于在python平台、MATLAB等计算模拟平台调用,但交换文件的储存与读取会耗费大量的时间,在处理超大规模数据时将成为速度瓶颈。
国内孙澄教授团队提出了人工智能与建筑师协同方案创作的设计模式,并利用深度学习技术开发了实现人机协同方案设计的智能设计系统(Quick Desgin Generator),此系统是典型的基于3D建模软件的机器学习实现方式——在grasshopper内将建筑三维数据转换为二维信息,使用Python语言链接grasshopper参数化平台与tensorflow机器学习框架,结合二维建筑意象图片进行风格迁移并反馈回grasshopper生成三维体量。该方法成功地将建筑设计意向特征融合进三维建筑体量,辅助设计师进行方案创作[74]。
结语
本文系统性地梳理了机器学习及神经网络技术在当前建筑领域的前沿研究,以尽可能还原这一先进技术在建筑领域的应用图景。综合前述分析可得出机器学习技术在建筑设计领域的现状特征和未来研究趋势,可以概括为以下五个方面:
(1)ANN、SVM、PCA等传统机器学习工具在建筑工程领域应用广泛,虽然没有深度学习技术那样具有“魔力”,但其在性能优化相关领域仍具有巨大的应用潜力。正如同济大学的研究显示的那样[33],借助机器学习技术将量化的建筑性能指标同建筑形体特征相耦合并快速进行性能反馈,更符合建筑越来越“智能化”的需求。
(2)基于二维图像的机器学习算法(CNN/GAN等神经网络结构)在拓展建筑师创造力的方向具有巨大潜力,随着相关研究的深入,这些机器学习的介入将变得更具实用化,这种实用化已经在建筑形体创意等方向初步显露[73,74]。
(3)如何将建筑的三维信息保真地转译为机器学习可以“理解”和操作的数据是一个具有重要意义的研究方向。高保真的建筑三维信息处理将极大促进涉及建筑形态的机器学习相关应用。
(4)在将机器学习作为辅助工具的前提下,可以在整个设计流程中综合运用不同的机器学习算法以提高设计效率[21],且应当进行不同机器学习算法的筛选,以获得最优性能[9,65]。
(5)虽然当前主流3D建模平台引入了若干机器学习算法插件,当前主流的机器学习算法应用仍然依托于tensorflow、pytorch等经典机器学习算法库,依托python等语言接口将3D建模软件同机器学习算法相链接的方式将成为相当长时期内的主流。
建筑学作为一门结合了艺术与工程的学科具有其独特性,建筑师应同时考虑美学需求和建筑性能需求,机器学习及神经网络相关工具为建筑师提供了从直观的数据视角呈现复杂问题的能力,其强大的数据整合与特征识别能力也可辅助建筑师进行快速和穷尽式的方案优选。这些强大的工具有助于将建筑师从枯燥的比较试错中解放出来,将当前的“劳动密集型”设计转变为“智力密集型”设计,同时也有助于建筑师更多地聚焦于建筑的非物质要素,在建筑性能需求、设计美学和社会关怀间找到更好的平衡,扩展建筑学的边界。
图、表来源
图1、3:作者绘制;图2:参考文献[17];
图4:参考文献[55];图5:参考文献[59];
图6:参考文献[58];图7:参考文献[45];
图8:参考文献[75];图9:参考文献[76];
图10:参考文献[25];图11:参考文献[16];
图12:参考文献[60];表1、表2:作者绘制。
注释
1)在监督式学习和半监督式学习任务中,机器学习算法在训练阶段接受一组带标记数据,训练完成的机器学习算法可以根据新输入的未标记数据猜测可能的标签。如在动物图像识别任务的训练阶段,输入的带标记数据为动物的图像和对应的动物种类标签。这些标记数据通常需要人工/专家进行注释。
2)图结构相对于线性结构和树形结构,是一种复杂的非线性结构,图结构由节点(Vertex)和边(Edge)组成,边代表节点之间的连接;图结构中任意两个节点之间都可能由边连接。根据边是否具有方向性,图结构分为有向图与无向图。用图结构可以对现实中许多复杂系统进行建模,如知识图谱关系、社交关系、交通网络、计算机网络、消费市场等。
3)giraffe是一个在线的城市设计平台,官网地址:https://www.giraffe.build/
4)胶水语言(glue language)是特指用来方便连接各类软件组件以实现整体业务流程的语言(像胶水一样好用),其仅作为一个中间处理模块调用各类其他语言编写的核心程序并进行综合处理。由于python作为脚本语言的具有极高的代码可读性和灵活的语法,和拥有丰富的第三方库,其更适合作为胶水语言。