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的更多相关文章

  1. [C1W4] Neural Networks and Deep Learning - Deep Neural Networks

    第四周:深层神经网络(Deep Neural Networks) 深层神经网络(Deep L-layer neural network) 目前为止我们学习了只有一个单独隐藏层的神经网络的正向传播和反向 ...

  2. [C1W3] Neural Networks and Deep Learning - Shallow neural networks

    第三周:浅层神经网络(Shallow neural networks) 神经网络概述(Neural Network Overview) 本周你将学习如何实现一个神经网络.在我们深入学习具体技术之前,我 ...

  3. Coursera, Deep Learning 1, Neural Networks and Deep Learning - week3, Neural Networks Basics

    NN representation 这一课主要是讲3层神经网络 下面是常见的 activation 函数.sigmoid, tanh, ReLU, leaky ReLU. Sigmoid 只用在输出0 ...

  4. Coursera, Deep Learning 1, Neural Networks and Deep Learning - week2, Neural Networks Basics

    Logistic regression Cost function for logistic regression Gradient Descent 接下来主要讲 Vectorization Logi ...

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

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

  6. Convolutional Neural Networks: Step by Step

    Andrew Ng deeplearning courese-4:Convolutional Neural Network Convolutional Neural Networks: Step by ...

  7. Convolutional Neural Networks: Application

    Andrew Ng deeplearning courese-4:Convolutional Neural Network Convolutional Neural Networks: Step by ...

  8. 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 ...

  9. NEURAL NETWORKS, PART 1: BACKGROUND

    NEURAL NETWORKS, PART 1: BACKGROUND Artificial neural networks (NN for short) are practical, elegant ...

  10. 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 ...

随机推荐

  1. mogdb的一主两备

    # 一.环境准备 |节点类别|主机名|IP||-|-|-||主节点|mogdb1 |192.168.3.68||备节点1|mogdb2 |192.168.3.69||备节点2|mogdb3|192.1 ...

  2. echarts来显示世界地图和全国地图,并且可以下钻层级

    echarts来显示世界地图和全国地图,并且可以下钻层级 使用echarts来显示世界地图和全国地图,并且可以下钻层级 使用的技术 现有的功能 遇到的问题解决 总结 参考内容 直接来源码,地球资源包我 ...

  3. leetcode 30. 串联所有单词的子串 【时间击败 90.28%】 【内存击败 97.44%】

    这道题让我从早做到晚-3--- 设len=words[0].length(). 一开始我按照words的顺序扩大区间,发现这样就依赖words的顺序.之后改成遍历s的所有长度为len*words.le ...

  4. Mysql 原生语句

    1.SQL语句 1.1什么是SQL语句: SQL:结构化查询语言.关系数据库语言的国际标准. 各个数据库厂商都支持ISO的SQL标准:如普通话 各个数据库厂商在标准基础做了自己的扩展:如方言 1.2 ...

  5. 寒假acm训练第三周

    这个题就是简单的数学思维 如果这个数组里全部都是10的倍数那直接计数达到n就直接出0 如果有其它不是10的倍数那找出最小的直接减去就可以了 下面就是代码 #include<iostream> ...

  6. 2022-05-31内部群每日三题-清辉PMP

    1.由于项目执行期间的范围变更,项目经理确定供应商必须对一个已在使用的产品模块进行更改.项目经理首先做什么? A.准备一份变更请求,以更新供应商的合同条款 B.检查采购管理计划和合同条款 C.将该信息 ...

  7. Oracle UNDO表空间的管理

    Oracle UNDO表空间的管理 UNDO表空间的管理是Oracle DBA最重要的日常工作之一,UNDO表空间用来暂时存储DML操作的数据,其主要作用有: 1.事务回滚 2.实例恢复 3.读一致性 ...

  8. Visual Studio Code 如何设置成中文语言

    Visual Studio Code 是一款微软的代码编辑器,这款软件是比较不错的,用起来也比较方便,但是好多人在第一次安装的时候展现的是英文的,这对于一些小伙伴是比较头疼的问题,那如何调整为中文的呢 ...

  9. .NET CORE-Auto整合至MVC中

    在Program.cs中使用Autofac工厂去替代默认工厂: public static IHostBuilder CreateHostBuilder(string[] args) => Ho ...

  10. npm install报错C:\Users\Guyang\AppData\Roaming\npm-cache\_logs\xxx-14T01_06_33_159Z-debug-0.log

    先看报错 可以看到报错提示,给了个日志路径 有的兄弟看到其他博客给了一个命令 npm cache clean --force 或者 npm config set strict-ssl false 说是 ...