机械工程中的计算设计过程通常始于一个问题或目标,接着评估可用的文献、资源和系统以解决该问题。麻省理工学院的设计计算与数字工程实验室(DeCoDE Lab)则探索可能的边界。
该团队的负责人、ABS职业发展助理教授Faez Ahmed与机械工程系的研究生Amin Heyrani Nobari正在与麻省理工学院-IBM沃森人工智能实验室合作,结合机器学习和生成性人工智能技术、物理建模和工程原理,以应对设计挑战并增强机械系统的创建。他们的一个项目,连杆,研究了平面杆和关节如何连接以描绘曲线路径。在这里,Ahmed和Nobari描述了他们的最新工作。
问:你们团队如何考虑从观察的角度来解决机械工程问题?
Ahmed:我们一直在思考的问题是:生成性人工智能如何在工程应用中使用?一个关键挑战是将精确性纳入生成性人工智能模型中。在我们正在探索的具体工作中,我们使用自监督对比学习的方法,实际上是在学习这些设计的连杆和曲线表示,或者说设计的样子以及它是如何工作的。
这与自动发现的理念紧密相关:我们能否通过人工智能算法发现新产品?关于更广泛的背景:一个关键的想法,特别是在连杆方面,但广泛地说,关于生成性人工智能和大型语言模型——所有这些都是我们正在研究的同一家族模型,精确性在其中扮演着重要角色。因此,我们从这些类型的模型中获得的经验教训,在某种形式的数据驱动学习中,辅以工程模拟器和设计的联合嵌入,以及性能——它们可能也能转化到其他工程领域。我们展示的是一个概念验证。然后人们可以利用它来设计船舶和飞机,以及精确的图像生成问题,等等。
在连杆的情况下,你的设计看起来像是一组杆及其连接方式。它的工作原理基本上是它们在移动时所描绘的路径,我们学习这些关节表示。因此,你的主要输入是——有人会来画出一些路径——而你试图生成一个可以追踪该路径的机制。这使我们能够以更精确的方式解决问题,并显著加快速度,比之前的最先进方法减少28倍的误差(更准确)和快20倍。
问:告诉我关于连杆方法的情况,以及它与其他类似方法的比较。
Nobari:对比学习发生在机制之间,这些机制被表示为图形,因此基本上,每个关节将是图中的一个节点,节点将包含一些特征。这些特征包括位置、空间和关节类型,可以是固定关节或自由关节。
我们有一个架构,考虑到描述机制运动学的一些基本基础,但它本质上是一个图神经网络,用于计算这些机制图的嵌入。然后,我们有另一个模型,将这些曲线作为输入并为其创建嵌入,我们使用对比学习将这两种不同的模态连接起来。
然后,我们训练的这个对比学习框架用于寻找新机制,但显然我们也关心精确性。在识别的任何候选机制之上,我们还有一个额外的优化步骤,在这个步骤中,识别的机制将进一步优化,以尽可能接近那些目标曲线。
如果你把组合部分做对了,并且你离目标曲线很近,你可以进行直接的基于梯度的优化,调整关节的位置,以获得超精确的性能。这是一个非常重要的方面。
这些是字母的例子,但用现有方法传统上很难实现。其他基于机器学习的方法往往甚至无法做到这一点,因为它们仅在四根杆或六根杆上进行训练,这些都是非常小的机制。但我们所展示的是,即使在相对较少的关节数量下,你也可以非常接近这些曲线。
在此之前,我们不知道单一连杆机制的设计能力的极限是什么。这是一个非常难以回答的问题。你真的能写出字母M吗?没有人做过,而机制是如此复杂和稀有,以至于这就像大海捞针。但通过这种方法,我们展示了这是可能的。
我们已经考虑使用现成的图形生成模型。一般来说,图形生成模型非常难以训练,通常效果不佳,尤其是在混合具有对机制的实际运动学高度敏感的连续变量时。同时,你有各种不同的组合关节和连杆的方式。这些模型根本无法有效生成。
我认为,当你看看人们如何通过优化来处理这个问题时,问题的复杂性更加明显。通过优化,这变成了一个混合整数非线性问题。使用一些简单的双层优化,甚至简化问题,他们基本上创建了所有函数的近似,以便使用混合整数锥编程来接近问题。组合空间与连续空间的结合是如此庞大,以至于他们基本上只能处理到七个关节。超过这个数量,就变得极其困难,创建一个特定目标的机制需要两天。如果你要全面进行,这将非常困难,实际上覆盖整个设计空间。在这里,你不能仅仅将深度学习应用于此,而不尝试更聪明地处理它。
最先进的基于深度学习的方法使用强化学习。给定一个目标曲线,他们开始以或多或少随机的方式构建这些机制,基本上是一种蒙特卡洛优化的方法。衡量标准是直接比较机制描绘的曲线和输入模型的目标曲线,我们展示我们的模型的表现比这好28倍。我们的方法需要75秒,而基于强化学习的方法需要45分钟。优化方法运行超过24小时,仍然不收敛。
我认为我们已经达到了一个非常稳健的概念验证阶段,涉及连杆机制。这是一个足够复杂的问题,我们可以看到传统的优化和传统的深度学习单独都不够。
问:开发像连杆这样的技术以支持人机协同设计的更大背景是什么?
Ahmed:最明显的是机器和机械系统的设计,这正是我们已经展示的。话虽如此,我认为这项工作的一个关键贡献是我们正在学习的离散和连续空间。因此,如果你考虑现有的连杆以及它们如何相互连接,那是一个离散空间。你要么连接,要么不连接:0和1,但每个节点的位置是一个可以变化的连续空间——你可以在空间中的任何地方。学习这些离散和连续空间是一个极具挑战性的问题。我们看到的大多数机器学习,比如计算机视觉,主要是连续的,或者语言主要是离散的。通过展示这个离散和连续系统,我认为关键思想可以推广到许多工程应用,从超材料到复杂网络,再到其他类型的结构,等等。
我们正在考虑的一些步骤,自然的问题是关于更复杂的机械系统和更多的物理,比如,你开始添加不同形式的弹性行为。然后,你还可以考虑不同类型的组件。我们还在思考如何将大型语言模型中的精确性纳入其中,一些经验教训将转移到那里。我们正在考虑使这些模型生成性。目前,它们在某种意义上是从数据集中检索机制并进行优化,而生成模型将生成这些方法。我们还在探索端到端学习,在这种情况下不需要优化。
Nobari:在机械工程中有几个地方使用它们,这种逆运动学合成的系统有非常常见的应用。让我想到的几个例子是,例如,在汽车悬挂系统中,你希望整体悬挂机制有一个特定的运动路径。通常,他们在2D中使用整体悬挂机制的平面模型进行建模。
我认为下一步,以及最终将非常有用的是,展示相同框架或类似框架用于其他复杂问题,这些问题涉及组合和连续值。
这些问题包括我一直在研究的一个方面:柔性机制。例如,当你有连续的——而不是这些离散的——刚性连杆的力学时,你将拥有材料和运动的分布,材料的一部分变形其余的材料,以给你不同类型的运动。
在柔性机制中,有许多不同的地方使用它们,有时在精密机器的夹具机制中,你希望有一个特定的部件被固定在位置,使用一个夹具机制,可以一致且高精度地完成。如果你能用这种框架自动化很多工作,那将非常有用。
这些都是涉及组合设计变量和连续设计变量的困难问题。我认为我们非常接近这一点,最终这将是最后阶段。
这项工作部分得到了麻省理工学院-IBM沃森人工智能实验室的支持。