https://arxiv.org/abs/2109.13901

摘要

在本文中,作者希望将物理信息学习(physics-informed learning, PIL)进一步推广,从而提出了一个新的模式——物理增强学习(physicsaugmented learning, PAL)。PIL和PAL分别通过处理判别性和生成性属性来相互补充。PAL是对PIL一个补充。类似于PINN,PIL是基于正则化设计的,适用于判别属性,而PAL是基于模型设计的,适用于生成属性。这两种属性的定义作者将在文中给出定义在数值实验中,PAL可以解决一些PIL不适用的案例。但是本文的实验没有涉及到求解微分方程。

介绍

PIL目前被大量的探索应用,其中,PIL要求所执行的物理属性具有判别性而非生成性。为了完善PIL,作者提出PAL框架,在利用判别属性的同时,能够兼顾生成属性。

模型对比

首先,可以根据流程对比图分别了解一下PIL和PAL。



左边是物理信息学习的流程,这就很类似于PINN的结构,损失L1可以理解为数据产生的损失,没有数据时L1损失可以为0。损失L2则是物理损失。右边是作者所提出的物理增强学习框架,区别在于红色方块。红色方块和蓝色方块都代表一个神经网络,但是被设计用来满足不同的性质,简单来说,通过红色方块来满足生成性属性,通过蓝色方块来满足判别性属性。

生成性和判别性

收到GAN的鼓励,作者对一个性质P定义了生成器和鉴别器。下面给出定义。

def 1: Generator

生成器可以生成具有性质P的目标f

def 2: Discriminator

鉴别器可以判别一个目标f是否具有性质P


注:为了最大限度的发挥作用,生成器可以由神经网络实现,鉴别器可以作为分类器或者损失函数实现。


def 3: Ideal Generator

理想生成器是:1 准确(生成的永远满足要求),2 完整 (可以生成所有正确的目标),3 高效 ,4 可微

def 4: Ideal Discriminator

理想的鉴别器是:1 准确(总能正确分辨),2 高效, 3 可微(需要用于反向传播)

下面定义生成性质和判别性质

def 5: Generative property

性质P是生成性的,如果对于P,存在理想的生成器

def 6: Discriminative property

性质P是判别性的,如果对于P,存在理想鉴别器


注:对于上面,我的理解是:以PDE问题为例(如果解是存在的),PINN可以利用神经网络去生成解,所以是生成性的;而我们使用残差损失作为损失函数,理论上可以保证找到真解,所以又是判别性的。目前的工作只使用了判别性,忽略了生成性。但是怎么才能利用生成性呢?


文中作者给了几个例子来便于理解。可以看到PDE即是生成性的,又是判别性的。

PIL 和 PAL

PIL

正如在图1中所示的,PIL的常见方法是在损失函数中添加一个软惩罚项L2(对应物理属性),即PIL利用了判别性。

Example:可分性问题的示例:

假设训练数据集(N个样本)由y = f0(x1, x2生成, 使用参数化的神经网络 fθ 去拟合数据,并且 fθ 是加法可分的。PIL使用损失函数 L = L1 + λ L2 进行学习。前一项是预测损失(数据损失),后一项是可分性损失。



根据上面的定义,L2就是利用了判别性得到的。但是,PIL框架只能够在判别性性质时使用,不能考虑生成性,所以作者提出了PAL框架。

PAL

PAL和PIL最大的不同是:PAL基于模型设计,而PIL基于正则化设计。

在PAL框架中,整个模型由两个并行的模块组成,第一个模块(PhyGen)严格满足生成属性,第二个模块增强表达能力以允许违反属性。损失函数同样由预测误差(数据误差)和黑盒输出的某个范数的惩罚项(类似物理损失)组成。

Example:可分问题的PAL版本

在PAL中,我们有两个神经模块PhyGen和Blackbox。PhyGen具有两个子网络,输出它们的和,并严格满足加法可分离性。Blackbox是一个全连接神经网络 f12(x1,x2, θ12) ,用来近似任意的双变量连续函数。

那么PAL总的预测就是



那么预测损失就是它与标签y的距离(这里要求真实数据)。黑盒的损失同上,是其输出的某个范数。下图是一个简单的对比。


PAL是怎么利用生成性的呢?

根据实验结果去理解了一下。

用上面的例子解释一下就是,因为求解加法可分性问题,所以添加额外的一个组块PhyGen,并且要求它严格满足加法可分性。瞎折腾。


实验结果

什么时候使用PAL会好于PIL?

PAL和PIL分别是利用判别性和生成性的互补框架。因此,如果任务属性是生成性且非判别性时,可以使用PAL。另外,由于PAL中存在两个并行的模块,这种模型分解可能会帮助解释一些物理现象。

对提升PDE的训练没有帮助。

Physics-Augmented Learning: A New Paradigm Beyond Physics-Informed Learning.的更多相关文章

  1. Domain adaptation:连接机器学习(Machine Learning)与迁移学习(Transfer Learning)

    domain adaptation(域适配)是一个连接机器学习(machine learning)与迁移学习(transfer learning)的新领域.这一问题的提出在于从原始问题(对应一个 so ...

  2. Machine Learning - 第5周(Neural Networks: Learning)

    The Neural Network is one of the most powerful learning algorithms (when a linear classifier doesn't ...

  3. Transfer learning across two sentiment classes using deep learning

    用深度学习的跨情感分类的迁移学习 情感分析主要用于预测人们在自然语言中表达的思想和情感. 摘要部分:two types of sentiment:sentiment polarity and poli ...

  4. [Active Learning] 01 A Brief Introduction to Active Learning 主动学习简介

    目录 什么是主动学习? 主动学习 vs. 被动学习 为什么需要主动学习? 主动学习与监督学习.弱监督学习.半监督学习.无监督学习之间的关系 主动学习的种类 主动学习的一个例子 主动学习工具包 ALiP ...

  5. Learning to Compare: Relation Network for Few-Shot Learning 论文笔记

    主要原理: 和Siamese Neural Networks一样,将分类问题转换成两个输入的相似性问题. 和Siamese Neural Networks不同的是: Relation Network中 ...

  6. Beginning Math and Physics For Game Programmers (Wendy Stahler 著)

    Chapter 1. Points and Lines (已看) Chapter 2. Geometry Snippets (已看) Chapter 3. Trigonometry Snippets  ...

  7. How do I learn machine learning?

    https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? ...

  8. What are some good books/papers for learning deep learning?

    What's the most effective way to get started with deep learning?       29 Answers     Yoshua Bengio, ...

  9. [C5] Andrew Ng - Structuring Machine Learning Projects

    About this Course You will learn how to build a successful machine learning project. If you aspire t ...

  10. [C3] Andrew Ng - Neural Networks and Deep Learning

    About this Course If you want to break into cutting-edge AI, this course will help you do so. Deep l ...

随机推荐

  1. Linux在线安装MySQL5.7

    Linux在线安装MySQL 5.7及编码密码修改 先检测系统是否自带安装mysql yum list installed | grep mysql 若出现mysql相关信息,卸载原始版本 yum - ...

  2. Java集合-Collection详解

    基础知识: 什么是集合? 集合是一个容器.把多个对象放入容器中.有一个水杯,你可以选择把水不断往里装,也可以选择装牛奶.但是不能两种不同的东西混合装一个杯子.集合这个容器里装的一定是同一类型的东西.( ...

  3. C# 字符串去掉括号和括号里面的内容

    https://blog.csdn.net/zhang0000dehai/article/details/80701341 using System.Text.RegularExpressions; ...

  4. 留个VKProxy性能测试记录

    其实原本是打算OpenTelemetry对应内容搞好后再做个简单的性能测试,也算表明自己写(抄)代码的能力(不至于用了反射什么的就把Kestrel这么好的底子的性能拖垮了) 但是最近看见一篇go的文章 ...

  5. java GUI 测试

    简介 模拟机器人操作测试GUI code /* * @Author: your name * @Date: 2020-11-08 18:22:54 * @LastEditTime: 2020-11-0 ...

  6. 监控Streamlit中每段代码的rerun情况

    把代码放到不同的函数中并用下面的装饰器包裹即可在log中输出rerun次数. 依赖: loguru import streamlit as st from functools import wraps ...

  7. SciTech-Mathmatics-Proba. & Stats.: 判断充满世界的"Distribution":置信区间估计方法

    SciTech-Mathmatics-Proba. & Stats.: 判断充满世界的"Distribution":置信区间估计方法 The world is full o ...

  8. 【L53】动态规划求解最大子序和问题

    Question 给定一个整数数组 nums , 找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. Anwser 当问题可以分解为彼此独立且离散子问题时,可以考虑使用动态规划来 ...

  9. linux操作系统中rpm离线包的下载和安装--九五小庞

    前言 在Linux操作系统中当需要安装相关程序包时,如果有网络的情况下,可以直接通过yum源命令直接进行下载安装,比较简单方便.但是在没有互联网的情况下,需要下载对应的rpm包,进行离线安装. 1.下 ...

  10. Web前端入门第 81 问:JavaScript cookie 的读写操作

    前端的 cookie 读写在 2020 年之前一直不存在一个官方的接口,每次需要使用 cookie 的时候,要么是引入三方插件,要么就需要自己封装一个公用的组件或函数. npm 的 cookie 插件 ...