0

0

数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science

WBOY

WBOY

发布时间:2024-08-09 08:51:18

|

734人浏览过

|

来源于机器之心

转载

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

数百万晶体数据训练,解决晶体学相位问题,深度学习方法phai登science

编辑 | KX

时至今日,晶体学所测定的结构细节和精度,从简单的金属到大型膜蛋白,是任何其他方法都无法比拟的。然而,最大的挑战——所谓的相位问题,仍然是从实验确定的振幅中检索相位信息。

丹麦哥本哈根大学研究人员,开发了一种解决晶体相问题的深度学习方法 PhAI,利用数百万人工晶体结构及其相应的合成衍射数据训练的深度学习神经网络,可以生成准确的电子密度图。

研究表明,这种基于深度学习的从头算结构解决方案方法,可以以仅 2 埃的分辨率解决相位问题,该分辨率仅相当于原子分辨率可用数据的 10% 到 20%,而传统的从头算方法通常需要原子分辨率。

相关研究以《PhAI: A deep-learning approach to solve the crystallographic phase problem》为题,于 8 月 1 日发布在《Science》上。

数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science

论文链接:https://www.science.org/doi/10.1126/science.adn2777

晶体学是自然科学中的核心分析技术之一。X 射线晶体学为晶体的三维结构提供了独特的视角。

为了重建电子密度图,必须知道足够多的衍射反射的复杂结构因子 $F$。在传统实验中,只能获得振幅 $|F|$,而相位 $phi$ 会丢失。这是晶体学相位问题。

数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science

图示:标准晶体结构测定流程图。(来源:论文)

20 世纪 50 年代和 60 年代取得了重大突破,KarleHauptmann** 开发了用于解决相位问题的所谓直接方法。但直接法需要原子分辨率的衍射数据。然而,原子分辨率的要求是一种经验观察。

近年来,传统的直接方法已被对偶空间方法所补充。目前可用的从头算方法似乎已达到极限。相位问题的普遍解决方案仍然未知。

从数学上讲,结构因子振幅与相位的任何组合都可以进行逆傅里叶变换。然而,物理和化学要求(例如具有原子状电子密度分布)对与一组振幅一致的相位的可能组合施加了规则。深度学习的进步使得人们能够探索这种关系,也许比目前的从头算方法更深入。

在此,哥本哈根大学的研究人员采用了数据驱动的方法,使用数百万个人造晶体结构及其相应的衍射数据,旨在解决晶体学中的相位问题。

一览AI绘图
一览AI绘图

一览AI绘图是一览科技推出的AIGC作图工具,用AI灵感助力,轻松创作高品质图片

下载

研究表明,这种基于深度学习的从头算结构解决方案方法,可以在仅最小晶格平面距离(dmin)= 2.0 Å 的分辨率下执行,只需要使用直接方法所需数据的 10% 到 20%。

神经网络的设计与训练

构建的人工神经网络称之为 PhAI,接受结构因子振幅 |F| 并输出相应的相位值 ϕPhAI 的架构如下图所示。

数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science

图示:PhAI 神经网络方法解决相位问题。(来源:论文)晶体结构的结构因子数量取决于晶胞大小。根据计算资源,对输入数据的大小设置了限制。输入结构因子振幅是根据 Miller 指数 (h、k、l) 服从

数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science

1. 反射来选择的。
也就是,限制在原子分辨率下晶胞尺寸约为 10 Å 的结构。此外,选择了最常见的中心对称空间群 P21/c。中心对称性将可能的相位值限制为零或 π rad。
  1. 研究使用主要包含有机分子的人工晶体结构训练神经网络。创建了大约 49,000,000 个结构,其中有机晶体结构占 94.29%,金属有机晶体结构占 5.66%,无机晶体结构占 0.05%。
  2. 神经网络的输入由振幅和相位组成,它们由卷积输入块处理,添加并输入到一系列卷积块(Conv3D)中,然后是一系列多层感知器(MLP)块。来自线性分类器(相位分类器)的预测相位通过网络循环 Nc 次。训练数据是通过将 GDB-13 数据库中的金属原子和有机分子插入到晶胞中生成的。生成的结构被组织成训练数据,从中可以计算出在采样温度因子、分辨率和完整性时的真实相位和结构因子振幅。
    解决真实结构问题
  3. 经过训练的神经网络在标准计算机上运行,计算需求适中。它接受 hkl 索引列表和相应的结构因子振幅作为输入。不需要其他输入信息,甚至不需要结构的晶胞参数。这与所有其他现代从头算方法有着根本区别。网络可以即时预测并输出相位值。
  4. 研究人员使用计算得出的真实晶体结构的衍射数据测试了神经网络的性能。共获得 2387 个测试用例。对于所有收集的结构,考虑了多个数据分辨率值,范围从 1.0 到 2.0 Å。为了进行比较,还使用了电荷翻转方法来检索相位信息。

    数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science

    图示:相位和真实电子密度图之间的相关系数 r 的直方图。
    (来源:论文)

经过训练的神经网络表现出色;如果相应的衍射数据分辨率良好,它可以解决所有测试结构(N = 2387),并且在从低分辨率数据中解决结构方面表现出色。尽管神经网络几乎没有针对无机结构进行训练,但它可以完美地解决此类结构。

电荷翻转法在处理高分辨率数据时表现优异,但随着数据分辨率的降低,其产生合理正确解的能力逐渐下降;然而,它仍然以 1.6Å 的分辨率解决了大约 32% 的结构。通过进一步试验和更改输入参数(例如翻转阈值),可以改善通过电荷翻转确定的结构数量。

在 PhAI 方法中,这种元优化是在训练期间执行的,不需要由用户执行。这些结果表明,在晶体学中必须有原子分辨率数据才能从头算相位的普遍观念可能被打破。PhAI 仅需要 10% 至 20% 的原子分辨率数据。

这一结果清楚地表明,原子分辨率对于从头算方法来说不是必需的,并为基于深度学习的结构测定开辟了新途径。

这种深度学习方法的挑战是扩展神经网络,也就是说,较大晶胞的衍射数据将需要大量的输入和输出数据以及训练期间的计算成本。未来,需要进一步研究,将该方法扩展到一般情况。

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

356

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2077

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

348

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

255

2023.09.05

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

325

2023.10.09

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

411

2023.10.16

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

408

2023.10.16

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

221

2023.10.19

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

58

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 3万人学习

Django 教程
Django 教程

共28课时 | 3.5万人学习

MySQL 教程
MySQL 教程

共48课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号