首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >1秒极速求解PDE:深度神经网络为何在破解数学难题上独具天赋?

1秒极速求解PDE:深度神经网络为何在破解数学难题上独具天赋?

作者头像
深度学习技术前沿公众号博主
发布于 2021-05-08 02:41:51
发布于 2021-05-08 02:41:51
1.9K04
代码可运行
举报
运行总次数:4
代码可运行

转自:机器之心

两种基于深度神经网络的新方法,均可成功求解 PDE,并且能够以更快的速度、更简单的方式建模复杂的系统。有趣的是,和大多神经网络一样,我们猜不透它们为什么如此优秀。

研究者们致力于使用偏微分方程(Partial differential equation,PDE)来描述涉及许多独立变量的复杂现象,比如模拟客机在空中飞舞、模拟地震波、模拟疾病在人群中蔓延的过程、模拟基本力和粒子之间的相互作用。

一直以来,求解复杂问题的偏微分方程都是世界级的难题。CPU 往往需要几百万个小时才能得出相对复杂的偏微分方程,而且越复杂的问题越难用偏微分方程解决。无论是设计更好的火箭发动机,还是模拟气候变化,我们都需要更有效的方法来解决这些问题。

近来,研究者在偏微分方程的求解上取得了令人激动的新进展。他们构建了新型的人工神经网络,实现了更快求解偏微分方程。经过训练后,新型的神经网络不但可以求解单个偏微分方程,而且无需再度训练即可求解整个偏微分方程族。

瑞士苏黎世联邦理工学院的数学家 Siddhartha Mishra 表示,传统的神经网络通常将数据从一个有限维空间映射或转换到另一个有限维空间,但新型的深层网络能够在无穷维空间和无穷维空间之间映射。

毫无疑问,这样的技术将加速涉及偏微分方程的许多模型。作为开发团队的一员,Anima Anandkumar 说:「最终,我们的目标是取代非常缓慢且昂贵的传统求解器。」

当然,新的方法绝不仅仅是作用于加速。对于只有数据却不知用哪种偏微分方程进行建模的情况,训练数据然后使用新型神经网络是唯一的手段。

神经网络入场求解 PDE

偏微分方程有用且极其难以解决的原因是它的复杂性。这使它们能够对各种现象进行建模,例如,如果建模人员想知道流体在空间中任何一点(也称为流场)以及在不同时间下的速度和压力,可能会使用 Navier-Stokes 偏微分方程进行建模。求解 Navier-Stokes 方程,将获得一个描述系统内容的公式。如果对初始和边界条件有足够的了解,例如在时间 t = 0 时的流场值,则可以使用数学工具来解析偏微分方程。

但是偏微分方程常常复杂到没有通用的分析解决方案,对于 Navier-Stokes 方程的最通用形式尚且如此:数学家尚未证明是否存在唯一解,更不用说通过分析实际上找到它们了。

甚至在超级计算机上,用数值法来解决复杂的偏微分方程可能也要花费数月的时间。而且,每次更改初始或边界条件或所研究系统的几何形状都必须重新开始。同样,使用的增量越小(网格越细),模型的分辨率就越高,数值法所需的时间就越长。

2016 年,研究人员尝试将通常用于图像识别的深度神经网络应用于解决偏微分方程。首先,研究人员生成了用于训练深度网络的图像数据。其中输入的是有关对象几何形状和流体初始条件的 2D 图像编码信息,而输出的是相应速度场的 2D 快照。

有了数据,研究人员开始训练他们的神经网络,以学习这些输入和输出之间的相关性。训练主要是先比较输出与预期输出的差别,然后用算法调整神经元的权重,以最大程度地减少生成的输出和预期输出之间的差异。重复此过程,直到输出误差在可接受的范围。

让神经网络学习了如何解决偏微分方程是令人兴奋的,但还有很大的不足。一旦在一定的网格尺寸上进行训练,神经网络就变得非常特定于该分辨率。深度网络已经学会了预估将数据从一个有限维空间映射到另一个空间的函数。但以不同的分辨率求解偏微分方程时,如果想对流场有一个更细致的了解,或更改初始和边界条件,则需要重新开始训练,学习预估新的函数。

DeepONet

而现在的深度神经网络,不仅可以学习预估函数,还可以学习将函数映射到函数的「算子」,并且似乎没有遭受神经网络和其他计算机算法从数据中学习的维数问题。例如,如果想使神经网络的错误率从 10%降至 1%,则所需的训练数据量或网络规模可能会指数增长,从而导致任务无法实现。

在这之前,研究人员必须弄清楚如何让神经网络学习算子来解决偏微分方程。布朗大学的 George Karniadakis 表示,学习算子是从无穷维空间到无穷维空间。算子作用于一个函数,然后将其转换为另一函数。比如,一个算子将一个函数转换为其导数(比如 x 的正弦转换为 x 的余弦),其输入和输出端都是无穷维的。

George Karniadakis。

学习预估算子的深度网络可用于一次求解整个偏微分方程族,对一系列初始和边界条件以及物理参数建模相同的现象。这样的偏微分方程族是输入端的一组函数,而对偏微分方程公式的相应解决方案则由输出端的函数来表示。

1995 年的一项研究表明,浅层网络可以看成是算子。由于涉及神经网络,因此此类算子也叫神经算子,即实际算子的近似值。在 2019 年 10 月,Karniadakis 和他的同事把这种理论延伸到了深度神经网络,提出了「DeepONet」,一种可以学习这种算子并一次求解多个偏微分方程的深度神经网络架构。

论文链接:http://arxiv-export-lb.library.cornell.edu/pdf/1910.03193

DeepONet 的独特之处在于它的分叉式架构,该架构在两个并行网络(「分支」和「主干」)中处理数据。前者学习预估输入侧的许多函数,后者学习预估输出侧的函数。然后,DeepONet 将两个网络的输出合并,以学习偏微分方程所需的算子。训练 DeepONet 的过程包括反复地展示使用数字求解器生成的一族偏微分方程的输入、输出数据,并在每次迭代中调整分支网络和主干网络中的权重,直到整个网络出现的错误量可以被接受为止。

因此,DeepONet 一旦经过训练,就会学会预估算子。它可以在输入端获取代表偏微分方程的数据,然后将其转换为输出端偏微分方程解决方案的数据。假设有 100 个代表了训练数据中没有的初始 / 边界条件和物理参数以及所需的流场位置的样本被提供,那么 DeepONet 可以在不到一秒的时间提供流场。

DeepONet 架构图。

但是,即使 DeepONet 跟数值求解器一样快速,它仍必须在训练期间执行密集的计算。当必须用大量数据训练深度网络以使神经算子越来越精确时,这可能会成为一个问题。

那么,神经算子还能更快吗?

傅里叶神经算子

去年,加州理工学院的 Anima Anandkumar 和普渡大学的 Kamyar Azizzadenesheli 共同建立了一个称为傅立叶神经算子(FNO)的深度神经网络。

论文链接:https://arxiv.org/pdf/2010.08895v2.pdf

研究者声称新的架构使网络具有更快的速度,能将函数映射到函数,从无穷维空间到无穷维空间,并且在偏微分方程上测试了该神经网络。

Anima Anandkumar。

解决方案的核心是傅立叶层:在训练数据通过神经网络的每一层之前,先对其进行傅里叶变换。然后,该层通过线性运算处理数据,再执行傅立叶逆变换回原始格式。此过程显然比 DeepONet 的计算更直接,并且能够通过卷积偏微分方程与其他函数的数学运算来求解偏微分方程。在傅立叶领域中,卷积相当于一个简单的乘法,将经过傅立叶变换的数据通过一层已训练过权重的人工神经元传递,然后进行傅立叶逆变换。最后,FNO 学习了整个偏微分方程族的算子,将函数映射到函数。

傅里叶神经算子架构图。

FNO 深度神经网络同时拥有极快的运行速度。例如,在一个需要进行 30000 次仿真(包括 Navier-Stokes 方程)的求解过程中,对于每个仿真,FNO 花费了不到一秒的时间;而 DeepONet 耗时 2.5 秒;传统的求解器则大概需要花费 18 个小时。

总结

很显然,DeepONet 与 FNO 这两种方法都会超越传统的求解器。两个团队的方法都是成功的,但是与大多黑盒化的神经网络一样,目前我们尚不清楚它们为什么如此出色,以及是否在所有情况下都如此出色。

经过一年的努力,今年 2 月研究人员发表了对 DeepONet 架构长达 112 页的数学分析。研究证明这种方法是真正通用的,不仅仅是偏微分方程,DeepONet 可以将输入端的任何函数集映射到输出端的任何函数集。

而对 FNO 的数学分析尚未完成。不过对于没有确定的偏微分方程的现象,学习神经算子很可能是建模此类系统的唯一方法。比如交通问题,编写精确捕捉交通动态的偏微分方程几乎是不可能的,但是可以学习的数据量却非常之多。

参考内容:

https://www.quantamagazine.org/new-neural-networks-solve-hardest-equations-faster-than-ever-20210419/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
说个正事哈


由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:(1)点击页面最上方“深度学习技术前沿”,进入公众号主页。(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
代码语言:javascript
代码运行次数:0
运行
复制
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习技术前沿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
树莓派 usb-jetson nano opencv 打开 CSI摄像头_树莓派(四)——摄像头
树莓派摄像头模块(Pi Cam)发售于2013年5月。其第一个发布版本配备了500万像素的传感器,通过排线链接树莓派上的CSI接口。而Pi Cam的第二个发布版本——也被叫做Pi NoIR中,配备了相同的传感器,但没有红外线过滤装置。因此第二版的摄像头模块就像安全监控摄像机一样,可以观测到近红外线的波长(700 - 1000 nm),不过当然同时也就牺牲了一定的显色性。
宜轩
2022/12/26
2.1K0
树莓派:你是我的眼
树莓派官方出品有小型摄像头,用于录制视频或拍摄图片。娇小的树莓派和小型摄像头,可以制作一个很好用的移动摄影装置。当前的摄像头版本是V2,配有8M像素的Sony IMX219感光板。V2摄像头又可以分为两款,一款用于正常的可见光拍摄,另一款带有红外夜视功能。最近我入手了有红外夜视功能的V2摄像头。这款摄像头名字是Pi NoIR Camera(The infrared Camera Module v2)。除了夜视功能之外,两款摄像头区别不大,调用程序也可以通用。所以这里就以NoIR Camera为基础,介绍树莓
Vamei
2018/01/18
2.2K0
树莓派:你是我的眼
树莓派摄像头简单试用
树莓派官方推出的摄像头Camera Module,能够拍摄500万像素图片和录制1080p的视频,使用的是树莓派板子上的csi接口。
战神伽罗
2019/07/24
2.5K0
树莓派摄像头简单试用
树莓派摄像头基于 Motion 接入 HomeAssistant
前 4 天分别介绍了 ESP32-CAM 和 USB 摄像头接入 HomeAssistant 的方式,手里还有一个树莓派官方摄像头
远哥制造
2023/09/20
1.2K0
树莓派摄像头基于 Motion 接入 HomeAssistant
树莓派/PC实现实时摄像头数据共享—最优方法(搭建网络摄像头)
方法一:Python+OpenCv实现树莓派数据采集,树莓派搭建服务器,PC机作为客户端实现数据传输,结果发现传输画质太差。
不脱发的程序猿
2021/01/20
7.8K2
树莓派笔记
资源下载 使用VNC远程登陆树莓派 树莓派手动指定静态IP和DNS 终极解决大法 Multi-Cam Module Error 用wiki.js搭建自己的wiki知识库
tea9
2022/09/08
2.5K0
树莓派笔记
树莓派3B+ python 实时监控(USB摄像头)并显示
  执行后会 延时10帧 拍摄 (给个准备时间)产生 一张 名称为  test 的图片
Fivecc
2022/11/21
1.3K0
树莓派3B+ python 实时监控(USB摄像头)并显示
菜鸟手册(2):给Jetson Nano安装树莓派摄像头
因为JetBot上用的是树莓派摄像头,所以我们也首选考虑使用树莓派摄像头,当然USB摄像头是亲测可用的。
GPUS Lady
2019/05/07
16.6K1
菜鸟手册(2):给Jetson Nano安装树莓派摄像头
树莓派开发环境配置
买回来的树莓派一般会带一个系统,在这里我建议自己定制系统,以树莓派桌面系统为蓝本搭建开发环境。
白德鑫
2021/02/05
1.1K0
树莓派开发环境配置
牛人教你DIY!用树莓派 Zero做飞控图传
虽然可以买到商品成品,且会比我们做出来的东西更美观,性能指标更强,但是在折腾中学习,按照自己的需求进行优化改动,享受创造的喜悦,不正是创客精神嘛。 本项目使用手头现有的硬件,旨在将树莓派Zero作为飞控图传使用,本以为会很简单,但是软件适配方面遇到一些问题,困扰了很久。 1. 硬件部分 我们首先来看看硬件列表: Raspberry Pi Zero v1.3 otg table & usb wifi dongle (Xiaomi wifi) Raspberry Pi Camera Module v1.3
机器人网
2018/05/04
6.2K0
牛人教你DIY!用树莓派 Zero做飞控图传
如何给NVIDIA JetsonOrin Nano开发套件安装CSI摄像头
【教程】如何在NVIDIA Jetson Orin NANO上把系統刷到SSD上?
GPUS Lady
2023/05/30
1.7K1
如何给NVIDIA JetsonOrin Nano开发套件安装CSI摄像头
从零开始用树莓派搭建一个实时人脸检测系统
没错,那个小盒子装的东西叫做树莓派,可能有一些朋友还没接触过,暂且理解成一个小型的个人电脑就可以了。
AI粉嫩特工队
2021/04/27
3.3K0
从零开始用树莓派搭建一个实时人脸检测系统
树莓派4b基础入门「建议收藏」
树莓派(Raspberry Pi)是一款基于ARM的微型电脑主板,旨为学生计算机编程教育而设计,其系统基于Linux,由注册于英国的慈善组织“Raspberry Pi基金会”开发,Eben·Upton为项目带头人。别看其外表“娇小”,内“心”却很强大,上网、看视频、听音乐等功能都有,可谓是“麻雀虽小,五脏俱全”。自问世以来,受众多计算机发烧友和创客的追捧。 1.树莓派的家族
全栈程序员站长
2022/07/01
7.8K0
树莓派4b基础入门「建议收藏」
使用树莓派实现的口罩检测
使用的口罩检测 项目是AIZOO团队实现的 使用的是目标检测常用的SSD算法。 该团队也提供了数据集,大家也可以自己去训练一下。 (由于疫情在家 连不上实验室的服务器我还无法训练) 项目GitHub链接
全栈程序员站长
2022/09/05
1.2K0
使用树莓派实现的口罩检测
「玩转树莓派」搭建智能家居远程监控系统
前几天,在食堂吃饭,本来每天中午的新闻三十分换成了视频监控。我们已经习惯了,前十分钟看着领导都很忙,中间十分钟中国人民都很幸福,后十分钟别的国家都生活在水深火热里,顺便跟同事谈谈国家大事。突然主角换成了我们自己,便毫无抬头的欲望。
小柒2012
2019/12/09
3.4K0
「玩转树莓派」搭建智能家居远程监控系统
树莓派入门(一)—— 树莓派4B介绍
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名”树莓派”。
全栈程序员站长
2022/08/12
22.4K0
树莓派入门(一)—— 树莓派4B介绍
树莓派4B安装64位系统 以及基础配置
(在写之前 Imager提示 会擦去sd的所有内容,那好像这个工具也就对sd进行了格式化,前面不需要先格式化也可以。而且Imager 里面提供了很多树莓派的系统可以在这里面下载 也可以提前下载好)
全栈程序员站长
2022/09/01
2.7K0
树莓派4B安装64位系统 以及基础配置
树莓派 USB摄像头 实现网络监控( MJPG-Streamer)
    上面的包源已经发生变化 可前往https://fivecc.coding.net/public/mjpg-streamer/mjpg-streamer/git 查看,
Fivecc
2022/11/21
3.2K0
树莓派 USB摄像头 实现网络监控( MJPG-Streamer)
树莓派控制摄像头_树莓派连接摄像头
树莓派外接摄像头,最常用的有两种:CSI摄像头、USB摄像头。当然网络摄像头也是可以的。
全栈程序员站长
2022/11/07
3.2K0
树莓派控制摄像头_树莓派连接摄像头
机器之心实操 | 亚马逊详解如何使用MXNet在树莓派上搭建实时目标识别系统
选自AWS 机器之心编译 参与:思源 在过去的五年中,深度神经网络已经解决了许多计算困难的问题,特别是计算机视觉。因为深度神经网络需要大量的计算力来训练模型,所以我们经常使用多块 GPU 或云端服务器进行分布式地训练。实际上,在深度神经网络模型经过训练后,它只需要相对较少的计算资源就能执行预测。这就意味着我们能将模型部署到低功耗的边缘设备中,并且在没有网络连接的情况下运行。 亚马逊的开源深度学习引擎 Apache MXNet 除了支持多 GPU 训练和部署复杂模型外,还可以生成非常轻量级的神经网络模型。我们
机器之心
2018/05/09
1.9K0
机器之心实操 | 亚马逊详解如何使用MXNet在树莓派上搭建实时目标识别系统
推荐阅读
相关推荐
树莓派 usb-jetson nano opencv 打开 CSI摄像头_树莓派(四)——摄像头
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验