用户登录

你在这里

2020年2月杂志俱乐部:力学中的机器学习:简单的资源,例子和机会

mbessa的照片

力学中的机器学习(ML)是一个迷人而及时的话题。通过回顾我过去和现在与该领域的学生和合作者的研究成果,本文将提供一些关于使用ML算法来解决力学问题的想法。首先为不熟悉该主题的同事提供ML的简要介绍,然后是关于ML在力学中的有用性的部分,最后我将反思该领域的挑战和机遇。欢迎您提出意见和改进建议。

1.介绍(对于不熟悉ML的人)

ML已经存在了60多年,交替经历了欣快和怀疑的时期https://www.import.io/post/history-of-deep-learning/.然而,在过去的十年中,由于使用通用编程语言(例如Python)编写的开源软件,该领域对非专业人员来说变得更加容易访问。不出所料,机器学习的早期采用者是在具有开放数据库的领域,从模拟或实验中收集大量数据,如生物信息学。https://www.ncbi.nlm.nih.gov/)、化学(如:https://pubchem.ncbi.nlm.nih.gov/)和材料科学(如:http://oqmd.org/http://aflowlib.org/).然而,只要一个问题有足够的数据可用,机器学习就可以影响任何科学学科。机制也不例外,尽管它具有特定的挑战(参见第3节)。

为了讨论的目的,我将关注ML的两个分支:监督学习(回归和分类)和无监督学习(聚类)。第三个主要分支,强化学习,不在这里讨论。

如果您是ML的新手,并且希望获得一些实践经验,我建议您从Scikit-Learn (https://scikit-learn.org/) -本建议不存在利益冲突。它的用户界面很简单,因为它是用Python编写的,并且文档非常有用,因为它从最严格的算法(例如普通最小二乘等线性模型)开始,并以限制最少的算法(例如神经网络)结束。这很重要,因为它在应用ML算法解决问题时提供了正确的思维方式:就像你不用飞机从客厅到厨房一样;您可能不想使用神经网络来发现您的数据是由二阶多项式描述的。此外,Scikit-learn的文档还对每个算法进行了简单的介绍和多个示例(包括源代码)。这允许您尝试不同的算法,甚至在您了解它们的内部工作原理以及为什么某些算法比其他算法更好地解决给定问题之前。

我用简单的例子创建了一个脚本,需要Scikit-learn和Keras (https://keras.io/),可用于复制本节的数字,并获得有关误差度量的更多信息。该脚本名为“Intro2ML_regression.txt”,它要求您在系统中安装Scikit-learn和Keras。请将扩展名从。txt改为。py来运行它。Keras是一个用于创建神经网络模型的高级应用程序编程接口(API)。它与强大的机器学习平台接口,优化性能,TensorFlow或Theano,同时保持用户友好。

1.1.监督学习:回归

即使你不熟悉机器学习,作为一名工程研究人员/实践者,你可能会面临简单的回归任务(曲线拟合),在这些任务中,你会得到一组离散点(训练数据),你想要找到一个连续函数(模型),该函数(模型)可以插值所有点,或者通过平滑来描述数据的一般行为(例如最小二乘回归)。此任务的结果是描述数据的参数函数,例如y=ax3+bx+c,并且应该预测未包含在拟合过程(测试数据)中的数据点。让我们考虑一个例子:下图显示了使用8个训练点(红点)的三个不同多项式的最佳拟合。红色虚线表示真实的函数(待发现),黑色叉表示该函数内未用于拟合多项式的测试点。注意,7次多项式是插值的,而其他两个多项式不是(平滑数据)。然后通过简单的误差度量来评估预测的质量,例如,在测试点的模型预测之间计算平均最小二乘法。例如,下图中x=0附近的测试点与三个多项式模型提供的预测相距甚远,导致均方误差很大。

8个训练点的多项式拟合(无噪声)

与多项式拟合类似,机器学习算法也能够通过监督学习进行回归。然而,机器学习算法创建的模型不是参数化的。换句话说,这些算法有太多的参数,试图获得底层的解析表达式是没有意义的。因此,人们通常将ML模型称为黑盒子:它们具有预测性,但我们不知道模型的分析形式。我们失去了洞察力,但我们获得了非常强大的回归工具。

1.1.1.选择ML算法

为了说明不使用飞机从客厅到厨房的论点,考虑两个经典的ML算法:

非贝叶斯公式中的神经网络(NNs):典型的ML算法,基于数百万个连接依赖权重的神经元(节点)的简单传递函数的组合。训练包括找到大量的权重,使它们与数据相匹配。神经网络是非常简单的算法,因此它们具有极高的可扩展性(它们可以轻松处理数百万个数据点)。然而,正如您所想象的,训练不是一个简单的过程,因为找到每个连接的权重的可能性非常大。

高斯过程(gp):一种贝叶斯或概率机器学习算法,这意味着它预测响应以及不确定性。该算法具有突出的回归能力,总体上易于训练。不幸的是,这种算法的可扩展性很差,因此它仅限于小型数据集(大约10,000个点)。

下图显示了对上述用于多项式拟合的相同训练数据训练GPs和nn的结果。可以观察到,即使只使用8个点,gp也提供了函数x*sin(x)的极好近似值,并且它们还量化了与训练数据不同的不确定性。然而,在这样一个稀缺的数据集上训练神经网络要困难得多。在这里提供的脚本中,有一个网格搜索,可以帮助通过交叉验证为神经网络找到合理的参数(神经元、epoch等),但您可以自己尝试,找到合适的模型并非易事。该脚本还包括比我在这里介绍的更多的信息,例如在训练和测试数据上获得的损失与epoch的数量,以及三种近似算法的均方误差。这里的主要观点是为了说明我的飞机类比:nn通常不是近似低维和稀缺数据的最佳选择。然而,请注意,gp和nn都明显比多项式回归更接近函数。

GPR vs NN 8个训练点(无噪声)

1.1.2.我们是否先验地知道是否有“足够”的训练点?

不。考虑第二个示例,其中要发现的函数现在是同一域中的x*sin(3x)。如果我们使用8个训练点,就像我们找到x*sin(x)一样,我们的近似显然是最差的,如下图所示。因此,我们需要更多的训练数据来近似这个具有相似质量的新函数。因此,我们只知道我们有足够的训练数据,通过迭代地评估我们的近似对测试数据的误差。当误差收敛到一个合理的值(或者当你没有更多的数据!)时,我们停止增加训练数据的大小。在实践中,由于维度的诅咒,当我们的问题有许多输入变量时,训练数据的大小可能需要非常大:每个额外的输入变量都会导致需要采样的体积呈指数增长。这可能是一个很大的限制,因为我们可能没有适当学习所需的数千或数百万个训练数据点。

GPR vs NN 8个训练点(无噪声)

1.1.3.如果我的数据有噪声或不确定怎么办?

噪声数据集在工程中非常常见。来自实验的数据往往依赖于环境波动、材料缺陷等。请注意,即使数据来自模拟,数据集仍然可能是嘈杂的(随机的)。例如,结构屈曲的模拟依赖于模型中考虑的几何缺陷。如果这些缺陷是从统计分布中抽样的,那么这些属性将不是确定性的。下图说明了随机性的恶劣影响。数据是通过扰动相同的x*sin(x)函数生成的,但现在我们用高斯噪声扰动它,其中(两次)标准差由数据中的竖条表示。如图所示,19次多项式(插值)存在严重的过拟合问题,而训练gp和nn可以适当地预测响应。然而,需要训练神经网络以确保不会发生过拟合,这在实践中是通过交叉验证和观察训练和测试数据中损失数据的演变来进行训练的。

噪声数据集下三种算法的比较

1.1.4.机器学习和优化有什么区别?

ML的目标是学习一个描述整个数据集的模型,并预测每个地方的响应,而优化的目标是找到最优点,即它不关心远离最优的区域。原则上,如果你只想找到最优的一次,你不应该需要使用传统的ML算法,因为直接优化可能更快。然而,有时机器学习可以帮助优化过程,因为它可以提供一个代理模型,即一个合理地描述数据且可微分的模型。有一个简单的例子可以直观地说明从ML中获得代理模型的好处,那就是考虑上面的噪声数据集。ML算法可以通过将其视为不确定性来学习底层函数并忽略噪声(平滑响应面),这极大地促进了寻找最优解的任务。这有一个额外的好处,可以使用基于梯度的优化方法!然而,这是有代价的。如果您在学习代理模型中远离最优的区域上花费了大量的计算工作,那么您就是在浪费资源,而这些资源本可以通过单独的优化算法得到更好的利用。因此,在探索新区域和开发找到最优值的可能性高的区域之间进行权衡。

1.2.监督学习:分类

分类可能是机器学习中最广为人知的任务。机器学习算法不是学习连续模型,而是学习离散类。在理解了如何训练回归任务之后,分类并没有显著的不同。典型的例子是从(许多)猫和狗的图像中学习如何将看不见的图像分类为猫或狗。培训以与1.1中描述的非常相似的方式进行。如第2节所述,分类对于确定包含有趣信息的设计空间的边界(可以在其中执行优化或回归)非常有用。

1.3.无监督学习

这些机器学习算法试图在没有预先存在的标签的数据中找到模式。聚类是一种典型的无监督学习任务,算法根据选定的度量找到具有相似特征的点组。在力学中,熟悉Voronoi图的人应该很清楚聚类是如何工作的,因为该算法是一种重要的无监督学习方法k-means聚类的基础。下一节还提供了一个来自我们工作的例子来说明无监督学习在力学中的有用性。

2.ml在力学中有用吗?

当我们需要访问大型数据库来解决感兴趣的问题时,当分析解决方案未知时,ML特别有用。在力学中,这些条件可能很难满足,这将在第3节中讨论。然而,在许多情况下,ML算法在解决力学问题时非常有用。我将重点介绍几个示例,并提供可用于解决不同问题的代码链接。我们的小组正在努力使这些代码更易于转移和更用户友好。我也邀请你在下面的评论中分享你自己的例子。

2.1.分类与回归:贝叶斯机器学习辅助的超材料设计[1]

宏观材料

超材料设计主要是一种旨在获得新材料性能的几何探索。机械超材料倾向于探索极端屈曲和后屈曲行为,这意味着感兴趣的性质对几何缺陷很敏感。在这种情况下进行设计是具有挑战性的,因为数据库包含不确定的属性(噪声),而且感兴趣的区域可能很窄(在上图中,黄色区域对应的是超材料拓扑被归类为可逆超压缩的唯一区域)。如第1节末尾所示,ML特别适用于不确定性下的学习,在贝叶斯ML的情况下,它甚至可以预测模型预测的不确定性。这有利于设计空间的导航,以及随后的稳健优化。使用一种新的贝叶斯机器学习方法[2],将传统的高斯过程扩展到更大的数据库规模(>100,000个训练点),我们表明,通过直接从有限元模拟中学习,而无需在超材料层面进行实验(仅表征基础材料),超材料可以变得超压缩[1]。然后,通过在宏观尺度(上图)和微观尺度(下图)上对脆性基础材料制作的3D打印样品进行机械测试,对超压缩超材料进行了事后实验验证。

本文使用的代码如下:https://github.com/mabessa/F3DAS

关于这项工作的通用视频:https://www.youtube.com/watch?v=cWTWHhMAu7I

微观超材料

2.2.聚类:非均质材料塑性性能的数据驱动建模[3,4]

SCA方法中的集群步骤

在与Zeliang Liu和Wing Kam Liu[3]合作开发的工作中,我们创建了一种新的数值方法,称为自一致聚类分析(SCA),其中塑性非均质材料损伤模拟的计算时间从超级计算机中的1天减少到几秒/分钟。该方法的关键思想之一是使用聚类机器学习算法通过分组具有相似力学行为的点来压缩异质材料的信息。这使得创建足够大小的数据库能够通过我们在[4]中创建的数据驱动框架来模拟这些复合材料的韧性变化。数据驱动框架的代码类似于前一个(F3DAS),但它是量身定制的,以创建具有代表性的材料体元素:https://github.com/mabessa/F3DAM

下图显示了通过数据驱动框架学习到的不同延性基体材料的复合韧性变化。在图中,每个蓝点表示SCA获得的一个模拟。

复合材料韧性数据驱动分析

2.3.深度学习:用递归神经网络预测历史或路径依赖现象[5]

我们在[4]中面临的一个困难是无法使用ML算法学习历史依赖或路径依赖的现象。这是非常重要的,因为需要在输入和输出之间构建的ML映射不再是唯一的,即有不同的路径到达相同的状态,并且状态依赖于以前发生的状态的历史。然而,在与Mojtaba Mozaffar等人合作开展的研究中[4],我们发现递归神经网络(rnn)具有学习路径依赖可塑性的能力。原则上,任何不可逆的依赖于时间或路径的过程都可以通过rnn或等效算法来学习,尽管训练过程可能很困难。这里使用与[4]相同的基础代码,这次使用rnn作为ML算法:https://github.com/mabessa/F3DAM

下图显示了不同变形条件和路径下的屈服面演变。有限元预测用虚线表示,深度学习预测用实线表示。注意不同加载路径下屈服面的畸变,这是由rnn预测的。

RNN预测路径依赖的可塑性

3.挑战与机遇

机器学习和力学领域存在着巨大的挑战和机遇。巧合的是,上周有一个CECAM-Lorentz研讨会,由Pedro Reis (EPFL), Martin van Hecke (Leiden/AMOLF), Mark Pauly (EPFL)和我(TU Delft)共同组织,在那里有一个关于这个话题的公开讨论。以下几点反映了部分讨论,但它们是我对这个话题的个人观点和观点。我很高兴根据反馈扩大这个列表:

1.高通量实验:数据饥渴的ML算法给实验人员带来了挑战,因为它们促进了高通量实验的创建。此外,通过集中式存储库开放共享数据可能成为一种必要。

2.提高复杂模拟的效率:有许多模拟的高计算费用仍然影响机器学习和数据驱动方法的使用。在固体中,断裂和疲劳仍然是一个挑战,而在流体中,其中一个问题是湍流。开发新的降阶模型[3,6,7]是该领域进步的基础。

3.基于物理的机器学习:创建更多数据的另一种选择是在基于已知物理的机器学习算法中编码先验信息,这样它们需要更少的数据来学习[8,9]。例如,Thomas等人[8]将旋转和平移不变性编码到神经网络中,这有助于在不同的环境中学习(想想原子模拟中的分子旋转)。

4.非常大维度问题的不确定性量化:Zhu和Zabaras[9]已经表明贝叶斯深度卷积编码器-解码器网络是非常大维度数据中不确定性量化的强大方法。这可以开辟新的方法来处理大数据,同时仍然量化不确定性。

5.ML发现新的物理定律:Smidt和Lipson[10]表明,遗传编程符号回归可以通过观察不同的系统(如摆动的双摆)来学习哈密顿量和拉格朗日量。这是一种不同的人工智能方法,在人工智能中,进化算法被用来创建方程(消除“黑箱”)。Brunton等人[11]通过限制控制方程的形式和利用稀疏性技术开发了一种快速替代方案。这些和其他学习描述物理过程的基本方程的努力很重要,因为这些定律是外推的,这与其他ML技术的情况不同。

6.强化学习和贝叶斯优化:在某些技术中,机器学习算法通过避免设计空间的预采样来执行优化。例如,在线高斯过程[12]是一种介于ML和optimization之间的贝叶斯优化算法。他们能够在勘探和开采之间找到平衡,试图迅速达到全局最佳。

7.力学提高对机器学习的理解:Geiger等人的一篇令人费解的文章[13]强调,不仅仅是机器学习可以帮助力学,实际上力学也可以帮助机器学习。颗粒介质可能有助于揭示深度神经网络的特性!当然,在许多其他近期作品之后,还有许多更有趣的方向可以追求[14-17]。我为没有收录更多其他同事的文章提前道歉。

参考文献

[1]王晓明,王晓明,王晓明,等。超材料设计中的贝叶斯机器学习:易碎变为超压缩。材料工程,31(8),1904845。

[2]张志强,张志强。概率机器学习和人工智能。自然杂志,521(7553),452-459。

[3]刘志强,贝萨,孟安,刘文奎(2016)。自洽聚类分析:非弹性非均质材料的有效多尺度方案。应用力学与工程学报,36(6):319-341。

[4] Bessa, M. A, Bostanabad, R., Liu, Z., Hu, A., appley, D. W., Brinson, C., Chen, W., Liu, W. K.(2017)。不确定性下材料数据驱动分析的框架:对抗维度的诅咒。应用力学与工程学报,32(3):633-667。

[5]陈文杰,陈文杰,陈文杰,陈文杰,陈文杰。深度学习预测路径依赖的可塑性。国家科学院学报,116(52),26414-26420。

[6]张建平,张建平,张建平(1998)。具有复杂微观结构的非线性复合材料整体响应的数值计算方法。应用力学与工程,57(1-2),69-94。

[7] Ladeveze P Passieux, j . C。&拼,d .(2010)。拉丁多尺度计算方法及适当的广义分解。应用力学与工程,1999(2),1287-1296。

[8]李丽娟,杨丽娟,李丽娟,李丽娟,李丽娟。张量场网络:三维点云的旋转和平移等变神经网络。arXiv:1802.08219。

[9]李建平,李建平,李建平,等。隐藏物理模型:非线性偏微分方程的机器学习。计算物理学报,35(5),125-141。

[10]朱勇,Zabaras, N.(2018)。代理建模和不确定性量化的贝叶斯深度卷积编码器-解码器网络。计算物理学报,36(6),415-447。

[11]李晓明,李晓明,李晓明(2009)。从实验数据中提炼出自由形式的自然规律。科学,324(5923),81-85。

[12]刘建军,刘建军,刘建军,等。用非线性动力系统的稀疏辨识从数据中发现控制方程。国家科学院学报,113(15),3932-3937。

[13] González, J, Dai, Z., Hennig, P., & Lawrence, N.(2016, 5月)。基于局部惩罚的批处理贝叶斯优化。人工智能与统计学(第648-657页)。

[14]李建军,李建军,李建军,李建军,李建军,李建军。以干扰转换为范例来理解深度神经网络的损失情况。中国生物医学工程学报,2016(1),444 - 444。

[15]李志强,李志强。何,基于神经网络的非线性弹性材料均匀化计算,计算机工程学报。j .号码。方法工程学报,104(12)(2015)1061-1084。

[16]王晓明,王晓明。(2017)。具有噪声材料数据集的数据驱动计算。应用力学与工程学报,32(6):622-641。

[17]陈晓明,陈晓明,陈晓明,等。用于物理系统计算状态的表示、探索和分析的图论框架。应用力学与工程学报,35(1),501-530。

[18]李建军,李建军,李建军,等。基于数据驱动的降阶模型对多晶组织的高周疲劳性能进行排序。材料与设计,2004,17(4):170-183。

评论

英丽的照片

你好,米格尔,

非常感谢这个伟大的ML技术和ML在力学的介绍!

Wei Chen博士的团队和我的团队最近写了一篇关于机器学习辅助有机分子和聚合物从头设计:机遇与挑战”。特别是,本研究总结了公开可用的材料数据库、有机分子的特征表示、特征生成的开源工具、分子生成的方法以及材料性质预测的ML模型,为之前对ML缺乏经验并希望将ML应用于各种应用的研究人员提供了指导。因此,它可能是对这里讨论的补充。此外,我们已经确定了与ML模型相关的几个挑战和问题,以解决材料设计问题,例如:

获取多样化的数据库有许多可供各种材料使用的公共数据库。如果没有感兴趣的数据库,我们可以通过实验或模拟来建立一个。因此,获取数据库通常不具有挑战性,而具有挑战性的是获得一个“好的”数据库。“好”意味着数据库在整个化学空间中是多样或统一的,因为数据库的这个特征显著影响要构建的ML模型的功能(插值、外推和探索)。对于化学空间中多样化或统一的数据库,ML模型通过内插保证预测,而对于有限区域或类别的数据库,通过外推削弱预测。然而,由于整个化学空间几乎是无限的,并且不清楚地知道,我们如何确定数据库是否均匀?为了克服这一挑战,应该考虑两个方面的算法方法:执行搜索的算法,以及更通用的机器学习和统计建模算法,以预测正在研究的化学物质。这些方法的结合应该能够更有效、统一、快速地导航和搜索化学空间,重要的是,没有偏见。

特征表示。大多数ML模型需要所有输入和输出都是数字的,这要求数据以数字形式表示。许多类型的表示方法被广泛使用,如分子描述符、SMILES和指纹。然而,它们是否适用于所有的房地产预测?以指纹为例,已知一个复杂结构的不同官能团(子结构)可能对其性质有不同的影响。因此,如果一个具有特定比特的指纹方法在一个属性预测中表现出预测能力,那么它在另一个属性预测中是否具有相同的能力?另外,哪种表示更适合与特定的ML模型一起工作,使模型具有较强的预测能力?所有这些问题都要求我们对不同材料和属性的ML模型的特征表示、选择和提取要谨慎。

机器学习算法和训练。在进行材料设计任务时,应仔细考虑选择合适的ML模型。正如讨论部分所述,有许多可用的ML模型可供选择,但并不像随机选择任何一个那么容易。选择合适的机器学习模型取决于数据库的可用性和特征表示方法。哪种ML模型对某种材料性能预测是最好的?这取决于材料的类型吗?对一种材料具有很强预测能力的模型能否适用于其他类似但不同的材料?如果应用到完全不同的材料上呢?此外,在训练选定的ML模型时,通常需要设置一些超参数。在不了解ML算法的情况下设置它们并不是简单的。为了使ML模型具有更好的预测能力,从用户的角度来看,这些超参数的设置需要学习的努力。

结果解释机器学习模型在某些情况下确实显示出良好的预测能力。然而,如何解释构建的模型,例如DNN模型,即使在计算机科学领域也是一个悬而未决的问题。在将ML模型应用于材料设计时,是否存在统一的理论来物理或化学地解释化学结构与其性质之间建立的关系?建立的模型能增加我们对材料的理解吗?我们应该考虑ML模型在材料设计中的什么作用?

分子的一代分子生成在从头开始的有机分子和聚合物的设计中起着重要作用。正如我们所讨论的,有几种深度生成模型,包括生成对抗网络、变分自编码器和自回归模型,它们在发现新的有机分子和材料方面迅速发展。对这些不同深度生成模型的效率和准确性进行基准测试是非常重要的。最近,Zhavoronkov及其同事提出了MOlecular SEtS (MOSES)作为一个平台,对不同的ML技术进行药物发现的基准测试。这样的平台对于规范分子生成的研究,促进新的ML模型的共享和比较是非常有益的。因此,需要更多的努力来进一步设计和维护这些有机分子和聚合物的基准平台。

逆分子/材料设计目前,强化学习(RL)由于易于与深度生成机器学习模型集成而被广泛应用于分子/材料的逆向设计。强化学习通常包括对可能的行动和结果的分析,以及对这些行动和可能的结果之间的统计关系的估计。通过定义策略或奖励函数,RL可用于将有机分子的生成偏向于最理想的域。然而,新分子和新材料的逆设计通常需要同时对多个目标特性进行多目标优化。例如,药物样分子应该针对药物发现的效力、选择性、溶解度和药物相似特性进行优化。结合有机分子的巨大设计空间,这种多目标优化问题对强化学习技术提出了重大挑战。与RL算法相比,BO算法更适合于多目标优化和多点搜索。然而,新分子和新材料的设计涉及连续/离散和定性/定量设计变量,代表分子成分,材料成分,微观结构形态和加工条件。对于这些混合变量设计优化问题,现有的BO方法通常在理论上是限制性的,并且无法捕获输入变量和输出属性之间的复杂相关性。因此,应该制定和发展新的RL或BO方法来解决这些问题。

最好的,应

mbessa的照片

你好,

很高兴看到你也进入这个话题!感谢分享你的评论。

最好的

米盖尔

江汉清的照片

亲爱的米盖尔,

感谢你领导这次讨论!对于我们这些机械师来说,这是一个融合经典力学和现代数据科学的好机会。

最近,教授。勇王的组浙江大学的教授和我的团队刚刚发表了一篇论文,题为“数据驱动的自动发现隐藏在物理系统中的变分定律”,介绍了一种使用离散数据发现变分形式物理定律的方法。

正如你在第5节中所讨论的,数据驱动的物理定律发现代表了数据科学在力学/物理学中的重要应用。也正如你已经提到的,有两种主流方法被用来发现微分形式的物理系统的控制方程,即符号回归(例如,邦加德和利普森(2007)施密特和利普森(2009)Quade等人(2016)),以及促进稀疏性的优化(例如,Brunton et al. (2016)Wang等(2011)Schaeffer et al, (2017)).

以符号回归、稀疏优化及其变体为目标的物理系统的微分定律通常有相关的变分对应物。微分定律描述了进化相邻时刻状态变量之间的关系,而变分定律是从整体的角度描述有关运动,适合发展求解微分规律的数值方法,例如几乎所有工程学科都采用的有限元法。如下图所示,逆向过程的有限元法它是一种数据驱动的方法,直接从离散数据中发现物理系统的变分规律。

下图说明数据驱动方法的过程,以发现物理系统的变分定律。被处理的包括步骤1,标识系统属性年代这可能影响运动步骤2,构造待定被积函数U0和Uj基于量纲分析和相关参数聚类的线性组合;步骤3,采集离散数据;步骤4的任意变化基于初始和最终时刻的约束;步骤5,进行数值积分;最后步骤6,求解一个过定线性代数方程,以确定第2步给出的线性组合的系数,从而形成被积的显式表达式。

研究了五种物理情况(见下图),包括自由落体(作为玩具例子)、在电场中运动的相对论性粒子(相对论中的经典问题)、范德波尔振子和杜芬振子(两个非线性动态例子)、两自由度耗散系统(类似于粘弹性材料)和一维连续系统。

与差分形式数据驱动的物理定律发现方法相比,该方法具有数据要求更低、对测量噪声具有更高的鲁棒性以及系统/激励参数的显式体现等固有优点。

这是我们对这种理论指导的数据方法的初步尝试。

最好的

Hanqing

mbessa的照片

亲爱的Hanqing,

感谢您分享您的工作,详细阐述了ML+Mech这一广泛主题的重要未来方向。事实上,在数据驱动的物理定律发现中有很多有趣的事情要做!现有的方法似乎规模性很差,或者在搜索方面有太多限制。

最好的

米盖尔

江汉清的照片

周金雄的照片

亲爱的米盖尔,

谢谢你带领我们讨论这个奇妙的话题!在我的脑海中有一些关于使用ML设计材料或结构的问题。

1.您关于使用ML设计机械超材料的AM论文非常鼓舞人心,经典的材料设计方法非常依赖于设计师的知识和经验。对于任何材料,人们都可以找到古典设计方法无法触及的大设计空间。一个自然的问题是,机器学习能否探索一些经典设计方法未触及的设计空间?

2.你的博客讨论了机器学习和优化之间的区别。许多工程设计问题经过一定的数学推导和处理,都可以归结为约束优化问题。一个问题是,任何约束优化问题都可以用ML来解决吗?换句话说,机器学习总是可以作为任何约束优化问题的替代解决方案吗?

3.在所附的Liang等人的论文中,作者展示了一个使用ML代替FEM进行应力分布预测的极好例子。输入是物体的形状,形状被编码成一维向量,通过人工神经网络训练得到另一个称为应力代码的向量。最后对应力代码进行解码,得到物体的应力分布。在我的理解中,形状代码会影响接下来的ML训练过程的准确性,对于这个问题至关重要。我的第三个问题是如何执行形状编码任何给定的复杂的3D形状?如何提高这种形状编码过程的精度?

最好的

Jinxiong

mbessa的照片

亲爱的Jinxiong,

谢谢你的问题。我会尽我最大的努力去回答,如果我的回答不令人满意,请让我知道。

1.我坚信数据驱动技术(ML和/或优化)可以帮助我们到达原本难以到达的设计领域。不把这些技术浪漫化,它们只是很好的工具,用于在我们的直觉通常不够的高维空间中进行插值、分类或优化。然而,它们也有一些很强的局限性:例如,它们具有有限的泛化能力(例如,在函数上下文中,考虑外推)。在这些情况下,人类的聪明才智仍然胜过这些算法。随着人工智能领域的发展,这种差距将变得越来越小,最终人工智能可能在所有方面都超过人类智能。我们还没到那一步。目前,我认为人工智能是一套工具,可以补充其他技术和我们自己的能力,这样我们就可以解决困难的工程和科学问题。

2.这是一个棘手的问题,因为人工智能是一个非常广泛的领域,有许多不同的方法,其中一些模糊了传统机器学习任务和优化任务之间的界限。简短的回答是:ML在优化问题上很有用,但它不是万能药。所以,让我把这个答案分成两部分。

2.1.传统机器学习vs传统优化:在我们AM论文的支持信息中,我们写了一个部分来对此进行扩展。我将在这里简要地总结一下:在传统的ML中,你有一个可以“学习”的数据集(回归、分类或聚类)。如果你想使用传统的机器学习来帮助优化过程,那么你是在有效地使用机器学习来构建一个代理模型,以促进后续的优化:例如,你可以使用分类来确定问题的约束条件,然后在分类为有趣的区域,你可以做回归来创建一个光滑的映射,这是可微的;然后,您可以在这个代理模型上使用您喜欢的优化算法,希望您可以比没有代理模型更快地达到最优。在传统的优化中,您不是从预定义的数据集中学习:您探查您的空间(如果可能的话,您还会探查导数),并尝试尽可能快地围绕最优聚类。问题就变成了:在做优化之前,对你的现象进行全局近似是否有利?正如我在上面的帖子中提到的,这取决于情况。这是一种明显的权衡,在某些情况下它会变得更好,而在另一些情况下则会变得更糟。

2.2.新的机器学习技术(强化学习、自监督学习、贝叶斯优化等)正在模糊传统的界限。在过去的几年里,机器学习发展迅速,一些技术专注于更有趣的任务,如“学习学习”、分布式泛化、生成问题等。我最初的文章中的第6点暗示了这一点,通过贝叶斯优化领域的例子来说明这一点。在这里,你使用ML算法(高斯过程),但你使用它来估计模型和相应的不确定性,这样你就可以使用不确定性来决定下一步要探测的空间。因此,不是从固定大小的数据集开始,而是同时进行优化和“代理”建模。换句话说,你使用ML算法来进行优化,而不是学习整个函数。我觉得这个想法非常有力。

3.如果我理解了这个问题,你指的是非常重要的东西:特征表示。用来表示问题(特征)的输入变量的选择会影响学习过程的质量。对于一个问题,“什么是最好的特征表示”,我没有答案,因为这取决于问题。就我个人而言,我遵循一个简单的策略:我使用降维和敏感性分析方法来降低问题的维度,并了解哪些是重要的变量。也许还有更先进的策略。也许有人可以进一步评论一下。

再次感谢您的提问!

周金雄的照片

非常感谢您的详细解释。我学到了很多!

Jinxiong

郑佳的照片

嗨,米格尔,感谢你与我们分享这个及时和翔实的介绍ML在力学。作为这个新兴领域的外行,我有一个关于选择合适的ML方法的问题,想问一下您的见解。

让我们以一个简单而具体的设计问题为例:假设我们想设计一种内含物/基体复合材料,其中坚硬的椭球内含物嵌入由橡胶制成的立方基体中;复合材料将受到20%应变的单轴拉伸。我们的目标是找到一种使应力最小化的设计;也就是说,通过“优化”设计变量,包括椭球体的尺寸、方向和材料特性,我们希望将夹杂物中的最大非米塞斯应力控制在可接受的水平以下。设计过程首先通过运行~10000次模拟生成一个足够大的数据库,然后用ML方法处理这些模拟数据,以找到一组“最佳设计”。我的问题在这里:对于这个特定的问题,哪种ML方法应该是有效的?我的直觉是,这个问题是你工作的一个轻量级版本(参考上文1),那么贝叶斯机器学习将是答案吗?提前感谢!

mbessa的照片

嗨,郑,

非常感谢你的问题。在我看来,如果你想把自己限制在经典优化和经典ML之间,那么我认为拓扑优化可能是解决这个问题的最佳起点。以下是我的理由:

  1. 似乎你的目标是为给定情况找到最佳解决方案,即你“只是”想优化一次,之后你不会改变条件(约束);
  2. 没有不完美的敏感;
  3. 这个问题是弹性的(硬夹杂物+橡胶),这意味着模拟可能相当便宜。

第1点削弱了对经典ML的需求,因为您只想为一组约束找到最佳设计。相反,如果您想针对不同的场景快速优化材料,那么创建一个ML模型作为您的优化过程的代理可能是有益的,因为它将允许您探测ML模型的新条件,并通过优化方法找到最优,而无需重新进行模拟。

第2点削弱了对贝叶斯机器学习的需求,因为你不需要平滑或“去噪”你的响应面,贝叶斯机器学习的“唯一”好处是量化模型的不确定性(这在你描述的问题中似乎是次要的)。

第3点只是强调,如果模拟的计算成本很高,那么ML及其强大的分类/回归功能可以提供帮助,因为它可以通过创建带有行为趋势的通用地图来抵消在许多位置探测设计空间的无能,这可以促进优化。同样,在这个问题中似乎不是这样。

作为最后的评论,如果你想冒险,那么你可以开始研究最近的ML和深度学习技术,它们是生成的(甚至可能是自我监督的!)这些技术可以提供替代或至少增强经典优化方法,例如,通过使用变分自编码器根据之前看到的设计(数据)创建新的设计。然而,就我个人而言,我仍然不清楚这些技术在机制环境中究竟有多大优势。我敢肯定,如果还没有人尝试过,我们很快就会看到有人在力学中这么做。也许有人可以进一步评论一下……

再次感谢!让讨论继续下去的好方法!

mbessa的照片

Judea Pearl对以下问题的回答是:人们对人工智能的可能性感到兴奋。你不是吗?

“当我深入研究深度学习所做的事情时,我发现它们都停留在关联的层面上。曲线拟合。如果说深度学习取得的所有令人印象深刻的成就都只是数据的曲线拟合,这听起来像是一种亵渎。从数学层次的角度来看,无论你如何巧妙地处理数据,无论你在处理数据时读到了什么,它仍然是一个曲线拟合的练习,尽管复杂而不平凡。”

就像他雄辩地说的,曲线拟合给我们带来的影响仍然令人印象深刻。

我推荐阅读2011年艾伦·图灵奖(计算机科学的“诺贝尔奖”)获得者朱迪亚·珀尔的完整采访:https://www.quantamagazine.org/to-build-truly-intelligent-machines-teach-them-cause-and-effect-20180515/

chenna的照片

你好,米格尔,

感谢你开始这个关于机器学习在计算力学中的应用的优秀的线程。

关于这个话题,我有一个问题。

我在关于计算力学的机器学习主题的大多数论文中遇到的一个共同结论是,机器学习算法的结果与一些参考解决方案相匹配,但计算成本巨大,通常需要大量的HPC资源,特别是gpu。

就我对机器学习(包括深度神经网络和其他相关技术)的理解而言,这个成本问题并不是计算力学所特有的,而是在任何足够大的机器学习应用中都很常见。

如果计算成本是主要瓶颈之一(在训练网络/模型时),那么解决方案是什么?感谢任何解决ML相关成本问题以及如何克服这些问题的论文。

最好的

Chenna

1.训练人工神经网络(尤其是复杂的dl网络)所涉及的计算成本可能非常高。然而,一旦网络经过训练,相对而言,得出推理是非常快的。

2.我还没有遇到关于现代(最新)深度学习网络计算复杂性的全面理论分析,特别是那些使用GPGPU和集群的网络。对于一些经验数据,请参见,例如,https://arxiv.org/abs/1811.11880

3.如果你想使用人工神经网络进行工程模拟,你首先必须生成大量的“训练数据集”,网络将从中学习。这些数据集必须使用传统的工程仿真技术(FEM/FVM/FDM/LBM/SPH/其他)创建。创建训练数据集本身的这个阶段意味着进一步的成本(这在许多其他人工神经网络应用中是不存在的,比如图像、文本或视频数据)。

但是,再一次,额外的费用只属于训练阶段。当然不是在推理阶段。

在这种情况下,有一种比较有希望的方法(目前还在开发中),比如所有ML技术)是:迁移学习。

4.与使用传统仿真技术进行单独的仿真相比,推理成本显然可以忽略不计。然而,人工神经网络推断是概率性的。

5.因此,将人工神经网络绘制的推断视为近似解,并将其输入到传统的迭代技术中以进行解的改进,从而降低传统模拟的成本。

注意:这个想法只有在网络成功地将推理放到正确的解决方案制度首先。求解机制是求解CFD/FSI等非线性问题的一个重要问题。

有关该方向的最新进展(使用人工神经网络进行Navier-Stokes/chaos)的流行科学报告,请参阅https://www.quantamagazine.org/machine-learnings-amazing-ability-to-pred..。

最好的

——特

mbessa的照片

亲爱的Chenna,

你的问题很切题。以下是我的两点看法:

  • 通常,你所提到的非常大的计算成本是与大规模高维数据集的深度学习任务相关的。如果你去参加人工智能会议,你会听说使用最先进的gpu的超级计算机进行几周的训练。这是有意义的,因为您必须为需要从大量数据集中学习的复杂网络架构找到数十亿个权重。当然,在计算力学中,解决这个研究问题将是很重要的。Ajit已经提供了一些指针,而且还有更多的想法。
  • 计算力学中的一大类问题无法访问如此大的数据集,特别是如果数据来自单个实验室的低通量实验(在我们的社区中最常见)或来自高保真度模拟,预测特定问题的复杂行为(塑性,断裂,疲劳,流固相互作用,湍流等)。在这些情况下,普通的机械师所认为的“大量数据”在计算机科学的背景下实际上是非常少的数据。例如,一旦你熟悉了这些工具,在100,000个点和合理维度的数据集上训练神经网络通常不是什么大问题。

我希望这能直接回答你的问题,我希望更多像Ajit这样的人能提供更多的见解。最好的

米盖尔

chenna的照片

亲爱的阿吉特和米格尔:

谢谢你的回复。你的评论很有见地。

Chenna

订阅评论“2020年2月杂志俱乐部:力学中的机器学习:简单的资源,示例&;机会”

最近的评论

更多的评论

辛迪加

认购辛迪加