社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

ACM 杰出会员姬水旺:量子化学和物理的深度学习

AI科技评论 • 2 年前 • 196 次点击  

整理丨汪浩文

校对丨维克多

量子技术和人工智能都是当前最先进的科学技术,前者被寄希望于拥有超强的计算能力,后者已经在各行各业“大杀四方”。当两者相遇会碰撞出什么样的火花?人工智能又能在哪些方面助力量子技术?

去年12月份,德州农工大学计算机科学与工程系(校长有影响力)教授姬水旺在CNCC大会上发表了《量子化学和物理的深度学习》的演讲,表达了他对两个学科的感想。

“量子打破了我们很多常识性的理解,在量子状态世界的运行并不确定,我们最多只能预测各种结果出现的概率。”

此外,他还表示,量子的研究对象虽然是原子层级甚至亚原子层级的物体,但与宏观规则也有相通之处,例如可以把分子之间的结构看成一张图,进行处理。

姬水旺,2010 年获得亚利桑那州立大学计算机科学博士学位,导师为叶杰平教授。研究兴趣包括机器学习、深度学习、数据挖掘和计算生物学,于 2014 年获得美国国家科学基金会职业奖。2020年当选为ACM 2020杰出会员。

以下是演讲全文,AI科技评论做了不改变原意的整理。

大家好,今天我将着重谈谈如何运用AI以及图形计算技术来解决量子物理及量子化学问题。

首先让我们来了解一些背景:在经典物理学领域,我们讨论的是宏观世界中的物体或者现象。比如,你朝一个球踢了一脚,如果你知道球的具体质量、速度以及当前的时间,你就能预测出五秒后这个球的位置。但是在量子领域,由于研究对象是原子层级甚至亚原子层级的物体,例如原子和化学键组成的分子,因此无法按照传统逻辑思考领域规则。

近些年,我们不断与各个领域的专家合作,希望从量子物理学家、量子化学家、量子材料学家等身上获得研究突破。这些不同领域的学者都有一些共同需要研究的话题,而这些话题与图像、AI、尤其是深度学习相关联。现在我来汇报最新进展。



1

AI遇上量子化学

分子由原子及原子间的化学键构成,例如在分子中,原子用点表示,而分子则由线表示。所以能够将分子以2D图形的形式呈现出来。在机器学习和数据挖掘领域,图形计算是一个老生常谈的话题。但迁移到分子领域,也面临新的挑战:2D图形的形式并不能完全挖掘分子的属性。毕竟,分子实际上不是一个2D的平面,其具有三维空间属性的。它的结构并不只由点和线的属性决定,而同时由空间坐标、化学键角等等决定。因此,在探索分子功能时,需要重视它的三维结构。

如何高效地利用分子的空间信息去进行预测及生成模型?消息传播神经网络(Message Passing Neural Network, MPNN)是一种常用的图神经网络框架。我们能发现,此类方法可以归纳为两个方程:聚合函数和节点更新函数。聚合函数能将把邻居节点的信息聚合起来。

当我们尝试计算一个节点的信息时,基本上都会考虑节点在上个时间点本身的属性以及中介节点的属性,以及边界的信息。计算聚合函数之后,需要利用节点更新函数,这一步要求能够利用之前步骤的信息与属性,更新现在的节点信息。但此举只是简单地考虑了节点及边界的特征。所以,我们近期的工作就是尝试构建三维图形计算网络,以便能够获取完整的三维信息。

一旦需要纳入三维信息,计算网络将变得非常复杂,且信息传递也将变得低效。所以我们希望网络在高效的同时,让计算变得等效与稳定。如果有一个分子,当你旋转这个分子时,他的很多2D属性也许不会改变,但3D信息却不一定;因此,我们希望在预测及生成模型中,当分子的一个节点旋转时,它的量子属性也保持稳定。

模型的预测功能是指预测一个给定分子的属性,例如,我们可以预测分子是否有作为抗生素的潜力。而生成模型是指根据给定的属性去生成/合成相应的新分子。

当前,已经有不少研究者将3D属性纳入考量了。其中一个最早的工作叫SchNet,他们将距离作为三维属性纳入。即使用SchNet意味着会考虑边界以及边界的长度。。最近也有一个工作叫DimeNet。DimeNet在SchNet的基础上更进一步,因为它将角度纳入了考量。例如你有从j到i的信息,你需要计算mi,j,那么需要不仅仅将节点信息纳入考量,还需要考虑两个化学键之间的角度。

但在化学中,我们发现仅仅考量距离和几何形状是远远不够的。如上图,红色部分代表了一个并不真实存在的平面,蓝色部分也是如此。分子拥有几何形状,但是仅仅知道三条化学键的距离、两个键角是没法完全确定分子的几何形状的。

让我们思考一下,d1,d2确定的平面与由d2,d3确定的平面之间会存在一个φ角。也正是这个角,成为了上述模型中的不确定因素。因为即使拥有相同的两个键角时,而φ角不断改变,导致分子的几何形状也会发生改变。

我们尝试构建的是一个完整的、能够解决所有情况的几何框架,称之为球形信息传递。

为了解决上述问题,将φ角纳入了考量,φ角是X与他的投影之间的夹角。

此举的一个考量是:必须让呈现出来的分子是稳定不变的。例如,当旋转分子时,它们的属性,例如所有的夹角,应当不发生变化。。在球形信息传递中,我们构建一个球坐标系,包括参照点、距离和扭角。但此模型不是100%完美的。

因为仅仅考虑了一个对照,所以当考虑其他节点时就会出现不确定因素。所以我们的工作是不完美但是非常具有效率的。

最近有一个叫GemNet的系统,他们的想法是,我们的系统仅仅使用了的A节点的邻居节点的信息,并没有使用2-hop领域信息。GemNet科学家认为,当你使用了2-hop领域信息时,这个系统将会趋近完善。确实,当你使用2-hop领域信息时,角度信息将被较好地合并,并且达到近乎完善的效果,但是问题在于,一旦你使用了2-hop信息,信息更新后将纳入大量地邻居节点,整个信息更新步骤将变得异常复杂。

相较之下,我们的系统虽然不是100%的完善,但更具效率,能够直观地看到复杂程度:n代表节点的数量,K则是所有节点的平均自由度。在实际效果上,我们的模型与更复杂的GemNet十分相近。

下图能够清晰地展示我们的模型能或不能表示哪些情况。a图和b图表示的是在化学上被称为手性的现象。

事实上,这两个分子就像是镜像。我们设计的网络能够区分这两种情况,而之前很多的方法并不能做到。因为在我们的方法中,我们用到了扭角作为相对角度,而在手性这个例子中,二者q1的角度分别为60°和90°。但是,在第二种情况下,q1的扭角都为90°,所以我们的方法无法区分出来。第二种情况也是被社区的同行们指出“希望更正”的情况,但是从化学意义上说,这种情况发生的概率非常非常低,因为q2和q3作为不同的原子,他们与q1之间的扭角相同的情况几乎不可能发生。所以我们认为,尽管我们的模型不是100%覆盖了所有的情况,无法覆盖的情况在自然界中很难发生。



2

AI遇到量子力学

当我们开始着眼于量子力学时,薛定谔方程为我们提供了解答思路。如果你知道距离角和扭角的数值,你可以使用方程中的不同函数,例如球面谐波和球面贝塞尔函数,也可以使用其他的基本函数去收集Θ值,并最终得到一个特征向量。这是一个具有物理意义的特征向量,能够在实际的信息传递中使用。

下图是系统构建过程。有输入模块,一个采用扭转角和距离信息作为输入的交互模块,这个交互模块可能会重估很多次,这个重复的次数将取决于你的数据量。最后是输出模块,有了这个模块,能够使信息传递用于一些赛事当中,例如公开催化剂挑战。

公开催化剂挑战赛是一个由Facebook AI和CMU发起的竞赛。赛事的宗旨是利用新的大规模分子数据去预测热力学数据。在催化剂发现领域,这些目标分子通常都相对较大,每个分子在结构上平均含有80个原子。

所以他们根据训练与测试的关系将数据集分为四组,打分是根据每一个绝对误差的平均值,来评价系统能够测量的最佳质量。每一行代表一个模型,CGCNN来自一个利用模型研究分子的公司,还有SchNet,DimeNet以及GemNet。大家能看到,在所有的系统中,SphereNet能够占据一个非常有竞争力的地位。

上图是来自其他数据集QM9的结果。这是一个相对较小的数据集,每一列代表了一个量子属性,每一行代表了一个预测方法,从表中能够看到每个方法在不同属性上的平均误差。

在其他数据集上我们的系统也是成功的,例如MD17,这是一个更小的数据集。正如我们提到的,GemNet因为使用了2-hop数据,计算力需求更大,所以只能用在较小的数据集当中。

正如上图所见,就算在较小的数据集中,我们系统的表现也稍优于DimeNet,与GemNet相比表现也相差无几,但GemNet的计算消耗更大。

下图计算消耗的比较。截至目前,与两代的GemNet计算相比,我们的计算消耗都是要小得多的。

下图展示了系统的过滤器。正如所见,每行代表的分子具有不同的扭角,而在很多情况下我们的过滤器展示的结果在不同扭角下是非常不同的,这也印证了扭角参数在捕获不同分子模式时是非常重要的。

简单小结一下,我们的想法是尝试将分子的三维信息完整地展示出来,所以我们构建了SphereNet 框架。并且框架是理论上近乎完善且非常高效的,从实际效果上来看我们的框架可能已经是100%覆盖的了,我们在这个方向上也有了很多的进展。

目前,相关工作已经开源,设计成了“dive into graphs”库。

特别的,对于分子研究应用,我们有一个专门的库叫做“molecule X”。如果你关注KDD比赛,你会了解我们是图形神经网络计算领域的领先者之一,我们也参与了AI Cures 针对Covid-19的开放挑战目前我们在AUCROC和AUPRC上的成绩都是排名第一。

因此我们的工作主要是开发全新的图像处理技术,从而解决基础科学领域尤其是量子化学、量子物理、材料科学中的问题。我的团队开发了计算方法、开源了软件库并在会议、期刊中发表了我们的成果。同时,我们也参与了多项开放挑战,如KDD杯。

我们的研究人工智能和量子物理的交叉领域,在量子物理中,是以薛定谔方程为基础的。相应的研究花费非常昂贵,如果构建粒子系统,需要庞大的算力支持才能解决特征值问题。但将量子物理与AI计算结合起来,将是一个非常火热的领域,目前,该领域仍处在探索阶段。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131499
 
196 次点击