简介这份PDF资料是Jon Paul Janet在AstraZeneca生物制药研发部门所做报告的整理稿面向化学、药物研发与材料领域的科研人员及高年级学生帮助读者理解机器学习如何介入化学研究并解决结构预测、分子设计等实际问题。全文围绕引言、案例研究、化学中的机器学习应用与结论四部分展开以2018年CASP13蛋白质折叠预测竞赛中AlphaFold的突破为切入点进而讨论多目标设计在药物筛选与早期候选物验证中的落地方式并延伸至分子结构预测、材料设计、反应预测与数据驱动实验设计等场景兼具综述性与案例细节。资源包共1个文件为41.44MB的PDF文档适合按章节顺序通读或按主题检索。目前已有222人学习可作为了解机器学习与化学交叉领域的入门参考。1. 化学空间里的搜索问题为什么机器学习能插进化学家的实验台化学家面对的第一个事实是可能的小有机分子数量在 10^60 量级。这个数字不是修辞它意味着任何穷举式探索都注定失败。传统路径只有两条——做实验周期以天和周计跑量子化学模拟解薛定谔方程周期以小时计。两条路都太慢而机器学习给出的第三条路是把「从结构到性质」的映射直接学出来推理时间压到秒级。这份由 Jon Paul Janet 整理的《Machine Learning in Chemistry now and in the future》讲的就是这条路径为什么成立、在哪些环节已经跑通、以及多目标分子设计这类硬骨头该怎么啃。搞懂它你才能判断一个化学 ML 模型到底是真在学结构-功能关系还是只是在拟合数据集的偏置。2. 从 Alphafold 到化学结构-功能映射为什么能被学习2.1 CASP 竞赛给出的信号搜索空间被神经网络压缩了2018 年 CASP 13 蛋白质折叠预测竞赛上一个首次参赛的团队在无同源模板类别中拿下 43 项测试里的 25 项第二名只赢了剩下的 3 项。2020 年 CASP 14 该团队继续拉开差距竞赛联合创始人给出「某种意义上问题已解决」的判断。这个结果的技术含义不是「蛋白质折叠被彻底攻克」而是当一个问题的输入氨基酸序列和输出三维结构之间存在强规律、且训练数据足够覆盖分布时深度网络可以把原本需要物理模拟逐帧搜索的过程压缩成一次前向推理。化学面对的是同一类问题结构。分子图、SMILES 字符串、蛋白质序列本质上都是「结构表示」而熔点、活性、毒性、结合亲和力是「功能标签」。化学科学的核心命题一直是结构与功能的关系这恰好是监督学习最擅长的形式给定表示回归或分类目标性质。Alphafold 的意义在于给整个领域提供了一个存在性证明——高维结构到高维功能的映射神经网络学得动。2.2 三种表示对应三类网络为什么化学能直接借用视觉和 NLP 的成果化学 ML 能快速起步一个被低估的原因是它不需要从零发明网络结构。常见的实现思路是按数据表示选骨干网络化学数据表示借用自典型网络适用任务分子图原子为节点、键为边图学习图卷积网络性质预测、原子级标注SMILES 字符串自然语言处理Transformer反应预测、分子生成二维/三维结构网格计算机视觉卷积神经网络晶体性质、电子密度图卷积之所以适配分子是因为分子天然就是图原子是节点化学键是边节点的邻居数由价键规则决定不存在固定网格。图卷积在聚合邻居信息时等价于在局部化学环境上做消息传递几层堆叠就能覆盖几个键范围内的结构上下文。Transformer 适配 SMILES 则是因为 SMILES 是一种带语法规则的序列字符之间的长程依赖对应分子中相距较远的官能团注意力机制正好能捕捉这种非局部关系。这里有个容易翻车的认知不是「用了图网络就一定比指纹特征好」。分子图表示丢失了三维构象信息SMILES 表示对同一分子有多种合法写法需要做规范化每种表示都有自己的信息损失。选表示的本质是选「哪些结构信息对当前任务有因果作用」这一步选错后面调参全是白费。2.3 秒级推理背后的代价训练分布决定了模型的有效边界把推理时间从小时压到秒代价转移到了训练阶段需要大量带标签数据、需要覆盖目标化学空间、需要处理分布外泛化。化学数据的现实是标签昂贵——一次湿实验合成加表征可能耗费数天公开数据集规模远小于视觉领域的百万级图像。这导致化学 ML 模型普遍面临小样本问题常见的应对是迁移学习先在大规模无标注分子数据上预训练表示再在小规模标注数据上微调。注意模型在测试集上表现好不等于在真实筛选场景中可靠。测试集通常与训练集同分布而真实候选分子往往落在分布边缘。评估时必须做骨架拆分或时间拆分而不是随机拆分。3. 多目标分子设计一个模型同时满足活性、选择性和成药性有多难3.1 单目标回归不够用药物分子是约束满足问题药物发现中的分子设计从来不是「找一个活性最高的分子」。一个候选分子需要同时满足对靶标有足够活性、对脱靶蛋白有足够选择性、水溶性和渗透性达标、代谢稳定性可接受、无明显毒性。这些目标之间经常冲突——提高亲脂性往往增强膜渗透但也增加脱靶风险和代谢负担。单目标优化会把这些约束压成一个加权分数而权重怎么定本身就是玄学不同项目组的血泪经验往往给出不同答案。多目标设计的正确形式是帕累托优化不追求单一最优解而是找一组互不支配的解集即不存在另一个分子在所有目标上都不差且至少一个目标更好。这样把「权重怎么定」的决策推迟到化学家看到帕累托前沿之后再做人机协同判断。3.2 用机器学习代理模型替代湿实验循环传统多目标优化的循环是设计一批分子、合成、测活性、测选择性、根据结果调整下一批。每一轮以周计且每轮只能测有限数量。ML 介入的方式是训练代理模型在计算机里先做一轮虚拟筛选把候选空间从百万级压到几十个再交给湿实验验证。一个典型的多目标工作流可以写成如下伪代码结构# 多目标分子设计的代理模型循环示意 # 1. 用已有实验数据训练性质预测模型 property_models train_models( Xtrain_molecules, # 分子表示图或指纹 y{activity: act, selectivity: sel, solubility: sol} ) # 2. 在候选空间中用代理模型预测计算帕累托前沿 candidates generate_candidates(chemical_space) preds {name: model.predict(candidates) for name, model in property_models.items()} pareto_set compute_pareto_front(preds) # 非支配解集 # 3. 用采集函数挑选下一批实验对象兼顾高预测值与高不确定性 batch acquisition(pareto_set, preds, strategyexpected_improvement) # 4. 湿实验验证 batch结果回填训练集进入下一轮 new_data run_experiments(batch) train_molecules concat(train_molecules, new_data)这段流程的关键不在模型本身而在第 3 步的采集函数。如果只挑预测值最高的分子模型会反复在已知区域采样永远发现不了新骨架如果只挑不确定性最高的分子实验资源会浪费在明显不合理的结构上。常见的实现思路是用期望改进或置信上界在「预测好」和「不确定」之间做权衡本质上是把探索与利用的经典问题搬到了化学空间。3.3 帕累托前沿的读法化学家真正需要的是取舍依据帕累托前沿的价值在于它把「哪个分子更好」变成「你愿意在活性上让多少换多少选择性」。前沿上的每个点都是一个不可被支配的候选化学家可以按项目阶段选点早期探索阶段偏向活性后期开发阶段偏向成药性。这种把决策权交还给领域专家的设计比一个黑箱输出单一最优分子要可信得多。提示帕累托前沿的可靠性完全依赖代理模型的校准质量。模型预测的活性值如果有系统性偏移前沿形状会整体扭曲。上线前必须做校准检查看预测值与实测值的偏差是否随性质区间变化。4. 避坑与排查化学 ML 项目里最容易翻车的几件事4.1 数据泄漏随机拆分让模型看起来很强现象模型在测试集上 R² 达到 0.9换一批真实候选分子后预测完全失准。原因随机拆分把同一骨架的相似分子同时分进了训练集和测试集模型实际上在记忆骨架而非学习结构-功能关系。解决按骨架Murcko scaffold拆分或按时间拆分确保测试集分子与训练集在结构上有实质差异。这一步不做后面所有指标都不可信。4.2 表示不一致训练用 SMILES推理用另一套规范化现象同一个分子在训练管道和推理管道中产生不同的特征向量预测结果漂移。原因SMILES 有多种合法写法不同工具包的规范化规则不同导致同一分子被编码成不同序列。解决固定一套规范化流程如统一用 RDKit 的 canonical SMILES并在管道入口做一致性校验训练和推理共用同一个预处理函数。4.3 标签噪声被当成信号现象模型在某些性质上表现异常好但实验复测发现原始数据本身测量误差很大。原因化学实验数据来自不同批次、不同仪器、不同操作者标签噪声不可忽略模型可能在学习测量偏差而非真实性质。解决建模前做标签质量审查对同一分子的多次测量取统计量并记录方差方差过大的样本降权或剔除。4.4 分布外分子被静默预测现象模型对训练集中从未出现的官能团给出高置信预测化学家误以为可靠。原因大多数回归模型不输出不确定性或输出的不确定性未校准。解决引入不确定性估计集成模型方差、贝叶斯最后一层对高不确定性预测显式标记并在界面上提示「该预测超出训练分布」。4.5 多目标权重被悄悄固化现象项目初期设定的加权分数在后期被沿用导致优化方向偏离实际需求。原因单目标化把多目标取舍隐藏进了一个固定权重里后续无人复查。解决保留帕累托前沿输出权重只用于排序展示不用于训练目标每个项目阶段重新审视前沿取舍。5. 设计取舍化学 ML 的可信度来自哪里化学 ML 最容易被误解的一点是把它当成一个「更快的计算器」。计算器给出确定答案而 ML 模型给出的是基于训练分布的统计推断。这两者的可信度来源完全不同前者靠物理定律保证后者靠数据覆盖和验证设计保证。理解这一点才能理解为什么这份材料把大量篇幅放在案例和方法论上而不是堆砌模型结构。一个值得记住的取舍是模型复杂度与可解释性之间的张力。图神经网络和 Transformer 在预测精度上通常优于传统描述符加树模型但它们的决策过程对化学家是黑匣子。在药物发现这种高风险决策场景中一个精度略低但能指出「哪个子结构贡献了活性」的模型往往比一个精度高但无法解释的模型更有实际价值。常见的折中方案是用注意力权重或子结构归因做事后解释但要清楚这类解释只是近似不能当成因果结论。另一个取舍是数据效率与表示能力的平衡。预训练大模型在小样本化学任务上表现好但预训练数据与目标任务分布不匹配时微调反而可能不如从零训练的小模型。我一般会这么理解预训练提供的是「化学语言的语法」目标任务需要的是「特定性质的口音」语法有帮助但口音必须靠目标任务数据自己学。验证一个化学 ML 系统是否可信我习惯走三步先看拆分方式是否防泄漏再看不确定性是否校准最后看帕累托前沿上的候选分子是否经得起化学家的人工审查。三步里任何一步不过关指标再漂亮也不上线。从那以后我每次评估化学模型都强制走一遍骨架拆分和校准检查宁可指标难看也不要一个在真实筛选里翻车的模型。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?