想象一场“分子厨王争霸赛”。两位厨师站在同一条起跑线上,面对同一间巨大的食材仓库——里面堆着超过 10 的 60 次方种“食材组合”,比宇宙中的原子还多。第一位厨师叫“从头设计”,他不看任何菜谱,仅凭对目标口味(比如“降血糖”)的理解,自由挑选食材,发明一道前无古人的新菜。第二位厨师叫“先导优化”,他面前摆着外婆传下来的一道经典菜——这道菜已经有一点效果了,但太咸、不够香,他要做的是在不推翻配方的前提下,一点点调整火候与配料,让这道菜更完美。 这两位厨师,正是药物发现中两种典型的分子生成任务。它们共享同一个底层工具——AI 分子生成模型,却有着截然不同的任务设定:搜索范围、评估指标、约束条件、数据要求全都不同。如果分不清自己在做哪道菜,模型再强大也会跑错方向。这篇文章就用这场“厨王争霸赛”做隐喻,带你掰开揉碎分子生成的任务定义,让 AI 从业者像懂行的评委一样,一眼看出一个生成项目在做什么、做得对不对。

岗位关联

对 AI 从业者而言,把从头设计与先导优化的任务边界、评估指标与约束条件钉在纸面上,是生成模型落地药物发现的第一课——避免“跑通模型却造不出药”的经典项目翻车。

目录
  1. 可视化演示
  2. 一、任务定义对比:发明新菜 vs 打磨配方
  3. 二、化学空间探索:10 的 60 次方种食材
  4. 三、核心评估指标:三位评委的评分表
  5. 四、关键约束条件:后厨红线不能碰
  6. 五、数据构建要求:可靠菜谱与海量食材清单
  7. 六、模型目标设定:学徒手上的功夫与师父的点评
  8. 七、实践风险难点:赛场上的翻车事故
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

演示De Novo从头分子设计与Lead Optimization先导优化两种任务流程及评估指标对比,交互切换查看分子生成任务定义差异。

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

De Novo从头分子设计 从随机噪声出发生成全新分子结构 约束条件包括药效团分子量logP等属性 mol = Gen(z | constraints) De Novo不受已知分子限制可探索更大化学空间

一、任务定义对比:发明新菜 vs 打磨配方

厨王争霸赛的第二轮考题公布了:要做一道“既能降血糖又美味”的菜。厨师“从头设计”抬头望向整座食材仓库——数亿种食材、无数种搭配,他要从零开始发明一道新菜。厨师“先导优化”则低头看外婆的菜谱:这道家常菜已有微弱降糖效果,但偏咸油腻,他要小步改进,而不是推倒重来。

在 AI 药物发现里,这两位厨师正是分子生成的两大任务类型。De Novo Design(从头设计):给定一个靶点,模型在广阔化学空间中生成结构全新的候选分子,往往还希望它们可申请专利——像“发明新菜”,奖励创造力。Lead Optimization(先导优化):已有一个初步活性的先导化合物,模型在保住核心骨架的前提下做局部修饰,改善活性、毒性、溶解性等性质——像“打磨祖传配方”,奖励精准改良。

两者本质差异在搜索空间。数学上,从头设计在整个化学空间 C 中找最优,先导优化则被限定在先导分子 x_lead 的相似邻域 N 中:

一句话回扣:同样做“好吃的分子”,前者的边界是全世界,后者的边界是配方周围半步。任务定义不清,模型就会拿着望远镜进了小厨房——开工第一件事,永远是回答“我在做哪类任务”。

x∗=arg⁡max⁡x∈Cf(x)(从头设计)\displaystyle x^* = \arg\max_{x \in \mathcal{C}} f(x) \quad \text{(从头设计)}
x∗=arg⁡max⁡x∈N(xlead)f(x)(先导优化)\displaystyle x^* = \arg\max_{x \in \mathcal{N}(x_{\text{lead}})} f(x) \quad \text{(先导优化)}
  1. 目标函数 f(x)f 是打分函数,把任意分子 x 映射成一个数值,数值越高代表越接近理想药物。打分函数通常由活性、类药性、可合成性等多维指标加权组成。
    f:M→Rf: \mathcal{M} \rightarrow \mathbb{R}
  2. 全局化学空间 CC 表示所有理论上可存在、可通过化学反应合成的分子集合;从头设计允许 x 取遍整个 C。
    C={x∣x 为可合成分子}\mathcal{C} = \{ x \mid x \text{ 为可合成分子} \}
  3. 先导邻域 NN 是围绕先导分子的一个“相似度小球”,只包含与 x_lead 结构相近的分子。先导优化强制 x 落入这个球内,用相似度阈值 δ 控制半径。
    N(xlead)={x∣Sim(x,xlead)≥δ}\mathcal{N}(x_{\text{lead}}) = \{ x \mid \text{Sim}(x, x_{\text{lead}}) \geq \delta \}
  4. arg max 的含义表示“使括号内表达式取值最大的那个自变量”,也就是最终挑选出的最优分子 x*。
    x∗=arg⁡max⁡x^* = \arg\max

二、化学空间探索:10 的 60 次方种食材

厨师们接着参观了食材仓库的监控室,大屏上显示:仓库共有约 10 的 60 次方种食材组合,比可观测宇宙的原子总数还多。就算每秒试吃一种,尝到宇宙毁灭也尝不完。但更关键的发现是:仓库里绝大多数组合是“黑暗料理”——有毒、不稳定、根本没法下锅。真正值得端上桌的“类药分子”只占极小一隅。

化学空间之所以浩瀚,是因为分子由原子与键的自由组合构成,仅按常见原子和成键规则估算,可能的分子就有 10^60 量级。但药物必须口服吸收、代谢稳定、毒性可控,于是药物化学家总结出 Lipinski 五规则(Rule of Five) 作为初筛清单:

除了类药性,还有“能不能做出来”的问题。合成可及性(Synthetic Accessibility) 用 SA 分数衡量合成难度,1 到 10 分,越高越难。一个分子再漂亮,如果需要 20 步反应才能合成,就没有实用价值——正如食材再高级,耗时三天三夜的菜也上不了晚市。化学空间约束决定了搜索从哪里开始、到哪里结束,生成模型的任务本质上是在这片“能吃且做得出来”的区域里定向找最优解。

log⁡P≤5,MW≤500,HBD≤5,HBA≤10\displaystyle \log P \leq 5, \quad MW \leq 500, \quad HBD \leq 5, \quad HBA \leq 10
  1. 亲脂性上限 logPlogP 是油水分配系数的对数,衡量分子“喜欢油”还是“喜欢水”。过高则难溶于血液、易被代谢,相当于菜里油太多糊嗓子。
    log⁡P≤5\log P \leq 5
  2. 分子量上限 MW分子量超过 500 的分子通常难以穿透细胞膜被吸收,好比菜太大块难以下咽。
    MW≤500MW \leq 500
  3. 氢键供体 HBD氢键供体过多会降低口服生物利用度,相当于配料太黏、口感发腻,限制其不超过 5 个。
    HBD≤5HBD \leq 5
  4. 氢键受体 HBA氢键受体数量限制在 10 以内,保证分子能顺利穿过肠壁被吸收。
    HBA≤10HBA \leq 10

三、核心评估指标:三位评委的评分表

菜品端上来后,三位评委开始打分。一号评委尝一口——管味道,对应“活性”;二号评委看营养表——管健康,对应“类药性”;三号评委要食谱——管能否复现,对应“可合成性”。任何一位打低分,这道菜就拿不了冠军。

活性评价是最直接的指标,包括实验测得的 IC50/EC50(半数抑制/激活浓度,数值越小活性越强)和计算代理指标(如对接打分 Docking Score、药效团匹配度)。但实验数据昂贵,计算打分又有误差,因此活性常常是“第一道坎”而非全部。类药性层面,除了 Lipinski 规则,研究者常用 QED(Quantitative Estimate of Drug-likeness,类药性定量估计)把多个性质压缩成一个 0 到 1 的分数,越接近 1 越像已上市药物:

可合成性层面,SA 分数把合成难度量化为 1-10,于是综合评估常写成加权和:总分 = w₁ × 活性 + w₂ × QED + w₃ × SA,权重由任务阶段决定——发现阶段更看活性与新意,优化阶段更看类药性与可合成性。这就像三位评委的权重可以调整:晚市要快上菜,三号评委的分量就加重。

QED=exp⁡(1n∑i=1nln⁡di)\displaystyle QED = \exp\Big( \frac{1}{n} \sum_{i=1}^{n} \ln d_i \Big)
  1. 单性质期望 d_i每个药物性质(如 logP、分子量)对应一个“期望得分”函数 d_i,取值 0 到 1,越接近 1 代表该性质越像已知药物。
    di=d(propertyi)∈[0,1]d_i = d(\text{property}_i) \in [0, 1]
  2. 取对数 ln d_i取对数让乘法变成加法,方便把多个性质得分叠加——相当于把多位评委的分数折成同一把尺子。
    ln⁡di\ln d_i
  3. 平均并还原先对 n 个性质求几何平均,再用 exp 还原回 0-1 区间,得到整体类药性分数 QED。
    QED=exp⁡(1n∑i=1nln⁡di)QED = \exp\left( \frac{1}{n} \sum_{i=1}^{n} \ln d_i \right)

四、关键约束条件:后厨红线不能碰

餐厅后厨贴着一张红色的 A4 纸,上面写着硬性红线:禁用花生油(过敏原)、每道菜预算不超过 50 元、上菜时间不超过 40 分钟。分子生成同样有一堆“红线”约束,它们以不等式或过滤规则的形式进入任务定义。

第一类红线是活性与选择性约束:药物不仅要与目标蛋白结合,还不要误伤同家族的其它蛋白,否则副作用失控。第二类是安全性约束:预测毒性(如 hERG 心脏毒性、基因毒性)超过阈值就一票否决。第三类是物理化学性质区间:溶解度、渗透性、代谢稳定性要落在合理窗口内——太油不行,太溶于水也进不了细胞膜。

把这些约束写成标准的约束优化问题,就是:

约束不写进目标函数,生成模型只会疯狂“刷活性分”,产出一堆过不了红线的废品;约束太多太严,又会把搜索空间压成“点”,生成多样性归零。如何在红线和自由之间取平衡,正是任务定义的艺术。

max⁡xActivity(x)s.t.Tox(x)≤θt,SA(x)≤θs\displaystyle \max_{x} \text{Activity}(x) \quad \text{s.t.} \quad \text{Tox}(x) \leq \theta_t, \quad \text{SA}(x) \leq \theta_s
  1. 最大化活性 Activity(x)目标是找到活性打分最高的分子,这是优化方向。
    max⁡xActivity(x)\max_{x} \text{Activity}(x)
  2. 受约束于 s.t.s.t. 是 subject to 的缩写,表示后面跟着硬性限制条件。
    s.t.\text{s.t.}
  3. 毒性上限 Tox(x) ≤ θ_t分子的毒性预测值不能超过安全阈值 θ_t,红线一票否决。
    Tox(x)≤θt\text{Tox}(x) \leq \theta_t
  4. 可合成上限 SA(x) ≤ θ_s合成可及性打分不能超过阈值 θ_s,保证生成的不是“纸上分子”。
    SA(x)≤θs\text{SA}(x) \leq \theta_s

五、数据构建要求:可靠菜谱与海量食材清单

两位厨师的技术传承来自一本本菜谱:有的菜谱详细记录每道菜的火候、用量、试吃结果——相当于活性标注数据;有的只有食材清单,没有口味反馈——相当于无标签数据。师父说:标注菜谱太少太贵,食材清单管够,你们得学会两者搭配着看。

分子生成的数据要求与此高度一致。活性标注数据是金贵的:测定一个化合物对靶点的活性需要生物实验,一条数据成本动辄几十到几百元,公开数据库(如 ChEMBL、BindingDB)里高质量标注更是稀缺。无标签分子库则便宜得多,ZINC、PubChem 里有上亿个已知化合物,它们虽然不知道活性,但蕴含“哪些结构是真实可合成”的语法先验——生成模型先用它们学分子语法,再用少量标注数据学生物语义。

数据处理的另一关键是质量与一致性:不同实验室测同一化合物的 IC50 可能差一个数量级,标注噪声过大会把模型带偏。常用 Tanimoto 相似度做数据去重与相似性分析:

数据就是师傅手抄的菜谱,量不要求最多,但每一条都要可靠。只有“详细注记的菜谱 + 大量食材清单”配合使用,学徒才能既学会做菜语法,又懂得迎合评委口味。

T(A,B)=∣A∩B∣∣A∪B∣\displaystyle T(A,B) = \frac{|A \cap B|}{|A \cup B|}
  1. 分子特征集 A、B把分子表示成指纹特征集合,每个元素代表一种结构片段或子结构是否存在。
    A={f1,f2,… }A = \{f_1, f_2, \dots\}
  2. 交集 A∩B两个分子共有的特征数,共同特征越多越相似。
    ∣A∩B∣|A \cap B|
  3. 并集 A∪B两个分子特征的总并集数量,用于归一化,抵消分子大小差异。
    ∣A∪B∣|A \cup B|
  4. 相似度比值交集占并集的比例,取值 0 到 1;0.85 以上通常被认为结构高度相似。
    T∈[0,1]T \in [0,1]

六、模型目标设定:学徒手上的功夫与师父的点评

学做菜不能只靠看菜谱,还要上手炒、听师父点评、不停调整手法。分子生成模型也一样:先在大规模分子库上“模仿”学会化学语法,再根据打分函数的反馈“优化”自己的生成策略。

在技术实现上,生成模型(如变分自编码器 VAE、生成对抗网络 GAN、基于 Transformer 的 SMILES 语言模型、扩散模型)负责从条件 c 采样分子;条件可以是靶点口袋特征、期望属性向量或相似度参考。任务目标常被写成“条件生成 + 奖励期望最大化”:

这里 R(x) 就是把前几节的指标揉在一起的奖励函数。若用强化学习微调,模型生成一批分子 → 打分 → 用策略梯度等算法更新参数,反复迭代让奖励期望上升;若用条件扩散或条件 VAE,则通过重参数化与重构损失把条件约束嵌进生成过程。值得注意的是多样性这条隐式目标:一味逼近奖励最高的分子,模型会坍缩成反复输出同一个“高分模板”。任务定义里通常还会加入多样性奖励或相似度惩罚,相当于师父在点评时补一句:“同样的菜别端十遍。”

J(θ)=Ex∼pθ(x∣c)[R(x)]\displaystyle J(\theta) = \mathbb{E}_{x \sim p_\theta(x \mid c)} \left[ R(x) \right]
  1. 条件生成分布 p_θ(x|c)生成模型在条件 c(如目标蛋白口袋或期望性质)下生成分子 x 的概率分布,θ 是网络参数。
    pθ(x∣c)p_\theta(x \mid c)
  2. 采样符号 x ∼ p_θ从该分布中抽取分子样本,相当于厨师学徒按当前手艺随机做一道菜。
    x∼pθ(x∣c)x \sim p_\theta(x \mid c)
  3. 奖励期望 E[R(x)]对所有采样分子的奖励 R(x) 求期望,作为训练目标;梯度上升让模型倾向生成高奖励分子。
    Ex∼pθ[R(x)]\mathbb{E}_{x \sim p_\theta}[R(x)]

七、实践风险难点:赛场上的翻车事故

比赛到了关键一轮,翻车事故接连上演。一号厨师烧糊了锅——模型生成一堆“坏分子”;二号厨师照搬外婆菜谱,忘了评委换了一批人——模型过拟合训练分布,新意无限趋近于零;还有人在评委只尝一口后就吹嘘菜品完美——模拟打分高,湿实验却不过关。

这三大翻车现场对应分子生成的三大实践难点。无效分子问题是入门第一坑:SMILES 语法不合法、原子价不对,生成一万个,九千个是乱码,用有效性(validity)指标一测便知:

过拟合风险则更隐蔽:当训练数据分布单一,模型记住的只是“重复已知分子的变体”,从头设计的“新”名存实亡,需要靠新颖性(与训练集最大 Tanimoto 相似度)指标监控。实验闭环验证是最容易被 AI 团队忽略的:计算指标是代理,真实药效只能由湿实验裁决——生成 100 个候选,合成验证 10 个,反馈修正模型,构成“生成-预测-实验-再生成”的飞轮。再好的厨师也不能只靠想象力比赛,火候、食材、评委口味都要落实到现场,任务定义的最后一步永远是“如何闭环到实验”。

validity=NvalidNgenerated\displaystyle \text{validity} = \frac{N_{\text{valid}}}{N_{\text{generated}}}
  1. 生成总数 N_generated模型一次性输出的分子总个数。
    NgeneratedN_{\text{generated}}
  2. 有效数 N_valid通过化学价、原子连接规则等合法性检验的分子数量。
    NvalidN_{\text{valid}}
  3. 有效比例两者之比反映模型“说人话”的能力,低于 0.9 说明模型常生成坏分子。
    validity∈[0,1]\text{validity} \in [0, 1]

AI 应用场景

场景一:全新靶点的苗头化合物发现

阶段:数据处理与建模阶段(分子生成)

解决的问题:传统高通量筛选需要筛几十万化合物,成本高、命中率低。从头设计直接在靶点口袋的约束下生成候选结构,把“大海捞针”变成“定向捕捞”——这是 De Novo Design 最典型的战场。

具体案例:某团队针对 KRAS 突变靶点,用条件生成模型产出 3000 个新颖骨架,经对接打分筛选后挑 50 个进湿实验,命中 6 个微摩尔级苗头化合物,其中 2 个骨架未见于文献报道。

场景二:临床前候选药物优化

阶段:模型微调与迭代优化阶段(先导优化)

解决的问题:苗头化合物活性够但毒性大、溶解性差,人工修饰周期长。先导优化模型在强制保持结构相似度的前提下改造性质,显著缩短优化周期。

具体案例:某候选分子活性 50 nM 但 hERG 心脏毒性风险高,模型迭代 5 轮生成 200 个类似物,筛选出活性保持且 hERG 风险降低 3 倍的分子,进入动物实验阶段。

场景三:专利规避与差异化设计

阶段:约束条件下的可控生成阶段

解决的问题:原研药专利悬崖临近时,需要设计结构不同但活性相当的分子。任务被定义为“带专利相似度约束的从头设计”,既要新又要好。

具体案例:某仿制药企以原研药为相似度参考,对生成模型施加专利 Tanimoto 距离约束,产出 120 个差异化骨架,其中 8 个通过了体外活性初筛。

Python 演示

python61 行
# -*- coding: utf-8 -*-"""Lead optimization demo: mutate one fragment each round."""import random LEAD = ('benzene', 'carbonyl', 'amino', 'methyl') FRAGMENT_LIB = {    'benzene': 1.0, 'pyridine': 0.9, 'pyrimidine': 0.8, 'furan': 0.7,    'carbonyl': 0.9, 'ether': 0.8, 'ester': 0.6,    'amino': 0.8, 'hydroxyl': 0.7, 'fluorine': 0.9, 'chlorine': 0.6,    'methyl': 0.8, 'ethyl': 0.7, 'CF3': 0.9,}  def similarity(a, b):    same = sum(1 for x, y in zip(a, b) if x == y)    return same / max(len(a), len(b))  def activity(mol):    score = 0.0    for frag in mol:        score += FRAGMENT_LIB.get(frag, 0.5)    return score / len(mol)  def drug_likeness(mol):    good = sum(1 for f in mol if f in ('benzene', 'amino', 'hydroxyl', 'carbonyl'))    return 1.0 - abs(good - 2) / 4.0  def score(mol):    sim = similarity(mol, LEAD)    act = activity(mol)    dl = drug_likeness(mol)    return 0.4 * act + 0.3 * dl + 0.3 * sim  def mutate(lead):    idx = random.randrange(len(lead))    frags = list(lead)    frags[idx] = random.choice(list(FRAGMENT_LIB))    return tuple(frags)  def main():    best = LEAD    best_score = score(best)    print('Lead:', best, 'score: %.3f' % best_score)    for i in range(200):        cand = mutate(best)        s = score(cand)        if s > best_score:            best_score = s            best = cand            print('Round %d improved:' % (i + 1), best, 'score: %.3f' % best_score)    print('Final:', best)  if __name__ == '__main__':    main()
目的:用片段级单点变异模拟先导优化,演示“保持相似度的局部搜索 + 多目标加权打分”如何逐步改进先导分子。
  1. LEAD = ('benzene', 'carbonyl', 'amino', 'methyl')把先导分子表示成片段元组,每个片段相当于菜谱里的一种配料。
  2. FRAGMENT_LIB片段库提供可替换的“备选配料”,并给出每种的先验活性贡献。
  3. def similarity(a, b)计算候选与先导的相似度,强制优化不偏离核心骨架。
  4. def activity(mol)用片段平均贡献近似活性;真实场景会换成对接打分或 QSAR 模型。
  5. def drug_likeness(mol)衡量“健康程度”,惩罚过于偏离类药结构的分子。
  6. return 0.4 * act + 0.3 * dl + 0.3 * sim多目标加权打分,对应文中“三位评委权重不同”。
  7. def mutate(lead)单点变异:随机替换一个片段,模拟先导优化的局部搜索算子。
  8. if s > best_score:只接受得分更高的分子,贪心式爬山优化,对应逐轮改进的迭代过程。

常见误区

误区De Novo Design 的“从头”就是让模型随机生成一堆分子,不需要设定任何目标,生成完再人工挑一挑就行。

正解从头设计的“从头”指不从已知先导出发,不代表没有目标。它依然需要明确靶点活性打分、类药性约束,且模型要基于海量分子语法先验训练。就像“发明新菜”也要懂火候和食材搭配,不是闭眼乱撒调料。

为何常见:名字里的“从头”容易让人误以为抛弃全部先验知识。

误区生成分子只要对接打分够高就是好分子,活性是唯一标准,其它指标都是锦上添花。

正解活性高但毒性强、合成不了、不类药,仍然无法成为候选药。现实是多目标权衡:活性、类药性、可合成性、毒性都要纳入打分。类比评委不光看味道,还要看营养和能否稳定复现。

为何常见:活性最直观、也最容易量化,初学者习惯用单一数字衡量好坏。

误区模型在测试集上的 QED、对接分数高,就认为分子一定有效,可以直接送湿实验。

正解打分函数是代理模型,与真实生物活性之间存在巨大误差;真正药效必须由细胞甚至动物实验裁决。模拟指标只适合排序筛序,不能代替实验。就像厨师自己觉得好吃,不代表评委也认可。

为何常见:混淆了代理指标与真实目标,低估了计算与实验之间的鸿沟。

误区训练集越大模型越强,随便从多个数据库拼凑数据都能提升生成质量。

正解分子数据与语言数据不同,活性标注来自不同实验条件、不同批次,噪声和偏倚很大;同一化合物在不同实验室测得的 IC50 可能差一个数量级。数据一致性、标注可信度比体量更重要。

为何常见:深度学习在大数据上的成功让新手默认“数据 = 一切”,忽略了生物实验数据的特殊性。

误区只要把先导分子的原子随意替换几个,保持相似度分数高,就算完成了先导优化。

正解修改时要同时考虑活性保持、代谢稳定性、溶解度、选择性,且相似度度量方式要合理(如 Tanimoto 指纹)。乱改可能剧烈改变药效,甚至是“改一道菜加十勺盐”式的灾难。

为何常见:把“优化”理解成随机扰动,忽略了约束条件和目标函数的共同作用。

面试题

Q1. De Novo Design(从头设计)最核心的任务目标是什么?

单选题 · easy

  • A.在已知活性分子附近做局部修饰
  • B.只优化已有分子的合成路线
  • C.从广阔化学空间探索全新候选分子← 正确答案
  • D.为已有化合物搭建索引数据库

答案:C。从头设计像“发明新菜”,目标是在广阔化学空间中寻找全新结构;A 是先导优化的做法,B 只关心合成,D 是数据工程而非生成任务。

Q2. 先导优化(Lead Optimization)的搜索范围主要限定在哪里?

单选题 · easy

  • A.结构相似的先导分子邻域← 正确答案
  • B.宇宙中所有化学分子空间
  • C.蛋白质口袋内部原子区域
  • D.已知上市药物的列表区域

答案:A。先导优化像“打磨祖传配方”,范围是先导分子的结构相似邻域;B 是全局化学空间,C 是分子对接的作用区域,D 是药物信息库,均不符合先导优化的任务设定。

Q3. Lipinski 五规则中 logP 的建议上限是多少?

单选题 · mid

  • A.不超过 3 个单位
  • B.不超过 10 个单位
  • C.不超过 500 个单位
  • D.不超过 5 个单位← 正确答案

答案:D。五规则核心是 logP ≤ 5、分子量 ≤ 500、氢键供体 ≤ 5、受体 ≤ 10,D 正确;A 是更严格的设计标准而非规则本身,B 与 C 属于数字记忆混淆。

Q4. QED 指标的主要作用是什么?

单选题 · mid

  • A.衡量分子与靶点的结合强度
  • B.衡量整体类药性的偏好程度← 正确答案
  • C.衡量合成路线的步骤数量
  • D.衡量专利文本的覆盖范围

答案:B。QED 把多个类药性质压成 0-1 的几何平均分,B 正确;A 对应对接打分或 IC50,C 对应 SA 分数,D 是专利分析范畴。

Q5. 把活性、类药性、可合成性合成一个总分,常用方法是?

单选题 · mid

  • A.三个指标两两做差的绝对值
  • B.随机采样一个指标作为结果
  • C.三者的归一化加权线性求和← 正确答案
  • D.按分子量从小到大进行排序

答案:C。实践标配是加权求和(如 0.4×活性 + 0.3×类药性 + 0.3×可合成性);A 衡量指标间差异,B 是随机过程,D 是排序操作,都与综合打分无关。

Q6. 约束优化式 max Activity(x) s.t. Tox(x) ≤ θ 中 θ 表示什么?

单选题 · hard

  • A.活性评分的预期最大值
  • B.训练数据集中分子总数
  • C.毒性指标允许的安全上限← 正确答案
  • D.分子生成过程的步数上限

答案:C。s.t. 后面是硬性约束,θ 是毒性安全阈值,超过即一票否决,C 正确;A 是优化目标对象,B 与 D 与毒性约束无关。类比餐厅的“过敏原红线”。

Q7. 生成分子的有效性(validity)是如何计算的?

单选题 · mid

  • A.有效分子数除以生成分子总数← 正确答案
  • B.训练集分子数除以生成总数
  • C.生成分子数除以活性分子数
  • D.生成分子数与模型参数量之比

答案:A。validity = 合法分子数 / 生成总数,A 正确;B 错在拿训练集当分母,C 分子分母颠倒,D 引入与化学合法性无关的参数量。

Q8. 下列哪些属于分子生成任务的常见约束条件?

多选题 · mid

  • A.合成可及性分数上限← 正确答案
  • B.数据库缓存键值数量
  • C.物理化学性质区间范围← 正确答案
  • D.分子量必须大于一千

答案:AC。A 是合成约束、C 是理化性质约束,都是任务定义中的红线;B 是软件工程概念;D 方向反了——规则通常是给分子量设上限而非下限。

Q9. 关于训练数据对分子生成模型的影响,正确的有?

多选题 · hard

  • A.活性标注噪声会误导模型方向← 正确答案
  • B.数据分布单一导致泛化能力差← 正确答案
  • C.正负样本失衡影响优化目标← 正确答案
  • D.数据量越大模型性能必然越好

答案:ABC。A/B/C 分别是噪声、分布、样本平衡三类真实数据问题;D 忽略了生物数据的噪声与偏倚,分子数据并非“越多越好”,关键在标注一致性。

Q10. 关于从头设计与先导优化的对比,正确的有?

多选题 · hard

  • A.两者都需要清晰的打分函数← 正确答案
  • B.从头设计的搜索范围通常更广← 正确答案
  • C.先导优化更倾向保留核心骨架← 正确答案
  • D.先导优化不需要任何约束条件

答案:ABC。两个任务都需要打分函数与约束条件,A 对;从头设计探索全局、先导优化局部保骨架,B/C 对;D 错误——改进祖传菜谱也不能乱加料,先导优化同样受活性、毒性、相似度约束。