1. 课程导览:ADMET与药物研发,不平衡数据带来的挑战,深度学习为何能破局

大家好,我是这个课程的讲师。在开始之前,我想先问一个问题:一个新药分子,从发现到上市,你知道最大的风险在哪里吗?

答案可能让你意外——不是活性不够,而是它的人体“耐受性”和“安全性”出了问题。 说白了,就是ADMET性质不过关。我参与过的几个早期项目,候选分子活性数据漂亮得不得了,结果跑到临床前就因为肝毒性或者代谢太快直接被毙了。这种痛,经历过一次就忘不掉。

这一章,我们就来拆解三个核心问题:ADMET为什么是药物研发的生死线? 不平衡数据到底有多坑? 深度学习凭什么能强行破局?

1.1 ADMET:药物分子的“身份证”与“生死线”

ADMET 是五个词的首字母缩写,它们决定了分子进入人体后的最终命运:

  • Absorption (吸收) – 药物能不能顺利进入血液循环?
  • Distribution (分布) – 药物能不能到达病灶部位?会不会在错误的地方累积?
  • Metabolism (代谢) – 肝脏会不会以“光速”把它分解掉?代谢产物有没有毒?
  • Excretion (排泄) – 药物最后怎么离开身体?肾脏还是胆汁?
  • Toxicity (毒性) – 这是最致命的一环。即使前面都完美,只要毒,直接出局。

你想想看,一个分子可能对靶点亲和力极高,但它口服后生物利用度只有 1%,那就是白忙一场。我在做激酶抑制剂项目时,有个分子体外活性 IC₅₀ 做到 1 nM,结果因为hERG 心脏毒性问题直接止步。ADMET 不仅是一个列表,它是一把悬在每个研发人员头上的剑。

关键事实:

  • 超过 90% 的候选药物在临床试验中失败,其中约 50% 归因于 ADMET 问题(吸收 10%,毒性 30%,代谢 10%)。
  • ADMET 早期预测能将后期失败率降低 30%-50%。
ADMET 性质 临床后果(如果不过关) 传统实验方法
A (吸收) 口服无效,生物利用度低 Caco-2 细胞实验
D (分布) 无法穿透血脑屏障,组织蓄积毒 血浆蛋白结合率实验
M (代谢) 半衰期过短,药物相互作用风险 肝微粒体稳定性实验
E (排泄) 清除途径不明,半衰期异常 胆管插管大鼠实验
T (毒性) 肝损伤、心脏毒性、遗传毒 动物毒理学实验

1.2 不平衡数据:深度学习建模中的“地雷”

好了,既然都知道 ADMET 重要了,那为什么不直接拿实验数据训练一个模型来预测?

理想很丰满,现实很骨感。药物研发数据有一个天然的缺陷:极度不平衡。

什么意思呢?我用一个例子给你说明:假设我们建一个肝毒性预测模型。从历史实验数据中,我们发现了 1000 个分子。

  • 无毒性(多数类): 950 个分子
  • 有毒性(少数类): 50 个分子

这就是 19:1 的不平衡比。如果你直接拿这个数据去训练一个普通的深度学习模型,会发生什么?

模型会变成一个“懒汉”。 它只需要“猜”所有输入都是“无毒”,那么它的准确率就能冲到 95%!看起来超厉害对不对?但实际上它是全错的,因为那些 真正致命的、我们最关心的毒性分子 它一个都没有识别出来。

我曾经踩过的坑: 最早我参与的一个 hERG 心脏毒性项目,直接拿 10000:50 的数据集训了一个简单全连接网络。结果在测试集上准确率 99%,但真正有毒性风险的分子一个都没筛出来。那次复盘让我意识到,在不平衡数据上,准确率是最废的指标。

不平衡数据带来的问题不仅仅是“准确率造假”这么简单。它还会导致模型训练困难——梯度更新被多数类主导,少数类的梯度被“淹没”。分类边界会被强行推向少数类区域,导致对毒性、活性异常值的召回极低。

为什么会这样?因为深度学习模型本质上是在做一个统计拟合。如果训练集中 95% 的样本都是一类,模型天然会认为“保持现状”是报酬最高的策略。它不会主动去学习那 1% 的例外,除非你通过特别的手段告诉它:“伙计,那 1% 才是重点。”

1.3 深度学习:为什么它能成为破局者?

既然传统模型和常规深度学习都搞不定不平衡数据,那为什么我们还要深度学习?

其实,深度学习的优势不在于“直接解决不平衡”,而在于它提供了更强的特征提取能力和灵活的数据处理机制。

  • 自动特征工程: 传统方法需要你手动计算分子指纹(如 ECFP)、理化性质。而图神经网络可以直接从分子图结构中自动学习表征,不需要人工设计特征。这在处理稀疏、不平衡数据时尤其重要——因为你很难手工构造出区分“稀少毒性分子”的特征。
  • 灵活的损失函数: 你可以轻松嵌入不平衡处理策略。比如使用 Focal Loss 让模型更关注难分类样本;或者通过 Weighted Cross-Entropy 给少数类更高的权重。
  • 采样与数据增强: 深度学习框架允许你在训练时动态进行过采样(SMOTE)、欠采样或混合采样。甚至可以用 VAE 或 GAN 来生成合成的“毒性分子”数据来平衡数据集。
  • 端到端训练: 你可以将特征提取、不平衡处理、分类任务全部集成在一个模型中。这是传统机器学习很难做到的。

我的经验: 在一个细胞色素 P450(CYP450)抑制活性预测项目中,我们采用了 Graph Isomorphism Network (GIN) 结合 Focal Loss,对比传统的轻量梯度提升机(LightGBM)。在极不平衡(100:1)的测试集上,GIN 模型对抑制剂的召回率从 LightGBM 的 12% 提升到了 58%。虽然整体准确率下降了,但真正需要被发现的“危险分子”漏检率大幅降低。

那么,具体来说,一个完整的不平衡 ADMET 深度学习建模流程是什么样的?我画了一张图,大家可以直观感受一下整个知识体系:

ADMET 不平衡数据深度学习建模全流程 ADMET 实验数据 不平衡比 ≥ 50:1 常见 数据预处理与平衡策略 过采样 SMOTE / 生成式 损失函数 Focal Loss / 加权CE 欠采样 随机 / 聚类式 深度学习模型训练 GNN (分子图) GCN / GIN Transformer 评估与部署

我们可以看到,整个流程是三个核心阶段的串联:首先是不平衡数据的预处理(采样与损失函数设计),然后是模型架构的选择(GNN / GCN / Transformer),最后才是针对性评估。其中任何一个环节处理不好,整体模型都会失效。

1.4 本章核心要点

  • ADMET 是药物研发的隐形杀手。 超过一半的临床失败病例背后都藏着它。早点预测,晚点失败。
  • 不平衡数据是 ADMET 建模的癌症。 它会让你的模型变成一个“只会说无毒”的废物。如果你只用准确率评估模型,你的项目很可能在骗自己。
  • 深度学习提供了破局工具箱。 它不是万能的,但它的自动特征学习、灵活损失函数、与过采样/生成式方法的结合,是目前对抗不平衡数据最有力的手段。

一句话总结: 从这一章开始,我们将手把手带你从原始 ADMET 实验数据出发,一步步构建一个能够在极高不平衡比下仍能准确“抓住”毒性分子的深度学习模型。我会把我在项目中踩过的每一个坑都标示出来,帮你跳过不必要的弯路。