把分子想象成一座小村庄:每个原子是一位村民,化学键则是村民之间实实在在的关系——有的像点头之交(单键),有的像铁哥们(双键),还有的像生死之交(三键),更有家族式的紧密纽带(芳香键)。现在要请一位 AI 模型来判断“这个村庄整体有多稳定、多活泼”,它不可能瞬间认识所有人,于是它学会了一个办法:先给每位村民建一份身份档案(元素、度数、电荷、手性),再给每段关系贴一个类型标签(键型、共轭、是否在环内),然后让村民们“串门传话”——每个人都把从邻居那里听来的消息,结合自己的经历,再传给下一个人。几轮之后,每个村民的见闻里就揉进了整个村庄的信息。最后,把大家的见识汇总起来,就得到村庄的整体画像。这就是分子图表示与原子-键建模:把化学结构翻译成图,把化学性质变成图上信息的流动与汇总。

岗位关联

掌握分子图与原子-键建模,你就握住了让 AI“读懂”分子的通用语言——这是药物发现、材料设计领域最核心的入门技能,也是从化学数据走向机器学习预测的关键一步。

目录
  1. 可视化演示
  2. 分子图构建
  3. 原子特征编码
  4. 键特征编码
  5. 图神经网络
  6. 反应建模
  7. 实践与挑战
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示分子图节点(原子)与边(化学键)结构、特征编码与消息传递聚合过程,直观理解分子图神经网络的数据基础。

本节配有交互动效(进入视口后自动加载,约 3KB)。

分子图结构表示 分子天然是图结构:原子为节点,化学键为边,构成分子拓扑 不同元素用不同颜色表示,键类型(单/双/三/芳香)用线型区分 G = (V, E), V=atoms, E=bonds

分子图构建

想象你是一位刚上任的村长助理,要为村庄绘制一张“人际关系地图”。你不需要记住每个人的相貌,只需做一件事:每个人是一个圆点,两个人之间有来往就画一条线。这张“点—线图”可以一目了然地看出谁朋友多、谁喜欢独处、哪些人扎堆成小团体。化学家看待分子,用的正是同一种简化智慧:结构式里那么多线条和符号,本质上就是一张“谁和谁相连”的地图。

在计算机眼里,分子不能直接“看”,必须翻译成结构化数据。分子图(Molecular Graph)把每个原子变成图中的一个节点(node),把原子之间的化学键变成连接节点的边(edge)。于是乙醇、苯、蛋白质这些截然不同的体系,统一成了“点与线的集合”,可以被矩阵、向量和张量表达,供神经网络处理。

形式化地写出来,一张分子图就是 G = (V, E)。V 是原子节点的集合,E 是化学键边的集合。这种表示天然保留了分子的拓扑结构:谁连谁、怎么连、有没有环,全在图里。相比把分子写成一行 SMILES 字符串,图表示不丢失连接信息,也为后面“消息沿键流动”的图神经网络铺好了路。

有了这张关系地图,后面的“身份档案”(原子特征)、“关系标签”(键特征)、“串门传话”(消息传递)才有地方落脚。地图画得越准确,村庄画像就越可信——这是整个分子 AI 的地基。

G=(V,E),V={v1,v2,…,vn},E={(vi,vj)∣bond(vi,vj)=1}\displaystyle G = (V, E), \quad V = \{v_1, v_2, \ldots, v_n\}, \quad E = \{(v_i, v_j) \mid \mathrm{bond}(v_i, v_j) = 1\}
一张分子图由“点”和“线”两部分组成:点代表原子,线代表化学键;只要原子间有成键关系,就画一条边。
  1. 图的整体定义G 表示整张分子图,由 V 和 E 两部分组成,对应村庄地图上的“点”与“线”。G=(V,E)G = (V, E)
  2. 原子集合 Vv₁ 到 vₙ 是 n 个原子节点,n 等于分子中的原子总数,就像村庄里村民的总人数。V={v1,v2,…,vn}V = \{v_1, v_2, \ldots, v_n\}
  3. 键集合 E只要两个原子之间存在化学键,就在它们之间加入一条边;没有键就没有边。{(vi,vj)∣bond(vi,vj)=1}\{(v_i, v_j) \mid \mathrm{bond}(v_i, v_j) = 1\}

原子特征编码

光有地图还远远不够——地图上两个圆点长得一模一样,你根本分不清谁是医生、谁是木匠。要让计算机理解化学,必须先给每个原子“建档”:元素是什么、连着几个邻居、带不带电荷、手性朝向哪边。这些属性决定了这个原子在分子里的“性格”。

化学上,原子类型(C/N/O 等)、度数(连了几根键)、形式电荷、杂化方式、手性标记都是关键属性。计算机不能直接理解“氧”这个单词,于是用 one-hot 编码把它变成向量:在所有可能元素的列表中,氧那一位置 1,其余位置 0。这样“元素类型”就从文字变成了数字。

把多个属性向量首尾拼接,就得到这个原子的初始特征向量 h_v^(0)。它就像村民的身份证,之后每一轮消息传递都会在这份档案的基础上不断刷新。档案越详细,村民之间的对话就越有信息量——真实工具(如 RDKit)中原子特征往往有几十上百维,每一个维度都是化学家多年经验的浓缩。

hv(0)=concat(onehot(Zv),  onehot(dv),  onehot(hv))\displaystyle \mathbf{h}_v^{(0)} = \mathrm{concat}\Big(\mathrm{onehot}(Z_v),\; \mathrm{onehot}(d_v),\; \mathrm{onehot}(h_v)\Big)
原子的初始特征向量 = 元素类型独热向量 + 度数独热向量 + 杂化/手性独热向量 首尾拼接而成。
  1. 初始特征向量h_v^(0) 表示原子 v 在第 0 层(尚未开始传消息前)的档案向量,上标 0 代表“起点”。hv(0)\mathbf{h}_v^{(0)}
  2. 元素类型独热Z_v 是原子序数,onehot 把它转成只有一个位置为 1 的向量,相当于“你是氧”这件事的计算机写法。onehot(Zv)\mathrm{onehot}(Z_v)
  3. 度数独热d_v 是原子连接的邻居数,对应村民有几个经常来往的朋友,是判断“社交达人”的关键指标。onehot(dv)\mathrm{onehot}(d_v)
  4. 拼接操作concat 把多个向量首尾相连成更长的向量,档案的每一段分管一个属性,互不混淆。concat(⋅)\mathrm{concat}(\cdot)

键特征编码

关系也有亲疏之分。点头之交和生死之交,对村庄整体氛围的贡献完全不同;化学键同样是分类型的:单键、双键、三键、芳香键各有性格,还有是否共轭、是否在环内这些细微差别。只画一条线而不标注“这是什么关系”,等于在关系地图上丢掉了一半信息。

在分子图中,边也要有自己的特征向量 e_uv。最常见的做法是:把键型(single/double/triple/aromatic)做 one-hot 编码,再追加两个 0/1 指示符——是否共轭、是否在环内。这样模型的每条“关系档案”就是一段结构清晰的编码。

别小看这些小标签。苯环的芳香键让分子异常稳定;共轭体系决定了光电材料的颜色;环内标记帮助模型识别环张力带来的张力能。键特征编码是“关系档案”,与原子特征编码的“身份档案”缺一不可。把两者备齐,村庄的通讯录才算完整,消息才可以在上面流动起来。

euv=concat(onehot(buv),  I[conjuv],  I[ringuv])\displaystyle \mathbf{e}_{uv} = \mathrm{concat}\Big(\mathrm{onehot}(b_{uv}),\; \mathbb{I}[\mathrm{conj}_{uv}],\; \mathbb{I}[\mathrm{ring}_{uv}]\Big)
一条边的特征向量 = 键型独热 + 是否共轭 + 是否在环内的两个 0/1 标记拼接而成。
  1. 边特征向量e_uv 描述原子 u 与 v 之间那段关系的属性,下标 uv 表示“从 u 到 v 的这条键”。euv\mathbf{e}_{uv}
  2. 键型独热b_uv 是键的类型(单/双/三/芳香),onehot 编码后告诉模型这是“点头之交”还是“铁哥们”。onehot(buv)\mathrm{onehot}(b_{uv})
  3. 共轭指示符𝕀 是指示函数,条件成立取 1、不成立取 0,标记这段关系是否处于共轭体系中。I[conjuv]\mathbb{I}[\mathrm{conj}_{uv}]
  4. 环内指示符类似地标记键是否在某个环上,帮助模型理解环张力与芳香性带来的影响。I[ringuv]\mathbb{I}[\mathrm{ring}_{uv}]

图神经网络

现在真正的“魔法”开始了。要判断一个村庄的整体氛围,最笨也最有效的办法是让村民们互相串门:每个人都把自己知道的消息告诉邻居,邻居结合自己的见识后再传给下一个人。几轮下来,远在天边的消息也传遍了全村。图神经网络(GNN)干的就是这件事。

GNN 的核心是消息传递(Message Passing)。每一层做两步:节点从邻居那里收集消息(聚合),再结合自己的旧状态更新自己(更新)。常见的 MPNN(消息传递神经网络)、GCN(图卷积网络)、GAT(图注意力网络)都是这个范式的不同变体,区别主要在于“消息怎么构造、聚合用什么权重”。

用公式看:第 t 层中,邻居 u 传给节点 v 的消息,由发送方特征、接收方特征和键特征共同生成;v 随后聚合所有邻居消息并更新自己。经过 T 层,每个节点的特征里就“揉进”了 T 跳范围内的邻里信息。工程上常用 2-6 层,再配合残差连接、跳跃连接来缓解过平滑问题。

当消息传遍全村,最后一步是“全村总结会”:把所有村民的最终见识汇总成一个向量,代表整座村庄的性格。这就是图读出操作(graph readout)。村庄的故事讲圆了,分子的故事也就讲完了。

mu→v(t)=MSG(hu(t),hv(t),euv),hv(t+1)=UPD(hv(t),  AGG({mu→v(t)}u∈N(v)))\displaystyle \mathbf{m}_{u \to v}^{(t)} = \mathrm{MSG}\Big(\mathbf{h}_u^{(t)}, \mathbf{h}_v^{(t)}, \mathbf{e}_{uv}\Big), \qquad \mathbf{h}_v^{(t+1)} = \mathrm{UPD}\Big(\mathbf{h}_v^{(t)}, \; \mathrm{AGG}\big(\{\mathbf{m}_{u \to v}^{(t)}\}_{u \in \mathcal{N}(v)}\big)\Big)
先由邻居构造“消息”,节点把收到的所有消息聚合起来,再与自己的旧状态融合,就得到新状态——这就是一轮图神经网络。
  1. 构造消息第 t 轮中,邻居 u 结合自己的状态 h_u、接收者 v 的状态 h_v 与键特征 e_uv,生成一条“话”,这就是消息。mu→v(t)=MSG(hu(t),hv(t),euv)\mathbf{m}_{u \to v}^{(t)} = \mathrm{MSG}(\mathbf{h}_u^{(t)}, \mathbf{h}_v^{(t)}, \mathbf{e}_{uv})
  2. 邻居集合𝒩(v) 是与 v 有键直接相连的所有原子,相当于 v 的通讯录。N(v)={u∣(u,v)∈E}\mathcal{N}(v) = \{u \mid (u, v) \in E\}
  3. 聚合消息AGG 把 v 收到的所有消息汇总成一个综合向量,对应村民把大家的八卦归纳成几条要点。av(t)=AGG({mu→v(t)})\mathbf{a}_v^{(t)} = \mathrm{AGG}\big(\{\mathbf{m}_{u \to v}^{(t)}\}\big)
  4. 更新状态UPD 把 v 自己的旧档案和汇总消息融合,生成新档案 h_v^(t+1),代表这轮串门后的最新见识。hv(t+1)=UPD(hv(t),av(t))\mathbf{h}_v^{(t+1)} = \mathrm{UPD}(\mathbf{h}_v^{(t)}, \mathbf{a}_v^{(t)})

反应建模

村庄不是静止的。今天张家和李家联姻(成键),明天王家决裂(断键),村庄结构随之改变。化学反应建模,就是让 AI 学会预测:什么样的旧关系会断裂,什么样的新关系可能建立。让模型预测反应,本质上是在问它:“如果这个村庄明天要变,最先变的会是哪几段关系?”

预测反应通常落到“反应中心预测”上。模型对图上每个键输出两个概率——断键概率和成键概率。做法是把键两端的原子最终特征和键特征拼接起来,喂给一个多层感知机(MLP),再用 softmax 把原始分数转成 0 到 1 之间的概率。概率最高的那些键,就是模型推测的反应中心。

这些概率经过约束解码,就能生成候选产物。现代工具如分子 Transformer、基于 GNN 的合成规划系统,能在几秒内给出化学家可能要实验好几周的合成建议。当然,村里的事从来不止一条因果链——反应还受温度、溶剂、催化剂和立体化学影响,模型预测的是“可能性”,而非“确定性”。

y^uv=softmax(MLP(hu(F)⊕hv(F)⊕euv))\displaystyle \hat{y}_{uv} = \mathrm{softmax}\Big(\mathrm{MLP}\big(\mathbf{h}_u^{(F)} \oplus \mathbf{h}_v^{(F)} \oplus \mathbf{e}_{uv}\big)\Big)
把一条键两端原子的最终特征与键特征拼成一个向量,经过多层感知机打分,再用 softmax 变成“断键/成键”的概率。
  1. 拼接两端特征⊕ 把 u、v 的最终状态与键特征拼成一个向量 c_uv,作为这条键的“完整档案”,上标 F 表示经过 F 层消息传递后的最终状态。cuv=hu(F)⊕hv(F)⊕euv\mathbf{c}_{uv} = \mathbf{h}_u^{(F)} \oplus \mathbf{h}_v^{(F)} \oplus \mathbf{e}_{uv}
  2. MLP 打分多层感知机从这份完整档案中提取规律,输出每个类别的原始分数。s=MLP(cuv)\mathbf{s} = \mathrm{MLP}(\mathbf{c}_{uv})
  3. Softmax 概率化把原始分数压成 0 到 1 之间的概率且总加和为 1,得到断键/成键的概率。y^uv=softmax(s)\hat{y}_{uv} = \mathrm{softmax}(\mathbf{s})

实践与挑战

这套“村庄建模法”落地在哪里?最亮眼的舞台是药物发现。研究人员用分子图 GNN 预测候选分子的水溶性、毒性、渗透性,在虚拟世界里先过滤一遍,再决定哪些分子值得花重金合成。一个候选药物的实验室评估周期以周计,而 GNN 的推理只要几毫秒,效率差距是数量级的。

但挑战同样真实。第一是小数据困境:化合物性质标签要靠昂贵实验获得,数据量远小于图像和文本,模型容易过拟合。第二是可解释性:模型给出“预测毒性高”,却不告诉你是哪个原子、哪条键导致的,化学家不敢轻信。第三是泛化:训练集覆盖的化学空间有限,遇到全新骨架时预测精度断崖式下跌。

应对思路包括:预训练加微调、图可解释性方法(如 GNNExplainer)、主动学习挑选最有价值的实验,以及把分子生成模型与 GNN 结合,直接在图上设计新分子。图读出操作为整条链路收尾:先池化出图的全局表示,再映射到目标性质。

掌握分子图表示与原子-键建模,你就握住了从化学到 AI 的钥匙。村庄的比喻终会褪去,但“把结构变成图、让信息沿键流动、汇总出全局判断”的思想,会在药物发现与分子生成的实践中持续发光。

hG=READOUT({hv(F)})=1∣V∣∑v∈Vhv(F),y^=MLP(hG)\displaystyle \mathbf{h}_G = \mathrm{READOUT}\big(\{\mathbf{h}_v^{(F)}\}\big) = \frac{1}{|V|} \sum_{v \in V} \mathbf{h}_v^{(F)}, \qquad \hat{y} = \mathrm{MLP}(\mathbf{h}_G)
把所有原子的最终特征做平均池化,得到整张图的表示,再经过一层 MLP 就能预测分子性质,比如水溶性或毒性。
  1. 图级表示h_G 是把全村人的最终档案浓缩成一条“村庄总画像”,对应图的整体特征向量。hG=READOUT({hv(F)})\mathbf{h}_G = \mathrm{READOUT}(\{\mathbf{h}_v^{(F)}\})
  2. 平均池化对每个维度的特征在所有原子上取平均,即“综合所有人的意见”,是最常用的读出方式。hG=1∣V∣∑v∈Vhv(F)\mathbf{h}_G = \frac{1}{|V|} \sum_{v \in V} \mathbf{h}_v^{(F)}
  3. 性质预测总画像再过一个 MLP,输出一个数值或分布,比如水溶性值、毒性概率或反应产率。y^=MLP(hG)\hat{y} = \mathrm{MLP}(\mathbf{h}_G)

AI 应用场景

药物先导化合物 ADMET 初筛

阶段:分子表征与性质预测

解决的问题:传统测定水溶性、毒性、透膜性靠实验室实验,单个化合物成本数千至数万美元、周期以周计。用分子图 GNN 直接从结构预测,几分钟能跑完百万级候选,把钱花在最值得合成的分子上。

具体案例:某药企在新冠口服药研发早期,对 50 万个可合成片段用分子图模型预测肝毒性与 LogP 分配系数,筛出 800 个候选进入实验,实验命中率从约 1% 提升到 15%,相当于把“村民面试”从大海捞针变成定向考察。

逆合成路线规划

阶段:化学反应建模与产物预测

解决的问题:有机化学家面对目标分子,常需翻阅大量文献寻找合成路线,费时且依赖专家经验。反应中心预测模型把目标分子拆解为“哪条键最容易断”,再结合反应模板库推荐原料与路线。

具体案例:用基于 GNN 的反应中心预测模型对目标药分子预测断键位置,结合模板库生成三步以内的合成路线,把路线设计时间从数周压缩到数小时,相当于给村庄请了一位“最优联姻顾问”。

Python 演示

python66 行
import numpy as np  def onehot(idx, size):    vec = np.zeros(size)    vec[idx] = 1.0    return vec  ATOM_SIZE = 5      # 氢,碳,氮,氧,氟DEGREE_SIZE = 4    # 度数取值 0-3FEAT_SIZE = ATOM_SIZE + DEGREE_SIZE + 1   # 最后一个维度是电荷MSG_DIM = 8  def atom_feat(atom):    z = {'H': 0, 'C': 1, 'N': 2, 'O': 3, 'F': 4}[atom[0]]    deg, chg = atom[1], atom[2]    return np.concatenate([onehot(z, ATOM_SIZE),                           onehot(deg, DEGREE_SIZE),                           np.array([chg])])  def build_mol():    # 水分子: 氧原子连接两个氢原子    atoms = [('O', 2, 0), ('H', 1, 0), ('H', 1, 0)]    bonds = [(0, 1), (0, 2)]     # 两条 O-H 单键    return atoms, bonds  def message_pass(atoms, bonds, rounds=2):    n = len(atoms)    H = np.stack([atom_feat(a) for a in atoms])    adj = [[] for _ in range(n)]    for (u, v) in bonds:        adj[u].append(v)        adj[v].append(u)    W_msg = np.random.RandomState(0).randn(MSG_DIM, FEAT_SIZE) * 0.2    W_upd = np.random.RandomState(1).randn(FEAT_SIZE, MSG_DIM + FEAT_SIZE) * 0.2    for _ in range(rounds):        newH = []        for v in range(n):            msg_sum = np.zeros(MSG_DIM)            for u in adj[v]:                msg_sum += np.tanh(W_msg @ H[u])            inp = np.concatenate([H[v], msg_sum])            newH.append(np.tanh(W_upd @ inp))        H = np.stack(newH)    return H  def readout(H):    hG = H.mean(axis=0)          # 平均池化得到图级特征    coef = np.random.RandomState(2).randn(FEAT_SIZE)    return float(np.tanh(hG @ coef))  def main():    atoms, bonds = build_mol()    H = message_pass(atoms, bonds)    print('原子特征矩阵形状:', H.shape)    print('水分子疏水性得分:', round(readout(H), 4))  if __name__ == '__main__':    main()
目的:用 NumPy 从零实现水分子图的构建、原子特征编码、两轮消息传递和图级读出,演示分子图神经网络的核心流程。
  1. vec[idx] = 1.0编号对应的位置点亮为 1,其余保持 0,这就是 one-hot 编码
  2. atoms = [('O', 2, 0), ('H', 1, 0), ('H', 1, 0)]用三元组(元素、度数、电荷)描述每位“村民”的身份档案
  3. adj[u].append(v)把键转成双向邻居表,相当于给每个村民建立通讯录
  4. msg_sum += np.tanh(W_msg @ H[u])邻居原子特征经过矩阵变换后成为一条“话”
  5. np.concatenate([H[v], msg_sum])自己旧档案与汇总消息拼接,准备“更新状态”
  6. H.mean(axis=0)对原子维度求平均池化,得到村庄总画像
  7. if __name__ == '__main__':保证脚本可直接运行,整条流水线一气呵成

常见误区

误区我把分子图中原子的编号顺序打乱,GNN 输出的预测值应该会变,因为输入顺序不同了。

正解分子图本质上对原子排列不变。GNN 的聚合操作对邻居做的是求和、求平均等对称运算,不依赖编号顺序;只要图结构(谁连谁)不变,同一分子的预测结果就不会变。这正是图表示比固定顺序的字符串更适合分子建模的原因。

为何常见:图像和文本模型都依赖输入顺序,初学者容易把“顺序敏感”的惯性思维带进图模型。

误区分子图里只要有边就够了,单键、双键、芳香键不用区分,反正都是连接关系。

正解键的类型直接决定分子性质:双键比单键短且硬,芳香键带来环稳定,共轭键影响光学性质。必须把键型、共轭、环内标记编码进边特征,否则模型会把苯环和环己烷当成一回事,预测必然失真。

为何常见:经典图论课程里边通常没有类型,初学图网络时容易沿用“无向无权图”的简化假设。

误区想让模型理解整个分子,就使劲堆 GNN 层数,层数越多信息传递越充分、效果越好。

正解层数太深会引发过平滑:每个节点反复聚合邻居信息后,所有节点特征趋于一致,节点变得“面目模糊”,反而丢掉局部多样性。工程上常用 2-6 层,并配合残差连接、跳跃连接来缓解。

为何常见:“更深的网络更好”在图像和文本领域确实常见,但这种直觉不能直接照搬到图模型上。

误区化学反应就是旧键断裂新键生成,所以预测反应中心就是找分子中键能最小的那条键。

正解反应还受试剂、溶剂、温度、催化剂与立体化学共同影响,键能只是一个因素。反应中心预测模型学到的是“在给定环境下最可能变化的键”,需要把反应条件也作为输入特征,否则预测不可靠。

为何常见:中学化学强调“断键吸热、成键放热”,容易让人误以为键能是唯一决定性判据。

面试题

Q1. 在分子图表示中,图中的“节点”(node)通常代表什么?

单选题 · easy

  • A.化合物的名字
  • B.分子中的原子← 正确答案
  • C.化学键的类型
  • D.分子的整体属性

答案:B。分子图把原子当节点、化学键当边,正如村庄地图上村民是点、关系是线。A 的名字是文本标注而非结构;C 的键属于边;D 的整体属性需要经过读出操作才能得到,不是节点本身。故选 B。

Q2. 下列哪项是原子特征编码的主要作用?

单选题 · easy

  • A.把类别变成数值向量← 正确答案
  • B.把向量变成标量
  • C.压缩分子数据体积
  • D.增加化学键的数量

答案:A。one-hot 编码把“元素类型、度数、电荷”等类别信息变成计算机可计算的数值向量,相当于给村民办身份证。B 方向反了,编码是把标量类别变向量而非把向量变标量;C、D 与编码目的无关。

Q3. 键特征编码中,共轭和“是否在环内”通常用什么形式标记?

单选题 · easy

  • A.独热编码法
  • B.布尔指示符← 正确答案
  • C.字符串匹配法
  • D.邻接矩阵法

答案:B。共轭与环内标记是二值属性,用 0/1 指示符最直接,𝕀[条件] 就是“成立记 1,不成立记 0”。键型才用独热,字符串匹配不适用于数值特征,邻接矩阵描述的是整图连接关系而非单条键属性。

Q4. 消息传递范式中,“聚合”(AGG)这一步做的事情是?

单选题 · mid

  • A.把邻居消息汇总← 正确答案
  • B.删除无用节点
  • C.增加网络层数
  • D.改变分子形状

答案:A。聚合就是把一个节点收到的所有邻居消息汇总成综合向量,类似村民把大家的八卦归纳成要点。B 删除节点、C 增加层数、D 改变形状都不是聚合的职责,聚合只处理“消息”本身。

Q5. 图读出操作(readout)的主要用途是?

单选题 · mid

  • A.预测整个分子性质← 正确答案
  • B.计算单个原子电荷
  • C.生成分子的二维图
  • D.拆分分子化学键

答案:A。读出操作把全部原子的最终特征汇总成整张图的表示,进而预测水溶性、毒性等分子级性质,相当于“全村总结会”。B 描述的是原子级任务,C 是可视化,D 是反应建模中的断键任务,均非读出操作。

Q6. 反应中心预测中,模型对分子中的每条键输出什么?

单选题 · hard

  • A.断键与成键的概率← 正确答案
  • B.重新绘制结构式
  • C.计算分子总能量
  • D.统计全部原子数量

答案:A。反应中心预测把每条键的特征向量喂给 MLP,经 softmax 输出断键/成键概率,概率最高的键即最可能发生变化的“关系”。B 是生成任务,C 是量子化学计算,D 只是统计操作,都不属于反应中心预测。

Q7. 药物性质预测中最常见的真实挑战是?

单选题 · hard

  • A.标注数据规模小← 正确答案
  • B.化学键数量太少
  • C.分子结构太简单
  • D.模型参数太少

答案:A。化合物性质标签要靠昂贵实验获得,数据规模远小于图像和文本,这是药物 AI 的头号痛点。B、C 与实际不符,分子结构和键数量并不少;D 模型参数反而常常过多,容易在小数据上过拟合。

Q8. 下列哪些属于原子特征编码的内容?

多选题 · mid

  • A.元素类型← 正确答案
  • B.原子度数← 正确答案
  • C.键的共轭
  • D.形式电荷← 正确答案

答案:ABD。原子特征编码包括元素类型(村民的“职业”)、度数(朋友数量)、形式电荷(“心情状态”)等;C 的共轭是键(边)的特征,属于键特征编码的范畴,不应混入原子档案。

Q9. 分子图的边特征通常包括哪些?

多选题 · mid

  • A.单双三键类型← 正确答案
  • B.芳香环标记← 正确答案
  • C.原子的序数值
  • D.共轭指示符← 正确答案

答案:ABD。边特征描述“关系”本身:键型(单/双/三/芳香)、是否共轭、是否在环内。C 的原子序数是原子节点的属性,描述的是“村民身份”而非“村民间的关系”,所以不属于边特征。

Q10. 关于图神经网络的过平滑现象,下列说法正确的是?

多选题 · extreme

  • A.层数过多导致特征趋同← 正确答案
  • B.所有节点特征趋于一致← 正确答案
  • C.模型性能必然提升
  • D.增加层数能完全消除

答案:AB。过平滑指层数过多时,每个节点反复聚合邻居信息,最终所有节点特征趋于一致,节点“面目模糊”,信息多样性和判别性同时下降。因此 C 的“性能必然提升”和 D 的“增加层数能完全消除”都错,实际应增加层数反而加剧过平滑。