结构玻璃设计中的应用机器学习



本文展示了在结构数据上训练机器学习算法的可行性及其在早期设计工作中作为预测工具的潜在应用。

机器学习是一种人工智能,在日常生活中变得越来越普遍。电子邮件垃圾邮件过滤器、自动驾驶汽车和语音识别都依赖机器学习算法来准确高效地运行。这样的算法允许计算机在没有明确编程或问题意识的情况下发现数据趋势,允许它们在接触新输入时做出预测。本文探讨了该技术在帮助结构玻璃设计领域的潜力。

监督回归多层神经网络和分类算法在 Grasshopper 和 Strand7 中参数化生成的计算结构玻璃解决方案数据库上进行训练。一旦经过训练,该算法的准确性将被评估并用于预测具有均匀压力的矩形板的玻璃堆积。

在所有情况下都实现了大于 80% 的厚度分类精度。当与经验丰富的结构工程师结合使用时,这种智能预测器有可能为早期设计带来好处,允许快速准确地评估玻璃并考虑结构玻璃设计中涉及的各种设计驱动因素。

介绍

与其他技术领域一样,基础工程问题可以根据其数学原理进行公式化和自动化。计算机辅助设计 (CAD) 的原理早已过时,我们已进入计算机“生成”设计领域。作为设计师和工程师,我们越来越依赖计算能力,不仅是为了解决技术问题,而且是首先生成设计。建筑师和设计师采用计算设计作为探索多种次优解决方案的一种手段,这些解决方案在参数范围越来越广泛的情况下,包括太阳能、热能、结构、景观和美学。

目前,尽管计算机取得了进步,但设计和工程方面的专业知识还是由个人的人工输入提供的。因此,大多数问题都是通过个人经验和判断的棱镜来解决的。在这种人类体验中,学习至关重要。虽然这在个人基础上运作良好,但由于必须传递知识,因此无法调动集体经验的力量。通过强调学习质量,我们将学习的重要性标记为数字设计中的一项原则。此外,计算机学习的原理可以应用于任何可以以逻辑方式收集和存储基本参数数据的任务。

机器学习是一系列源自计算机科学和数学的算法的定义,特别是人工智能的子集。出于应用工程的目的,它可以被描述为自学算法,这些算法在过程过程中收集的一组数据上进行训练。这些算法通过从过去的经验进行推断来做出未来的预测。

对于定义明确的微不足道的工程问题,它们的应用可能没有什么好处,但这些算法在解决非常复杂的问题方面具有无与伦比的潜力。随着我们的问题越来越依赖于学科的数值分析和整合,分离问题的各个方面将变得更加困难。

随着我们进一步发展以完全在数字领域解决那些复杂的问题,我们将需要对尽可能多的输入和输出信息进行分类、记录和离散化。机器学习使用存储在大型组织数据库中的这些信息来创建基于对这些数据的分析的预测数学模型。在图 1 中,可以分析二维问题的数据,并且可以拟合函数来表示基于一组标准的数据。

曲线拟合一组数据点

图 1:曲线拟合一组数据点

在其他行业应用机器学习

下面突出显示了两个可转移的示例,说明了应用机器学习如何为整个玻璃行业设计链中的公司和客户提供价值。

一世。Google DeepMind:最小化数据中心冷却负荷

通过收集从其数据中心内的数千个传感器收集的数据,Google DeepMind 训练神经网络来预测其数据中心的能源使用、未来温度和未来压力。当在实时数据中心运行时,该机器学习系统能够始终如一地证明用于冷却的能源减少了 40% [1]。

  1. Otto:预测性库存管理

总部位于德国的电子商务公司 Otto 已经训练了一种深度学习算法来预测客户在订购前会购买什么。通过分析过去 30 亿笔交易和 200 多个变量,该算法能够以 90% 的准确率预测未来 30 天的销售量。它每月自动购买约 200,000 件商品,无需人工干预。结果,Otto 的剩余库存减少了五分之一,客户可以更快地收到他们的产品,并且产品退货每年减少了超过 200 万件 [2]。

方法

问题大纲
虽然机器学习已成功用于解决复杂的优化问题,但尚未探索其在结构和幕墙工程领域的应用。这里介绍的工作旨在证明该技术在结构玻璃领域的适用性。结构玻璃的一个常见设计任务是在给定的应力和挠度限制下找到四边支撑的矩形板的最小厚度。

这个问题很好理解,分析解决方案记录在 Rourk [3] 中。因此,它提供了一个有界的、受限制的域、比较示例来说明和验证机器学习方法对于这种特定设计情况的适用性。问题的复杂性可以概括为将来包含更多参数和约束。

问题大纲是:“预测给定宽度、高度、压力和玻璃类型的厚度。”

数据收集
机器学习需要大量数据以高度准确地训练任何预测算法。这是将该技术应用于结构设计的挑战;在许多结构工程公司,过去项目的数据采用多种格式(例如:手工计算、Excel 电子表格、有限元模型等),保存在无数不同的位置,并且没有明确划分哪些解决方案被认为是成功的和被批准的用于最终设计。

因此,将组织过去的项目信息整理成适合训练机器学习算法的格式被认为超出了本文的范围。相反,使用参数化设计方法采用了一种生成新数据集的替代方法。该问题的模型是在 Grasshopper 中参数化设置的,允许改变板的宽度、高度、厚度和施加的压力。这被转换为适合使用 Geometry Gym [4] 进行有限元分析的模型。使用 Python 编写的 Strand7 应用程序可编程接口 (API),可以在 Strand7 有限元软件中求解有限元模型。

最后,峰值应力和挠度被自动提取并连同它们相应的输入参数一起保存在数据库中。通过这种流体参数化设计设置,生成了一个包含 1080 个模型的数据库,每个模型对应于从唯一生成的有限元模型中提取的输入和结果。工作流程如图 2 所示,输入数据在表 1 中。

结果数据库参数生成的工作流程

图 2:结果数据库参数生成的工作流程

表 1:数据库生成的输入值范围

数据库生成的输入值范围

规范化设计限制的应用 为了使学习算法生成符合规范的设计,需要应用设计规范的限制。表 2 中选择了 ASTM E1300-12a 允许接缝边缘 3 秒负载持续时间的允许边缘应力。

表 2:来自 ASTM E1200-12a 的设计限制

来自 ASTM E1200-12a 的设计限制
这些限制可以根据选择的代码进行调整,并应用于机器学习过程中的两个不同位置;在算法训练之前或之后。应用这些限制的位置适用于两组不同的机器学习算法。

方法一:回归机器学习算法
在第一种方法中,可以在数据库上训练回归学习算法,将输入(宽度、高度、厚度和压力)映射到输出(应力和挠度)。使用回归算法,输入映射到一组连续的输出。训练后,预测器用于为给定的输入集生成应力和偏转值。然后将编码限制应用于该预测,迭代厚度直到找到可行的最佳值。此逻辑的流程如图 3 所示。

回归学习算法的训练和部署方法

图 3:回归学习算法的训练和部署方法

机器学习是使用 Matlab r2017a 的“神经网络工具箱”[5] 进行的。在参数化生成的数据库上训练具有 sigmoid 隐藏神经元和线性输出神经元的两层多神经元前馈神经网络。数据库被分割为 50% 的训练数据、25% 的验证数据和 25% 的测试数据。训练数据用于使用结合到 Levenberg-Marquardt 优化中的贝叶斯正则化反向传播来训练网络权重。验证集提供了泛化的度量,测试集提供了网络性能的独立度量。

探索了改变网络超参数的影响,特别是隐藏神经元的数量。

方法二:分类机器学习算法
第二种方法使用监督分类算法将输入直接映射到厚度。为实现这一目标,将编码限制应用于初始数据库(图 4);找到满足挠度和应力限制的给定宽度、高度和压力的最小厚度。然后将这些最小厚度存储在新数据库中。由于玻璃厚度的值属于不同的类别(3、4、5、6、8mm 等),因此可以训练分类机器学习算法来预测哪个标签用于“标记”输入数据,对应于特定的玻璃厚度.

分类学习算法的训练和部署方法

图 4:分类学习算法的训练和部署方法

这种方法的优点是在调用预测器时不需要迭代循环,提高了预测速度。此外,这里的预测器不知道应力或变形;它只是能够根据过去的经验识别输入数据中的趋势,以适当的粗细对查询进行分类。

机器学习是使用 Matlab r2017a 的“神经网络工具箱”进行的。训练了多种分类算法,包括支持向量机、逻辑回归和判别分析。发现加权 k-最近邻和集成增强树在这个数据集上表现最好,有 5 折交叉验证。因此,这些被用于其余的调查。

结果和讨论

回归算法解决方案
图 5 和图 6 说明了经过训练和验证的神经网络的性能,使用所有数据点进行说明。将隐藏神经元的数量从 8 个增加到 128 个神经元的效果显着提高了性能,将最初分散的预测交叉移动到解析解的圆圈内。这表明 8 个神经元提供的超参数太少,无法捕获数据集的四维到二维映射,导致数据欠拟合。

和图 6:8 个神经元(左,R = 0.99213)和 128 个神经元(右,R = 0.99995)回归神经网络的预测(交叉)与分析(圆圈)结果

图 5 和图 6:8 个神经元(左,R = 0.99213)和 128 个神经元(右,R =
0.99995)回归神经网络的预测(交叉)与分析(圆圈)结果。

两组的误差直方图(图 7 和图 8)的比较说明了较大网络提供的误差范围的减少;减少近似正态分布误差的偏差。应该注意的是,误差关于其平均值近似对称,表明解决方案同样可能高于(保守设计)和低于(不安全设计)。

和 8:8 个神经元(左)和 128 个神经元(右)回归神经网络的误差直方图

图 7 和 8:8 个神经元(左)和 128 个神经元(右)回归神经网络的误差直方图

图 9 说明了具有更多超参数的网络性能改进。用 8、80 和 128 个神经元隐藏层训练了 25 个不同的网络,并取了它们的平均性能。欠拟合的 8 个神经元网络表现更差,但与 128 个神经元网络相比,80 个神经元网络具有相似的平均性能和减少的偏差。这是由于 128 个神经元网络对数据过度拟合的复杂性增加,导致在暴露于新的测试数据时泛化误差增加。

隐藏层中具有 8、80 和 128 个神经元的 25 个训练网络的平均网络性能改进

图 9:隐藏层中具有 8、80 和 128 个神经元的 25 个训练网络的平均网络性能改进

分类算法解决方案 图 10 至 12 显示了退火、热强化和完全钢化玻璃的分类算法结果。将预测厚度(x 轴)与分析得出的最佳厚度(y 轴)进行比较,这意味着完美的预测将落在“y = -x”对角线上。算法在超过 80% 的情况下正确识别解析解。

与回归算法一样,误差倾向于分布在对角线的任一侧,这表明对保守和非保守解的敏感性。由于训练数据是参数化生成数据库的一个子集,每个算法只有大约 100 个数据点来训练一个三维到一维的映射。预计使用更大的数据集,可以实现更准确的预测。

示例预测
为了以更切实的方式向玻璃设计师展示预测器的有效性,生成了 5 个随机问题。将回归和分类算法预测的玻璃厚度与表 3 中的解析解进行比较。为了增加复杂性,示例 4 包括倒置的纵横比,其中宽度大于高度,示例 5 包括训练范围之外的风压数据。

具有(从左到右)退火(80.4% 准确率)、热强化(81.2% 准确率)和完全增韧(82.1% 准确率)的分类混淆矩阵

图 10 到 12:具有(从左到右)退火(80.4% 准确率)、热强化(81.2% 准确率)和完全增韧(82.1% 准确率)的分类混淆矩阵

将分析解决方案与机器学习预测进行比较的五个示例

表 3:将分析解决方案与机器学习预测进行比较的五个示例

正如这 5 个示例所表明的,这两个网络对解析解的表现都很好。除了一种情况外,网络都会预测精确或保守的解决方案。预计更多的训练数据,尤其是分类网络,将有助于提高预测的准确性。

结论和未来工作

本文展示了在结构数据上训练机器学习算法的可行性及其在早期设计工作中作为预测工具的潜在应用。与精确解析解相比,在 10^3 和 10^2 条目的数据集上训练的回归和分类网络分别表现出超过 80% 的准确度。

网络超参数的微调可以调整结果的准确性,欠拟合和过拟合的数据会导致泛化错误增加。

为了训练准确的机器学习算法,需要大型数据集将误差降低到可接受的水平以下,这可能超出大多数工程实践的数据收集能力。因此,本文采用的参数化生成结果数据库的方法可能具有更广泛的适用性。“每个输入参数一个数量级的数据”的经验法则可能会提供足够的准确性。

未来的工作包括扩展算法以考虑多种载荷情况(例如没有直接解析解的点和线载荷),并为具有气候载荷和层压板的双层和三层玻璃单元开发算法。结合“软”设计参数(例如视觉质量或破损后安全性)以及硬(遵守编纂的设计限制)的能力允许机器学习算法协助设计决策,并允许算法提供更广泛的范围比纯粹的分析解决方案所能提供的考虑因素。

参考

[1] Evans, R. and Gao, J. (July 2016) DeepMind AI Reduces Google Data Centre Cooling Bill by 40% [online] Available at: https://deepmind.com/blog/deepmind-ai-reduces-google-data-centre-coolingbill-40 [Accessed 3 May 2017]
[2] The Economist (April 2017) How Germany’s Otto uses artificial intelligence [online & print] Available at: http://www.economist.com/news/business/21720675-firm-using-algorithm-designedcern-laboratory-how-germanys-otto-uses [Accessed 3 May 2017]
[3] Young, W. and Budynas, R. (2011) Roark’s Formulas for Stress and Strain 8th Ed. McGraw Hill Companies
[4] Mirtschin, J. (2017) GeometryGym [online] Available at: https://geometrygym.wordpress.com/ [Accessed 3 May 2017]
[5] Matlab (2017) Neural Network Toolbox [online] Available at: https://uk.mathworks.com/products/neural-network.html [Accessed 3 May 2017]

Tags: none