当前多种算力正在激发跨领域的应用融合,AI已经成为研究科学计算的新范式。因此我们将MindSpore拓展到科学计算领域。通过多尺度混合计算和高阶混合微分两大关键创新,将MindSpore原有的AI计算引擎升级为AI与科学计算的统一引擎,实现融合的统一加速。在此基础上,我们面向8大科学计算行业打造MindSpore Science【1】系列套件。这些行业套件包含业界领先的数据集、基础模型、预置高精度模型和前后处理工具,加速科学行业应用开发。

当前,我们推出面向电子信息行业的MindSpore Elec套件和面向生命科学行业的MindSpore Sponge套件,分别实现了电磁仿真性能提升10倍和生物制药化合物模拟效率提升50%。下面将首先介绍MindSpore Elec套件。

 01 

MindSpore Elec架构图

MindSpore Elec电磁仿真套件主要由前后处理工具(数据构建及转换、结果可视化)、AI电磁模型

库(物理方程驱动和标签数据驱动)以及优化策略(数据压缩、动态自适应加权等)等组成,同时支持时域和频域的电磁仿真。以下是具体模块及功能:

  1. 数据构建及转换:支持CSG(Constructive Solid Geometry,CSG)模式的几何构建,如矩形、圆形等结构的交集、并集和差集,以及cst和stp数据(CST等商业软件支持的数据格式)的高效张量转换。未来还会支持智能网格剖分,供传统科学计算使用。

  2. AI电磁模型库:提供物理和数据驱动的AI电磁模型:物理驱动是指网络的训练无需额外的标签数据,只需方程和初边界条件即可;数据驱动是指训练需使用仿真或实验等产生的数据。物理驱动相比数据驱动,优势在于可避免数据生成带来的成本和网格独立性等问题,劣势在于需明确方程的具体表达形式并克服点源奇异性、多任务损失函数以及泛化性等技术挑战。

  3. 优化策略:为提升物理和数据驱动模型的精度、减少训练的成本,提供了一系列优化措施。数据压缩可以有效地减少神经网络的存储和计算量;多尺度滤波、动态自适应加权可以提升模型的精度,克服点源奇异性等问题;小样本学习主要是为了减少训练的数据量,节省训练的成本。

  4. 结果可视化:仿真的结果如S参数或电磁场等可保存在CSV、VTK文件中。MindSpore Insight可以显示训练过程中的损失函数变化,并以图片的形式在网页上展示结果;Paraview是第三方开源软件,具有动态展示切片、翻转等高级功能。

下面将围绕物理驱动和数据驱动的AI电磁仿真展开介绍。

 02 

物理驱动的AI电磁仿真

目前具有代表性的物理驱动的AI方法是美国布朗大学George Em Karniadakis教授课题组提出的物理信息神经网络(Physics Informed Deep Learning,PINNs)【2】。PINNs方法的核心是将方程求解转化成优化问题,极大简化了方程的建模和求解过程。但PINNs方法也有其不足的地方,如无法有效处理物理场梯度趋于无穷大的场景,无法解决多个损失函数的优化问题,尤其是数量级差异较大的问题;另外,不具备求解一类方程的能力,当方程中的特征参数(如电磁方程中介电系数等)发生变化时需要重新训练,增加了求解时间,端到端性能相比经典方法优势不是很大。

在MindSpore Elec中,通过高斯分布函数平滑、结合sin激活函数的多尺度残差网络结构以及自适应加权的多任务学习策略,可以有效解决奇异性、多任务损失函数优化难等问题;此外,通过将可变参数进行编码,实现神经网络的增量训练,当参数发生变化时,通过微调可以得到新方程的解。下面将以模拟2D TE波为例,介绍MindSpore Elec求解麦克斯韦方程族的具体流程,2D TE波方程如下:

其中,E,H分别表示电场和磁场;ϵ, μ分别是介质的绝对介电常数、绝对磁导率;J(x,t)是电磁仿真过程中的激励源,通常表现为端口脉冲的形式。这在数学意义上近似为狄拉克函数形式所表示的点源,可以表示为:

其中x0为激励源位置,g(t)为脉冲信号的函数表达形式。初始条件如下:

边界条件为二阶Mur吸收边界条件:

a) 高斯分布函数平滑:可以采用光滑的概率分布函数代替不连续的狄拉克函数,从而克服点源奇异性的问题,概率分布函数可以选择高斯分布、柯西分布等。

b) 多尺度残差网络+sin激活函数:受上交许志钦老师多尺度【3】工作的启发,采用多尺度残差网络结构以及sin激活函数(正余弦函数与电磁波信号传播形式相契合),可以有效提升网络捕捉多频信号的能力。

c) 动态自适应加权:AI计算电磁方程时,各项损失函数表现数量级的差异,导致训练收敛难。其中源项附近的损失函数值最大,其次是非源区域方程的损失函数。

原始自适应加权方案【4】:

原始的方案没有下界,会导致精度不足甚至不收敛问题,因此我们添加了

超参数

通过测试我们发现改进后的方案表现最好

d) 增量训练:基于隐向量和神经网络的结合对一系列方程组进行预训练。与求解单个问题不同,预训练步骤中,神经网络的输入为采样点(X)与隐向量(Z)的融合,具体如下图所示

e) 实验结果:增量训练的AI方法相比原始的PINNs方法,性能提升15倍以上;与Benchmark(传统的数值方法)的相对误差在5%左右。

03 

数据驱动的AI电磁仿真

MindSpore Elec提供了基于参数化和点云的数据驱动方法。参数化方案实现的是参数到仿真结果的直接映射,例如天线的宽度、角度作为网络输入,网络输出为S参数。参数化方案的优点是直接映射且网络简单。点云方案实现的是从天线/手机的采样点云到仿真结果的映射,该方案先将手机结构文件转化为点云张量数据,压缩后使用卷积神经网络提取结构特征,再通过数层全连接层映射到最终的仿真结果(S参数)。该方案的优点是适用于复杂工况的结构变化,我们重点介绍下点云的数据驱动方案。

a) 从CST文件导出几何/材料信息

MindSpore Elec提供两种自动化执行脚本,用于将cst格式文件转换为Python可读取的stp文件,使用该脚本可以实现数据批量转换,实现大规模电磁仿真:

  • 基于CST的VBA接口自动调用导出json文件和stp文件:打开CST软件的VBA Macros Editor,导入generate_pointcloud目录下的export_stp.bas文件,将json文件和stp文件路径更改为想要存放的位置,然后点击Run即可导出json文件和stp文件。其中,json文件中包含了模型的端口位置以及stp文件对应的材料信息。

  • 对于CST2019或更新的版本,支持使用Python直接调用CST:直接调用generate_pointcloud目录下的export_stp.py文件即可。

b)点云数据生成

stp文件无法直接作为神经网络的输入,需要先转换为规则的张量数据,MindSpore Elec提供将stp文件高效转化为点云张量数据的接口,generate_pointcloud目录下的generate_cloud_point.py文件提供该接口调用示例。

调用时,通过配置stp_path和json_path可以指定用来生成点云的stp和json文件的路径;material_dir指定stp对应的材料信息的路径,材料信息直接在cst软件中导出;sample_nums指定x、y、z三个维度分别生成多少个点云数据;bbox_args用来指定生成点云数据的区域,即(x_min, y_min, z_min, x_max, y_max, z_max)。

c) 数据压缩

如果点云分辨率设置较高,仅单条点云数据的后处理就需巨大的内存和计算量,因此MindSpore Elec提供数据压缩功能。用户可以调用data_compression目录下的脚本,压缩原始点云数据,该压缩过程分两步:

  • 首次使用时需要调用train.py训练压缩模型,若已有压缩模型检查点可以跳过该步。

  • 模型训练结束后即可调用data_compress.py进行数据压缩。

d) 电磁仿真计算

点云数据准备完毕后即可调用MindSpore Elec full_em和S_parameter目录下的电磁仿真模型,实现全量电磁场和S参数的仿真计算,每个仿真过程均可以分为如下两步:

  • 调用train.py训练仿真模型。

  • 模型训练结束后调用eval.py进行全量电磁场或S参数的仿真计算。

e) 实验结果:在手机电磁仿真场景中,仿真精度媲美传统科学计算软件,同时性能提升10倍。

MindSpore Science科学计算行业套件——MindSpore Elec电磁仿真套件相关推荐

  1. Ansys电磁仿真套件的场路协同仿真

    Ansys电磁仿真套件的场路协同仿真 Ansys仿真套件架构 电磁套件软件简介 场路协同仿真基本流程 HFSS的仿真流程 实例展示 Ansys仿真套件架构 Ansys公司仿真软件覆盖的范围非常广泛,包 ...

  2. 技术干货 | MindSpore AI科学计算系列(五):AI框架加速海洋数值模拟

    01  背景介绍 GOMO模型是一个区域海洋模式,最早由清华大学黄小猛老师基于OpenArray框架开发.海洋模式是指通过一组物理方程来描述海洋的气候变化,不仅可以很好地表征海面温度和高度分布,还能够 ...

  3. 科学前沿,AI共创 ┃ AI for Science 助力各行业高质量发展

    2023全球人工智能开发者先锋大会(GAIDC)于2023年2月25日-26日在上海举行.本届大会主题为"向光而行的AI开发者",以AI开发者为核心,为AI开发者带来产业之光.科技 ...

  4. AI科学计算领域的再突破,昇思MindSpore做“基石”的决心有多强?

    过去的十多年,人工智能技术越来越深刻地影响了人类社会,越来越多成熟的人工智能产品逐渐渗透到每一个人的生活.就在大家享受着人工智能带来各种便利的同时,AI也不断影响着最前沿的科学研究领域.过去的数百年来 ...

  5. 2018结构、流体、热分析、多物理场耦合、电磁仿真计算特点与硬件配置方案分析

         2018结构.流体.热分析.多物理场耦合.电磁仿真计算特点与硬件配置方案分析 主要内容 1.有限元分析概述 2.有限元分析模拟计算过程分析与计算特点 2.1有限元前处理(建模.网格划分)计算 ...

  6. 解读科学计算助力行业高质量发展|2023 开放原子全球开源峰会科学智能分论坛即将启幕

    诺贝尔奖获得者威尔逊曾说过,现代科学研究的三大支柱:科学实验.理论研究.科学计算.深度学习和科学模型的结合,将会给传统科学领域带来新的机遇,并推动科研范式的创新.人工智能在科学计算领域有哪些问题和突破 ...

  7. 真香!全场景AI计算开源框架MindSpore,我爱了

    [摘要] 本文主要通过两个实际应用案例:一是基于本地 Jupyter Notebook 的 MNIST 手写数据识别:二是基于华为云服务器的 CIFAR-10 图像分类,对开源框架 MindSpore ...

  8. 大模型高效开发的秘密武器——大模型低参微调套件MindSpore PET篇

    人工智能进入"大模型时代".大模型具备更强泛化能力,在各垂直领域落地时,只需要进行参数微调,就可以适配多个场景.因此,发展大模型已成为产学研各界共识. 在大模型开发方面,昇腾推出了 ...

  9. MindSpore Quantum 量子计算编程与实践:轻松上手量子卷积神经网络

    MindSpore Quantum 量子计算编程与实践:轻松上手量子卷积神经网络 在本文中,我们将介绍一些量子信息的基础知识 和 MindQuantum 量子计算框架的基本用法,最后基于 MindQu ...

最新文章

  1. 简单理解:同步、异步、阻塞、非阻塞
  2. Pandas数据挖掘与分析时的常用方法
  3. 这名程序员28岁就退休了。。。
  4. easy js test--方便对js进行测试,不需要刷新
  5. 东软睿云用户认证_【硬件资讯】尘埃落定!11代酷睿规格曝光!i7、i9难分差距,退回8核16线程!...
  6. ubuntu好文收集
  7. 技校毕业是什么学历_初中毕业上技校学什么专业好
  8. 18、监听器/国际化
  9. 两个月学习Python的胡言乱语
  10. MySQL深度剖析之数据在磁盘上存储(2021)
  11. C++中字符串转换函数to_string
  12. [汇编与C语言关系]1.函数调用
  13. THUSC2019去不了记
  14. 三维点云:学习+了解
  15. Spring publishevent事件处理
  16. 微信企业红包php,微信公众号发红包和企业付款实现方法
  17. 关于微信投票活动存在微信人工刷票数的情况解析
  18. 二分查找及时间复杂度
  19. 将数据字典转为Excel表格
  20. 江西靖安推行“村庄清洁革命”:设垃圾兑换银行 大数据管理

热门文章

  1. Java 生成随机密码
  2. 纸牌三角形java_纸牌三角形
  3. 一个非常好用的随机密码生成方法
  4. linux游戏版本更新,Wine终于更新版本!5.0模式在游戏上下足功夫,《古墓丽影》玩起来...
  5. 王通:“Hipihi” VS “Second Life”
  6. js 格式化中国标准时间为YY-MM-DD形式并回显时间
  7. 洛谷-P1010-幂次方-普及(摁写+递归/二进制+递归)
  8. 查高考成绩服务器维护,各省高考成绩查询时间公布,但这个时段不建议查看,过来人吃亏过...
  9. spidermonkey学习
  10. 小红伞nbsp;win2003