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 构建工具 缓存 云计算 命令行选项解析器 命令行工具 压缩 配置文件解析器 控制台用户界面 加密 数据处理 数据结构 数据库和存储 开发工具 分布式/网格计算 文档 编辑 ...
随机推荐
- marker的存储组---layerGroup
1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="U ...
- 快速构建用户xlwings环境
一.安装python python-3.8.3-amd64.exe 二.准备文件requirements.txt 内容如下 安装失败需要切换国内镜像源 numpy==1.22.1 openpyxl== ...
- 生成brobuff
xxx_pb.js需要服务端打包好 再新建export.js文件 var IMBaseDefine= require('./xxx_pb'); module.exports = { DataProto ...
- python基础语法学习笔记(二):表达式与运算符
1.表达式 由一个或者几个数字或者变量和运算符组合成的一行代码 通常会返回一个结果 2.运算符 由一个以上的值经过变化得到新值的过程就叫运算 用于运算的符号叫运算符 运算符分类: 算数运算符 比较或者 ...
- 【狂刷面试题】GO常见面试题汇总
先给大家推荐一个实用面试题库 1.前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 2.前端技术导航大全 推荐:★★★★★ 地址:前端技术导航大全 3 ...
- [JavaScript]对象数组 - 不完全整理
对象数组中查询属性为某个值的对象,使用Array.find() const array1 = [5, 12, 8, 130, 44]; const found = array1.find(elemen ...
- Easyui 表格列数据合并!
//datagrid调用列子 onLoadSuccess: function (data) { $(".datagrid-header-row").css("text-a ...
- TypeScript的super
(function(){ class Animal{ name:string; constructor(name:string){ this.name=name; } sayHello(){ cons ...
- SpringBoot Circular view path错误
在运行SpringBoot时报了这样一个错误 百度翻译是视图循环 搜索一下 原来是类上restcontroller写成了controller 对比一下两者 @Controller和@RestCont ...
- C# 查看变量的内存占用和分布
在程序的调试过程中,有时候我们想知道变量在内存中的具体占用状况,这样方便我们调试程序,以便于追踪变量的变化过程 这就需要查看变量的内存占用. 1.如何进入内存查看? 2.如何查看变量? 查看变量,需要 ...