未发表(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的更多相关文章

  1. 论文解读(GraphMAE)《GraphMAE: Self-Supervised Masked Graph Autoencoders》

    论文信息 论文标题:GraphMAE: Self-Supervised Masked Graph Autoencoders论文作者:Zhenyu Hou, Xiao Liu, Yukuo Cen, Y ...

  2. 房屋布局分析《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 ...

  3. 信用评分卡Credit Scorecards (1-7)

      欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 python风控评分卡建模和风控常识 https://study.163.com/course/introductio ...

  4. GO语言的开源库

    Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.org ...

  5. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  6. 提高神经网络的学习方式Improving the way neural networks learn

    When a golf player is first learning to play golf, they usually spend most of their time developing ...

  7. (转) Deep Reinforcement Learning: Pong from Pixels

    Andrej Karpathy blog About Hacker's guide to Neural Networks Deep Reinforcement Learning: Pong from ...

  8. 大规模视觉识别挑战赛ILSVRC2015各团队结果和方法 Large Scale Visual Recognition Challenge 2015

    Large Scale Visual Recognition Challenge 2015 (ILSVRC2015) Legend: Yellow background = winner in thi ...

  9. Go语言(golang)开源项目大全

    转http://www.open-open.com/lib/view/open1396063913278.html内容目录Astronomy构建工具缓存云计算命令行选项解析器命令行工具压缩配置文件解析 ...

  10. [转]Go语言(golang)开源项目大全

    内容目录 Astronomy 构建工具 缓存 云计算 命令行选项解析器 命令行工具 压缩 配置文件解析器 控制台用户界面 加密 数据处理 数据结构 数据库和存储 开发工具 分布式/网格计算 文档 编辑 ...

随机推荐

  1. MATLAB批量处理表格类型文件

    MATLAB版本2020b 问题背景:预处理数据,有若干变压器温度表格,要将变压器运行温度数据提取出来 通过LSTM模型进行温度预测

  2. Servlet-随机生成验证码(初级版本)

    Servlet之 验证码(初级) 需求: 使用Servlet向页面响应验证码,并且点击验证码或者"看不清楚,换一张"可以刷新验证码 需求分析: Servlet中需要完成的需求: 验 ...

  3. pip 源修改,换国内

    pip国内的一些镜像   阿里云 https://mirrors.aliyun.com/pypi/simple/  中国科技大学 https://pypi.mirrors.ustc.edu.cn/si ...

  4. python获取上月、当月、下月的开始和结束日期

    获取上月开始结束日期 方法一 import datetime def get_date_of_last_month(form="%Y-%m-%d"): ""&q ...

  5. 2022-05-09内部群每日三题-清辉PMP

    1.项目经理面对一个由两个合资企业组成的指导委员会,他们拥有对立的优先级.一个伙伴希望加快进度:而第二个合作伙伴想要高质量,并且愿意接受更长时间的进度.若要解决这个冲突,项目经理应该怎么做? A.将该 ...

  6. 慢sql_查询条件加了函数导致索引失效

    问题背景:生产环境查询很慢,通过skywaking全链路监控发现/get请求相关的一个sql为慢sql,慢的原因在于查询字段使用了加解密函数(  CONVERT(AES_DECRYPT(UNHEX(` ...

  7. Section 2.1: Falsy VSTruthy Value and == VS ===

    Falsy VS Truthy Value and == VS === Falsy values: undefined, null, 0, '', NaN Truthy values: Not fal ...

  8. CSS实现开门效果

    .door{ position: relative; width: 450px; height: 300px; border: 1px solid #000; margin: 100px auto; ...

  9. C++——第三方插件

    EasyX库安装教程 官网:https://easyx.cn/ 下载地址:EasyX Graphics Library for C++ 作品:CodeBus - 分享有趣的 C/C++ 代码 图中标注 ...

  10. python菜鸟学习 : 16 pymongo和openpyxl的联合使用

    # -*- coding: utf-8 -*-import pymongo, openpyxl, time# pymongo#条件删选mongodb数据def mongodb_expoter(db_n ...