[*]Quadratic Residual Networks: A New Class of Neural Networks for Solving Forward and Inverse Problems in Physics Involving PDEs


Accepted by SIAM International Conference on Data Mining (SDM21)
本文提出了二次残差网络,通过在应用激活函数之前,添加二次残差项到输入的加权和中,从而获得了比普通DNN具有更好表达容量的模型(相同宽度下)。这样在拟合复杂的PDE时,得益于更少的参数,可以在更少的训练步骤时同样获得很好的精度。最后作者使用了代数几何的工具,从理论上证明了QRes在网络宽度和深度方面表现出更好的参数效应,由于每个神经元中更高的非线性。一般来说,提高神经网络的容量将会有助于学习更复杂的样本,但为了学习更一般的模型,我们也需要通过正则化来平衡网络能力与数据所含的信息,尤其是在训练次数小的时候。
来自物理的额外监督确保PINN使用高容量的神经网络而不会过拟合。如下图所示,物理信息的添加使得神经网络避免了过拟合。

作者关心的是:能否开发一种在每一层都具有更高容量的神经网络架构,该架构可以用比普通DNN更少的参数近似复杂函数。虽然我们知道神经网络的表示能力不会是PINN失败的关键,但是如果可以使用更少的参数近似的话,也可以减少PINN训练的时间。也就是本文的作用大概就是加速PINN的训练。
所提出的网络结构图与普通网络的比较如下。

哈达玛积如下:

在普通的DNN层只有权重和偏置对输入的影响是线性的,只有激活函数对输入施加线性影响。因此就需要大量合适宽度的DNN层去捕获目标的非线性。称为残差是因为删除了它只会产生一个普通的DNN。W2为0时就是普通网络但当我们需要更好的非线性表达时,QRes就可以获得更高的非线性。网络的数学表示为:

虽然作者提出的模型使用线性激活函数,但是为了避免出现无界的情况,作者仍然使用非线性激活函数。借助代数几何分析,所提出的模型具有更高的表示量,但是只有当网络的宽度适合大时才会收敛。
通过下图我们可以看到,QRes可以带来较大的改进。但是需要的神经元较多。

所提出的网络会带来更快的收敛。但是PINN失败的模型,这个也会失败。

但是性能几乎没有提升,只是单纯收敛的快了。

[*]Quadratic Residual Networks: A New Class of Neural Networks for Solving Forward and Inverse Problems in Physics Involving PDEs的更多相关文章
- [C1W4] Neural Networks and Deep Learning - Deep Neural Networks
第四周:深层神经网络(Deep Neural Networks) 深层神经网络(Deep L-layer neural network) 目前为止我们学习了只有一个单独隐藏层的神经网络的正向传播和反向 ...
- [C1W3] Neural Networks and Deep Learning - Shallow neural networks
第三周:浅层神经网络(Shallow neural networks) 神经网络概述(Neural Network Overview) 本周你将学习如何实现一个神经网络.在我们深入学习具体技术之前,我 ...
- Coursera, Deep Learning 1, Neural Networks and Deep Learning - week3, Neural Networks Basics
NN representation 这一课主要是讲3层神经网络 下面是常见的 activation 函数.sigmoid, tanh, ReLU, leaky ReLU. Sigmoid 只用在输出0 ...
- Coursera, Deep Learning 1, Neural Networks and Deep Learning - week2, Neural Networks Basics
Logistic regression Cost function for logistic regression Gradient Descent 接下来主要讲 Vectorization Logi ...
- 提高神经网络的学习方式Improving the way neural networks learn
When a golf player is first learning to play golf, they usually spend most of their time developing ...
- Convolutional Neural Networks: Step by Step
Andrew Ng deeplearning courese-4:Convolutional Neural Network Convolutional Neural Networks: Step by ...
- Convolutional Neural Networks: Application
Andrew Ng deeplearning courese-4:Convolutional Neural Network Convolutional Neural Networks: Step by ...
- ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS
ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS We recently interviewed ...
- NEURAL NETWORKS, PART 1: BACKGROUND
NEURAL NETWORKS, PART 1: BACKGROUND Artificial neural networks (NN for short) are practical, elegant ...
- Must Know Tips/Tricks in Deep Neural Networks
Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei) Deep Neural Networks, especially C ...
随机推荐
- vscode注释插件
VSCODE注释插件:koro1FileHeader 按koroFileHeader 插件,配置默认注释 1.在扩展中搜索koroFileHeader,安装 2.安装完成后,在设置中搜索,koro1F ...
- element-ui的collapse中嵌套table表格 的 高度跳跃 问题
<script src="//unpkg.com/vue@2.6.10/dist/vue.js"></script><script src=" ...
- linux下安装mysql的方式
总体来说,mysql安装有两种方式,一个是源码安装,另一个是使用官方编译好的二进制文件安装. 1.使用rpm方式安装 原文地址:https://blog.csdn.net/liuxw1/article ...
- Docker部署Springboot+Vue项目
1 docker使用nginx部署vue项目 1.1 打包vue项目 npm run build vue项目路径下会增加一个dist文件夹,里面就是网页文件 1.2 使用docker 拉取nginx ...
- foreach的异步(async,await)的问题及其处理方式
开发中遇见个难题很苦恼,好在我解决了,只要能解决我就很开心 本篇文章从forEach方法 到promise 到async await统统理解个遍,进入正题 先看下面代码会出现什么问题: const a ...
- C语言利用union 和 struct 进行位拆分
#include <stdlib.h> typedef unsigned char uint8_t; union wate_temp{ struct { uint8_t wate_temp ...
- nginx热更新流程记录
已经做过不止一次的nginx热更新了,之前都是按照别人的路子照葫芦画瓢,现在根据我在的项目单独写一个nginx热更新流程备份自用. nginx热升级流程上传新tar到/home/cp命令复制到/usr ...
- c# message (转)
一.消息概述 Windows下应用程序的执行是通过消息驱动的.消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理. 什么是消息(Message) 消息就是通知和命令. ...
- react框架-知识点(ref,, setState)
react的思想:无必要勿增实体 1. ref 使用 myRef = React.createRef() <input ref={this.myRef}></input> 2. ...
- Springboot+Vue实现短信与邮箱验证码登录
体验网址:http://mxyit.com 示例 1.新增依赖 <!-- 短信服务 --> <dependency> <groupId>com.aliyun< ...