# 拟定课题 # 计算大模型 我觉得,做计算的,每个人都应该考虑一些基本的问题,即使不去仔细研究他们:为什么要计算? 算什么?实际的目标的是什么?计算的基本思想是什么? 各位,给大家一个我已经空想了一段时间的任务,计算大模型 :) 这样组里做计算的,至少目前解方程的可以把大家的目标统一起来。 我自己思考了一番,觉得 目前解方程(或计算物理模型)主要的元素是:计算的几何区域设定与表示,几何离散(常规的就是指离散方法,网格或点等),求解方法,目标量(比如物理量)的计算。传统研究都是各自在其中的某一个细分的方面做研究,传统的方法和框架上也很难把这些环节作为一个整体来研究。但现在,正如大家看到的人工智能中的大模型一样,可以把多个方面(高维)从细节到宏观统一起来进行计算,并且效果良好。我们现在思考一下,先限于解PDE,看能不能做出一个统一的模型和框架。我觉得总的路线,看来只能采用机器学习的方法。总的思路是,这个框架中,我们先得有 统一的大的用于几何表示的网络结构模块,可以把区域和离散点表示同时统一处理,某种编码,类似于昨天给大家看的文章。然后,考虑一些常用算子(我们可先只考虑 拉普拉斯算子,即 拉普拉斯方程和Poisson 方程)的性质表示,或者是算子、解、或直接的目标量与几何部分的相互作用或信息交互模式,一些可能的控制机制,然后输出。 这个框架的一个特点是,可随时整合已知或已得到的数据,网络可在线演化,因为已知的数据可作类似监督样本一样,实际上最简单的 PINN 就能整合可观测数据数据。这样的好处是,任何曾经计算和求解过的问题(包括方程)都可以“记忆”在网络里,作为新任务训练的好的初值,不用都从头训练 --- 这就是现在大模型的哲学。 当然,我们这个系统要做到,既可以包含样本数据,也可以没有数据而纯基于物理信息(方程)的训练,像PINN一样自己训练也行。这样,设计好的系统可以让他永远在跑在改进。 正好,可能大家也看到了,今年,几天前基金委部署了 一个 AI for Science,就是 AI用于科学研究的计划,应该今年会开放这方向的基金申请。 这样吧,我感觉计算数学里好像还没听谁这样计划,那我们要不写个基金计划,就围绕上面说的 用AI 来做计算大模型。这个任务交给 吴恒和 伍昊辰 吧,正好通过这个 你们一边思考,一边调研,一边写吧。我会给你们几个原来我们写过的基金(也有部分AI 的),大致按照主要的几个格式步骤 参考写 :)。 时间有几个月吧。 当然,基金的目标是 组里 大家都要参与贡献的。 再注意一个:解方程的三个要素:几何、算子和环境函数(源分布、外场、边界条件、变参数等 我这里都叫做 环境函数)。那我们建立的机器学习框架就要能够表示和学习这三个要素。我觉得这是有可能的。之前说了,几何的表示可暂借用 PointNet 来表示,但要注意,算子的特征 就没值么简单,他不是孤立的特征,应该是和几何相关的,这个要多思考怎么建立网络结构能够既表达各部分独立的特征又有两个部分相互作用的特征。但这个也不是完全没谱的,因为简单考虑一下,目前的一些常见的算子(我们实际做的时候都先处理最简单的情形)就是 各种求导组成的,所以简单的结构可以就在前面的几何表示下得到各种导数,再抽出特征,这也是可以考虑尝试的。然后就是 学习环境函数空间,这个虽然一般而言也影响 算子特征,但许多情况下估计还是可以和 类似于 几何部分一样 分离出来处理。一个好的信息是,昨天吴思迪给我看的,目前初步显示,她就用一个最普通的算子学习网络 已经可以学出一个简单给定形式的 源函数分布空间。她也是刚偶然看到这个现象的。这个工作的意义我们可以继续挖掘。我个人觉得,几何的、函数的、甚至算子的空间也是可以学习到的(当然,都先在一些简单的严格限定条件下)。 (续昨天) 昨天说到的 Yanlai Chen 的文章,已经有了 GPT 的意图和一个形态了,只不过里面主要模块是基于目前计算数学界常用的最简单的PINN 网络。我再总结一下我们这段时间的思考,就是,我们的思想、处理数学问题的技术路线和可能采用的网络技术是和这篇文章不同的,目标的是在一个更大的函数、几何、算子空间训练,逐渐学习采用一些强大的网络结构,达到能够收集整合历史求解经验,快速给出算子学习结果。但这篇文章的好处是,似乎已经在整合历史求解经验方面已经搭建了一个例子 (能够线上线下求解,提供好的初值 ?),这也是之前让吴恒和伍昊辰写基金时想考虑设计的。我现在觉得一些思路还较清晰些,甚至我都又起好一些名字了,PDEGPT-F (或叫 solverGPT-F),PDEGPT-G,PDEGPT-O 什么的 ... :) ,难度可能是逐次增加的。感觉现在最缺的就是人力和GPU显卡(算力) :) 仅吴思迪和桂升做不过来,所以,我建议 @吴恒和@伍昊辰 还有其他感兴趣的 现在就研究一下这篇文章,拿这篇文章的代码 (The code of GPT-PINN is available at https://github.com/skoohy/GPT-PINN) 研究试一下,作为练习,然后 我们按照自己的思路和目的 稍改一下,我估计不太麻烦,也感觉 就在这个框架下的初试阶段 就可能发一系列的文章(如果这些想法还没被发表的话),第一篇有可能一到两个月就差不多 :) 。我们现在只需要先试一维和两维的(泊松和拉普拉斯方程),目前也有个把函数和几何结合起来的具体的、初步的想法。至于这个框架中的数学和网络的问题与技巧将来会是无穷无尽的,那再慢慢发现和推进,PINN 一般来说我们将来也会取代掉的。 另外,昨天 复旦大学的程晋做的报告,信息处理和计算 亥姆霍兹 方程,主要是 高频。这是 我拍的两张照片。他的这方面的文章 你们相关的都需 仔细研究一下。吴思迪有他的文章,她会上传。他们的目标 和我们这段时间 一直讲的一样(他只不过是专门针对 亥姆霍兹方程),可 线上线下,一方面把 算子矩阵学出来,一方面 可把已有相关的知识(其他解法已有的结果 或这测量的结果 )随时都可以扔进去 做样本帮助学习。他们的原始想法也很简单自然,我觉得主要是 对于要机器学习 去学的矩阵 利用了 算子的特性,就是 他们的 基本解 的性质 来控制采样和学习过程,就是把要学的某种格林函数的性质加进去了,细节需要去研究文章。实际上,我之前一直想的 用积分方程的想法,也是去直接学格林函数或者 kernel,原来也讨论过一些具体的想法,还包括对非线性问题计算过程,估计是不一样的,我们等研究程晋们的文章后再看看异同。总之,这是考虑了数学结构,而网络就较简单的做法(当然,效果很好,而且是高频是有限元处理起来麻烦的)。 我感觉,我们研究完这几篇主要的文章后,最迫切的就是 先动手做起来,做了才有感觉,边做便思考和研究. 另外,这是我对以前和现在的学生的一个一般性的建议: 读书(文章)、思考、实践,应该三个都重要。我感觉可能现在有不少时候 你们看的书多,相对来说思考得少点,我可能空想的多些,看的文章和实践都比较少,(当然现在思考也少了)。希望你们能把这三者平衡好 :) 又一个想法: 我考虑了一下,可以换个角度,解方程也可以转换成一个纯粹的几何问题(数学上本来是个无穷维的,但不用担心,物理实际的或我们计算的做法,总是离散化,可做有限维近似 --- 再说实际也是反过来,数学上的方程模型才是实际离散世界的近似),只不过是高维的。如果这样,那我们想做的算子学习,一直考虑的 (方程)几何区域,算子,函数空间 等要素就全都变成几何问题,从这种角度也可以进行统一处理他们,然后一个主要要克服的就是计算量的问题。我再更直接一点的说就是,我们原来的几何和解方程的问题(我目前想的)最终都可以归结为这样一个问题:找到计算方法,判断一个点是在一个曲面内还是外(当然有很多的采样点要计算)。能算这个,也就能算一个点是否在/接近曲面上 ---也就是要的解。看,这个问题,我们前些年的网格研究中出现过我也提到过多次。一维、二维、三维 (就是标准的几何对象)的问题 我知道有若干种方法来对付(如,搜索的、分而治之的、解代数方程的、边界\前沿推进的、随机搜索的如 Monte Carlo的,遗传算法什么的 等方法,若能结合某种简洁而深刻的几何性质 可能能大大简化计算),再高维一点的,我估计一些方法也应该还能做些。但要解方程就会出现很高维,比如1000、一万甚至更多维(大致对应我们通常解方程的离散自由度),那这时怎么算刚才的问题?这就是要研究的。 细节我们可再聊。目前,做这块的学生我们有别的方案先进行。对这个想法,有的学生可先思考研究一下,我建议王俊杰 现在可先调研研究一下这个问题:就是怎样判断/计算任给的一个点是在一个(一般的、隐式定义的复杂)曲面内还是外?或者更直接的就是怎样找出一堆分布在曲面上的点来(就是我们要的解)?调研思考一下这方面现在最快的算法是什么,高维的情形又怎样。不管是传统方法还是机器学习方法都行。 George 报告后的建议: 各位,今天George的报告里提到的一些文献有意思的文献,大家都应该看看。感谢桂升这里下载的几篇文献,有的是技术性的,有的是概念方向上的尝试。我简单说一下这几篇文章,其中一篇是 他开始报告讲到的一个现象(其他人的工作,包括一些做物理的也发现了),Loss下降后,L2 其实还要等很长时间才下降倒平台(收敛),这才是方程的解。里面提到了一些调整参数的策略,其实这些技术对大家应该也是有效易用的。一篇是所谓的 仿照是生物神经元的spiking 现象提的 Spiking DeepOnet。一篇是 transformer 用于算子的一个研究,探索用一些先进的网络结构解PDE 是一个方向,但现在其实工作并不很多。然后一篇是 他们最近 发在nature machine intelligence 上的文章,他说的transfer learning 和 condition shift 其实就是我们这段时间在谈的想做的PDE 中的几何学习,这方面的工作更少了,几乎没有,早上他也说这个相对函数空间要难得多,研究少,所以这种文章发在 Nature 子刊了,我还没细看文章,估计也是探索性的。这篇建议组里的可研究一下他们的想法。 还有,他报告中的一页 ppt 提到一个工作,是 多头 multi-head 做算子学习的,是学 方程里不同的系数 还能输 b(x),估计也有趣,我们记住,你们可找找看。 另外,这里贴一篇 最近 LeCun 做的工作,给的一个 通用 解 PDE的考虑,用 李群理论 考虑 PDE 中的对称性。对称性也是我们将来必须要考虑性质,几何和PDE的解都有,其实保结构,或者说物理上的不变性根本上都源自对称性。我们第一步算子学习完成后就最少要考虑几个基本的不变性,如平移和转动不变性。其实,已经有一些网络有这些性质了。昨天和自动化所的王瑞祥同学(他也在群里了)讨论的机器学习蛋白质的自由能,他们用的等变网络值得就是这个性质,其他解方程的也可研究一下。 可参考: 1,算子学习,本目标可看作是一类更广泛的算子学习 ... 2,网络构架:encoder-decoder,自动微分器,... 3,群里发给大家的2022 JCP的,用 PointNet 处理不规则几何 和解多个不同区域的问题 4,谢和虎 做的 这张量网络,自适应稀疏化 5, 美国 UC irvine 的Long Chen (https://www.math.uci.edu/~chenlong/) 最近几年的做的关于 用tranformer 解方程的文章 6,中国科大 陈景润 最近做的机器学习解方程的文章 7,史作强,边界积分网络BINet 8, Stanford, Lu Yiping, https://2prime.github.io/, 的几篇文章和相关的,有关于算子学习的损失函数分析,统计的角度考虑快速采样,等 *9,Yanlai Chen, Shawn Koohy,GPT-PINN: Generative Pre-Trained Physics-Informed Neural Networks toward non-intrusive Meta-learning of parametric PDEs。 arXiv:2303。 The code of GPT-PINN is available at https://github.com/skoohy/GPT-PINN. * 10, 复旦,程晋,反问题和高频 亥姆霍兹 方程解。 *11, Poisson Flow Generative Models, Yilun Xu, Ziming Liu, Max Tegmark, Tommi jaakkola 12, 黄海平,中山大学物理学院教授,C. Li and H. Huang*, Learning credit assignment, Phys. Rev. Lett. 125, 178301 (2020), 随机路径,等 13, Hu W F, Lin T S, Lai M C. A discontinuity capturing shallow neural network for elliptic interface problems [J]. Journal of Computational Physics, 2022, 469: 111576. 以及另一篇, cusp-capturing 的文章 14, Pengzhan Jin, MIONet 15, 华为盘古大模型 气候预测.. Science ... 16, 陈景润,鄂维南 等的 random feature 方法, [1] Jingrun Chen, Xurong Chi, Weinan E & Zhouwang Yang. (2022). Bridging Traditional and Machine Learning-Based Algorithms for Solving PDEs: The Random Feature Method. Journal of Machine Learning. 1 (3). 268-298. doi:10.4208/jml.220726 宋家豪, 曹文博, 张伟伟. FD-PINN: 频域物理信息神经网络. 力学学报, 2023, 55(5): 1195-1205. Hu Dan, gradient-free NN for PDE solver 北京大学智能学院王立威课题组、物理学院陈基课题组联合字节跳动研究部门 ByteDance Research,等,A computational framework for neural network-based variational Monte Carlo with Forward Laplacian,Nature Machine Intelligence, (快速计算Laplacian 的构架) * 华为与中国人民大学高瓴人工智能学院孙浩教授团队合作,基于昇腾AI基础软硬件平台与昇思MindSpore AI框架提出了一种物理编码递归卷积神经网络(Physics-encoded Recurrent Convolutional Neural Network,PeRCNN) 参考文献 [1]https://gitee.com/mindspore/mindscience/tree/master/MindFlow/applications/data_mechanism_fusion/PeRCNN [2]Yann LeCun, Yoshua Bengio, and Geoffrey Hinton. Deep learning. Nature, 521(7553):436–444, 2015. [3]Maziar Raissi, Paris Perdikaris, and George E Karniadakis. Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. Journal of Computational Physics, 378:686–707, 2019. [4]Chengping Rao, Pu Ren, Qi Wang, Oral Buyukozturk, Hao Sun*, Yang Liu*. Encoding physics to learn reaction-diffusion processes. Nature Machine Intelligence, 2023, DOI: 10.1038/s42256-023-00685-7 等变网络: Tensor field networks: Rotation- and translation-equivariant neural networks for 3D point clouds https://arxiv.org/abs/1802.08219v3 https://docs.e3nn.org/en/latest/index.html 这里是内部函数实现的API,可以用这些API建立自己的计算流程 ... ## An idea:数学内禀性 (泛函导数) The variation (first variation) of the functional F[p] is: $$ \delta F\[p](\phi) = \int \frac{\delta F}{\delta p}(x) ϕ(x) dx $$ where $$\phi(x)$$ is an arbitrary function such that $$F[\epsilon \phi] $$ is well defined, the quantity $$\epsilon \phi$$ is called the variation of $$p$$. I would like to give a discret form of the functional variation: $$ \delta F_i = \sum_j \frac{\delta F_i}{\delta p_j}(x_j) ϕ_j(x_j) dx_j $$ Or $$ \bold {\delta F }= A \bold{\phi} , \quad \text{where} \quad A_{ij}=\frac{\partial F_i}{\partial p_j} $$ (here the factor dx can be considered to be incorporated into $$\phi $$). Now, let's come to operator learning, suppose we'll learn $$ L_{a(x)} u = 0 $$, That is to learn u as a functional of a, u[a]. Let F --> u, p --> a, we will have a matrix A. Now, suppose $$u^{NN} $$ is a neural network solution of above equation, we will have a $$ A^{NN}_{ij}=\frac{\partial u^{NN}_i}{\partial a_j} $$ . If we have another analytical or approximate solution $$u^\* $$, we have a matrix $$ A^{\*}_{ij}=\frac{\partial u^{\*}_i}{\partial a_j} $$ . That means we need to minimize $$ |A^{NN} -A^{\*}| $$ . This property can be applied to ODE, PDE solutions。 And similar things can be considered to signal prediction or other things ... $$(x_1, x_2, ... x_n) \rightarrow x_{n+1} $$, how about a small perturbation $$ x_i \rightarrow x_i + \epsilon $$ ? 附注 ### I: How to generate an "analytical" (handmade) solution ? For an equation with operator $$L$$, $$ Lu(x)=0 $$ We can construct/specify a (any) function $$u_a $$ (satisfying the boundary condition of above problem), it satisfies: $$ Lu_a = L u_a $$ Now, let $$f(x) = L u_a $$, and we "pretend" to solev the problem $$ Lu_a = f(x) $$ What is the solution u(x) ? It should be $$u_a(x)$$ (suppose there is a unique solution), this is what we called constructed/handmade "analytical" solution, which we can use to test our numerical solver. ### II: Now, how to generate an "analytical" functional solution ? Suppose, there is an equation with a parametric operator $$L[b(x)]$$, b(x) is a parametric function. This means the operator depends on the function b(x). $$ L[b(x)]u(x)=0 $$ Now, the dependence of u on b is a functional, i.e. $$u=u_{[b]}(x)$$. Similarly, how to construct a functional as our analytical solution? Here, I give a method (properly describing one type of functional?) to construct it: $$ u_{[b,k]}(x) = u_1(x) + g(x)\\int k(x-y) b(y)dy $$ $$u_1(x),g(x),k(x-y)$$ can be any function. or simply (u and g can be absorted into the kernel) $$ u_{[b,k]}(x) = \\int k(x-y) b(y)dy $$ the $$k$$ is the kernel. The kernel $$k$$ is actuall corresponding to the above described matrix $$A^*$$ in discretized form. Then, for a set of given functions $$u_1(x),g(x),k(x-y)$$, the following always holds: $$ L[b(x)] u_{[b,k]}(x) = L[b(x)] u_{[b,k]}(x) $$ Now, let $$f(x) = L[b(x)] u_{[b,k]}(x) $$, and we "pretend" to solev the problem $$ L[b(x)] u = f(x) $$ What is the solution $$u=u(x)$$ ? It should be $$u=u_{[b,k]}(x)$$ (suppose there is a unique solution). III: Functional derivative of F[p], denoted $$\frac{\delta F}{\delta p}$$ is defined by $$ \int \frac{\delta F}{\delta p}(x) ϕ(x) dx \triangleq [ \frac{d F[p+ϵϕ]}{d \epsilon}]_{\epsilon \to 0} = \lim_{\epsilon \to 0} \frac{F[p + \epsilon \phi ] -F[p]}{\epsilon} $$ ### Artificial data for PDE solution (especially for operator learning) Solve $$ Lu = f(x) , u_{\partial \Omega} = g(x) $$ PINN: $$ u \rightarrow u_{NN} $$ $$ Loss = \sum_i^N |Lu_{NN}(x_i) - f(x_i)|^2 + \sum_j^{N_b} |Lu_{NN}(x_j) - f(x_j)|^2 + \sum_k^{N_D} |u_{NN}(x_k) - u_{data}(x_k)|^2 $$ $$N$$ is the number of interior evaluation points, $$N_b$$ the number of boundary points, $$N_D$$ the number of observation data. We can use pure physics-informed data or pure observation data (**with or without boundary data**), or use both data together. Operator learning: $$ u(f,g) \rightarrow u_{NN}(f,g,\theta) $$ The loss can be similar to the above PINN, but now, we want to only use data to perform supervised leaning, $$ Loss =\sum_f \sum_g \sum_k^{N_D} |u_{NN}(f,g,x_k) - u_a(x_k)|^2 $$ . The data is artificial data, i.e. the analytical solutions we generate, $$ Lu_a = f^a(x)$$, $$(f^a=L u_a$$, and boundary value is also naturally determined $$g=f(x)|_{\partial \Omega}$$) We want use $$u_a$$ serves as $$u_{data}$$. - **Now, the task is to construct enough $$u_a$$.** You can do like, $$u_a = \sum_l c_l v_l $$, $$c_l$$ can be any number, $$v_l$$ any proper/possible function. **Make a big function library, and take hundreds of millions of artificial data (mixed functions) $$u_a$$ to cover the solution space as possible as we can. Then, it should be done! ** Homework: 1, consider treating different boundary conditions; 2, other data augmentation ideas? Possibility to separately determine f and g? ### 积分方程的加入, I @Naveed Ahmad Khan @吴恒 @伍昊辰 @王俊杰 Once again, I'm re-thinking that for future ML solution of PDE, if we know some underlying mathematical structure of the PDEs, we need to apply and exploit it. For equations like Laplace and Poisson equations, and modified Helmholtz equation (lieanr PB) (the PB includes a Poisson equation), no matter there is interface or not, we know the fundamental solution (certain Green's function) of the PDEs. I think we need to use the structure in our future ML method in certain form. I have mentioned these papers and some ideas before. So, now I suggest all of you read above three papers. They are my former papers. After reading, a baisc requirement is that you need to know the integral form of the equations and some discretization techniques. And we will discuss strategies later. The fisrt is a review, the last two are about different apsects of the integral forms and numerical techniques. For some detailed and specific aspects if they are not much related to general concerns (毕竟 the work in the two papers were conducted for specific problems), you can ignore first, do not goes into the detailes, like in the third paper, you only need to know that all the discrietized matrix elements can be calculated, including that the self-element integration involving singular integrals can even be analytically calculated as shown in the method part. ### 积分方程的加入, II 一个新的想法(感觉相当大的可能性会很有用):目前用 pinn 是去解 从 x -> u(x) 的映射,现在可 考虑 只求 在边界或界面上 x -> {u(x), u'_n(x) } 的映射,即,只 求 边界/界面上的 u 和 它的法向导数(这个要用到下面的积分方程中。 如果给一部分 边界条件 u 或 u'_n,求 边界上的 u'_n 或 u,是否也叫 Dirichlet-Neumann mapping 问题?)。然后,采样可以在 边界,也可以在 Omega 内部。 但注意,这时采样点 的计算 用积分方程的公式来算 (对于 Laplace方程和泊松方程 都有),这是精确的,可以认为没有误差。 这相当于 做了 人工 特征 和 降维,误差和不确定性 从 三维 限制到了 二维上。只要知道了表面信息,内部任意点的解 u 就可以精确求出,(了解一下 积分方程,我以前也给过你们文章)。.... 你们可继续深入思考... 。这会是我们将来的一大类做法,包括 几何问题 和 数据的获取 ... ## 分子几何与拓扑 参考: 几何图神经网络及其科学应用丨图神经网络与组合优化读书会·周三直播 集智俱乐部 集智俱乐部 2023-06-20 16:43 由 黄文炳主讲,中国人民大学高瓴人工智能学院助理教授、博导。 背景介绍 几何图神经网络 微观分子空间的应用例子 宏观具身空间的应用例子 主要涉及到的前置知识 图神经网络 (Graph Neural Network) 对称性(Symmetry) 群表示论(Group Representation Theory) 抗体设计 (Antibody Design) 物理动力学模拟 (Physical Dynamics Simulation) 强化学习 (Reinforcement Learning) 主要涉及到的参考文献 不变图神经网络:将数据映射到某个不变特征,使得原始数据无论做任何变换,不变特征均不受影响。 1.K. T. Schütt, H. E. Sauceda, P.-J. Kindermans, A. Tkatchenko, and K.-R. Müller. SchNet – A deep learning architecture for molecules and materials. J.Chem.Phys 2018. 简称Schnet,早期的不变图神经网络。 Github代码:https://github.com/atomistic-machine-learning/SchNet 2.Johannes Gasteiger, Janek Groß, Stephan Günnemann. Directional Message Passing for Molecular Graphs. ICLR 2020. 简称DimNet,在GNN引入了带方向的消息传播。 OpenReview: https://openreview.net/forum?id=B1eWbxStPH Github代码:https://github.com/gasteigerjo/dimenet 3.Johannes Gasteiger, Florian Becker, Stephan Günnemann. GemNet: Universal Directional Graph Neural Networks for Molecules. NeurIPS 2021. 简称GemNet,一种不变GNN,考虑了球面坐标,效果值得信赖。由DimNet的主要作者打造。 OpenReview: https://openreview.net/forum?id=HS_sOaxS9K- Github代码: https://github.com/TUM-DAML/gemnet_tf 等变图神经网络:对模型输入做一定的变换之后,模型输出做同样的变换。 4.Nathaniel Thomas, Tess Smidt, Steven Kearnes, Lusann Yang, Li Li, Kai Kohlhoff, Patrick Riley. Tensor field networks: Rotation- and translation-equivariant neural networks for 3D point clouds. 2018. 这篇论文简称张量场网络TFN,是最早同时满足旋转、平移等变的GNN,在分子动力模拟上进行验证,领域必读文章。 GitHub代码:https://github.com/tensorfieldnetworks/tensorfieldnetworks 5.(重点解读)Victor Garcia Satorras, Emiel Hoogeboom, Max Welling. E(n) Equivariant Graph Neural Networks. ICML 2021. 瞩目的EGNN,目前被广泛使用的等变图神经网络模型,领域必读文章。 PaperTalk: https://papertalk.org/papertalks/32722 Github代码:https://github.com/vgsatorras/egnn 6.Johannes Brandstetter, Rob Hesselink, Elise van der Pol, Erik J Bekkers, Max Welling. Geometric and Physical Quantities Improve E(3) Equivariant Message Passing. ICLR 2022. 简称SEGNN,在EGNN基础上引入了higer-degree 不可约表示,基于这篇文章可以概括性学习E3不变表示相关知识。 OpenReview: https://openreview.net/pdf?id=_xwr8gOBeV1 Github代码:https://github.com/RobDHess/Steerable-E3-GNN 几何图神经网络在科学应用中有着广泛的场景,包括抗体设计,物理场景模拟,智能体控制等。 抗体设计 7.Wengong Jin, et al. Iterative Refinement Graph Neural Network for Antibody Sequence-Structure Co-design. ICLR, 2022. 论文十问:https://zhuanlan.zhihu.com/p/484584576 Github代码:https://github.com/wengong-jin/RefineGNN 8.(重点解读)Xiangzhe Kong, et al. Conditional Antibody Design as 3D Equivariant Graph Translation. ICLR, 2023. 简称MEAN,使用了等变图神经网络完成抗体CDR区域1D氨基酸序列和3D结构的同时生成和优化。 知乎论文解读:https://zhuanlan.zhihu.com/p/623640186 OpenReview: https://openreview.net/pdf?id=LFHFQbjxIiP GitHub代码:https://github.com/THUNLP-MT/MEAN 物理场景模拟 9.Sanchez-Gonzalez et al. Learning to Simulate Complex Physics with Graph Networks. 2020. 知乎论文解读:https://zhuanlan.zhihu.com/p/481545424 Github代码:https://github.com/deepmind/deepmind-research/tree/master/learning_to_simulate 10.(重点解读)Jiaqi Han et al. Learning Physical Dynamics with Subequivariant Graph Neural Networks. NeurIPS,2022. OpenReview:https://openreview.net/forum?id=siG_S8mUWxf Github代码:https://github.com/hanjq17/SGNN 智能体运动控制 11.Hong, S. et al. Structure-aware transformer policy for inhomogeneous multi-task reinforcement learning. ICML, 2021. 知乎论文解读:https://zhuanlan.zhihu.com/p/508907410 OpenReview: https://openreview.net/forum?id=fy_XRVHqly Github代码:https://github.com/sunghoonhong 12.(重点解读)Runfa Chen, et al. Subequivariant Graph Reinforcement Learning in 3D Environments. ICML 2023 Github代码:https://github.com/alpc91/SGRL 直播信息 时间: 2023年6月21日(本周三)晚上19:00-21:00 ## Feynman-Kac 公式与想法 一个想法,本组的研究一下,这个方法有较广的普遍性。就是原来提到过的 Feynman路径积分方法(来自物理学,说物理规律可以用路径积分的表示方法来表示), Kac是个数学家,结合起来叫 Feynman-Kac 公式。这里文献的一些随机问题,布朗运动,可直接转成 Feynman-Kac 表示,有的微分方程可先转成随机微分方程SDE,如 扩散方程,Fokker-Planck方程,有对应的 SDE,我们的 PNP 也应该可以化作一组 SDE。Poisson 方程或Poisson-Boltzmann方程 我想可以先转成一个含时(赝时)的PDE (PB 对应他的稳态解),那就也应该可对应 SDE 用路径积分来做。这里发的 Wei Cai 的论文(就是前段时间他写信给我说想不想扩展研究 PB方程的) 已经用 Feynman-Kac方法算过 Poisson 方程了,用随机行走的方法采用做的,这些方法也都是以前若干文献研究过的。这里的微软研究院的文章是将 Navier-Stokes 转成 SDE,再用 Feynman-Kac 公式。我现在有个想法是,我们组的几个学生也学一下这个方法,可用在几个地方研究一下。 1、一个是 照用这套表示方法和随机采用的做法,采用机器学习来解我们的几个PDE,先做 PB吧。微软的那篇文章也是用机器学习来做的。好处是,用随机的 可以至少减少一次 求导的需要(只用一阶导,或都不需要),另外,因为用的是积分的方法,对于不光滑函数就没为题,尤其是我再考虑我们Poisson方程中的一些奇异项 可能也能直接积掉。然后就是再利用 一些机器学习的优势。若将来要处理PB中的界面问题,可结合吴斯迪现在做的和她看到的最近的一篇JCP的文章有个巧妙简洁方便的方法可用于机器学习。 2、另一个是,在 量化金融中,一个最经典的方程就是BS 方程,就是一个布朗运动方程,可直接采用 Feynman-Kac 方法。用机器学习的好处是,对模型中未知参数做估计和计算,反问题计算,机器学习是方便的,有较大的优势,他只需要有数据就行,金融上我们都有大量的公开的数据。我觉得可以用来研究一些,比如我们想要的股票动力学性质。(实际上,解方程当中,机器学习也可以处理一些传统上棘手的问题,如参数估计,还有就是,有些 边界条件未知 也没问题,比如 PINN 方法, 实际上都可以不要 边界条件,只要知道些实测数据 就可以训练求解。) ## 吕敏瑞 课题计划 ### 移动网格 我觉得,这里应当 详细 写出 我们选择 flux 的(不管是分析的还是直观)理由。其中一些,或者他们的重点或简练总结 可以在文章开始(摘要,引言)指出,以便 突出。 我考虑: 1,flux 是个重要的物理量,实验上直接测量的量一般也是 电流 current (an integral of flux),而不是 浓度 c_k 和电势 \phi. 所以得到准确的flux 在实践上更有实际价值。 2,因为flux 自然包含了 两部分的解,含电势的对流项和含浓度的扩散项,这样,以flux-based 的monitor function 中,电势解和浓度解之间不需要加入可调的权重参数。而在 一般的 monitor function, 如 M1 中,电势解和浓度解之间还需要更多的可调权重参数。 3,我们经验是,对于有数值挑战性的对流占优的问题来说,一个能保持流守衡的格式是十分有利于算法的稳定性和准确性的(可引用 Zhang Qianru JCP 文章)。本工作尽管不是 关注 流守恒算法设计,但以 flux 为monitor function is expected to 有助于提高流计算的准确性。 4, 物理和数学性质上,flux 相比 浓度 要光滑得多。浓度 在空间 的变化常常会很剧烈(对电场依赖很敏感),可相差几个数量级(将我们之前的文章)的差别,而 flux 变化温和(数学上,也可从一个事实为例看出,即,稳态方程实际上表明,流flux 是守恒的,那在一维上,它就是常数)。从 moving mesh 的算法稳定性来说,控制 相对光滑的 flux 可能比 控制 变化更剧烈的 浓度函数来说 相对更稳定和准确些。 ---- 对于这一点解释可以保留质疑。即使这样,我觉的这点flux的性质也许可以在文章某个地方说说。 5,(你也提到了流线的方向。) (我以为)普通 (特别是线性元)FEM 解 PNP 的困难根源在于,如前所述,PNP解中的浓度变化剧烈,具有指数增长/衰减的性质,这使得在一个(二维)三角网格(或三维四面体网格)上用线性元来逼近指数变化的(浓度)函数很难,这是为什么 一般的有限元 去解对流占优时的PNP 时常常失败,而要去设计特殊的格式。在这种情形下,在移动网格方法中,我们可以设想,如果网格的形状分布通过移动(集中或扩张)后按照流线,flux,的方向来分布,可能会有助于尽可能地减弱 (mitigate)线性元逼近的误差,这也是选择以 flux作为 monitor function的一个动机。 ### 太赫兹 外场 对离子通道的影响 我们下午3:30讨论一下。关于太赫兹电场对通道电流的影响,我讲一个应该算是比较清晰的模型和思路(实际这个就是我在这个课题一开始就考虑的两个可能性方案之一),我估计很可能就可以给他们的问题一个定量的解释了。有计算的路线,也有理论上的研究点,应该都可以做通。 1, in PNP,D(z,v), v 是频率,设 通道半径 r(z),我们算 有效扩散系数 D(z)。计算方法:通过 分子的Hessain 矩阵 H,算 本征值和本征矢,找出 对 狭窄地方影响最大的 本征矢 对应的频率,应该就是 实验找到的 太赫兹 频率。 估计 加电场 受扰动 的幅度,算 r 的波动和平均 --》 D(z)。 也可以 考虑 计算 加电场 受扰动 后的 H 计算 可能的 v 和 幅度 A 。 2,理论工作:证明 在PNP 中, D(z,v), 在高频下 ,可以 我们算 有效扩散系数 D(z)来代替。 I think a little bit further and is more clear about that the 2D and 3D cases (molecular material) would have similar property as 1D Harmonic Oscillator. I can write down the Hamiltonian (therefore, the dynamics) of a 2D ring, with additional point charges distributed on it. Now your first task is to find out (search or derive) the resonance formula about the frequency and magnitude (old existing results). Secondly, calculate the flux using simply averaged diffusion coefficient (can be considered as a time-homogenized effective diffusion coefficient --- to be proved. Should be like that!). Thirdly, collaborate with the two MD guys to check if the molecule structure (with charges) right has the resonant frequency, or calculate the frequency using the structure by ourselves. (In MD, they can have two approaches to do this, but I think our student can only use one method --- it may work). Fourthly, mathematically prove the rationality of the averaging method for the coefficient D. ### 本科毕业设计 (1) 半导体模拟 - 学习FEM、有限体方法,以及常用半导体的DD模型(PNP),完成一个PN结的有限体方法的DD模型模拟任务。有限体网格基于FEM的四面体网格重构。 - 或者,学习 Sentaurus软件及其网格结构和网格生成方法。 - 方式:在博士生指导下 (2) 分子几何研究 - 定任意蛋白质分子及其表面三角化网格,快速找出其所有的空腔、通道、坑道等,并在所在区域的附近表面做标记。 !vism 5a5f45a74f022e4c57b1b363 =!= ** Surface mesh of molecule 1MAG** - 方式:介绍前期相关工作和软件后,基本独立进行 (3)机器学习相关 - 针对我们现有的一个项目,视频中的行为分析,我们已有一套机器学习的分析流程,但有几个步骤需要研究改进,i)一个是为减少视频中的图片存储量,可以考虑设计算法,快速检测有动作变化的图片,把这些存下来分析就行了,中间没变化的视频帧大多可以扔掉; ii)对视频截出的帧做时间空间关联分析,提高动作行为分析的准确度;iii)对现有神经网络(主要是目标检测的网络),在特定场景下应用时进行改造压缩并保持精度,从而加快计算速度,提高硬件执行效率,降低应用成本;iv)在目标识别中(行为分析),快速有效计算、提取、和分析应用目标的特征点,提高识别的准确性和识别功能的丰富性。 - 方式:掌握python,了解一下机器学习的原理,研究上面一个问题就行。已具备我们自己的数据,师兄可指导。
##=!= 行为身份识别(步态识别)的一个想法 - 问题: 通过动作特点能识别识别身份吗(区分个体,个人的唯一性标示特征,fingerprint)?如果能,怎么样做? - 考虑可能性:整体协同的动作频谱,方向,速度,滞后性,等,加上体型特征,速度场等等... - 方案流程: (1) 大销量学习视频(Google 手术机器人) (2) 提取人体关键点 --> 相关性分析,提取特征(本征值,本征矢等) --> 分类网络训练 (3) 图像分割后像素点的分布特点和时间序列 ### 相关性分析 方案 - $$N$$ 个关键点坐标: 3维实体 $$r(t) \in R^{3N} $$, 2维图像 $$r(t) \in R^{2N} $$,$$t\in [0,T]$$ - 构造运动的协方差矩阵 $$A$$: ```math A_{ij}= \frac{E_t [(r_i(t) - \bar r_i)\cdot (r_j(t) - \bar r_j)]}{\sigma_i \sigma_j} ``` Where the time-average means $$E_t[f(t)] = \sum_{k=0}^L f_k$$, supposing $$T=L\delta t $$ and $$\delta t$$ is time step. 另外,为了考虑运动的滞后关联性,更一般地定义 时间滞后 协方差矩阵 $$ A^M=A(M\delta t)$$: ```math A_{ij}^M= \frac{E_t [(r_i(t) - \bar r_i)\cdot (r_j(t+M\delta t) - \bar r_j)]}{\sigma_i \sigma_j} ``` 然后,计算特征值 $$\lambda_i^M$$ 及其相应特征矢量 $$v_i$$ ```math A v_i = \lambda _i^M v_i ``` (要求 $$|v_i|=1$$ ?) 开始定义的协方差矩阵$$A$$ 可以作为这里$$M=0$$ 时特殊情况。 $$v_i$$方向运动的频率记为 $$\omega_i^M=\sqrt{\lambda_i^M}$$ - 构造行为ID 识别特征空间 $$\Lambda^{M,K}_T $$ ```math \Lambda^{M,K}_T =\{ \{ \omega_k^0 , v_k^0 \}_{k=1}^K,\{ \omega_k^M , v_k^M \}_{k=1}^K, \{ \omega_k^{2M} , v_k^{2M} \}_{k=1}^K,... \} ``` 对于视频来说,$$T,M,K$$ 都是可调参数。 **问题:** 对应一个运动模式的动作幅度在哪里?(类似于FFT的系数?) ** (1)其它组合方式,(2)也可以加入其它特征一起,(3)归一化等的考虑 !** - **ID 识别训练** 对 $$\Lambda $$ 聚类,或者构造分类网络,对 特征时间序列 分类: 可对 公共数据集,也可对我们的课堂数据训练和测试。 - 因为特征(包括其它特征)、参数取法和组合方式较多,可考虑设计机器学习的方法来学习参数 --- 用 机器学习来训练机器学习 ! <br></br> ## 关于“人体姿态估计(human pose estimation) 人体姿态估计,就是通过将图片中已检测到的人体关键点正确的联系起来,从而估计人体姿态。人体关键点通常对应人体上有一定自由度的关节,比如颈、肩、肘、腕、腰、膝、踝等。通过对关键点在空间中的相对位置进行计算,就可以估计人体当前的姿态,加入时间信息后,我们还可以进一步分析肢体的运动轨迹、频率、幅度等信息。人体姿态估计的关键在于如何识别人体的关键点,目前主流的做法是基于卷积神经网络和监督学习,比如卡耐基梅隆大学的开源项目OpenPose。OpenPose使用卷积神经网络提取图像的Part Confidence Maps 和Part Affinity Fields。得到这两个信息后,使用图论中的 Bipartite Matching(偶匹配)求出Part Association,将同一个人的关节点连接起来,合并为一个人的整体骨架。” **Refs.:** Hünenberger PH1, Mark AE, van Gunsteren WF., Fluctuation and cross-correlation analysis of protein motions observed in nanosecond molecular dynamics simulations, J Mol Biol. 1995 Sep 29;252(4):492-503. ## 吴斯迪 CindyWu 这周进展如何?我又想了一个问题,不知道你感不感兴趣,就是关于含时间的计算方法,我觉得我们一直没做好,不管是ode的还是Pde的。如果你要感兴趣,这也是一个可以深入做一下的方向,解决我们现在碰到的那些算法和理论问题。 ## 马可颖 - Mursalin, Islam S S, Noman K, et al. Epileptic seizure classification using statistical sampling and a novel feature selection algorithm.[J]. arXiv: Learning, 2019. - Roy S, Asif U, Tang J, et al. Machine Learning for Seizure Type Classification: Setting the benchmark.[J]. arXiv: Learning, 2019. - Anumanchipalli G K, Chartier J, Chang E F, et al. Speech synthesis from neural decoding of spoken sentences[J]. Nature, 2019, 568(7753): 493-498. ### 数据预测 调研总结一下现在做一般的数据预测的模型和方法。 前段时间做的那些作为训练和基础。后面给一个具体的目标,咱们建立一套数据预测的神经网络方法,包括两个问题,一个是根据已有数据预测未来,另一个是用网络来作参数优化,对给定模型里的参数做优化,或者不知道模型,就对预测里面的一些因素(参数)做优化。这个优化也可以通过构造一个优化目标函数(如控制成本最小),作为神经网络里的损失函数来优化。
/
Go to slide: