推荐:用 NSDT设计器 快速搭建可编程3D场景。
AEC(建筑、工程、施工)行业的BIM 技术,允许在实际施工开始之前虚拟地建造建筑物; 这带来了许多有形和无形的好处:减少成本超支、更有效的协调、增强决策权等等。 对于一些公司来说,采用 BIM 是需要克服的一大障碍,许多公司仍在苦苦挣扎。 但现在我们看到行业出现了另一个新趋势:人工智能。 我们不要害怕,仔细看看它。 它比你想象的要简单!
在本文中,我将展示我的硕士论文,题为“使用深度神经网络优化 BIM 模型能源性能”。
1、问题的提出
许多不同的估计表明,大约 70-80% 的设施成本用于运营。
当然,这些也是由于维护造成的; 但请记住,建筑业有时被称为“40% 的行业”,因为它占用了世界自然资源和二氧化碳排放量的 40%。 我们应该更好地爱护大自然!
我将尝试提出一个框架来优化建筑物的能源消耗,这被称为 EUI,或能源使用强度,以兆焦(或千瓦时)/平方米/年为单位测量。 Green Building Studio 将使用 DOE-2 引擎和从 Revit 导出的 gbXML 文件执行能源分析。
2、获取BIM数据
首先,我们需要做出一些假设。 让我将要测试的每个模型的 HVAC 系统保持相同(即,Revit 提供的单户住宅标准 HVAC 模型将用于每个 Revit 模型)。 事实上,在实际设施中,随着时间的推移,它可以被更高效的固定装置和系统取代,否则我们可能根本不知道暖通空调类型那么早。
相反,让我们关注建筑物更永久的特征,例如地板、墙壁和屋顶的导热率(R,m²K/W); 窗墙比; 计划中的旋转。 这些是我将要尝试的特征。
另一个假设是我们的 Revit 模型将是一个普通的盒子,里面只有一个房间,没有隔断和窗户(窗墙比将在稍后分配)。 这是为了简化分析。
因此,让我们尝试以下参数范围的所有组合:
10368 种组合太多了,但 Revit API 会有所帮助。 Green Building Studio 使用 Revit 可以导出的 gbXML 文件。 此脚本将热阻值和平面旋转的组合应用于模型,并将每个组合模型导出为 gbXML 格式。 通过改变热资产的导热系数来实现不同的热阻值。 改变厚度会在分析中引入另一个因素:分析表面始终位于单元的中间,因此总面积随壁厚而变化。
解析 gbXML 目录以获取所有文件的路径后,我们准备将 3456 (121212*2) gbXML 文件上传到 Green Building Studio。 使用 Dynamo 包 Energy Analysis for Dynamo。
分析完成后,我们可以开始在 Green Building Studio 中分配窗墙比。 不幸的是,Dynamo 包没有此功能,并且 GBS API 仅供开发人员使用,因此我不得不借助浏览器自动化来分配 WWR。 然而,这只需要执行一次,我们稍后会看到原因。 能量分析完成后,我们可以解析 GBS 中的数据并对其进行彻底检查。
现在,让我们用另一个简单但不同的 Revit 模型重复上述所有步骤。
我们将需要这些数据以供以后使用。
3、训练神经网络
对于每个机器学习项目来说,数据检查和准备是必须的。 但在这种情况下,我们没有丢失数据或异常值:我们的数据是人为创建的。 因此我们可以安全地跳过许多检查步骤。 我将写另一篇文章更详细地描述神经网络。 如果你有兴趣,这里是脚本。 但长话短说,神经网络在给定大量数据的情况下,能够导出管理数据的规则。 与传统编程相比,我们给出规则和数据来获得答案。
当规则难以编码时,神经网络会派上用场:面部或语音识别、自然语言处理、翻译、情感分析等。
我们为本文中BIM数据设计的网络具有以下架构:
输入层(绿色)有 5 个单元。 这些是我们的参数:WWR、平面旋转和三个热阻值。 输出层(黄色)是 EUI 值。 将此网络(蓝色层)视为一个巨大的矩阵,其中第一步仅包含随机数。 为了训练网络,我们的输入层(向量)乘以一系列矩阵以获得 EUI 值的预测。 然后将预测与实际 EUI 值进行比较,并更新网络中的数字以更好地预测输出。 重复这个循环,直到我们对性能感到满意为止。
现在是时候根据第一个盒模型的数据点来训练我们的网络了。 其中 94% 将用于训练我们的网络,6% 将用于验证网络并调整影响网络的一些参数以获得更好的性能。
训练后,我们使用网络预测 10368 个 EUI 值:
误差保持在0.2%以内,还不错。 除此之外,网络将我们的数据从离散变为连续。 换句话说,我们现在可以获得以前无法获得的参数的 EUI 值; 例如 21% WWR 或 R=2.45。
好的,这让我们进入下一步。
4、迁移学习
还记得我们第一步做的第二个 Revit 模型吗? 我们现在将通过称为“迁移学习”的技术来使用它。 让我们采用上一步中经过训练的网络,并将前四层设置为不可训练:
或者,换句话说,让我们只关注最后两层。
此时,网络“知道”主要模式和趋势以及每个参数如何影响 EUI。 但仅适用于第一个 Revit 模型。
现在让我们通过使用新数据重新训练最后两层,将新的 Revit 模型“引入”到我们的网络中。 但有一个重要的区别:这次只有 6% 的数据用于训练,94% 用于验证。 不执行超参数调整。 训练后我们得到这样的结果:
注意:训练时间约为 1 或 2 分钟,而第一个盒子 Revit 模型则需要 2-3 小时,并且预测几乎同样准确。
5、训练集/验证集比例的实验
为什么要坚持 6% 的训练与验证比例? 让我们再尝试一下,看看效果如何。
4% 训练数据
1% 训练数据
0.25% 训练数据
事实证明,训练-验证比例大约为 1-2% 时,性能开始显着下降。
请注意,损失函数达到平台后停止训练
6、结果与比较
恭喜! 现在,我们有了一个训练好的神经网络,可以使用少量数据来预测 Revit 模型在大范围参数下的能耗。 该模型甚至可能没有任何窗户。 我们所做的最后一步展示了它:通过引入我们想要分析的模型中的一些数据点,我们得到了相当准确的估计,几乎没有误差。
为了强调迁移学习的效果,让我们用刚刚训练的网络来预测两个模型的 EUI。
一个网络 — 两个 Revit 模型预测
这就是说,我们不能采用随机神经网络并期望它与我们的模型一起工作:应该进行一些能量分析。 然而,它可以像第一部分一样自动化。
7、未来的工作
现在我们有了一个可以准确预测能耗的神经网络,除了使用复杂的 Revit 模型对其进行测试之外,还必须向实际优化迈出一步。 为了找到最优的参数组合,需要建立成本模型。 成本模型应包括材料、劳动力、可能的维护、能源成本,并应考虑建筑物的生命周期、建筑和物理限制。
这将产生现实的框架,只需很少的努力,就可以在项目的概念阶段选择最佳的参数组合。
原文链接:神经网络BIM能源优化 — BimAnt