如果把一个药物分子放大一万倍,它会像一座微型城市:原子是性格各异的居民,化学键是他们之间每天打交道的街道。这座城市的整体气质——能否治病、会不会有毒、容不容易溶解——不是某个居民说了算,而是无数条邻里关系共同作用的结果。传统药物研发,就像在成千上万座这样的城市里漫无目的地挨家敲门做问卷,一敲就是十年,烧掉的钱足够修一条高速铁路。图神经网络(GNN)则像一位聪明的社区情报员:它先把城市画成一张地图,然后挨家挨户收集邻居信息,几轮“串门”之后就能给整座城市写出一份靠谱的报告。今天这篇文章,就带你跟着这位情报员走一遍:分子图如何表示、消息如何在原子之间传递,以及在药物发现最关键的虚拟筛选和先导优化环节,这套方法如何把“大海捞针”变成“按图索骥”。

岗位关联

对 AI 从业者而言,掌握图神经网络在药物发现中的应用,等于打开生物医药与深度学习的交叉赛道:你能把分子性质预测、虚拟筛选、先导优化从实验室流程变成可计算、可扩展的算法产品。

目录
  1. 可视化演示
  2. 药物研发之痛
  3. 分子图表示
  4. GNN消息传递
  5. 分子性质预测
  6. 虚拟筛选
  7. 先导化合物优化
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示分子图构建、GNN消息传递编码和分子性质预测三阶段流程,可视化原子节点如何通过图神经网络聚合信息并预测药物属性。

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

分子图构建模式 原子(C/N/O/S)映射为图节点,化学键映射为边 节点特征含原子类型、杂化方式等 G = (V, E), V=atoms, E=bonds

药物研发之痛

假设你是城市规划师,受托在上万座微型城市里选一座适合建疗养院的小城。每座城市只有几十个居民,可每个居民脾气秉性都不同:有的活泼,有的易燃,有的怕水。传统做法是派考察队挨家挨户做问卷,一轮一轮测试,一座城市要耗上几年。排队的城市太多,方案还没定,考察队已经换了三代。

这就是传统药物研发的缩影。候选分子成千上万,最终成药寥寥无几;分子的溶解度、毒性、代谢稳定性由几十个原子的微妙连接关系决定,很难凭经验一眼看穿。一条完整管线平均要花 10—15 年,耗资超过 10 亿美元,临床阶段成功率常常不足 10%。大量成本浪费在“合成—测试—失败—再合成”的循环里。

AI 破局的关键,是把化学结构变成机器能计算的拓扑数据。分子天然是一张图:原子是节点,化学键是边。图神经网络可以在这张图上学习“什么样的结构更容易成药”,在湿实验之前给出预测。下面这个公式,把传统模式的残酷成功率摆上了台面:

正因为成功率这么低,人类才需要一位不会累的“情报员”。GNN 先读图、算分、排序,把成功率最高的城市挑出来,研究者再集中火力做实验——于是十年长征被压缩成一张候选名单。

P成功=N获批N进入临床\displaystyle P_{\text{成功}} = \frac{N_{\text{获批}}}{N_{\text{进入临床}}}
最终获批的新药数量,除以进入临床阶段的候选分子总数,就是传统药物研发的成功率。
  1. 分子获批数量表示最终通过临床并上市的新药数。好比从一万座城市里,最终确认适合人类长期居住的只有屈指可数的几座。
    N获批N_{\text{获批}}
  2. 进入临床数量表示进入临床试验阶段的候选分子总数,也就是被选中接受“实地考察”的城市数量。这个数字看起来很大,但绝大多数都在考察后半途被淘汰。
    N进入临床N_{\text{进入临床}}
  3. 成功率比值获批数除以进入临床数,得到不足 10% 的成功率,直观说明传统模式投入大、产出少。
    P成功=N获批N进入临床P_{\text{成功}} = \frac{N_{\text{获批}}}{N_{\text{进入临床}}}

分子图表示

情报员上岗的第一件事,是画城市地图。他不会只拍一张照片,而是把每个居民登记成一张卡片,记录年龄、职业、性格;再把居民之间日常来往的街道标出来,形成一张真正的连接网络。这张网,就是分子图。

技术地说,分子图记作 \(G=(V,E)\),其中 \(V\) 是原子集合,\(E\) 是化学键集合。每个节点 \(x_v\) 记录元素类型、电荷、手性、杂化状态等信息;每条边记录键型(单键、双键、芳香键)以及是否共轭。把这些特征堆叠成矩阵,就是 GNN 的输入。构建分子图时,通常从 SMILES、SDF 或 3D 构象出发,过程中必须保留原子类型与键序信息,必要时补全氢原子和立体化学信息,否则就像地图上漏标一条小路,情报员很容易误判。

地图画好了,情报员终于可以开始挨家挨户串门,进入消息传递环节。

G=(V,E),X∈Rn×d\displaystyle G = (V, E), \quad X \in \mathbb{R}^{n \times d}
分子图由节点集和边集构成,所有原子特征拼成一个 \(n\) 行 \(d\) 列的矩阵,作为 GNN 的起点。
  1. 节点集 V所有原子的集合。城市地图上每个居民都是一张身份证,对应一行特征。
    V={v1,v2,…,vn}V = \{v_1, v_2, \dots, v_n\}
  2. 边集 E所有化学键的集合。每条边连接两个原子,表示二者之间可以传递消息的“邻里关系”。
    E={(u,v)∣u,v∈V}E = \{(u, v) \mid u, v \in V\}
  3. 特征矩阵 X把所有原子特征按行排列,得到一个 \(n \times d\) 的矩阵,其中 \(n\) 是原子数,\(d\) 是每个原子的特征维度。这张“花名册”就是 GNN 的输入。
    X∈Rn×dX \in \mathbb{R}^{n \times d}

GNN消息传递

情报员怎么快速了解一座城市?他不会直接读完一本厚厚的年鉴,而是从任意一个居民开始,挨家挨户地问:你家住着谁?你的邻居是谁?邻居的邻居又是什么样?每问一轮,每个居民对街坊的了解就更深一层。这种“串门式”的信息交换,就是 GNN 的消息传递。

在第 \(k\) 轮,每个节点先收集邻居节点的表示,用平均、求和或注意力机制聚合成一条“街坊简报”,再用带参数 \(W^{(k)}\) 和偏置 \(b^{(k)}\) 的更新函数,把简报与自己的旧表示融合,得到新表示。公式如下:

这样的传递重复 \(K\) 层后,每个原子的表示不再只代表自己,而是包含了 \(K\) 跳邻域的结构信息。对大多数药物分子,3—5 层就足以覆盖全分子。情报员走访完所有街区,把几十个居民的信息浓缩成一张总表——这张表就是分子表示,是后续预测和筛选的“城市密码”。

hv(k)=σ(W(k)⋅1∣N(v)∣∑u∈N(v)hu(k−1)+b(k))\displaystyle h_v^{(k)} = \sigma\left( W^{(k)} \cdot \frac{1}{|\mathcal{N}(v)|} \sum_{u \in \mathcal{N}(v)} h_u^{(k-1)} + b^{(k)} \right)
每个节点取邻居表示的平均值,经过线性变换与非线性激活,得到这一轮的新表示。
  1. 邻居集合\(\mathcal{N}(v)\) 是与节点 \(v\) 直接相连的原子集合。情报员敲的第一圈门,就是这些直接邻居。
    N(v)={u∣(u,v)∈E}\mathcal{N}(v) = \{u \mid (u, v) \in E\}
  2. 平均聚合把邻居的表示向量逐维相加再除以邻居数量,得到一条平均风格的“街坊简报”,代表局部环境的整体信息。
    1∣N(v)∣∑u∈N(v)hu(k−1)\frac{1}{|\mathcal{N}(v)|} \sum_{u \in \mathcal{N}(v)} h_u^{(k-1)}
  3. 线性变换与激活用 \(W^{(k)}\) 和 \(b^{(k)}\) 对简报做一次可学习的变换,再用 \(\sigma\)(如 ReLU)引入非线性,最终生成节点 \(v\) 的第 \(k\) 层表示。
    σ(W(k)⋅聚合结果+b(k))\sigma\left( W^{(k)} \cdot \text{聚合结果} + b^{(k)} \right)

分子性质预测

拿到城市总表,就要回答最关心的问题:这座城市适不适合居住?会不会发生事故?下雨天容不容易淹?在药物发现里,这对应毒性、溶解度、logP、血浆蛋白结合率等性质。

分子性质预测是一个标准的监督学习过程。把分子图输入 GNN,经过消息传递得到节点表示,再用读出层把全部节点表示聚合成一个整图向量,最后接一个多层感知机(MLP)输出预测值。分类任务输出概率,比如“是否有心脏毒性”;回归任务输出数值,比如“水溶性 logS”。训练时用实验数据做标签,均方误差是回归任务最常见的损失函数。评估时要注意按分子骨架划分训练、验证、测试集,避免结构相似的分子泄漏信息。

情报员的预测报告当然会有误差,但它能快速把“大概率适合居住”和“明显有问题”的城市分开,让人类把精力留给最有价值的候选人。

y^=MLP(∑v∈Vhv(L)),L=1M∑i=1M(y^i−yi)2\displaystyle \hat{y} = \mathrm{MLP}\left( \sum_{v \in V} h_v^{(L)} \right), \quad \mathcal{L} = \frac{1}{M}\sum_{i=1}^{M} (\hat{y}_i - y_i)^2
读出层把节点向量求和得到分子级表示,MLP 输出预测值,再与实验标签计算均方误差。
  1. 图读出把最后一层所有节点向量逐维相加,得到一条代表整座城市的“总报告”。情报员把几十份居民档案汇总成一份城市气质表。
    ∑v∈Vhv(L)\sum_{v \in V} h_v^{(L)}
  2. 预测头MLP 把总报告映射成最终性质数值。它相当于专家团读报告后给出结论:毒性高还是低,溶解度是多少。
    y^=MLP(⋅)\hat{y} = \mathrm{MLP}(\cdot)
  3. 损失函数均方误差计算预测值与实验值的差距。差距越小,说明情报员的判断越准,训练就是在不断缩小这个差距。
    L=1M∑i=1M(y^i−yi)2\mathcal{L} = \frac{1}{M}\sum_{i=1}^{M} (\hat{y}_i - y_i)^2

虚拟筛选

现在摆在情报员面前的是上百万座城市,一座一座出报告也来不及。他改用流水线模式:先按统一模板给每座城市快速打分,再按分数从高到低排出 TopK 名单。这就是虚拟筛选的直觉。

虚拟筛选用训练好的 GNN 打分器 \(f_\theta\),对化合物库中每个分子 \(m\) 的图 \(G_m\) 输出活性分数,排序后取前 \(K\) 个做实验。相比高通量筛选(HTS)一次性试验数十万孔板,GNN 虚拟筛选几乎零边际成本,还能覆盖实验无法触及的几十亿分子空间。实际管线中,通常把 GNN 打分与分子对接、ADMET 过滤、合成可行性评估组合成多级漏斗,每级都会进一步压缩候选数量。

情报员不能保证 TopK 名单一定出药,但能保证这些城市比随机抽查靠谱得多——命中率从千分之几提升到百分之几,实验成本自然断崖式下降。

Score(m)=fθ(Gm),Shit=TopK({Score(m):m∈C})\displaystyle \mathrm{Score}(m) = f_\theta(G_m), \quad \mathcal{S}_{\mathrm{hit}} = \mathrm{TopK}\left( \{ \mathrm{Score}(m) : m \in \mathcal{C} \} \right)
GNN 对候选库每个分子打分,排序后取前 K 个作为实验验证名单。
  1. 打分函数\(f_\theta(G_m)\) 是训练好的 GNN,输入分子图,输出一个活性分数。分数越高,表明这座“城市”越符合疗养院选址标准。
    Score(m)=fθ(Gm)\mathrm{Score}(m) = f_\theta(G_m)
  2. 候选库\(\mathcal{C}\) 是待筛选的化合物集合,可能包含数百万甚至上亿个分子。情报员要对库里每一座城市都快速过一遍。
    m∈Cm \in \mathcal{C}
  3. TopK 名单从全部候选分子中取出分数最高的 \(K\) 个,形成优先实验名单。它不代表最终成药,只代表“最值得实地考察”。
    Shit=TopK({Score(m)})\mathcal{S}_{\mathrm{hit}} = \mathrm{TopK}(\{\mathrm{Score}(m)\})

先导化合物优化

TopK 名单上的城市虽然整体宜居,但总有美中不足:某条街太堵、某片区域有安全隐患。要把它们变成真正的疗养院,还得定向改造。药物发现中,这一步叫先导化合物优化。

先导化合物优化就是按需修改分子结构:保留核心药效团,替换某些原子或侧链,让活性更高、毒性更低、溶解度更好。GNN 在这个环节当“虚拟裁判”,对生成式模型给出的每个新结构迅速打分,打分结果再指导下一轮生成,形成“生成—预测—筛选—反馈”的闭环。优化不是单目标冲刺,而要同时权衡活性、选择性、ADMET 和合成难度,带约束的目标函数可以写成:

情报员从“按图索骥”升级为“城市设计师”:每次改造都先用虚拟报告预演一遍,只有分数合格的城市才值得进入合成实验。这,就是分子图上的智能筛选。

m∗=arg⁡max⁡m′∈Gfθ(Gm′)s.t.ADMET(m′)≥τ\displaystyle m^{*} = \arg\max_{m' \in \mathcal{G}} f_\theta(G_{m'}) \quad \text{s.t.} \quad \mathrm{ADMET}(m') \ge \tau
在满足类药性约束的前提下,找一个让 GNN 打分最高的改造后分子。
  1. 候选改造空间\(\mathcal{G}\) 是所有允许的结构改造集合,比如替换一个原子、延长一条侧链、改变一个环。
    m′∈Gm' \in \mathcal{G}
  2. 最大化目标\(\arg\max f_\theta(G_{m'})\) 表示寻找让 GNN 活性分数最高的分子结构。情报员在虚拟世界快速比较每一种改造方案。
    m∗=arg⁡max⁡m′fθ(Gm′)m^{*} = \arg\max_{m'} f_\theta(G_{m'})
  3. ADMET 约束要求改造后的分子在吸收、分布、代谢、排泄和毒性指标上不低于阈值 \(\tau\)。好比疗养院选址不仅要风景好,还要交通便利、灾害风险低。
    ADMET(m′)≥τ\mathrm{ADMET}(m') \ge \tau

AI 应用场景

毒性风险早期筛查

阶段:分子性质预测

解决的问题:传统毒性评价依赖动物实验或细胞实验,周期长、成本高,无法在项目早期覆盖大量候选。GNN 把毒性预测前置到分子设计环节,用历史毒性数据训练消息传递模型,对还没合成的分子直接给风险分,帮助团队提前砍掉高风险的“问题社区”。

具体案例:一家初创药企在 5000 个候选虚拟分子上运行 GNN 毒性筛查,标记出约 30% 高风险分子不予合成,剩余分子进入实验后 hERG 毒性阳性率显著低于历史基线。

百万级化合物库虚拟筛选

阶段:虚拟筛选

解决的问题:化合物库动辄数亿,传统高通量筛选成本高、覆盖面窄。GNN 对每个分子只需一次前向传播,GPU 上可并行打分,把“分子大海捞针”变成“按分数取 TopK”。

具体案例:针对某激酶靶点,团队用 GNN 对一亿个可合成分子打分,仅取前 100 名做活性测试,命中率约 8%,是随机筛选的数十倍。

先导化合物生成式优化

阶段:先导化合物优化

解决的问题:先导化合物常存在活性不足、选择性差或溶解度低的问题,人工改造雷同且容易陷入局部无效。GNN 打分器嵌入生成循环后,每轮“生成—预测—筛选”只需分钟级,能系统探索大量结构改造方向,并由 ADMET 约束保证改造后的分子仍是“好公民”。

具体案例:一项目利用分子图生成器产出 2000 个类似物,经 GNN 活性与毒性联合打分后合成 50 个,其中 3 个化合物的 IC50 提升约十倍,顺利进入下一轮优化。

Python 演示

python49 行
# 手写一个迷你版 GNN 消息传递,演示分子图上的邻居聚合与水溶性粗打分# 原子特征采用 4 维 one-hot:[C, O, N, H] C = [1, 0, 0, 0]O = [0, 1, 0, 0]N = [0, 0, 1, 0]H = [0, 0, 0, 1] molecules = [    ("methane", [C, H, H, H, H], [(0, 1), (0, 2), (0, 3), (0, 4)]),    ("water",   [O, H, H],       [(0, 1), (0, 2)]),    ("ethanol", [C, C, O, H, H, H, H, H],     [(0, 1), (1, 2), (0, 3), (0, 4), (1, 5), (1, 6), (2, 7)]),] def message_pass(atoms, bonds, rounds=2):    feats = [list(a) for a in atoms]    n = len(feats)    for _ in range(rounds):        new_feats = []        for i in range(n):            neighbors = [j for j in range(n)                         if j != i and ((i, j) in bonds or (j, i) in bonds)]            agg = [0.0] * len(feats[i])            for j in neighbors:                for d in range(len(agg)):                    agg[d] += feats[j][d] / max(len(neighbors), 1)            new_feats.append([0.5 * feats[i][d] + 0.5 * agg[d]                              for d in range(len(feats[i]))])        feats = new_feats    return feats def readout(feats):    return [sum(f[d] for f in feats) for d in range(len(feats[0]))] def solubility_score(vec):    # 亲水倾向:氧正贡献,碳负贡献    return -0.6 * vec[0] + 1.2 * vec[1] + 0.1 * vec[2] def main():    print("Molecule        readout vector -> solubility score")    for name, atoms, bonds in molecules:        feats = message_pass(atoms, bonds, rounds=2)        vec = readout(feats)        score = solubility_score(vec)        print("%-12s %s -> %.2f" % (name, vec, score)) if __name__ == "__main__":    main()
目的:用纯 Python 实现两轮图消息传递,对一个微型分子库做图读出和水溶性粗打分,直观展示 GNN 的工作原理。
  1. C = [1, 0, 0, 0]把原子类型编码成固定维特征向量,相当于给居民发一张身份卡片。
  2. feats = [list(a) for a in atoms]深拷贝原子特征,保证消息传递不污染原始分子数据。
  3. neighbors = [j for j in range(n) if j != i and ((i, j) in bonds or (j, i) in bonds)]找出当前原子的全部邻居,等价于确定情报员要敲哪些门。
  4. agg[d] += feats[j][d] / max(len(neighbors), 1)邻居特征取平均,模拟一次“居民意见汇总”。
  5. new_feats.append([0.5 * feats[i][d] + 0.5 * agg[d] for d in range(len(feats[i]))])自身特征与邻居简报各占一半,生成更新后的节点表示。
  6. return [sum(f[d] for f in feats) for d in range(len(feats[0]))]把所有节点向量逐维求和,得到代表整个分子的图读出向量。

常见误区

误区分子结构图也是“图”,直接丢给 CNN 卷积一下不就能提取特征吗?为什么非要用图神经网络?

正解分子图是原子与化学键构成的拓扑结构,原子数不定、连接方式任意,没有固定的网格排列。CNN 依赖规则的像素网格,无法处理这种“每个样本结构都不一样”的数据。GNN 的消息传递沿着边进行,天然适配图的拓扑。就像城市地图不能压成一张方格子照片来理解交通,必须顺着街道走一遍。

为何常见:看到“分子结构图”和“图像”都带“图”字,又因为教科书里的 2D 结构式画得很像平面图形,容易混淆。

误区GNN 层数越多,每个原子看得越远,分子表示一定越丰富,所以堆到十几层肯定更强。

正解层数过多会带来过平滑:所有节点经过多轮聚合后高度相似,反而丢失了个体差异。药物分子通常只有几十个原子,2—4 层消息传递就能覆盖整个分子。情报员反复问同一圈邻居,得到的新消息越来越少,最后写出的城市报告也千篇一律。

为何常见:深度学习其他领域“越深越强”的印象深入人心,忽略了图结构里信息会快速重叠这一特性。

误区GNN 打分最高的分子就是完美药物,可以直接跳过实验进入临床。

正解GNN 打分只是预测活性倾向,还要综合毒性、溶解度、代谢稳定性、合成可行性等约束,而且预测误差必须用实验验证。TopK 名单只是缩小实验室范围,不代表直接成药。就像情报员说“这座城市规划不错”,但还要派人实地测量地质、气候、水电,才能真正开工。

为何常见:把“模型分数”与“药品真相”划等号,忽略了从分子到药物之间巨大的验证鸿沟。

误区药物数据太少才导致模型不准,只要拼命收集更多标注数据,GNN 分子预测就一定准确。

正解药物标注数据昂贵且稀疏,盲目堆数据不如设计分子预训练、自监督、主动学习,并用物理化学先验做约束。模型在训练集之外的化学空间外推能力有限,即使数据量变大,也可能在全新骨架上失真。

为何常见:监督学习“数据为王”的直觉在图像文本领域很有效,但药物数据的获取成本和噪声远高于图像文本。

面试题

Q1. 在分子图中,化学键通常被建模为什么?

单选题 · easy

  • A.节点
  • B.边← 正确答案
  • C.图像
  • D.标签

答案:B。分子图把原子当节点、化学键当边,就像城市里居民是节点、街道是边。化学键承担连接和传递信息的角色,所以对应边。节点、图像、标签都不符合图结构对化学键的定义。

Q2. GNN 从邻居节点收集信息的过程叫什么?

单选题 · easy

  • A.最大池化
  • B.邻域裁剪
  • C.消息传递← 正确答案
  • D.权重正则

答案:C。消息传递是 GNN 的核心操作:每个节点把邻居信息聚合到自己身上。情报员挨家挨户敲门获取街坊消息,就是消息传递的形象说法。池化是下采样,裁剪和正则化也都不是这一过程。

Q3. 分子性质预测中,读出层的主要产物是什么?

单选题 · mid

  • A.原子空间坐标
  • B.分子图表示向量← 正确答案
  • C.化学键长度表
  • D.合成路线规划

答案:B。读出层把全部节点表示聚合成一个分子级向量,代表整座城市的气质报告,再交给 MLP 预测性质。坐标是输入几何信息,键长表也不是读出层产物,合成路线属于生成任务。

Q4. 虚拟筛选中 TopK 名单的主要作用是什么?

单选题 · mid

  • A.缩小实验验证范围← 正确答案
  • B.直接上市销售
  • C.替代临床试验
  • D.保证分子可合成

答案:A。GNN 打分只为排序,TopK 名单是“优先实地考察”列表,把有限的湿实验资源集中到少数高潜力候选。它不能直接上市、替代临床,也不能保证合成可行性。

Q5. GNN 层数过多导致的过平滑现象是什么?

单选题 · mid

  • A.节点表示趋同← 正确答案
  • B.节点数量变少
  • C.边权重变高
  • D.损失保持不变

答案:A。经过很多轮消息传递,节点反复混合邻居信息,最终所有节点向量趋于相似,丢失个体差异。情报员反复问同一圈邻居,最后收到的都是差不多的话,“城市个性”就被抹掉了。节点数量、边权重不会因层数而变,损失不变也不是过平滑的特征。

Q6. 先导化合物优化中,GNN 预测主要扮演什么角色?

单选题 · hard

  • A.替代合成设备
  • B.快速打分评价← 正确答案
  • C.发布临床报告
  • D.直接测量活性

答案:B。GNN 是优化循环里的“虚拟裁判”,每生成一个新结构就立刻打分,指导下一步改造。它不能替代自动合成设备,不负责临床报告,也不替代实验测量。

Q7. 分子图中,原子特征通常不包括下面哪一项?

单选题 · hard

  • A.原子类型特征
  • B.部分电荷特征
  • C.手性标记特征
  • D.市场价格特征← 正确答案

答案:D。原子特征用于描述化学身份和局部环境,如元素类型、电荷、手性、杂化等;市场价格与分子结构无关,属于外部商业信息,不能作为模型输入特征。

Q8. 以下哪些属于 GNN 在药物发现中的典型应用?

多选题 · mid

  • A.基因测序任务
  • B.分子性质预测← 正确答案
  • C.虚拟筛选应用← 正确答案
  • D.先导化合物优化← 正确答案

答案:BCD。GNN 在本领域三大主线是分子性质预测、虚拟筛选、先导化合物优化。基因测序属于序列问题,通常用循环或 Transformer 模型,不是 GNN 在药物发现中的主流应用。

Q9. 哪些原因是虚拟筛选后仍需要实验验证的合理理由?

多选题 · hard

  • A.预测存在误差← 正确答案
  • B.模型百分百准确
  • C.外推能力有限← 正确答案
  • D.合成可能困难← 正确答案

答案:ACD。模型在训练集外化学空间的预测不可靠,合成路径也可能不现实,所以必须实验验证。B 与模型实际不符,若模型百分百准确就不需要验证了。

Q10. 关于 GNN 分子表示学习,下列哪些说法正确?

多选题 · extreme

  • A.分子图可无特征
  • B.传播扩大感受野← 正确答案
  • C.聚合依赖图拓扑← 正确答案
  • D.读出整合节点表示← 正确答案

答案:BCD。GNN 通过多层传播把感受野从单原子扩大到 K 跳邻域;聚合过程沿化学键进行,依赖图的拓扑结构;读出层把节点表示整合为图表示。原子特征对学习至关重要,“分子图可无特征”是错误的。