How to Avoid Trivial Solutions in Physics-Informed Neural Networks


未发表(2021)
本文也是关注采样点的一篇工作。主要从PINN的性能与采样点数量的关系方面入手考虑。提出了一个新的惩罚项,并对采样策略提出了一点看法。
本文的工作相对比较直观,简单,效果可能并不是很好。作者也没有做其他的方程,文章也比较短,没有理论保证并且工作量也不足。
首先,作者认为,虽然自动微分帮助了PINN的想法实现,但是自动微分的使用也会带来显著的计算消耗。故而本文的关注点在于如何减少计算量。简单地说,作者希望通过减少配置点的数量来降低训练PINN所需要的时间。但是,直接的减少数量是不行的,因为在训练点减少时,PINN会收敛到不同的解。所以,作者寻找了方法试图使得减少配置点数量的同时,也不会使得PINN的性能大幅度下降(针对PINN的计算量,我也深有感触,虽然模型的框架并不复杂,但是所需要的计算量却很大,主要是训练时间会很长,因为需要在每一个配置点进行自动微分,计算物理损失)。
一个观察如下,当采样点减少时,PINN的解会从初始条件开始,退化为平凡解。平凡解也满足物理损失最小(对于齐次PDE)。

作者通过研究一维滤波器,发现了一个规律,即使对于简单的问题,解也会存在一个突然的变化,退化为平凡解(这也是一个经验性的观察)。为了避免这个情况,作者准备引入一个新的正则化项,用来稳定PINN的训练,同时还会保持预测的准确性。此外,作者还表明,规律采样会优于随机采样,在当配置点数量比较少的情况下。具体如下。
因为作者的目标是通过减少配置点的数量来降低训练时间和计算量,并且还要使得性能有保证。所以作者基于一个观察,即,当PINN预测失败的时候,NN在某些点会找到一个平凡解,并且在当某个区域开始陷入到平凡解的时候,该区域的物理损失通常会急剧增加(由前几天看的一篇论文,传播假设来解释的话,可以说是,当某个点陷入到了平凡解,它会很快的传播给附近的点,导致PINN训练失败,但遗憾的是,这两篇文章都只是经验性的观察,没有理论保障)。最后,为了避免网络学习到平凡解,作者基于上述的观察,提出了一个新的惩罚项,对物理损失的梯度进行惩罚,来避免网络陷入到平凡解。损失梯度惩罚项如下。

第二点,作者表明,目前流行的Latin Hypercube Sampling (LHS)在样本较少的时候,可能会存在覆盖不好的区域,而在那时,规则采样会优于LHS。
实验部分如下:
首先,使用68个配置点训练PINN拟合一个一维滤波方程,PINN可以找到正确的解。

然后,使用32的配置点重新进行训练,可以看到训练失败了,PINN陷入到了一个平凡解。但是,在最先开始陷入平凡解的位置,残差的梯度出现了剧烈的波动。

下图是作者添加了物理损失梯度惩罚项之后,同样是32个配置点,这次PINN训练成功了。

紧接着,作者使用了12个配置点,在配备有物理损失梯度惩罚项的情况下,同样找到了正确的解。

How to Avoid Trivial Solutions in Physics-Informed Neural Networks的更多相关文章
- 论文解读(GraphMAE)《GraphMAE: Self-Supervised Masked Graph Autoencoders》
论文信息 论文标题:GraphMAE: Self-Supervised Masked Graph Autoencoders论文作者:Zhenyu Hou, Xiao Liu, Yukuo Cen, Y ...
- 房屋布局分析《Physics Inspired Optimization on Semantic Transfer Features: An Alternative Method for Room Layout Estimation》
视觉算法在智能审核系统上的演进与实践 刘天悦 贝壳找房 / 资深工程师 https://static001.geekbang.org/con/56/pdf/1088777747/file/%E8%A7 ...
- 信用评分卡Credit Scorecards (1-7)
欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 python风控评分卡建模和风控常识 https://study.163.com/course/introductio ...
- GO语言的开源库
Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.org ...
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- 提高神经网络的学习方式Improving the way neural networks learn
When a golf player is first learning to play golf, they usually spend most of their time developing ...
- (转) Deep Reinforcement Learning: Pong from Pixels
Andrej Karpathy blog About Hacker's guide to Neural Networks Deep Reinforcement Learning: Pong from ...
- 大规模视觉识别挑战赛ILSVRC2015各团队结果和方法 Large Scale Visual Recognition Challenge 2015
Large Scale Visual Recognition Challenge 2015 (ILSVRC2015) Legend: Yellow background = winner in thi ...
- Go语言(golang)开源项目大全
转http://www.open-open.com/lib/view/open1396063913278.html内容目录Astronomy构建工具缓存云计算命令行选项解析器命令行工具压缩配置文件解析 ...
- [转]Go语言(golang)开源项目大全
内容目录 Astronomy 构建工具 缓存 云计算 命令行选项解析器 命令行工具 压缩 配置文件解析器 控制台用户界面 加密 数据处理 数据结构 数据库和存储 开发工具 分布式/网格计算 文档 编辑 ...
随机推荐
- WPF项目需要不断更新前台图片时,碰到“System.IO.IOException: 文件“xxx”正由另一进程使用“问题的解决
问题描述 项目中要求能不断拍照并更新显示图片,使用FileStream在本地创建了图片文件: 当下次重新拍照前删除之前拍过的图片时,提示"System.IO.IOException: 文件& ...
- Educational Codeforces Round 137 (Rated for Div. 2) - F. Intersection and Union
(线段树 + 思维)or 动态dp [Problem - F - Codeforces](https://codeforces.com/contest/1743/problem/E) 题意 数轴上有 ...
- Python基础语法复习笔记(一):字符串
python基础复习笔记 个人主页:JoJo的数据分析历险记 个人介绍:小编大四统计在读,目前保研到统计学top3高校继续攻读统计研究生 如果文章对你有帮助,欢迎关注.点赞.收藏.订阅专栏 本专栏主要 ...
- Django中遇到的问题
1.如右上角无Dj的 Django标识 解决方法1: 关闭Pycharm 重启创建项目,进入到Django的所在目录下 解决方法2: 方法3: 第一步: 第二步: 第三步: 第四步: 2.如下图:显示 ...
- 【vite+pinia】
vite 轻量快速热重载,开发环境中不需要打包操作,可以快速冷启动 按需编译,不需要等待整个应用编译完成 pinia 支持vue2和vue3,是vue专属的状态管理库,允许跨组件或者页面 共享状态 与 ...
- Unity流水账2:视频播放之Video Player
https://blog.csdn.net/shiyuedyx/article/details/81170309
- docker 部署mongodb 并建立用户和授权数据库
docker pull mongo:4.4.8 (拉取镜像) docker run --name mongo -v /data/mongo-data:/data/db -p 27018:27017 - ...
- vue组件自调用
组件自调用 在vue中有些情况下我们会用到组件本身来遍历出自己想要的效果. 其实非常简单,可以在模板中使用name属性值,来调用自己 <template> <el-submenu v ...
- 无法识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
无法识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次 解决方法: 1.在开始菜单里找到Windows PowerShell.并以管理 ...
- kubeshpere 相关配置
1.配置maven镜像仓库 1.1.查找ks-devops-agent 平台管理 -> 集群管理 -> 配置中心 -> 配置 -> 检索 ks-devops-agent 1.2 ...