CN116484744B - 物体仿真方法、模型训练方法、装置、设备及存储介质 - Google Patents
物体仿真方法、模型训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116484744B CN116484744B CN202310538874.1A CN202310538874A CN116484744B CN 116484744 B CN116484744 B CN 116484744B CN 202310538874 A CN202310538874 A CN 202310538874A CN 116484744 B CN116484744 B CN 116484744B
- Authority
- CN
- China
- Prior art keywords
- sampling points
- points
- determining
- point
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 238000012549 training Methods 0.000 title claims abstract description 84
- 238000004088 simulation Methods 0.000 title claims abstract description 69
- 238000005070 sampling Methods 0.000 claims abstract description 442
- 238000013136 deep learning model Methods 0.000 claims abstract description 127
- 230000004044 response Effects 0.000 claims abstract description 16
- 239000007787 solid Substances 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 31
- 239000013598 vector Substances 0.000 claims description 31
- 239000012530 fluid Substances 0.000 claims description 29
- 238000001514 detection method Methods 0.000 claims 2
- 238000013135 deep learning Methods 0.000 abstract description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000035882 stress Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 235000015220 hamburgers Nutrition 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000012809 cooling fluid Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008646 thermal stress Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Fluid Mechanics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种物体仿真方法、模型训练方法、装置、电子设备及存储介质,涉及人工智能技术领域,尤其涉及深度学习领域。具体实现方案为:根据目标对象的几何结构,确定多个当前采样点;基于深度学习模型的当前参数,将多个当前采样点的多个采样点信息输入深度学习模型,分别得到用于多个当前采样点的多个物理信息;根据多个物理信息,确定当前采样点的损失值;响应于检测到多个当前采样点的总损失值大于等于损失阈值,根据多个当前采样点各自的损失值和/或梯度,调整当前参数并将多个当前采样点改变为其他多个采样点,并返回输入操作;以及响应于检测到多个当前采样点的总损失值小于阈值,基于当前参数,确定经训练的深度学习模型。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及深度学习领域,更具体地,本公开提供了一种物体仿真方法、深度学习模型的训练方法、装置、电子设备、存储介质以及计算机程序产品。
背景技术
在CFD(计算流体动力学,Computational Fluid Dynamics)、CAE(计算机辅助工程分析,Computer Aided Engineering)仿真中,网格质量与计算的收敛性以及结果的准确性直接相关。在深度学习中,可以使用无网格化的处理方式来确定采样点,然后基于采样点训练深度学习模型。然而,忽略了实际物理问题边界层、网格结构等问题,导致深度学习模型的收敛性较差。
发明内容
本公开提供了一种物体仿真方法、深度学习模型的训练方法、装置、电子设备、存储介质以及计算机程序产品。
根据本公开的一方面,提供了一种物体仿真方法,包括:根据待仿真对象的几何结构,确定多个目标点;将多个目标点的多个目标点信息输入深度学习模型,深度学习模型输出多个目标点的物理信息;以及根据多个目标点的物理信息进行仿真;其中,深度学习模型是利用以下训练方法训练得到的:基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入深度学习模型,分别得到用于多个当前采样点的多个物理信息;根据多个物理信息,确定用于多个当前采样点各自的损失值;以及响应于检测到多个当前采样点的总损失值大于等于损失阈值,根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和将调整后的参数作为当前参数,将改变后的采样点作为多个当前采样点,并返回输入操作,直至总损失值小于损失阈值;其中,待仿真对象和目标对象分别包括固态物体和流体中的至少一个,目标点信息和采样点信息分别包括空间坐标信息。
根据本公开的另一方面,提供了一种深度学习模型的训练方法,包括:基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入深度学习模型,分别得到用于多个当前采样点的多个物理信息;目标对象包括固态物体和流体中的至少一个,采样点信息包括空间坐标信息;根据多个物理信息,确定用于多个当前采样点各自的损失值;响应于检测到多个当前采样点的总损失值大于等于损失阈值,根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和将调整后的参数作为当前参数,将改变后的采样点作为多个当前采样点,并返回输入操作;以及响应于检测到多个当前采样点的总损失值小于阈值,基于当前参数,确定经训练的深度学习模型。
根据本公开的另一方面,提供了一种物体仿真装置,包括:目标点确定模块、输出模块和仿真模块。目标点确定模块用于根据待仿真对象的几何结构,确定多个目标点;输出模块用于将多个目标点的多个目标点信息输入深度学习模型,深度学习模型输出多个目标点的物理信息;仿真模块用于根据多个目标点的物理信息进行仿真;其中,深度学习模型是利用训练装置训练得到的,训练装置包括:输入模块、损失值确定模块和调整模块。输入模块用于基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入深度学习模型,分别得到用于多个当前采样点的多个物理信息;损失值确定模块用于根据多个物理信息,确定用于多个当前采样点各自的损失值;调整模块用于响应于检测到多个当前采样点的总损失值大于等于损失阈值,根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和将调整后的参数作为当前参数,将改变后的采样点作为多个当前采样点,并返回输入操作,直至总损失值小于损失阈值;其中,待仿真对象和目标对象分别包括固态物体和流体中的至少一个,目标点信息和采样点信息分别包括空间坐标信息。
根据本公开的另一方面,提供了一种深度学习模型的训练装置,包括:输入模块、损失值确定模块、调整模块和模型确定模块。输入模块用于基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入深度学习模型,分别得到用于多个当前采样点的多个物理信息;目标对象包括固态物体和流体中的至少一个,采样点信息包括空间坐标信息;损失值确定模块用于根据多个物理信息,确定用于多个当前采样点各自的损失值;调整模块用于响应于检测到多个当前采样点的总损失值大于等于损失阈值,根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和将调整后的参数作为当前参数,将改变后的采样点作为多个当前采样点,并返回输入操作;模型确定模块用于响应于检测到多个当前采样点的总损失值小于阈值,基于当前参数,确定经训练的深度学习模型。
根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的方法。
根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的方法。
根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的深度学习模型的训练方法、物体仿真方法和装置的应用场景示意图;
图2是根据本公开实施例的深度学习模型的训练方法的示意流程图;
图3是根据本公开实施例的深度学习模型的训练方法的示意流程图;
图4是根据本公开实施例的深度学习模型的训练方法的示意原理图;
图5是根据本公开实施例的深度学习模型的训练方法的示意原理图;
图6是根据本公开实施例的物体仿真方法的示意流程图;
图7是根据本公开实施例的深度学习模型的训练装置的示意结构框图;
图8是根据本公开实施例的仿真装置的示意结构框图;以及
图9是用来实施本公开实施例的深度学习模型的训练方法和/或物体仿真方法的电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
在流体动力学和固体力学等相关技术的产品研发过程中,需要进行仿真实验。
在一些实施例中,可以采用有限元方法和计算流体力学方法,该种方法需要人工根据实际需求使用软件生成网格,然后基于网格进行仿真,网格质量对计算结果的精度和收敛性有很大影响。
然而,人工画网格的方式耗费大量时间和精力,效率较低,成本较高。
在另一些实施例中,可以预先训练深度学习模型,然后使用深度学习模式来辅助仿真过程。深度学习应用于科学计算中,优势之一是处理高维网格信息,但处理过程中通常采用无网格化的处理方式,即通过随机采样或均匀采样等方式确定采样点。
然而,训练过程中的无网格化的处理方式忽略了实际物理问题边界层网格加密以及流体、固体等问题的网格结构不同的特点,导致神经网络模型收敛性较差。例如,基于深度学习处理如流场模拟、结构应力应变模拟等问题时,损失函数难以进一步降低,进而造成深度学习模型的预测精度较低,影响后续的仿真效果。
本公开实施例旨在提出一种深度学习模型的训练方法,该方法在训练前,结合计算域中的复杂几何外形,进行初步的自适应采样,例如基于几何表面距离和几何表面梯度变化,在需要细化的采样点周围添加新采样点,例如在固态物体表面的边界层增加采样点,以及在固态物体表面的尖锐区域增加采样点,从而提高采样密度。此外,该方法还可以基于物理机理确定损失函数的梯度,并在训练过程中基于损失函数梯度的变化情况,自适应的调节对应训练点处的采样密度。通过上述方式来提高模型的精度,以及加快收敛过程。
本公开实施例还提供了一种物体仿真方法,该方法可以使用经训练的深度学习模型,确定物体的目标点的物理信息,物理信息例如可以包括温度、压力、速度等,进而基于该些物理信息进行仿真。该物体仿真方法无需人工花费时间画网格,因此可以提高仿真效率,降低仿真成本。此外,该物体仿真方法使用的深度学习模型的预测精度较高,因此仿真效果较好。
以下将结合附图和具体实施例详细阐述本公开提供的技术方案。
图1是根据本公开实施例的深度学习模型的训练方法、物体仿真方法和装置的应用场景示意图。
如图1所示,该实施例的应用场景100可以包括电子设备110和服务器120,电子设备110可以通过网络与服务器120通信连接,该网络可以包括无线或有线通信链路。
该电子设备110可以为具有处理功能的任意电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。
该电子设备110例如可以向服务器120输入目标对象130,服务器120可以基于目标对象130确定多个采样点,并利用采样点训练深度学习模型140。服务器120可以用于训练深度学习模型140,并响应于电子设备110发送的模型获取请求,将训练好的深度学习模型140发送给电子设备110,便于电子设备110进行仿真,得到仿真结果150。
需要说明的是,本公开所提供的深度学习模型140的训练方法可以由服务器120执行,本公开所提供的仿真方法可以由电子设备110或服务器120执行。
应该理解,图1中的电子设备和服务器的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的电子设备和服务器。
以下结合图2~图6,对本公开提供的物体仿真方法和训练方法进行说明。
本公开提供的物体仿真方法适用的目标对象(即物体)可以包括固态物体,例如机翼、齿轮、发动机等,相应地,对物体进行仿真可以包括基于固态物体表面和/或内部的目标点进行力学仿真等。力学仿真可以对固态物体表面或内部各位置点的受力情况进行仿真,从而分析固态物体的结构强度、变形、磨损、应力集中等情况。
本公开提供的物体仿真方法适用的目标对象还可以包括流体,流体可以包括气体和液体中的至少一个,相应地,对物体进行仿真可以包括基于目标对象中的目标点进行流体仿真等。流体仿真可以对流场中各位置点的速度、压力等信息进行仿真,从而分析流体的运动情况。流体仿真还可以对流场中各位置点的温度进行仿真,从而分析流场各位置点的热应力情况等。
需要说明的是,本公开需要预先训练深度学习模型,然后使用经训练的深度学习模型实现物体仿真,因此,下文会先结合图2~图5对深度学习模型的训练方法进行说明,然后再结合图6对物体仿真方法进行说明。
图2是根据本公开实施例的深度学习模型的训练方法的示意流程图。
如图2所示,该深度学习模型的训练方法200可以包括操作S210~操作S250。
在操作S210,基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入深度学习模型,分别得到用于多个当前采样点的多个物理信息。
例如,深度学习模型可以为PINN(基于物理信息的神经网络,Physics-informedNeural Network)。深度学习模型的参数可以包括权重和偏置。
例如,目标对象可以包括固态物体,例如机翼、齿轮等。目标对象还可以包括流体,例如机翼附近的气体、换热器内部流动的冷却液等。目标对象可以包括多个采样点,例如固态物体表面的点、固态物体内部的点、流体所处流场中的点等。采样点信息可以包括采样点的空间坐标信息(x,y,z),还可以包括采样点的序号、时间信息等。
例如,深度学习模型的输出可以包括采样点的物理信息,例如采样点的压力、速度、温度等信息,此外,该些物理信息均可以包括沿不同坐标轴的子信息,例如速度可以包括沿x轴的速度和沿y轴的速度,压力可以包括沿x轴的压力和沿y轴的压力。
可以理解的是,在训练深度学习模型的过程需要进行多轮迭代,当前参数可以表示在当前轮次的深度学习模型所具有的参数,当前采样点可以表示在当前轮次训练深度学习模型所使用的采样点。
在操作S220,根据多个物理信息,确定用于多个当前采样点各自的损失值。
本实施例对确定损失值、梯度等信息的方式不做限定。
在操作S230,确定多个当前采样点的总损失值是否大于等于损失阈值。若是,则进入操作S240,若否,则进入操作S250。
例如,对于深度学习模型为PINN的情况,可以采用控制方程作为损失函数,控制方程可以为欧拉方程(Euler方程)、伯格斯方程(Burgers方程)、N-S方程(Navier-Stokes方程)等。控制方程可以用于约束深度学习模型。
例如,可以将多个当前采样点各自的损失值进行加权平均处理,得到总损失值,多个当前采样点的权重可以相等。
例如,总损失值小于损失阈值,可以表示模型收敛,因此可以将最后一轮次的参数作为经训练的深度学习模型的参数。
例如,总损失值大于等于损失阈值,可以表示模型未收敛,需要继续迭代训练。
在操作S240,根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点。将调整后的参数作为当前参数,将改变后的采样点作为多个当前采样点,并返回输入操作。
例如,可以采用反向传播算法调整深度学习模型的当前参数,本实施例对调整当前参数的过程不做限定。
例如,可以在损失值较大或梯度较大的当前采样点附近选取一些新增点,可以将损失值较小或梯度较小的一些当前采样点删除,然后将新增和/或删除之后的采样点作为改变后的其他多个采样点。改变后的其他多个采样点可以是目标对象中的点,也可以是目标对象之外的其他位置的点。
在第N轮次,将多个当前采样点改变为改变后的采样点,之后将第N轮次得到的改变后的采样点,作为第N+1轮次所使用的当前采样点。重复上述过程,直至总损失值小于损失阈值。
在操作S250,基于当前参数,确定经训练的深度学习模型。
例如,将当前参数确定为经训练的深度学习模型的参数。
本公开实施例提供的训练方法可以基于前一轮次训练过程中使用的采样点的损失值和/或梯度,自适应改变采样点,将并改变后的采样点作为下一轮次训练使用的采样点。相比于随机采样或者均匀采样的方式,本实施例提供的训练方法基于前一轮次的损失值和梯度,有针对性地改变下一轮次使用的采样点,使改变后的采样点更容易分布在需要重点关注的区域,从而使深度学习模型更加快速地学习到知识,加快深度学习模型的收敛。此外,该训练方法还可以使损失值进一步下降,缓解由于随机采样或者均匀采样而无法降低损失值的问题,从而提高深度学习模型的预测精度。
值得注意的是,该训练方法提高了模型的收敛效率,在此基础上,可以节省模型的训练时间,进而节省算力;还可以减少训练过程产生的数据量,进而减少数据存储量、节省存储空间和减少数据传输量。可以看出,该训练方法还可以实现改进计算机系统内部性能的技术效果。
以下结合实施例,对上述将多个当前采样点改变为其他多个采样点,得到改变后的采样点的方法进行说明。
在一种示例中,可以通过增加新的采样点的方式,来改变采样点。
例如,可以根据多个当前采样点各自的损失值,从多个当前采样点中确定第一点集,然后基于第一点集中的采样点,确定至少一个新增点,接下来将至少一个新增点添加至多个当前采样点中,得到调整后的采样点。
例如,上述第一点集中的采样点的损失值可以较大,例如,可以在采样点满足多个第一条件中的至少一个的情况下,确定采样点的损失值较大,多个第一条件可以包括:采样点的损失值与总损失值之间的比值大于等于第一比例阈值,采样点的损失值大于第一损失阈值,采样点的损失值的次序在损失值序列中处于前预定数量个,采样点的损失值的次序在损失值序列中处于前预定占比(例如前10%)等,其中,损失值序列为多个当前采样点的损失值按照从大至小排列得到的。
又例如,上述第一点集中的采样点的梯度可以较大,例如可以在采样点满足多个第二条件中的至少一个的情况下,确定采样点的梯度较大,多个第二条件可以包括:采样点的梯度大于等于第一梯度阈值,采样点的梯度的次序在梯度序列中处于前预定数量个,采样点的梯度的次序在梯度序列中处于前预定占比,其中,梯度序列为多个当前采样点的梯度按照从大到小排列得到的,可以根据损失函数确定采样点的梯度,例如通过自动微分的方式计算深度学习模型的输出对输入的梯度。
可以看出,当第一点集中的采样点的损失值较大和/或梯度较大时,第一点集中的采样点的权重较大。
本实施例通过增加新的采样点的方式,来改变采样点,采样点权重较大可以表示该采样点的所处区域的压力、速度等信息存在较大变化,仿真时需要重点关注该采样点的所处区域,因此可以进行加密处理,加密处理表示在该采样点的附近进行更加密集的采样。
在一种实施例中,加密处理的过程可以包括:将第一点集中的采样点作为中心,根据预定半径确定出球形或圆形或者形状的候选区域,然后在候选区域内随机确定至少一个新增点。通过该种方式可以准确在权重大的采样点附近确定多个新增点。
在另一种示例中,可以通过删除一些已有采样点的方式,来改变采样点。
例如,可以根据多个当前采样点各自的损失值,从多个当前采样点中确定第二点集,然后删除第二点集中的部分采样点,得到调整后的采样点。
例如,上述第二点集中的采样点的损失值可以较小,例如,可以在采样点满足多个第三条件中的至少一个的情况下,确定采样点的损失值较小,多个第三条件可以包括:采样点的损失值与总损失值之间的比值小于等于第二比例阈值,采样点的损失值小于等于第二损失阈值,采样点的损失值的次序在损失值序列中处于后预定数量个,采样点的损失值的次序在损失值序列中处于后预定占比,其中第二比例阈值可以小于第一比例阈值,第二损失阈值可以小于第一损失阈值。
又例如,上述第二点集中的采样点的梯度可以较小,例如可以在采样点满足多个第四条件中的至少一个的情况下,确定采样点的梯度较小,多个第四条件可以包括:采样点的梯度小于等于第二梯度阈值,采样点的梯度的次序在梯度序列中处于后预定数量个,采样点的梯度的次序在梯度序列中处于后预定占比,其中第二梯度阈值可以小于第一梯度阈值。
可以看出,当第二点集中的采样点满足损失值较小和/或梯度较小时,第二点集中的采样点的权重较小。在一些实施例中,第二点集中的采样点的权重小于第一点集中的采样点的权重。
本实施例通过删除一些已有采样点的方式,来改变采样点,采样点权重较小可以表示该采样点的压力、速度等信息的变化较小,仿真时无需过多关注该采样点,因此可以进行稀疏处理,稀疏处理表示对该些权重较小的采样点进行更加稀疏的采样,例如随机删除一些权重较小的采样点。
图3是根据本公开实施例的深度学习模型的训练方法的示意流程图。
如图3所示,本实施例中,深度学习模型的训练方法300可以包括操作S310~操作S350,还可以包括操作S360~操作S370,其中,操作S310~操作S350可以参考上文中的操作S210~操作S250,本实施例不再赘述。
需要说明的是,操作S360~操作S370可以在操作S310之前执行,操作S360~操作S370用于根据目标对象的几何结构确定多个初始采样点,初始采样点表示第一轮次训练过程中使用的当前采样点。在第二轮次及之后的其他轮次训练中,可以通过改变上一轮次的采样点来得到下一轮次训练所使用的当前采样点。
在操作S360,根据目标对象的几何结构,确定多个网格;网格为多边形结构或多面体结构,多个网格包括多个多边形面。
在操作S370,根据多个多边形面的顶点,确定多个当前采样点。
例如,几何结构为目标对象的几何结构,例如固态物体和/或流体所处流场范围的几何结构,可以将几何结构存储于CAD文件中。可以通过解析CAD的方式来实现网格的划分。例如,可以结合实际的CAD文件类型,采用numpy、sympy或其他开源工具包实现文件读取并转化,可以使用三角形、其他多边形、四面体网格或其他多面体,将目标对象中的曲面和/或立体结构分割成小块,该曲面可以包括目标对象的表面,该小块即为网格,分割之后目标对象包括多个多边形面。需要说明的是,在划分网格的过程中,可以将全部目标对象划分为多个网格,也可以将目标对象的一部分划分为网格。
可以将多边形面的顶点添加至多个当前采样点中,还可以基于多边形面的顶点确定另一些采样点,并将该些采样点添加至多个当前采样点中。
本实施例基于目标对象的几何结构划分网格,然后基于网格的顶点确定多个当前采样点,因此可以为训练提供合理的采样点,提高训练效果。
需要说明的是,在一些实施例中,可以不划分网格,采用在几何结构的表面、内部、周围随机采样的方式,来确定第一轮次训练使用的采样点。
以下结合实施例,对上述根据多个多边形面的顶点,确定多个当前采样点的方法进行说明。
在一种示例中,可以基于几何表面距离来确定多个当前采样点,该种方式适用于分析固态物体周围流场的场景,例如分析物体表面边界层的场景。
示例性的,可以确定多个多边形面的法向量,然后将多个多边形面的顶点,沿法向量指示方向移动目标距离,得到移动后的采样点,接下来将移动后的采样点,添加至多个当前采样点中。
例如,可以根据多边形面的顶点坐标,还可以结合中点坐标,计算多边形面的法向量。
例如,可以预先配置n个目标长度,n是大于等于1的整数,然后将固态物体表面的多边形面的顶点沿法向量方向,向固态物体外部移动目标长度,得到移动后的采样点,可以看出,移动后固态物体固态物体表面的多边形面的顶点向外部膨胀n层,其中,从固态物体表面至固态物体外部流场依次分布的该n层分别称为第一层,第二层,第三层,...,第n层。
又例如,可以预先配置目标长度和膨胀系数,目标长度可以表示固态物体表面的点移动至外部最近一层所需的距离,也即第一层至固态物体表面的距离,膨胀系数可以表示相邻两层的目标长度之间的比值,例如第三层与第二层之间第一距离与第二层与第一层之间第二距离的比值。可以将前一层的目标长度与膨胀系数的乘积,作为下一层目标长度,进而确定出多个目标移动距离,将多边形面的顶点沿法向量指示方向分别移动多个目标移动距离,可以得到移动后的采样点。
此外,需要说明的是,膨胀系数可以大于1,进而在多边形面的顶点膨胀n层的情况下,相邻两层之间的间距可以沿着远离固态物体表面的方向而逐渐增大,即距离固态物体表面较近区域的采样点更加密集,距离固态物体表面较远区域的采样点更加稀疏。
在另一种示例中,可以基于几何表面梯度变化来确定多个当前采样点,该种方式适用于分析固态物体受力的场景。
示例性的,可以针对多个多边形面中相邻的两个多边形面,在确定两个多边形面的夹角小于等于夹角阈值的情况下,根据两个多边形面,确定新增的采样点,然后将新增的采样点添加至多个当前采样点中。
例如,可以计算两个相邻多边形面的法向量,根据法向量计算两个多边形面的夹角,夹角小于等于夹角阈值,表示固态物体表面出现尖锐结构,该尖锐结构所处区域容易出现应力集中,因此可以在该区域添加新采样点,从而提高采样密度。
例如,可以在两个多边形面内,随机采集一些点,并将该些点确定为新增的采样点。
需要说明的是,在实际应用中,可以仅基于几何表面距离和几何表面梯度变化之一来确定多个当前采样点,也可以基于几何表面距离和几何表面梯度变化来确定多个当前采样点。
在另一种示例中,还可以基于其他方式来确定多个当前采样点。例如,基于几何表面距离将某个几何结构表面的采样点向外膨胀n层之后,该几何结构的表面不连续,可以利用整个曲面的平均法向量来确定一些新的采样点,从而使膨胀之后的几何结构的表面连续。以下对该种方式进行说明。
例如,可以对相邻两个多边形面的法向量进行加权平均处理,并将加权平均值作为整个曲面的平均法向量。例如,有多个三角形面,则计算多个法向量的加权平均值,上述多个三角形面的权重可以相等,也可以不等,例如,一个较大的三角形面的一个边与两个较小的三角形面拼接在一起,则该较大的三角形面的法向量权重可以大于两个较小的三角形面的法向量权重。接下来,可以基于整个曲面的平均法向量,在两个不连续的表面之间确定一些新的采样点。
图4是根据本公开实施例的深度学习模型的训练方法的示意原理图。
本实施例中,深度学习模型401可以为全连接PINN网络,以针对二维非定常流体力学问题为例,该深度学习模型401的输入包括表示时间t和空间坐标信息(x,y),输出一些物理信息,例如输出X方向速度u、Y方向速度v和流体压力p。通过PINN网络,可以建立流体速度和压力关于时间和空间的函数402,即u=u(x,y,t),p=p(x,y,t)。通过对PINN网络的输入输出进行自动微分运算403,可以构建符合流体力学控制方程N-S方程的损失函数404,实现物理信息约束。需要说明的是,图4中的损失函数404仅为示例,还可以采用其他损失函数,图4中损失函数404中的f可以表示外界对目标对象施加的作用力。
图5是根据本公开实施例的深度学习模型的训练方法的示意原理图。
如图5所示,本实施例主要包括CAD解析501、自适应采样502、梯度计算503和采样密度调整504等过程,以下对上述过程进行详细说明。
首先,进行CAD解析501,得到几何特征的点云。例如,可以结合CAD文件类型,采用numpy、sympy或其他开源工具包实现文件读取并转化为三角形结构或四面体结构的网格,网格的顶点可以作为采样点。解析方式参考上文,本实施例不再赘述。
接下来,可以进行基于几何外形的自适应采样502,该过程主要用于确定第一轮次训练深度学习模型所使用的采样点,即图中的初始采样点。该过程通过计算采样点的局部特征,如梯度、曲率等,来确定采样点,例如可以参考上文中基于几何表面距离和几何表面梯度变化来确定多个当前采样点。该过程可以在需要细化的采样点周围添加新采样点,例如在固态物体表面的边界层增加采样点,以及在固态物体表面的尖锐区域增加采样点,从而提高采样密度。
接下来,可以确定深度学习模型,深度学习模型可以是PINN。可以结合实际物理问题的物理机理,如Navier-Stokes方程、Burgers方程等确定损失函数,提升深度学习模型的可解释性,上述方程可以作为物理信息约束深度学习模型的训练。在训练过程中,将多个当前采样点的采样点信息输入深度学习模型,深度学习模型输出采样点的速度、压力等物理信息。还可以基于深度学习模型输出的物理信息,确定每个采样点的损失值以及多个采样点的总损失值loss。
若总损失值loss小于损失阈值th_e,则表示模型收敛,此时可以将当前参数确定为经训练的深度学习模型的参数。
若总损失值loss大于等于损失阈值th_e,则表示模型未收敛,可以根据损失函数对采样点信息进行梯度计算503,即对如Burgers、Euler控制方程等进行求导。
需要说明的是,在训练过程中,采样点的选择和分布直接影响损失函数的梯度,采样点分布过于稀疏会导致损失函数梯度过高;采样点过于密集会使损失函数的梯度较小,容易导致深度学习模型过拟合,影响模型的泛化能力。因此,可以根据梯度变化情况,调整采样点的采样密度,改变采样点的分布,使得某些区域的样本更密集,从而提高模型在该区域的精度。
例如,可以针对每个采样点,计算在当前参数下的梯度,并将该梯度作为该采样点的权重。可以针对权重大的采样点进行加密处理,加密处理表示在该采样点的附近进行更加密集的采样。可以针对权重小的采样点进行稀疏处理,稀疏处理表示对该些权重较小的采样点进行较为稀疏的采样。加密处理和稀疏处理的过程可以参考上文,本实施例在此不再赘述。
本实施例中,采用基于几何外形的自适应采样502,来确定第一轮次训练深度学习模型所使用的采样点。通过基于损失函数梯度变化的方式进行采样密度调整504,从而改变第二轮次及之后轮次训练深度学习模型所使用的采样点,进而使深度学习模型的训练过程得到更加准确的估计采样,从而提升模型的精度和泛化能力,并且在不断训练过程中实现网络的参数优化,从而实现更好的拟合。
本实施例利用了传统CFD、CAE仿真过中前处理网格定义阶段的工作意义,即网格需要符合实际计算场景,如流体或固体的控制方程、物理场中网格特征(如结构化网格)。在深度学习中对训练数据(采样点)结合“物理机理方程”与“物理现象”两个方面进行自适应的调整,既能够在物理问题计算初始时得到相对符合物理场特征的采样,如局部加密采样;同时也能够在网络训练的过程中,结合控制方程进行动态的调整,如湍流圆柱绕流问题中圆柱后方近场区域进加密采样,而在远场区域稀疏采样。
基于上述方式,能够提升网络训练过程的收敛性,经过实际验证,损失函数相比于“均匀采样”和“随机采样”等方式有所下降,模型精度得到提升。上述实施例提供的方法可适用于复杂几何外形在不同工况下的流场、固体以及电磁、传热等场景。
图6是根据本公开实施例的物体仿真方法的示意流程图。
如图6所示,该物体仿真方法600可以包括操作S610~操作S630。
在操作S610,根据待仿真对象的几何结构,确定多个目标点。
例如,待仿真对象可以包括固态物体,也可以包括流体,例如气体和液体。可以从固态物体的表面、固态物体的内部、流体所处流场中确定一些目标点。
在操作S620,将多个目标点的多个目标点信息输入深度学习模型,深度学习模型输出多个目标点的物理信息。
例如,目标点信息可以包括点的空间坐标信息。物理信息可以包括压力、速度、温度等。
例如,深度学习模型可以是利用上述训练方法训练得到的,训练方法可以参考上文,本实施例在此不再赘述。
在操作S630,根据多个目标点的物理信息进行仿真。
例如,可以根据多个目标点的物理信息生成云图,云图可以包括压力云图、温度云图、速度云图等。
本公开实施例利用经训练的深度学习模型来进行仿真,在仿真过程中,基于经训练的深度学习模型来生成物理信息,因此无需人工画网格,并且计算机在确定物理信息的过程中也无需花费大量算力对基于有限元法的离散化单元进行求解,因此可以提高仿真效率,降低仿真成本。此外,仿真过程中使用的深度学习模型精度较高,因此仿真效果较好。
图7是根据本公开实施例的深度学习模型的训练装置的示意结构框图。
如图7所示,该深度学习模型的训练装置700可以包括输入模块710、损失值确定模块720、调整模块730以及模型确定模块740。
输入模块710用于基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入深度学习模型,分别得到用于多个当前采样点的多个物理信息;目标对象包括固态物体和流体中的至少一个,采样点信息包括空间坐标信息。
损失值确定模块720用于根据多个物理信息,确定用于多个当前采样点各自的损失值。
调整模块730用于响应于检测到多个当前采样点的总损失值大于等于损失阈值,根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和将调整后的参数作为当前参数,将改变后的采样点作为多个当前采样点,并返回输入操作。
模型确定模块740用于响应于检测到多个当前采样点的总损失值小于阈值,基于当前参数,确定经训练的深度学习模型。
图8是根据本公开实施例的物体仿真装置的示意结构框图。
如图8所示,该物体仿真装置800可以包括目标点确定模块810、输出模块820和仿真模块830。
目标点确定模块810用于根据待仿真对象的几何结构,确定多个目标点。
输出模块820用于将多个目标点的多个目标点信息输入深度学习模型,深度学习模型输出多个目标点的物理信息。
仿真模块830用于根据多个目标点的物理信息进行仿真。
上述深度学习模型是利用训练装置训练得到的,训练装置包括:输入模块、损失值确定模块和调整模块。
输入模块用于基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入深度学习模型,分别得到用于多个当前采样点的多个物理信息。
损失值确定模块用于根据多个物理信息,确定用于多个当前采样点各自的损失值。
调整模块用于响应于检测到多个当前采样点的总损失值大于等于损失阈值,根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和将调整后的参数作为当前参数,将改变后的采样点作为多个当前采样点,并返回输入操作,直至总损失值小于损失阈。
待仿真对象和目标对象分别包括固态物体和流体中的至少一个,目标点信息和采样点信息分别包括空间坐标信息。
根据本公开另一实施例,调整模块包括:第一点集确定子模块、新增点确定子模块和第一添加子模块。第一点集确定子模块用于根据多个当前采样点各自的损失值,从多个当前采样点中确定第一点集;新增点确定子模块用于基于第一点集中的采样点,确定至少一个新增点;第一添加子模块用于将至少一个新增点添加至多个当前采样点中,得到改变后的采样点;其中,第一点集中的采样点满足以下条件中的至少一个:采样点的损失值与总损失值之间的比值大于等于第一比例阈值,采样点的梯度大于等于第一梯度阈值。
根据本公开另一实施例,新增点确定子模块包括:区域确定单元和新增点确定单元。区域确定单元用于以第一点集中的采样点为中心,根据预定半径确定候选区域;新增点确定单元用于在候选区域内确定至少一个新增点。
根据本公开另一实施例,调整模块包括:第二点集确定子模块和删除子模块。第二点集确定子模块用于根据多个当前采样点各自的损失值,从多个当前采样点中确定第二点集;删除子模块用于删除第二点集中的部分采样点,得到改变后的采样点;其中,第二点集中的采样点满足以下条件中的至少一个:采样点的损失值与总损失值之间的比值小于等于第二比例阈值,采样点的梯度小于等于第二梯度阈值。
根据本公开另一实施例,训练装置还包括:划分模块和采样点确定模块。划分模块用于根据目标对象的几何结构,确定多个网格;网格为多边形结构或多面体结构,多个网格包括多个多边形面;采样点确定模块用于根据多个多边形面的顶点,确定多个当前采样点。
根据本公开另一实施例,采样点确定模块包括:法向量确定子模块、移动子模块和第二添加子模块。法向量确定子模块用于确定多个多边形面的法向量;移动子模块用于将多个多边形面的顶点,沿法向量指示方向移动目标距离,得到移动后的采样点;第二添加子模块用于将移动后的采样点,添加至多个当前采样点中。
根据本公开另一实施例,移动子模块包括:距离确定单元和移动单元。距离确定单元用于根据膨胀系数和目标长度,确定多个目标移动距离;移动单元用于将多边形面的顶点沿法向量指示方向分别移动多个目标移动距离,得到移动后的采样点。
根据本公开另一实施例,采样点确定模块包括:点确定子模块和第三添加子模块。点确定子模块用于针对多个多边形面中相邻的两个多边形面,在确定两个多边形面的夹角小于等于夹角阈值的情况下,根据两个多边形面,确定新增的采样点;第三添加子模块用于将新增的采样点添加至多个当前采样点中。
根据本公开另一实施例,点确定子模块包括:采样点确定单元,用于在两个多边形面内确定新增的采样点。
根据本公开另一实施例,物理信息包括温度、速度和压力中的至少一个。
根据本公开的实施例,本公开还提供了一种电子设备,包括至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述深度学习模型的训练方法和/或物体仿真方法。
根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述深度学习模型的训练方法和/或物体仿真方法。
根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述深度学习模型的训练方法和/或物体仿真方法。
图9是用来实施本公开实施例的深度学习模型的训练方法和/或物体仿真方法的电子设备的结构框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如深度学习模型的训练方法和/或物体仿真方法。例如,在一些实施例中,深度学习模型的训练方法和/或物体仿真方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的深度学习模型的训练方法和/或物体仿真方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行深度学习模型的训练方法和/或物体仿真方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (33)
1.一种物体仿真方法,包括:
根据待仿真对象的几何结构,确定多个目标点;
将多个目标点的多个目标点信息输入深度学习模型,所述深度学习模型输出所述多个目标点的物理信息;以及
根据所述多个目标点的物理信息进行仿真;
其中,所述深度学习模型是利用以下训练方法训练得到的:
基于所述深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入所述深度学习模型,分别得到用于多个当前采样点的多个物理信息;
根据所述多个物理信息,确定用于多个当前采样点各自的损失值;以及
响应于检测到多个当前采样点的总损失值大于等于损失阈值,
根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将所述多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和
将所述调整后的参数作为当前参数,将所述改变后的采样点作为多个当前采样点,并返回所述输入操作,直至所述总损失值小于所述损失阈值;
其中,所述待仿真对象和所述目标对象分别包括固态物体和流体中的至少一个,所述目标点信息和所述采样点信息分别包括空间坐标信息;
其中,将所述多个当前采样点改变为其他多个采样点包括:
从多个当前采样点中确定第一点集和第二点集中的至少一个;
在确定所述第一点集的情况下,基于所述第一点集中的采样点,确定至少一个新增点;将所述至少一个新增点添加至多个当前采样点中;
在确定所述第二点集的情况下,删除所述第二点集中的部分采样点。
2.根据权利要求1所述的方法,其中,将所述多个当前采样点改变为其他多个采样点包括:从多个当前采样点中确定第一点集;
其中,所述第一点集中的采样点满足以下条件中的至少一个:所述采样点的损失值与所述总损失值之间的比值大于等于第一比例阈值,所述采样点的梯度大于等于第一梯度阈值。
3.根据权利要求1所述的方法,其中,在确定所述第一点集的情况下,基于所述第一点集中的采样点,确定至少一个新增点包括:
以所述第一点集中的采样点为中心,根据预定半径确定候选区域;以及
在所述候选区域内确定所述至少一个新增点。
4.根据权利要求1所述的方法,其中,将所述多个当前采样点改变为其他多个采样点包括:从多个当前采样点中确定第二点集;
其中,所述第二点集中的采样点满足以下条件中的至少一个:所述采样点的损失值与所述总损失值之间的比值小于等于第二比例阈值,所述采样点的梯度小于等于第二梯度阈值。
5.根据权利要求1至4中任意一项所述的方法,所述深度学习模型的训练过程还包括:
根据所述目标对象的几何结构,确定多个网格;所述网格为多边形结构或多面体结构,所述多个网格包括多个多边形面;以及
根据所述多个多边形面的顶点,确定多个当前采样点。
6.根据权利要求5所述的方法,其中,所述根据所述多个多边形面的顶点,确定多个当前采样点包括:
确定所述多个多边形面的法向量;
将所述多个多边形面的顶点,沿所述法向量指示方向移动目标距离,得到移动后的采样点;以及
将所述移动后的采样点,添加至多个当前采样点中。
7.根据权利要求6所述的方法,其中,所述将所述多个多边形面的顶点,沿所述法向量指示方向移动目标距离,得到移动后的采样点包括:
根据膨胀系数和目标长度,确定多个目标移动距离;以及
将多边形面的顶点沿所述法向量指示方向分别移动多个目标移动距离,得到所述移动后的采样点。
8.根据权利要求5所述的方法,其中,所述根据所述多个多边形面的顶点,确定多个当前采样点包括:
针对所述多个多边形面中相邻的两个多边形面,在确定所述两个多边形面的夹角小于等于夹角阈值的情况下,根据所述两个多边形面,确定新增的采样点;以及
将所述新增的采样点添加至多个当前采样点中。
9.根据权利要求8所述的方法,其中,所述根据所述两个多边形面,确定新增的采样点包括:
在所述两个多边形面内确定所述新增的采样点。
10.根据权利要求1所述的方法,其中,所述物理信息包括温度、速度和压力中的至少一个。
11.一种深度学习模型的训练方法,包括:
基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入所述深度学习模型,分别得到用于多个当前采样点的多个物理信息;所述目标对象包括固态物体和流体中的至少一个,所述采样点信息包括空间坐标信息;
根据所述多个物理信息,确定用于多个当前采样点各自的损失值;
响应于检测到多个当前采样点的总损失值大于等于损失阈值,
根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将所述多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和
将所述调整后的参数作为当前参数,将所述改变后的采样点作为多个当前采样点,并返回所述输入操作;以及
响应于检测到多个当前采样点的总损失值小于阈值,基于当前参数,确定经训练的深度学习模型;
其中,将所述多个当前采样点改变为其他多个采样点包括:
从多个当前采样点中确定第一点集和第二点集中的至少一个;
在确定所述第一点集的情况下,基于所述第一点集中的采样点,确定至少一个新增点;将所述至少一个新增点添加至多个当前采样点中;
在确定所述第二点集的情况下,删除所述第二点集中的部分采样点。
12.根据权利要求11所述的方法,其中,将所述多个当前采样点改变为其他多个采样点包括:从多个当前采样点中确定第一点集;
其中,所述第一点集中的采样点满足以下条件中的至少一个:所述采样点的损失值与所述总损失值之间的比值大于等于第一比例阈值,所述采样点的梯度大于等于第一梯度阈值。
13.根据权利要求11所述的方法,其中,在确定所述第一点集的情况下,基于所述第一点集中的采样点,确定至少一个新增点包括:
以所述第一点集中的采样点为中心,根据预定半径确定候选区域;以及
在所述候选区域内确定所述至少一个新增点。
14.根据权利要求11所述的方法,其中,将所述多个当前采样点改变为其他多个采样点包括:从多个当前采样点中确定第二点集;
其中,所述第二点集中的采样点满足以下条件中的至少一个:所述采样点的损失值与所述总损失值之间的比值小于等于第二比例阈值,所述采样点的梯度小于等于第二梯度阈值。
15.根据权利要求11至14中任意一项所述的方法,所述深度学习模型的训练过程还包括:
根据所述目标对象的几何结构,确定多个网格;所述网格为多边形结构或多面体结构,所述多个网格包括多个多边形面;以及
根据所述多个多边形面的顶点,确定多个当前采样点。
16.根据权利要求15所述的方法,其中,所述根据所述多个多边形面的顶点,确定多个当前采样点包括:
确定所述多个多边形面的法向量;
将所述多个多边形面的顶点,沿所述法向量指示方向移动目标距离,得到移动后的采样点;以及
将所述移动后的采样点,添加至多个当前采样点中。
17.根据权利要求16所述的方法,其中,所述将所述多个多边形面的顶点,沿所述法向量指示方向移动目标距离,得到移动后的采样点包括:
根据膨胀系数和目标长度,确定多个目标移动距离;以及
将多边形面的顶点沿所述法向量指示方向分别移动多个目标移动距离,得到所述移动后的采样点。
18.根据权利要求15所述的方法,其中,所述根据所述多个多边形面的顶点,确定多个当前采样点包括:
针对所述多个多边形面中相邻的两个多边形面,在确定所述两个多边形面的夹角小于等于夹角阈值的情况下,根据所述两个多边形面,确定新增的采样点;以及
将所述新增的采样点添加至多个当前采样点中。
19.根据权利要求18所述的方法,其中,所述根据所述两个多边形面,确定新增的采样点包括:
在所述两个多边形面内确定所述新增的采样点。
20.根据权利要求11所述的方法,其中,所述物理信息包括温度、速度和压力中的至少一个。
21.一种物体仿真装置,包括:
目标点确定模块,用于根据待仿真对象的几何结构,确定多个目标点;
输出模块,用于将多个目标点的多个目标点信息输入深度学习模型,所述深度学习模型输出所述多个目标点的物理信息;以及
仿真模块,用于根据所述多个目标点的物理信息进行仿真;
其中,所述深度学习模型是利用训练装置训练得到的,所述训练装置包括:
输入模块,用于基于所述深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入所述深度学习模型,分别得到用于多个当前采样点的多个物理信息;
损失值确定模块,用于根据所述多个物理信息,确定用于多个当前采样点各自的损失值;以及
调整模块,用于响应于检测到多个当前采样点的总损失值大于等于损失阈值,
根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将所述多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;和
将所述调整后的参数作为当前参数,将所述改变后的采样点作为多个当前采样点,并返回所述输入操作,直至所述总损失值小于损失阈值;
其中,所述待仿真对象和所述目标对象分别包括固态物体和流体中的至少一个,所述目标点信息和所述采样点信息分别包括空间坐标信息;
其中,所述调整模块用于从多个当前采样点中确定第一点集和第二点集中的至少一个;在确定所述第一点集的情况下,基于所述第一点集中的采样点,确定至少一个新增点;将所述至少一个新增点添加至多个当前采样点中;在确定所述第二点集的情况下,删除所述第二点集中的部分采样点。
22.根据权利要求21所述的装置,其中,所述调整模块用于从多个当前采样点中确定第一点集;
其中,所述第一点集中的采样点满足以下条件中的至少一个:所述采样点的损失值与所述总损失值之间的比值大于等于第一比例阈值,所述采样点的梯度大于等于第一梯度阈值。
23.根据权利要求22所述的装置,其中,所述调整模块还用于:
以所述第一点集中的采样点为中心,根据预定半径确定候选区域;以及
在所述候选区域内确定所述至少一个新增点。
24.根据权利要求21所述的装置,其中,所述调整模块用于从多个当前采样点中确定第二点集;
其中,所述第二点集中的采样点满足以下条件中的至少一个:所述采样点的损失值与所述总损失值之间的比值小于等于第二比例阈值,所述采样点的梯度小于等于第二梯度阈值。
25.根据权利要求21至24中任意一项所述的装置,所述训练装置还包括:
划分模块,用于根据所述目标对象的几何结构,确定多个网格;所述网格为多边形结构或多面体结构,所述多个网格包括多个多边形面;以及
采样点确定模块,用于根据所述多个多边形面的顶点,确定多个当前采样点。
26.根据权利要求25所述的装置,其中,所述采样点确定模块包括:
法向量确定子模块,用于确定所述多个多边形面的法向量;
移动子模块,用于将所述多个多边形面的顶点,沿所述法向量指示方向移动目标距离,得到移动后的采样点;以及
第二添加子模块,用于将所述移动后的采样点,添加至多个当前采样点中。
27.根据权利要求26所述的装置,其中,所述移动子模块包括:
距离确定单元,用于根据膨胀系数和目标长度,确定多个目标移动距离;以及
移动单元,用于将多边形面的顶点沿所述法向量指示方向分别移动多个目标移动距离,得到所述移动后的采样点。
28.根据权利要求25所述的装置,其中,所述采样点确定模块包括:
点确定子模块,用于针对所述多个多边形面中相邻的两个多边形面,在确定所述两个多边形面的夹角小于等于夹角阈值的情况下,根据所述两个多边形面,确定新增的采样点;以及
第三添加子模块,用于将所述新增的采样点添加至多个当前采样点中。
29.根据权利要求28所述的装置,其中,所述点确定子模块包括:
采样点确定单元,用于在所述两个多边形面内确定所述新增的采样点。
30.根据权利要求21所述的装置,其中,所述物理信息包括温度、速度和压力中的至少一个。
31.一种深度学习模型的训练装置,包括:
输入模块,用于基于深度学习模型的当前参数,将目标对象的多个当前采样点的多个采样点信息输入所述深度学习模型,分别得到用于多个当前采样点的多个物理信息;所述目标对象包括固态物体和流体中的至少一个,所述采样点信息包括空间坐标信息;
损失值确定模块,用于根据所述多个物理信息,确定用于多个当前采样点各自的损失值;
调整模块,用于响应于检测到多个当前采样点的总损失值大于等于损失阈值,
根据多个当前采样点各自的损失值和梯度中的至少一个,调整当前参数并将所述多个当前采样点改变为其他多个采样点,得到调整后的参数和改变后的采样点;其中,将所述多个当前采样点改变为其他多个采样点包括:从多个当前采样点中确定第一点集和第二点集中的至少一个;在确定所述第一点集的情况下,基于所述第一点集中的采样点,确定至少一个新增点;将所述至少一个新增点添加至多个当前采样点中;在确定所述第二点集的情况下,删除所述第二点集中的部分采样点;和
将所述调整后的参数作为当前参数,将所述改变后的采样点作为多个当前采样点,并返回所述输入操作;以及
模型确定模块,用于响应于检测到多个当前采样点的总损失值小于阈值,基于当前参数,确定经训练的深度学习模型。
32.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至20中任一项所述的方法。
33.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1至20中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310538874.1A CN116484744B (zh) | 2023-05-12 | 2023-05-12 | 物体仿真方法、模型训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310538874.1A CN116484744B (zh) | 2023-05-12 | 2023-05-12 | 物体仿真方法、模型训练方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116484744A CN116484744A (zh) | 2023-07-25 |
CN116484744B true CN116484744B (zh) | 2024-01-16 |
Family
ID=87213874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310538874.1A Active CN116484744B (zh) | 2023-05-12 | 2023-05-12 | 物体仿真方法、模型训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116484744B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777010B (zh) * | 2023-08-25 | 2023-12-19 | 之江实验室 | 一种模型训练的方法以及任务执行方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583485A (zh) * | 2018-11-16 | 2019-04-05 | 聚时科技(上海)有限公司 | 一种基于反馈训练的有监督深度学习方法 |
CN112488826A (zh) * | 2020-12-16 | 2021-03-12 | 北京逸风金科软件有限公司 | 基于深度强化学习对银行风险定价的优化方法和装置 |
CN114882321A (zh) * | 2022-05-30 | 2022-08-09 | 北京百度网讯科技有限公司 | 深度学习模型的训练方法、目标对象检测方法和装置 |
CN114897802A (zh) * | 2022-04-25 | 2022-08-12 | 江苏科技大学 | 一种基于改进Faster RCNN算法的金属表面缺陷检测方法 |
CN115471805A (zh) * | 2022-09-30 | 2022-12-13 | 阿波罗智能技术(北京)有限公司 | 点云处理和深度学习模型训练方法、装置及自动驾驶车辆 |
WO2023027700A1 (en) * | 2021-08-25 | 2023-03-02 | Siemens Aktiengesellschaft | Performing topology optimization fully with deep learning networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230062600A1 (en) * | 2021-08-30 | 2023-03-02 | Accenture Global Solutions Limited | Adaptive design and optimization using physics-informed neural networks |
-
2023
- 2023-05-12 CN CN202310538874.1A patent/CN116484744B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583485A (zh) * | 2018-11-16 | 2019-04-05 | 聚时科技(上海)有限公司 | 一种基于反馈训练的有监督深度学习方法 |
CN112488826A (zh) * | 2020-12-16 | 2021-03-12 | 北京逸风金科软件有限公司 | 基于深度强化学习对银行风险定价的优化方法和装置 |
WO2023027700A1 (en) * | 2021-08-25 | 2023-03-02 | Siemens Aktiengesellschaft | Performing topology optimization fully with deep learning networks |
CN114897802A (zh) * | 2022-04-25 | 2022-08-12 | 江苏科技大学 | 一种基于改进Faster RCNN算法的金属表面缺陷检测方法 |
CN114882321A (zh) * | 2022-05-30 | 2022-08-09 | 北京百度网讯科技有限公司 | 深度学习模型的训练方法、目标对象检测方法和装置 |
CN115471805A (zh) * | 2022-09-30 | 2022-12-13 | 阿波罗智能技术(北京)有限公司 | 点云处理和深度学习模型训练方法、装置及自动驾驶车辆 |
Non-Patent Citations (1)
Title |
---|
基于深度学习的面部动作单元识别算法;王德勋等;华东理工大学学报(自然科学版)(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116484744A (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017084106A1 (zh) | 一种数值模拟飞行器流场的系统及方法 | |
WO2017084105A1 (zh) | 一种数值模拟等离子体放电的系统及方法 | |
Chen et al. | Automatic sizing functions for unstructured surface mesh generation | |
CN105469446A (zh) | 点云网格简化系统及方法 | |
JP7492083B2 (ja) | メッシュ表現およびグラフニューラルネットワークを使用した物理的環境のシミュレーション | |
CN116484744B (zh) | 物体仿真方法、模型训练方法、装置、设备及存储介质 | |
CN114139104B (zh) | 基于偏微分方程处理流场数据的方法、装置及电子设备 | |
CN113283186A (zh) | 一种用于cfd的通用网格自适应方法 | |
US11295050B2 (en) | Structural analysis method and structural analysis apparatus | |
Deng et al. | Reconstruction of supersonic flowfield using physical neural network based on channel interaction | |
Nagawkar et al. | Applications of polynomial chaos-based cokriging to aerodynamic design optimization benchmark problems | |
CN116738920B (zh) | 一种三维几何内核的芯片3d设计方法及系统 | |
Chen et al. | Developing an advanced neural network and physics solver coupled framework for accelerating flow field simulations | |
US20240211664A1 (en) | Digital simulation of a multi-scale complex physical phenomenon by machine learning | |
Yang et al. | Non-matching meshes data transfer using Kriging model and greedy algorithm | |
CN118194776B (zh) | 一种流体参数处理方法、装置、电子设备及存储介质 | |
WO2021173121A1 (en) | System and method for fatigue response prediction | |
Xie et al. | A novel Bayesian deep learning method for fast wake field prediction of the DARPA SUBOFF | |
Wang et al. | Distributed Deep Learning Optimization of Heat Equation Inverse Problem Solvers | |
CN115495854B (zh) | 计算机辅助工程模型的参数标定方法、装置、设备及介质 | |
CN118395820B (zh) | 不同侧滑角下的静弹性变形影响修正方法、装置、计算设备及存储介质 | |
CN116522781B (zh) | 样本数据生成方法、模型的训练方法和装置 | |
CN117195761B (zh) | 一种基于流场离散度自适应的计算加速方法 | |
CN118485025B (zh) | 一种流场预测方法及系统 | |
CN118656916A (zh) | 对象生成方法、装置、设备、介质、程序产品及对象实体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |