第三章建筑设计中的机器学习
随着20世纪末计算机在建筑学领域的广泛使用,建筑师得以在可视化的屏幕上拖拽几何形体的控制点,搭建参数关系,甚至通过编写文本代码来控制设计逻辑。后者非常依赖人类明确的指令输入,即显式编程,使用清晰的指令告诉计算机解决某一问题的详细步骤。这种方式帮助建筑师避免了重复性的机械工作。在相关变量及限定条件十分明确的情况下,方案的生成实现了一定程度的自动化,提升了设计效率。
明确的指令对于特定简单的任务来说是十分有效的,然而当遇到更为复杂的问题时,例如实现智能的设计程序,显性编程的局限就会凸显出来。近年来随着社会和城市的发展,建筑设计过程中涉及的变量越来越多,不难发现建筑设计中存在一定程度的复杂性{3.1}。如果我们认同建筑设计中的这种复杂性可以通过计算得到解答,那就需将其转化为数学模型1以待求解。通过求解合适的数学模型得到解决特定问题的最优或者近似最优方案,通常被称为求解最优化问题。在数学上,最优化问题可以定义为:在给定的约束条件下,选择最优的参数和方案,来使得目标函数最大化/最小化的问题。
建筑设计的复杂性体现在同时满足多个目标的需求,因此建筑设计也可以看作一种多目标优化问题{3.2}。在处理这类复杂问题方面,机器学习 (Machine Learning)可能是目前最有效的方法之一。机器学习是人工智能领域的主要分支,并且当代机器学习离不开数据的支撑,就像我们人类的学习过程离不开学习资料(如书籍、文献等){3.3}。根据机器学习所需要的数据是否含有标签,机器学习主要被分为有监督、无监督和半监督三类**{3.4}。**