贝叶斯优化 — CAE术语解说
贝叶斯优化
老师,在设计优化中「贝叶斯优化」最近经常听到,它和遗传算法有什么区别呢?
遗传算法是「尝试很多然后选择看起来不错的」方法——计算次数往往很多。贝叶斯优化是「从之前的计算结果预测下一步应该在哪里尝试才最有希望」,以较少的试验接近最优解的手法。特别适合像CAE这样单次计算成本很高(需要几小时)的情况。
「预测下一步在哪里尝试」是什么样的机制呢?
用高斯过程回归(Kriging)构建代理模型。从已有的计算点创建「这个区域的目标函数可能是这样的形状」的预测分布。然后用acquisition函数(如期望改进EI)选择「期望改进最大的下一个点」。能自动平衡探索和开发,这是它的强项。
请给出具体的CAE应用例子。
比如汽车车身面板的厚度优化。把10块面板的厚度(各0.5~2.0mm)作为变量,碰撞安全性、重量、刚性作为目标函数。遗传算法需要500次以上的计算,而贝叶斯优化大约50~100次就能得到相当的解。如果一次FEM计算需要2小时,时间节省就相当可观——可能省好几天。
有哪些可用的工具?是Python还是Ansys的工具?
Python的话optuna、scikit-optimize、BoTorch是标准库。Ansys optiSlang和ModeFRONTIER里也内置了这个功能。只要能用Python控制CAE求解器,就能和任何求解器组合使用。这个方法在机器学习的超参数调优文脉中得到发展,所以文献和库都很充实。
请告诉我相关的术语。
「用较少的试验聪明地优化」就是贝叶斯优化的核心啊!
完全正确。在「评估成本高的优化问题」这个语境中,它是当前最受关注的方法之一。首先可以试试用optuna(Python)从简单的数学函数优化开始,这样能直观地理解机制。
准确理解CAE术语是团队内部沟通的基础。 — Project NovaSolver也致力于支持实务人员的学习。
下一代CAE项目:连接开发者和实务人员
Project NovaSolver在包括贝叶斯优化在内的广泛解析领域,探索实务人员知见能够得到最大利用的环境实现。虽然还在路上,但我们诚意招募愿意与我们同行的人士。
联系方式(准备中)相关主题
细节
错误