文/王俊杰 浙大宁波理工学院
当前,以深度神经网络和深度学习为基础的人工智能技术依旧是一个高速发展的热门领域,与此同时,其他学科领域也在积极探索有效利用人工智能技术的方式。建筑学科也不例外,实际上在计算机图像处理领域中以卷积神经网络(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]