想象这样一幕:一位批改过上万份作文的资深阅卷老师,拿到一篇新作文,只扫一眼开头两段,就能在心里估出“这篇大概 46 分”。他不是在算命,而是见多了“开头点题、字迹工整、金句频出”的卷子之后,脑子里自然形成了一套“开头长什么样 → 大概得多少分”的经验法则。今天的 AI 科学家,正在让机器做一件非常相似的事:只看一段 DNA 序列,就预测出这个基因在细胞里会被“朗读”得多响亮——也就是基因表达水平。这就是 AI for Science 科学智能中 AI+生物信息学的热门方向:基因表达预测。接下来,我们会用“阅卷老师估分”这条线索,一步步拆解基因表达预测的全过程:先认识预测对象,再看序列如何变成数字,然后了解 AI 怎么扫描序列找“金句”,接着看顶尖模型如何通读全文,再学习如何判断“估分”准不准,最后看看这项技术如何落地。

岗位关联

掌握基因表达预测,是进入 AI for Science 时代的实用技能。它让你既懂深度学习,又能与生物学家讲同一种语言,把模型能力真正转化为疾病研究、药物研发与育种实践中的科学价值。

目录
  1. 可视化演示
  2. 表达预测基础:先搞懂“估分”估的是什么
  3. 序列编码方法:把“作文文字”翻译成数字
  4. 卷积特征提取:让 AI 学会“扫读找金句”
  5. 深度学习架构:从“看开头”到“通读全文”
  6. 模型训练评估:怎么知道“估分”准不准
  7. 应用优化策略:把“阅卷经验”变成生产力
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

演示Enformer序列到表达架构、多组学数据整合、Pearson性能评估与优化策略,直观展示如何从DNA序列预测表达水平。

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

Enformer序列到表达架构 膨胀卷积 长程依赖 捕捉增强子等长距离调控依赖

表达预测基础:先搞懂“估分”估的是什么

一位身经百战的阅卷老师拿到一篇作文,先扫开头两段,心里就开始默默估分:“开头点题,字迹工整,估计 46 分。”他不是在瞎猜,而是批过上万份卷子后,脑子里建立了“开头长什么样 → 大概得多少分”的经验法则。AI 科学家也想拥有这种超能力:看一眼 DNA 序列,就说得出某个基因在细胞里“表现得好不好”。

要理解基因表达预测,得先明白“表达”是什么。DNA 是细胞里的“总文库”,一个基因相当于文库中的一篇文章。文章被阅读并复印出 mRNA、再被加工成蛋白质的过程,就是基因表达。表达水平有高有低:有的基因被反复朗读,也就是高表达;有的几乎无人问津,也就是低表达。传统上,生物学家用 RNA 测序这类湿实验来统计“被朗读次数”,但成本高、周期长,很多场景下并不适用。

基因表达预测的任务,正是输入基因附近的 DNA 序列,输出一个表达水平数值,从而部分替代湿实验。中心法则揭示了信息流动的主干:DNA 转录成 RNA,RNA 翻译成蛋白质。预测的难点在于,表达调控远比想象中复杂——转录因子结合位点、启动子、增强子,甚至几十万个碱基之外的远端调控元件,都会影响表达结果。这正是 AI 大显身手的地方:让深度网络从海量已测序样本中自动学出这些调控规则,就像阅卷老师从批过的卷子里自动总结出得分规律一样。

阅卷老师估分前要先知道评分标准,中心法则就是基因表达的“评分标准”:DNA 是源头,RNA 是中间产物,蛋白质是最终呈现。AI 预测表达水平,本质上是在模仿阅卷老师——从序列这份“手稿”出发,推断它在真实细胞里会被“朗读”得多响亮。

DNA→转录mRNA→翻译蛋白质DNA \xrightarrow{\text{转录}} mRNA \xrightarrow{\text{翻译}} 蛋白质
这条“信息流水线”告诉我们:表达预测猜的不是蛋白质长什么样,而是这条流水线最终被开动了多大规模。
  1. DNA 起点DNA 是遗传信息的载体,相当于作文的原始手稿,表达过程从这里开始。
    DNADNA
  2. 转录箭头RNA 聚合酶把 DNA 的编码信息抄写成 mRNA,这一过程称为转录。
    DNA→转录mRNADNA \xrightarrow{\text{转录}} mRNA
  3. mRNA 中间体mRNA 是传递信息的信使,相当于作文被工整抄写后的版本。
    mRNAmRNA
  4. 翻译箭头核糖体以三个碱基一组的方式把 mRNA 翻译成蛋白质。
    mRNA→翻译蛋白质mRNA \xrightarrow{\text{翻译}} 蛋白质
  5. 蛋白质终点蛋白质是执行功能的分子,相当于被读者真正阅读和使用的成品文章。
    蛋白质蛋白质

序列编码方法:把“作文文字”翻译成数字

阅卷老师能看到方块字,机器却看不到。想让 AI 读基因序列,必须先把 A、C、G、T 这四个字母翻译成它擅长的数字语言。这就像我们给老师一份“字迹位置表”,把作文里每个字在哪里、是什么都登记成数据,老师就能快速检索。

最基础的编码是 one-hot 编码:把每个碱基表示成一个四维向量,A 是 [1,0,0,0],C 是 [0,1,0,0],G 是 [0,0,1,0],T 是 [0,0,0,1]。一段长度为 L 的序列,就变成了一张 4 行 L 列的二进制矩阵。这种方法简单直观,不会引入人为的数值大小关系,是深度学习模型的默认输入格式。

除了 one-hot,还有 k-mer 特征和位置权重矩阵。k-mer 相当于把序列切成固定长度的“短词”,统计每个短词出现的频次,类似于统计作文里“金句”用词的出现次数。位置权重矩阵则是先收集一批已知调控位点,统计每个位置上出现 A/C/G/T 的概率,形成一张“位置偏好表”。三者从不同角度描述序列,给模型提供丰富的线索,就像阅卷老师既看字迹、也数金句、还观察金句出现的位置。

把 DNA 字母变成数字矩阵,就像给阅卷老师准备一张标准化的“阅卷登记表”。有了这张表,模型接下来就能用数学工具在序列上“划重点”了,这也是后面卷积网络能工作的基础。

xi=[1(si=A), 1(si=C), 1(si=G), 1(si=T)],xi∈{0,1}4x_i = [\mathbb{1}(s_i{=}A),\ \mathbb{1}(s_i{=}C),\ \mathbb{1}(s_i{=}G),\ \mathbb{1}(s_i{=}T)],\quad x_i \in \{0,1\}^4
one-hot 把每个碱基变成一个“只有一盏灯亮着”的四位开关,四盏灯永远不会同时亮。
  1. 判定 A当第 i 个碱基是 A 时,函数输出 1,否则输出 0。
    1(si=A)\mathbb{1}(s_i=A)
  2. 判定 C第 i 个碱基是 C 时,第二维置 1。
    1(si=C)\mathbb{1}(s_i=C)
  3. 拼接四维向量把四个判断结果拼成一个向量,只含一个 1 和三个 0。
    xi=[1(si=A), 1(si=C), 1(si=G), 1(si=T)]x_i = [\mathbb{1}(s_i{=}A),\ \mathbb{1}(s_i{=}C),\ \mathbb{1}(s_i{=}G),\ \mathbb{1}(s_i{=}T)]
  4. 向量空间归属每个向量都是四维空间里的一个标准单位向量,彼此正交。
    xi∈{0,1}4x_i \in \{0,1\}^4

卷积特征提取:让 AI 学会“扫读找金句”

阅卷老师扫读作文时,眼光像一束探照灯,从左到右一格一格划过纸面。看到“亮点句子”时,他会在心里重重一按;扫过平庸段落时,则快速略过。这种“滑动眼光 + 重点标记”的过程,正是卷积神经网络在基因序列上做的事情。

卷积核是一组很小的权重窗口,比如长度 6、宽度 4 的小矩阵。它在 one-hot 编码后的序列矩阵上从左往右滑动,每到一个位置,就把窗口内的碱基与权重相乘再求和,得到一个激活值。激活值高,说明当前位置的序列模式与卷积核刻画的“模板”很像。如果这个模板恰好对应某个转录因子结合位点,那么卷积核就相当于在说:“这里有一句金句!”这样的卷积核在训练后,往往就是可解释的 motif 识别器。

卷积层之后通常跟着池化层。池化在局部区域内取最大值,把“最亮的信号”保留下来,同时压缩特征维度。这就像老师读完一个段落后,只记住最精彩的那句话,而不是逐字背诵。经过卷积和池化的反复组合,模型得以从局部基序逐步构建出整段序列的调控特征,为后续输出表达水平打下基础。

卷积核扫过整条序列的过程,与阅卷老师的眼光扫过整篇作文如出一辙:哪里有金句,哪里就亮起高激活值。池化层再把最亮的标记层层提炼,最终让模型只凭“关键句子”就能对整篇序列做出判断。

yj=σ(∑k=0K−1wkxj+k+b)y_j = \sigma\left(\sum_{k=0}^{K-1} w_k x_{j+k} + b\right)
一个卷积核就是一组“金句模板”,在序列上滑动打分;分数越高,说明这一段越像是调控元件。
  1. 滑动匹配窗口内第 k 个位置的碱基编码与权重相乘后累加。
    ∑k=0K−1wkxj+k\sum_{k=0}^{K-1} w_k x_{j+k}
  2. 加偏置在累加结果上加上一个可学习的偏置项,控制激活的难易程度。
    ∑k=0K−1wkxj+k+b\sum_{k=0}^{K-1} w_k x_{j+k} + b
  3. 激活输出通过非线性激活函数得到当前位置的特征值,抑制无关噪声。
    yj=σ(∑k=0K−1wkxj+k+b)y_j = \sigma\left(\sum_{k=0}^{K-1} w_k x_{j+k} + b\right)

深度学习架构:从“看开头”到“通读全文”

普通阅卷老师只看开头两段就能估分,而一位顶级专家会跳读中段、联系上下文,甚至把结尾的升华与前文呼应起来看。基因表达预测中的深度模型,也在走同样的进阶路线:从局部卷积,走向“通读全文”的长程建模。

Enformer 是这一方向的代表作。它借鉴了自然语言处理中的 Transformer 架构,能在约 20 万碱基的窗口内捕捉增强子与启动子之间的远距离相互作用。传统卷积的感受野有限,很难把相隔很远的调控元件关联起来;而注意力机制允许序列中任意两个位置直接“打招呼”,距离不再是障碍。这就像老师翻到作文第 3 页,还能想起第 1 页埋下的伏笔,把前后线索串成完整的判断依据。

这类模型还普遍采用多任务学习:同时预测多个细胞类型或多种组织中的表达水平,让共享的序列特征在不同任务间互相增强。端到端训练则让模型直接从原始序列学出表达值,中间不需要人工设计特征。整个流程很像一位越来越老练的阅卷老师——不仅会读开头,还会通读全文、跨段落找线索,并且能把同一套阅卷心得用在各种文体上。

注意力机制就好比老师手中的一支“串联笔”,把作文开头、中段、结尾的线索画线连在一起。Enformer 正是靠这种能力,把几十万碱基之外的增强子信号“拉”回基因身边,让远程调控不再是预测的盲区。

Attention(Q,K,V)=softmax(QK⊤dk)V\mathrm{Attention}(Q,K,V) = \mathrm{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V
注意力机制的核心是“哪两个位置值得互相关注”:Q 提问、K 应答、V 传递信息,自动确定远距离调控的权重。
  1. 查询与键点积用查询向量 Q 与键向量 K 做点积,衡量两处序列的匹配程度。
    QK⊤QK^\top
  2. 缩放除以维度 d_k 的平方根,防止点积过大导致梯度不稳定。
    QK⊤dk\frac{QK^\top}{\sqrt{d_k}}
  3. softmax 归一化把匹配分数转换成概率分布,让所有位置权重之和为 1。
    softmax(QK⊤dk)\mathrm{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)
  4. 加权聚合值用归一化权重对值向量 V 加权求和,得到融合上下文后的输出。
    Attention(Q,K,V)=softmax(QK⊤dk)V\mathrm{Attention}(Q,K,V) = \mathrm{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V

模型训练评估:怎么知道“估分”准不准

阅卷老师估完分,最终要跟真实成绩比对,才能知道自己是不是位“估分高手”。AI 模型也一样:训练时要拿预测值与真实表达值比较,算出差多少,再反向调整参数。这种“比较差距”的数学表达,就是损失函数。

回归任务最常用的损失是均方误差,它把每个样本的预测值与真实值之差平方后取平均。平方操作让大误差受到更重的惩罚,相当于老师如果某次估分偏差 10 分,会比偏差 5 分被“扣”四倍的信任度。训练时,模型不断朝着损失减小的方向更新参数,就像老师根据每次估错的反馈,慢慢校准自己的打分尺度。

评估阶段,皮尔逊相关系数是最常用的指标之一。它衡量预测值与真实值的线性相关性:r 接近 1,说明预测高的时候真实也高、预测低的时候真实也低,排名趋势高度同步。但要注意,r 高不代表数值接近,所以还要配合平均绝对误差等指标一起看。为了保证评估可信,数据要分成训练、验证、测试三份,测试集在训练中绝对不能见到,否则就像老师拿批改过的原卷来测自己估分能力,分数当然虚高。

老师估分排名很准,但每次都整体多给 5 分——这就是 r 很高而绝对误差很大的典型情况。因此,衡量“估分”水平要双指标并重:相关系数看趋势、损失或绝对误差看数值。只有两者都合理,AI 才真正掌握了阅卷这门手艺。

r=∑i=1n(xi−xˉ)(yi−yˉ)∑i=1n(xi−xˉ)2⋅∑i=1n(yi−yˉ)2r = \frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2} \cdot \sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}}
r 衡量两组数据“步调是否一致”:预测值和真实值是不是同涨同跌、成比例地变化。
  1. 各组去均值把预测值减去均值、真实值减去均值,让数据都围绕 0 波动。
    xi−xˉ,yi−yˉx_i-\bar{x},\quad y_i-\bar{y}
  2. 分子累积两列偏差逐项相乘再求和,反映“一起高或一起低”的一致程度。
    ∑i=1n(xi−xˉ)(yi−yˉ)\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})
  3. 分母标准化求两组数据的标准差乘积,把相关性压缩到 -1 到 1 之间。
    ∑i=1n(xi−xˉ)2⋅∑i=1n(yi−yˉ)2\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2} \cdot \sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}
  4. 比值即相关系数分子除以分母,得到无量纲的皮尔逊相关系数。
    r=∑i=1n(xi−xˉ)(yi−yˉ)∑i=1n(xi−xˉ)2⋅∑i=1n(yi−yˉ)2r = \frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2} \cdot \sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}}

应用优化策略:把“阅卷经验”变成生产力

一位老师积累的阅卷经验,不只是用来给下一届学生估分,还可以用来编写评分标准、设计辅导方案。基因表达预测模型同样如此:一旦学会了“从序列估表达”,就能在多个领域创造实际价值,并且可以通过各种调优策略越用越好。

在基因组医学中,eQTL 分析是一个重要应用。eQTL 的全称是“表达数量性状位点”,研究 DNA 变异如何影响基因表达水平。传统做法需要大规模人群的基因型加转录组测序,成本极高。有了 AI 表达预测模型,科学家可以把某个变异所在区域的序列输入模型,秒级判断这个变异会让基因表达上调还是下调,快速缩小候选位点范围。在药物研发中,模型能预测化合物处理后相关基因的表达变化,帮助药企优先筛选能“逆转病变表达谱”的候选分子。在农业育种里,预测模型则能从成千上万个株系中挑出“高表达潜能”的优良基因型。

要让模型持续变强,优化策略同样重要。正则化加惩罚项防止模型过度依赖某几个特征;多任务学习让不同组织的数据互相补强;预训练加微调则把海量基因组上学到的通用规律迁移到特定任务上。可解释性分析则把注意力权重和卷积核可视化,让研究人员看清楚模型到底“读”了序列的哪些部位——就像老师把自己画波浪线的地方拿给学生看,告诉学生“这些金句是关键”。

阅卷经验最终沉淀为一份可复用的评分手册,基因表达预测模型也把学到的调控规律变成可解释、可迁移的知识。从 eQTL 筛查到药物研发再到分子育种,AI 正在把“读序列、估表达”这项阅卷本领,变成推动生命科学前进的硬核生产力。

L=1N∑i=1N(yi−y^i)2+λ∑kθk2L = \frac{1}{N}\sum_{i=1}^{N}\left(y_i - \hat{y}_i\right)^2 + \lambda\sum_{k}\theta_k^2
损失函数后面多出来的这一项,相当于给模型立规矩:不能为了拟合训练数据而把某些权重调得过大。
  1. 数据拟合项先看预测值与真实值的平均平方误差,模型必须把表达水平学准。
    1N∑i=1N(yi−y^i)2\frac{1}{N}\sum_{i=1}^{N}\left(y_i - \hat{y}_i\right)^2
  2. 正则惩罚项把所有模型权重的平方和也计入损失,权重越大惩罚越重。
    λ∑kθk2\lambda\sum_{k}\theta_k^2
  3. 加和成总损失两部分合并后,模型既要学准数据,又要保持权重轻盈,以此提升泛化能力。
    L=1N∑i=1N(yi−y^i)2+λ∑kθk2L = \frac{1}{N}\sum_{i=1}^{N}\left(y_i - \hat{y}_i\right)^2 + \lambda\sum_{k}\theta_k^2

AI 应用场景

全基因组变异表达效应筛查(精准医学)

阶段:AI for Science 数据分析与推断

解决的问题:传统 eQTL 分析需要成千上万人的基因型与转录组测序数据,做大规模 RNA-seq 成本极高,周期动辄数月。AI 表达预测模型可以直接读入变异所在区域的 DNA 序列,秒级推算某个点突变会让基因表达上调还是下调,把湿实验的验证范围大幅缩小。

具体案例:某肿瘤研究团队收集了数百例癌症患者的突变数据,用预训练好的表达预测模型逐一评估“启动子区点突变是否导致 MYC 基因表达升高”。原本数万个候选突变被快速筛选到几十个最可能的调控突变,再交给实验验证,研究成本下降了一个数量级。

药物研发中的基因表达响应预测

阶段:AI for Science 分子筛选与成药性评估

解决的问题:药物进入临床试验前,需要知道化合物会对哪些基因的表达产生扰动。过去依赖动物模型和细胞实验,周期长、成本高。AI 模型可以先用序列预测不同处理下的基因表达变化,预筛出最有潜力的候选分子。

具体案例:一家药企在评估全新化合物时,将化合物结构指纹与关键靶基因的调控序列共同输入多任务模型,一次预测数千个基因的用药后表达谱。团队优先挑选那些能让表达谱“逆转变病变状态”的分子,最终只有不到 5% 的候选化合物进入细胞实验,大大加速了早期研发管线。

作物分子育种中的表达潜能筛选

阶段:AI for Science 基因型-表型关联

解决的问题:育种家面对成千上万株系的基因型数据,却无法逐一在田间测定耐旱基因的表达水平。表达预测模型能够快速估算每个株系中目标基因的表达潜能,辅助育种决策。

具体案例:某玉米育种公司对 10 万个株系的启动子区进行测序,用表达预测模型为耐旱相关基因的“表达潜能”打分,选出预测表达最高的 5% 株系优先进入下一轮田间试验,使育种周期显著缩短。

Python 演示

python62 行
import numpy as np MOTIFS = ["TATAAT", "CCGATA", "GGTACC", "AAACGT"] def encode(seq):    """统计每个 motif 在序列中出现的次数作为特征向量"""    vec = []    for m in MOTIFS:        vec.append(seq.count(m))    return np.array(vec, dtype=float) def pearson_r(a, b):    a = np.asarray(a, dtype=float)    b = np.asarray(b, dtype=float)    abar, bbar = a.mean(), b.mean()    num = ((a - abar) * (b - bbar)).sum()    den = np.sqrt(((a - abar) ** 2).sum() * ((b - bbar) ** 2).sum())    return num / den if den else 0.0 class ExpressionPredictor:    """线性回归模型: score = w.dot(x) + b"""    def __init__(self, dim=4):        self.w = np.zeros(dim)        self.b = 0.0     def predict(self, seq):        return float(self.w.dot(encode(seq)) + self.b)     def train(self, seqs, labels, lr=0.01, epochs=80):        for _ in range(epochs):            grad_w = np.zeros_like(self.w)            grad_b = 0.0            for s, y in zip(seqs, labels):                x = encode(s)                err = self.predict(s) - y                grad_w += 2 * err * x                grad_b += 2 * err            self.w -= lr * grad_w / len(seqs)            self.b -= lr * grad_b / len(seqs) def make_dataset(rng, size=400, length=80):    seqs, labels = [], []    for _ in range(size):        seq = "".join(rng.choice(list("ACGT"), size=length))        count = sum(seq.count(m) for m in MOTIFS)        # 表达值 = 基序数量的 2 倍 + 随机噪声        labels.append(count * 2.0 + rng.randn() * 0.5)        seqs.append(seq)    return seqs, labels def main():    rng = np.random.RandomState(42)    seqs, labels = make_dataset(rng)    model = ExpressionPredictor(dim=len(MOTIFS))    model.train(seqs, labels)    preds = [model.predict(s) for s in seqs]    print("训练后皮尔逊相关系数 r =", round(pearson_r(preds, labels), 4))    test_seq = "GGTACC" + "ACGT" * 20 + "TATAAT" + "CCGATA"    print("新序列预测表达值 =", round(model.predict(test_seq), 3)) if __name__ == "__main__":    main()
目的:用“基序计数”作为序列特征,训练一个线性回归模型来预测基因表达值,并输出预测值与真实值的皮尔逊相关系数。
  1. vec.append(seq.count(m))统计每个调控基序在序列中出现的次数,相当于数“金句”出现的频率。
  2. err = self.predict(s) - y计算预测表达值与真实表达值的差,这是模型校准的依据。
  3. grad_w += 2 * err * x累加梯度,让参数朝着误差减小的方向移动。
  4. self.w -= lr * grad_w / len(seqs)用学习率更新权重,等价于老师根据偏差调整打分尺度。
  5. labels.append(count * 2.0 + rng.randn() * 0.5)构造带噪声的表达标签,模拟真实实验数据的随机性。
  6. model.train(seqs, labels)执行多轮梯度下降训练,让模型逐步学会从基序特征推测表达水平。
  7. print("训练后皮尔逊相关系数 r =", ...)输出相关系数,衡量预测趋势与真实值的同步程度。

常见误区

误区我以为基因表达预测就是预测蛋白质长什么样,模型最终会输出一个三维结构坐标,像 AlphaFold 那样折叠出蛋白质。

正解表达预测输出的是一个表达水平数值,表示基因被转录出多少 RNA、最终产生多少蛋白质,而不是蛋白质的空间结构。AlphaFold 解决的是“从氨基酸序列折叠出三维结构”,两者同属 AI+生物信息学但任务完全不同。打个比方:阅卷老师估的是作文“得了多少分”,而不是“这篇作文讲了什么故事”。分与内容,是两回事。

为何常见:AlphaFold 名气太大,导致很多人把“从序列预测生物性质”的所有任务都误以为是在预测结构,忽视了表达预测的回归本质。

误区我觉得应该把整个基因组几十亿个碱基都塞进模型,信息越全,预测自然就越准,反正现在算力强大。

正解全基因组包含大量与目标基因表达无关的噪声,直接输入会带来计算爆炸和严重过拟合。表达预测的关键区域是基因附近的启动子、增强子等调控区域,先进模型如 Enformer 也会把窗口控制在约 20 万碱基的上下文范围内。就像老师判作文只需要看正文,不需要把整本练习册从头读到尾。

为何常见:直觉上“数据多等于信息全”,但忽略了信噪比和计算成本之间的权衡,也低估了无关序列带来的干扰。

误区我认为卷积神经网络是完全的黑箱,谁也说不清它到底从序列里学了什么,只能当作一个神秘魔盒来用。

正解CNN 的卷积核其实相当可解释。训练完成后,把某个卷积核的权重画成序列 LOGO,往往能看到它对应一个已知的转录因子结合位点。卷积核本质上就是“金句模板”,高激活位置就是模型认为的调控基序。这和老师批卷时在亮点句下画波浪线一样,是可以拿出来分析、验证的。

为何常见:很多教程强调深度学习的端到端特性,让初学者误以为内部完全不可读,其实可解释性一直是表达预测模型研究的重要方向。

误区我以为 r=0.9 就是预测值跟真实值非常接近,误差都很小,模型已经非常完美了。

正解r 衡量的是两组数据的线性相关性,反映的是“趋势是否同步”,不代表“数值是否相等”。老师估分可能整体偏高 20 分,但名次排序和真实成绩完全一致,此时 r 很高、平均绝对误差却不小。因此评估表达预测模型要同时看 r 和 MSE/MAE,一个看趋势、一个看数值偏差。

为何常见:学习相关系数时,老师总强调“越接近 1 越相关”,让大家误把相关当一致,忽略了系统偏差同样重要。

误区我觉得只要有足够多的数据,模型自己就能学会规律,脏数据、批次差异什么的都不重要,大力出奇迹。

正解不同实验室、不同测序平台会产生批次效应;不同组织来源的样本,同一基因的表达模式也截然不同。如果直接混合训练,模型很可能学到的是“哪个批次”或“哪个组织”的标识,而不是真正的调控规律。这就像把不同年份、不同科目的试卷混在一起让老师估分,他也会被评分标准的差异搞得晕头转向。数据预处理、批次校正和科学的数据划分,是模型成功的前提。

为何常见:深度学习时代“数据喂得多就能赢”的说法让初学者忽视了数据质量,而生物数据恰恰最容易混入隐蔽的批次噪声。

面试题

Q1. 基因表达预测模型的输入通常是?

单选题 · easy

  • A.蛋白质的氨基酸序列
  • B.基因附近的 DNA 序列← 正确答案
  • C.RNA 的三维空间结构
  • D.细胞代谢物的浓度

答案:B。基因表达预测是从 DNA 序列出发、推断基因的转录表达水平,因此输入是基因附近的 DNA 序列,涵盖编码区与调控区。它不像 AlphaFold 那样以氨基酸序列预测三维结构,也不依赖 RNA 结构或代谢物浓度。阅卷老师看的是“手稿”,表达预测模型看的就是序列。

Q2. 中心法则描述的信息传递主链是?

单选题 · easy

  • A.DNA 转录出 mRNA,再翻译成蛋白质← 正确答案
  • B.蛋白质逆翻译成 mRNA,再转录成 DNA
  • C.mRNA 直接折叠成有功能的酶
  • D.DNA 复制成 RNA 后不再变化

答案:A。中心法则的主干是 DNA→RNA→蛋白质:转录把 DNA 抄写成 mRNA,翻译把 mRNA 变成蛋白质。其他选项或颠倒方向,或混淆了转录与折叠。就像一篇作文从手稿到抄写稿再到被点评,顺序不能乱。

Q3. one-hot 编码中碱基 C 通常表示为?

单选题 · easy

  • A.四维向量 [0,1,0,0]← 正确答案
  • B.四维向量 [1,0,0,0]
  • C.四维向量 [0,0,1,0]
  • D.四维向量 [0,0,0,1]

答案:A。one-hot 用四个互斥位置分别代表 A、C、G、T。按 A、C、G、T 的顺序约定时,A=[1,0,0,0],C=[0,1,0,0],G=[0,0,1,0],T=[0,0,0,1]。它把字符映射成向量,相当于给每个碱基分配一张专属“座位表”,位置 1 处亮灯。

Q4. CNN 卷积核在基因序列上的作用相当于?

单选题 · mid

  • A.识别转录调控的基序 motif← 正确答案
  • B.计算整条染色体的 GC 含量
  • C.把氨基酸翻译成 DNA 密码子
  • D.统计基因在细胞中的拷贝数

答案:A。卷积核是一组在序列上滑动的权重窗口,激活值高就说明该区域与核刻画的序列模式(motif,如转录因子结合位点)高度相似。它就像老师扫读作文时锁定的“金句模板”,专门负责发现亮点模式,而不是数 GC 或翻译密码子。

Q5. 池化层在表达预测模型中的主要作用是?

单选题 · mid

  • A.压缩特征并保留显著信号← 正确答案
  • B.把 DNA 变成 RNA 序列
  • C.提高训练集样本的数量
  • D.消除基因之间的调控关系

答案:A。池化(如最大池化)在局部区域取最大值,既能保留最显著的 motif 响应,又能降低特征维度、减少过拟合。它相当于老师读完一个段落后只记住最精彩的那句金句,而不是逐字复述整段话。

Q6. 皮尔逊相关系数 r 主要衡量预测值与真实值的?

单选题 · mid

  • A.线性同步变化程度← 正确答案
  • B.平均偏差大小
  • C.参数规模差异
  • D.运行时间快慢

答案:A。r 描述两组数据的线性相关性,r 越接近 1 说明预测值“同涨同跌”的趋势越强,但不代表数值相等。因此评估时还需配合 MSE/MAE 等绝对误差指标,就像老师估分排名很准,但也可能整体估高或估低。

Q7. 某模型对样本整体估分偏高但排名不变,最合适的补救是?

单选题 · hard

  • A.调小差值的回归损失← 正确答案
  • B.增大卷积核的数量
  • C.改用多任务学习方法
  • D.增加验证集的样本量

答案:A。整体偏高属于系统偏差,对应预测与真实之间的常数偏移。通过优化回归损失(最小化预测与真实的差值)可以同时修正方向和大小;增大卷积核数量或改用多任务学习,并不直接消除常数偏差。这就像老师发现自己总多给 5 分,把打分尺度整体下调即可。

Q8. 下列哪些属于把序列转成模型输入的特征方法?

多选题 · mid

  • A.one-hot 编码方法← 正确答案
  • B.k-mer 频次特征← 正确答案
  • C.位置权重矩阵 PWM← 正确答案
  • D.蛋白质三维结构

答案:ABC。one-hot、k-mer、PWM 都是序列特征表示方法,分别从“字符独热、短词频次、位置偏好”的角度描述 DNA 序列,就像用字迹、用词、金句位置来刻画一篇作文。蛋白质三维结构是另一个预测任务的输出,不属于序列编码方法。

Q9. 关于用 AI 做 eQTL 分析,正确的说法是?

多选题 · mid

  • A.eQTL 研究变异对表达的效应← 正确答案
  • B.预测模型能快速筛查变异影响← 正确答案
  • C.预测已能完全取代湿实验
  • D.预测模型辅助定位调控区域← 正确答案

答案:ABD。eQTL 即表达数量性状位点,研究 DNA 变异如何影响基因表达水平;AI 预测模型可以快速评估变异效应、辅助定位调控区域。但它不能完全取代 RNA-seq 等湿实验,模型的预测结论仍需实验验证,就像老师估分再准,最终成绩仍以真实答卷为准。

Q10. 提升长程调控表达能力的模型策略有哪些?

多选题 · hard

  • A.注意力机制捕获远端增强子← 正确答案
  • B.多任务共享多种组织信息← 正确答案
  • C.移除染色质可及性信息
  • D.预训练后用下游任务微调← 正确答案

答案:ABD。注意力机制能处理远距离依赖,多任务让模型共享不同组织的调控规律,预训练加微调把海量基因组上的通用知识迁移到目标任务。移除染色质可及性信息反而会丢失重要的调控线索,降低长程预测能力。这相当于让阅卷老师通读全文、多看几年卷子,而不是只留下标题就开考。