从 DNA 基础到迁移实验:理解鱼类跨物种预测
阅读路线
1. 研究问题:让其他物种的数据帮助目标物种预测
项目提出的方向,是利用多种鱼类的遗传数据,探索能够服务于不同鱼类预测任务的模型。报告中讨论的数据规模约为五种鱼、七千多条个体、1.7T 数据,并提到参考基因组相关准备与云服务器;具体细节仍需核实。
研究的直接目标可以写成一个问题:
已经拥有物种甲的遗传信息和性状记录,能否帮助我们预测物种乙的性状?
这里的“性状”是需要预测的结果,例如体重或某种明确测量方式下的抗病表现。
难点在于,不同物种使用不同的参考基因组,其 SNP 数量、位置及含义未必对应。物种甲的“第一个 SNP”和物种乙的“第一个 SNP”,不一定具有相同的生物学意义。
因此,这项研究至少包含三个相互连接的问题:
- 怎样把不同物种的遗传信息表示成模型能够共同利用的特征?
- 哪些规律适合共享,哪些差异需要保留?
- 怎样通过实验确认,共享信息确实帮助了目标物种?
利用 SNP 周围的 DNA 序列是一条候选路径。它让模型除了看到变异,还能看到变异所在的序列环境。但“都写成 A、T、C、G”本身并不等于已经建立了跨物种对应关系。
项目当前的顺序应当是:明确数据与性状,建立可验证的预测任务,再考虑更复杂的模型和基因定位。
2. 从 DNA 到参考基因组:先理解模型要读什么
2.1 DNA、基因与基因组
可以把 DNA 看成由 A、T、C、G 四种碱基构成的长序列。
| DNA 序列 | 碱基按顺序排列形成的信息 |
| 基因 | 与产生功能性 RNA 或蛋白质有关的遗传单位 |
| 基因组 | 一个生物的一整套遗传信息 |
| SNP | 某个位置上的单核苷酸变异 |
| 基因型 | 某个个体在相关位置上携带的等位基因组合 |
| 表型/性状 | 实际能够观察或测量的表现 |
对于编码蛋白质的基因,信息利用过程通常涉及:先以 DNA 为模板转录 RNA,再利用 RNA 翻译蛋白质。也有基因产生的是直接发挥功能的非编码 RNA,因此不能把“基因”全部等同于“蛋白质编码区”。[1]
2.2 参考基因组:一套共同使用的 DNA 底图
参考基因组是用来比较和定位的一套基因组序列。 它让研究者能够一致地描述“哪条染色体、哪个位置、什么碱基”。[2]
假设某处的一小段序列如下:
| 参考序列 | A C T A G C T |
| 某个样本的一段对应序列 | A C T G G C T |
这段示意中,第 4 个位置的参考碱基是 A,样本中观察到的是 G。参考只是比较基准,不代表 A 比 G 更优。
参考基因组也不要求与该物种每个个体完全一致。它通常由选定个体的测序数据组装而成,某些参考也整合多个来源。
在项目中,参考基因组可以帮助我们:
版本必须一致。 同一物种的参考组装更新后,坐标可能变化;因此,变异文件、参考序列与注释不能只核对物种名,还要核对组装版本。
2.3 参考序列不等于个体差异
如果同一种鱼的所有个体都输入同一份参考序列,模型就缺少区分这些个体的遗传信息。
对于通常按二倍体处理的位点,个体可能携带两份参考等位基因、一份参考与一份替代等位基因,或两份替代等位基因。具体处理必须与研究鱼种及数据中的倍性一致。
因此,个体性状预测需要保留个体基因型,再将它与参考序列上下文结合。参考基因组提供位置和环境,个体基因型提供“这条鱼有什么不同”。
2.4 基因组注释:给底图加上标记和说明
基因组注释是在序列上标出基因及其他生物学特征,并尽可能说明它们的结构与功能。[3]
| 结构注释 | 在哪里,由什么部分组成? | 基因起止位置、外显子、内含子、转录本 |
| 功能注释 | 可能做什么? | 编码的蛋白质可能具有某种酶活性 |
例如,一个 SNP 位于第 3 号染色体某处:参考基因组告诉你该处及周围的序列,注释告诉你它是否落在已标注的基因中,以及附近基因的已知或预测功能。
注释既可能来自实验,也可能来自计算预测和同源推断。没有注释往往表示未知,不等于不存在功能。 GO 数据库明确采用这一开放世界假设。[4]
常见的数据文件可以先这样认识:
| FASTA | 参考或其他 DNA 序列 |
| GFF/GTF | 基因、转录本等特征的坐标与结构信息 |
| VCF | 变异位置、等位基因,以及可能包含的个体基因型 |
| 表型表 | 个体编号、性状数值和相关测量条件 |
3. DNA 怎样调控基因工作

3.1 转录:先把 DNA 信息复制成 RNA
转录是以 DNA 为模板合成 RNA 的过程。一个基因何时转录、在哪种细胞里转录、转录多少,都会受到调控。
理解启动子、增强子和转录因子时,始终记住:这些概念讨论的是信息怎样被使用,而不只是 DNA 上有哪些字母。
3.2 启动子:组织转录开始的区域
启动子是一段参与招募转录所需蛋白质、帮助启动转录的 DNA 区域。 它通常位于转录起始位置附近,包含其上游区域。[5]
可以把它理解成抄写工作的集合与启动位置。启动子不是一个蛋白质,而是 DNA 序列。
“上游”与“下游”根据相关基因的转录方向定义。
3.3 增强子:在特定条件下促进目标基因转录
增强子也是 DNA 区域,可以结合调控蛋白并促进目标基因的转录。 它可能位于目标基因上游、下游或内部,也可能距离较远。[6]
DNA 在细胞中会折叠。沿序列相距很远的区域,在三维空间中可能靠近,使增强子相关蛋白能够与启动子附近的转录复合体发生作用。
增强子的作用依赖组织、发育阶段和细胞环境等条件。不能看到一段增强子注释,就认定它在所有细胞中都活跃,或必然调控最近的基因。
3.4 转录因子与结合位点:蛋白质和它在 DNA 上停靠的位置
| 转录因子,TF | 蛋白质 | 参与促进或抑制基因转录 |
| 转录因子结合位点,TFBS | 一小段 DNA 区域 | 能够被相关转录因子识别、结合 |
| 启动子/增强子 | 调控 DNA 区域 | 可以容纳多个结合位点,组织调控作用 |
“结合位点”通常不只包含一个碱基。转录因子偏好的序列模式称为 motif,它常是允许一定变化的模式,而不是唯一一种固定拼写。[7]
假设某个因子偏好结合 ACGTGA 一类序列,一个 SNP 将其改成 ACATGA。这个变化可能改变结合强度,也可能影响很小。如果结合受到影响,还可能进一步改变基因表达。
但匹配某个 motif,只说明存在结合的可能性;细胞有没有相应因子、DNA 是否容易被接近等,也会影响实际结合。[7]
3.5 为什么 SNP 周围序列值得研究
变异可能改变蛋白质编码,也可能改变调控信息。即使蛋白质的编码序列不变,基因表达的时间、位置或数量变化,也可能影响性状。
所以,在模型中加入 SNP 周围序列,是希望同时表达“发生了什么变异”与“它处在什么环境”。
4. 5′、3′与反向互补:序列为什么有方向
4.1 5 和 3 是碳原子编号
DNA 的基本组成单位是核苷酸,包括磷酸、脱氧核糖和碱基。脱氧核糖有五个碳原子,编号为 1′、2′、3′、4′、5′;撇号用于区分糖的编号与碱基的编号。[1]
相邻核苷酸通过磷酸连接一个糖的 3′ 位置和下一个糖的 5′ 位置。这种连接使链具有方向,两端分别称为 5′ 端和 3′ 端。
因此,5′-ATGC-3′ 表示:从这条链的 5′ 端向 3′ 端读,序列是 ATGC。5 和 3 不是第几个碱基,也不是序列长度。 
4.2 为什么要“反向”再“互补”
DNA 两条链反向平行,配对关系是 A–T、C–G。书写序列时通常统一采用 5′ 到 3′ 的方向。
| 原链 | 5′-ATGC-3′ |
| 按位置配对的互补链 | 3′-TACG-5′ |
| 将互补链按 5′ 到 3′ 书写 | 5′-GCAT-3′ |
所以,ATGC 的反向互补是 GCAT。[8]
这不是发生了一次突变,而是用另一条链表示同一段双链 DNA。提取基因区域或比较序列时,需要正确处理链方向。
5. 跨物种对应:哪些信息可以放在一起比较
5.1 同源是祖先关系,不只是看起来相似
同源指两个基因或序列来自共同祖先。序列相似性可以作为推断同源的证据,但同源关系本身描述的是演化来源。[9]
5.2 直系同源与旁系同源:看分开的事件
| 直系同源,orthology | 物种分化 |
| 旁系同源,paralogy | 基因复制 |
假设祖先基因先复制为 G1、G2,随后祖先物种分化成物种甲与物种乙:
#mermaid-svg-BGD6PA1Q1X9vxjky{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-BGD6PA1Q1X9vxjky .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-BGD6PA1Q1X9vxjky .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-BGD6PA1Q1X9vxjky .error-icon{fill:#552222;}#mermaid-svg-BGD6PA1Q1X9vxjky .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-BGD6PA1Q1X9vxjky .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-BGD6PA1Q1X9vxjky .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-BGD6PA1Q1X9vxjky .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-BGD6PA1Q1X9vxjky .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-BGD6PA1Q1X9vxjky .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-BGD6PA1Q1X9vxjky .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-BGD6PA1Q1X9vxjky .marker{fill:#333333;stroke:#333333;}#mermaid-svg-BGD6PA1Q1X9vxjky .marker.cross{stroke:#333333;}#mermaid-svg-BGD6PA1Q1X9vxjky svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-BGD6PA1Q1X9vxjky p{margin:0;}#mermaid-svg-BGD6PA1Q1X9vxjky .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-BGD6PA1Q1X9vxjky .cluster-label text{fill:#333;}#mermaid-svg-BGD6PA1Q1X9vxjky .cluster-label span{color:#333;}#mermaid-svg-BGD6PA1Q1X9vxjky .cluster-label span p{background-color:transparent;}#mermaid-svg-BGD6PA1Q1X9vxjky .label text,#mermaid-svg-BGD6PA1Q1X9vxjky span{fill:#333;color:#333;}#mermaid-svg-BGD6PA1Q1X9vxjky .node rect,#mermaid-svg-BGD6PA1Q1X9vxjky .node circle,#mermaid-svg-BGD6PA1Q1X9vxjky .node ellipse,#mermaid-svg-BGD6PA1Q1X9vxjky .node polygon,#mermaid-svg-BGD6PA1Q1X9vxjky .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-BGD6PA1Q1X9vxjky .rough-node .label text,#mermaid-svg-BGD6PA1Q1X9vxjky .node .label text,#mermaid-svg-BGD6PA1Q1X9vxjky .image-shape .label,#mermaid-svg-BGD6PA1Q1X9vxjky .icon-shape .label{text-anchor:middle;}#mermaid-svg-BGD6PA1Q1X9vxjky .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-BGD6PA1Q1X9vxjky .rough-node .label,#mermaid-svg-BGD6PA1Q1X9vxjky .node .label,#mermaid-svg-BGD6PA1Q1X9vxjky .image-shape .label,#mermaid-svg-BGD6PA1Q1X9vxjky .icon-shape .label{text-align:center;}#mermaid-svg-BGD6PA1Q1X9vxjky .node.clickable{cursor:pointer;}#mermaid-svg-BGD6PA1Q1X9vxjky .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-BGD6PA1Q1X9vxjky .arrowheadPath{fill:#333333;}#mermaid-svg-BGD6PA1Q1X9vxjky .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-BGD6PA1Q1X9vxjky .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-BGD6PA1Q1X9vxjky .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-BGD6PA1Q1X9vxjky .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-BGD6PA1Q1X9vxjky .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-BGD6PA1Q1X9vxjky .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-BGD6PA1Q1X9vxjky .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-BGD6PA1Q1X9vxjky .cluster text{fill:#333;}#mermaid-svg-BGD6PA1Q1X9vxjky .cluster span{color:#333;}#mermaid-svg-BGD6PA1Q1X9vxjky div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-BGD6PA1Q1X9vxjky .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-BGD6PA1Q1X9vxjky rect.text{fill:none;stroke-width:0;}#mermaid-svg-BGD6PA1Q1X9vxjky .icon-shape,#mermaid-svg-BGD6PA1Q1X9vxjky .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-BGD6PA1Q1X9vxjky .icon-shape p,#mermaid-svg-BGD6PA1Q1X9vxjky .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-BGD6PA1Q1X9vxjky .icon-shape .label rect,#mermaid-svg-BGD6PA1Q1X9vxjky .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-BGD6PA1Q1X9vxjky .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-BGD6PA1Q1X9vxjky .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-BGD6PA1Q1X9vxjky :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
基因复制
基因复制
物种分化
物种分化
物种分化
物种分化
祖先基因 G
祖先 G1
祖先 G2
物种甲 G1
物种乙 G1
物种甲 G2
物种乙 G2
在这张图里,甲 G1 与乙 G1 是直系同源;甲 G1 与甲 G2 是旁系同源;甲 G1 与乙 G2 也属于旁系同源。所有四个基因都具有同源关系。[9]
直系同源会出现一对多、多对多关系。[10]
鱼类中存在基因组复制后的基因保留、丢失及功能分化,不能假设一个物种中的某个基因,在另一个物种中必然只有一个功能完全相同的对应基因。[11]
5.3 共线性:对应基因的相对顺序是否保留
假设下面的 P、Q、R、S 已有同源对应证据:
| 物种甲 | P₁ → Q₁ → R₁ → S₁ |
| 物种乙 | P₂ → Q₂ → R₂ → S₂ |
对应基因的相对顺序保持,提供了共线性证据。可以理解成:除了识别“同一栋建筑”,还核对它周围的邻居。
5.4 序列保守性:演化过程中改变得多不多
在已有对应关系的序列中,如果许多位置经过演化仍然相同或相似,就说明这些位置较保守。研究者会结合多序列比对、演化距离和背景变化水平进行判断。
| 物种甲 | A C G T A A |
| 物种乙 | A C G T G A |
| 物种丙 | A C G T A A |
这个短例子仅展示“多数位置相同”;真实保守性分析不能只靠几个字母。
同源回答“祖先是不是相同”,保守性回答“演化之后还保留了多少相似特征”。保守区域可以帮助寻找潜在功能区域。[13]
5.5 可以共享什么,不能直接搬用什么
| 部分基因或蛋白质功能区域 | 所有组织中的功能与作用强度完全相同 |
| 某些基本生化反应及通路组成 | 对生长或抗病性状的效应必然相同 |
| 某些转录因子偏好的序列模式 | 对应位置一定发生结合并产生同样效果 |
| 局部共线性 | 每个坐标、间距及 SNP 都能一一对应 |
序列保守与功能保守也不完全等价。已有实验研究表明,部分增强子的序列明显变化后仍能维持相似功能;相似的对应区域也可能只在某些物种或条件下活跃。[14][15]
5.6 标签能否共用,比标签名称更重要
在机器学习中,“标签”是用于训练或评分的答案。不同物种的标签名称相同,不代表测量目标相同。
| 体重 | 年龄、发育阶段、饲料、环境、单位不同 |
| 抗病性 | 病原、感染剂量、感染方式、观察时长不同 |
| 耐高温 | 急性升温与长期高温暴露,评价终点不同 |
| 增强子阳性 | 组织、发育阶段、实验方法与判定标准不同 |
例如,“感染后第 7 天存活”和“第 30 天存活”即使都编码为 1,也不是同一个答案。统一单位或做数值标准化,不能自动消除生物学定义上的差异。
在设计跨物种预测前,应先核对性状定义与测量条件,再决定是共同预测一个目标,还是将它们作为相关但不同的任务。
6. 从 DNA 到预测:四个模块怎样连接
先看整体结构,不急着选择模型名称。
#mermaid-svg-WBNsA1w4aKahYA6r{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-WBNsA1w4aKahYA6r .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-WBNsA1w4aKahYA6r .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-WBNsA1w4aKahYA6r .error-icon{fill:#552222;}#mermaid-svg-WBNsA1w4aKahYA6r .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-WBNsA1w4aKahYA6r .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-WBNsA1w4aKahYA6r .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-WBNsA1w4aKahYA6r .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-WBNsA1w4aKahYA6r .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-WBNsA1w4aKahYA6r .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-WBNsA1w4aKahYA6r .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-WBNsA1w4aKahYA6r .marker{fill:#333333;stroke:#333333;}#mermaid-svg-WBNsA1w4aKahYA6r .marker.cross{stroke:#333333;}#mermaid-svg-WBNsA1w4aKahYA6r svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-WBNsA1w4aKahYA6r p{margin:0;}#mermaid-svg-WBNsA1w4aKahYA6r .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-WBNsA1w4aKahYA6r .cluster-label text{fill:#333;}#mermaid-svg-WBNsA1w4aKahYA6r .cluster-label span{color:#333;}#mermaid-svg-WBNsA1w4aKahYA6r .cluster-label span p{background-color:transparent;}#mermaid-svg-WBNsA1w4aKahYA6r .label text,#mermaid-svg-WBNsA1w4aKahYA6r span{fill:#333;color:#333;}#mermaid-svg-WBNsA1w4aKahYA6r .node rect,#mermaid-svg-WBNsA1w4aKahYA6r .node circle,#mermaid-svg-WBNsA1w4aKahYA6r .node ellipse,#mermaid-svg-WBNsA1w4aKahYA6r .node polygon,#mermaid-svg-WBNsA1w4aKahYA6r .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-WBNsA1w4aKahYA6r .rough-node .label text,#mermaid-svg-WBNsA1w4aKahYA6r .node .label text,#mermaid-svg-WBNsA1w4aKahYA6r .image-shape .label,#mermaid-svg-WBNsA1w4aKahYA6r .icon-shape .label{text-anchor:middle;}#mermaid-svg-WBNsA1w4aKahYA6r .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-WBNsA1w4aKahYA6r .rough-node .label,#mermaid-svg-WBNsA1w4aKahYA6r .node .label,#mermaid-svg-WBNsA1w4aKahYA6r .image-shape .label,#mermaid-svg-WBNsA1w4aKahYA6r .icon-shape .label{text-align:center;}#mermaid-svg-WBNsA1w4aKahYA6r .node.clickable{cursor:pointer;}#mermaid-svg-WBNsA1w4aKahYA6r .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-WBNsA1w4aKahYA6r .arrowheadPath{fill:#333333;}#mermaid-svg-WBNsA1w4aKahYA6r .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-WBNsA1w4aKahYA6r .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-WBNsA1w4aKahYA6r .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-WBNsA1w4aKahYA6r .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-WBNsA1w4aKahYA6r .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-WBNsA1w4aKahYA6r .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-WBNsA1w4aKahYA6r .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-WBNsA1w4aKahYA6r .cluster text{fill:#333;}#mermaid-svg-WBNsA1w4aKahYA6r .cluster span{color:#333;}#mermaid-svg-WBNsA1w4aKahYA6r div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-WBNsA1w4aKahYA6r .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-WBNsA1w4aKahYA6r rect.text{fill:none;stroke-width:0;}#mermaid-svg-WBNsA1w4aKahYA6r .icon-shape,#mermaid-svg-WBNsA1w4aKahYA6r .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-WBNsA1w4aKahYA6r .icon-shape p,#mermaid-svg-WBNsA1w4aKahYA6r .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-WBNsA1w4aKahYA6r .icon-shape .label rect,#mermaid-svg-WBNsA1w4aKahYA6r .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-WBNsA1w4aKahYA6r .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-WBNsA1w4aKahYA6r .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-WBNsA1w4aKahYA6r :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
DNA 序列
分词:确定处理单位
嵌入:转成数值向量
骨干:学习上下文特征
位置与方向信息
分类头:输出类别概率
回归头:输出连续数值
语言模型头:预测 token
图中任务头是不同选择,不一定同时使用。对于一条鱼的个体性状,还需要在适当位置汇总这条鱼多个 SNP 或序列片段的信息。
6.1 分词:单碱基、k-mer 与 BPE
分词将原始序列切成模型处理的单位,称为 token。以 ATGCGTACG 为例:
| 单碱基 | A|T|G|C|G|T|A|C|G | 一个碱基一个 token |
| 重叠 3-mer | ATG|TGC|GCG|CGT|GTA|TAC|ACG | 每次取 3 个,移动 1 位 |
| 不重叠 3-mer | ATG|CGT|ACG | 每次取 3 个,移动 3 位 |
| BPE | 假设为 ATG|C|GT|ACG | 依据学到的合并规则形成可变长度 token |
k-mer 是长度为 k 的连续片段。是否重叠由方案决定。重叠 k-mer 的 token 数量通常仍接近原序列长度,不能直接认为缩短到了原来的 1/k。3-mer 也不自动对应密码子,因为它未必处在编码区或正确的阅读框中。
BPE 从较小的单位开始,反复合并训练语料中频繁相邻的 token 对,形成词表与规则。实际分词由这些规则决定,不是每次临时寻找“生物学单词”。DNABERT 使用过重叠 k-mer,DNABERT-2 则使用 BPE。[16][17]
| 单碱基 | 与碱基位置直接对应 | token 序列较长 |
| k-mer | 每个 token 包含局部组合 | 重叠带来冗余;掩码设计需避免邻近 token 暴露答案 |
| BPE | 往往减少 token 数 | token 长度不一;一个变异可能改变附近切分边界 |
6.2 嵌入:把符号变成模型能计算的向量
分词后,通常先把 token 映射到编号,再查找或计算相应向量。例如,一个 token 可以表示成一串数字:[0.2, -0.4, 1.1, …]。这些数字只是示意。
嵌入把离散符号变成数值表示。 token 编号是身份,不是碱基的优劣或生物学大小。
在最简单的嵌入查表中,同一个 token 的初始向量相同;加入位置机制并经过骨干网络后,它在不同上下文中的表示可以不同。
6.3 骨干网络:理解上下文
骨干把初始向量变成含有上下文的特征。某个位置的表示不再只描述“这里是 G”,还可能结合“G 周围有哪些序列模式、远处有什么相关信号”。
这些都是模型学出的数值特征,而这些特征并不是每一维都有清晰的人工生物学解释。
6.4 任务头:把特征变成需要的答案
| 判断片段是否为增强子 | 类别概率 |
| 预测表达量或个体性状 | 连续数值 |
| MLM 预训练 | 被遮住位置的 token 概率 |
| 逐位置功能预测 | 各位置对应的预测结果 |
DNA 模型的骨干可以复用,但不同任务需要相应训练目标和输出设计。预训练模型不会仅因名字中有“基础模型”,就自动知道怎样输出以克为单位的体重。
7. 模型结构与预训练任务:不要混成同一个概念
7.1 Encoder、Decoder、Encoder–Decoder
在常见 Transformer 中,注意力让某个位置根据其他位置的内容,计算权重并汇总信息。不同结构主要改变信息可以从哪里流向哪里。[18]
| Encoder,编码器 | 输入中左右两侧的上下文 | 结合整段输入提取特征 |
| 自回归 Decoder,解码器 | 已经出现的前缀 | 根据前文预测下一个 token |
| Encoder–Decoder | 编码器读取输入;解码器参考编码结果和已有输出 | 读入一段内容,再生成另一段内容 |

7.2 MLM:把内容遮住,让模型补全
原序列:ATGCGTACG
训练输入:ATG[MASK]GTACG
训练目标:在这个被遮住的位置,对原本的 C 给出更高概率。
模型可以利用两侧上下文。它学习的是概率规律。BERT 的主要预训练目标之一就是 MLM。[19]
7.3 自回归:根据前文猜下一个
| A | T |
| AT | G |
| ATG | C |
| ATGC | G |
预测一个位置时,不能读取它后面的真实答案。这里的“因果掩码”表示这种可见范围约束。[20]
生成阶段通常逐步输出;训练时可以用掩码并行计算多个位置的预测。
7.4 自监督的答案从哪里来
MLM 的答案是被遮住的原 token,自回归的答案是原序列中的下一个 token。它们从数据自身构造训练目标,所以不需要先人工标注每段 DNA 的功能或性状。
结构描述信息怎样流动;训练任务描述通过什么目标更新参数。
8. 比较 BERT、GPT、T5、Hyena 与 Mamba
BERT、GPT、T5 是典型模型架构与训练方案的名称;Hyena 和 Mamba 则更突出不同的序列处理机制。下面比较经典形式:
8.1 BERT:双向提取特征
BERT 使用 Transformer 编码器,通过双向自注意力利用上下文,并用 MLM 等任务预训练。原始 BERT 还采用下一句预测任务。[19]
在 DNA 迁移应用中,可以利用类似机制同时考虑 SNP 两侧信息,再接分类或回归头。
8.2 GPT:利用前缀预测下一个 token
GPT 类经典模型使用带因果掩码的 Transformer 解码器,通过下一个 token 预测进行训练。[20]
它自然适合序列生成,也可以提取特征、进行分类或回归。不能因为它使用自回归训练,就认定它只能续写。
8.3 T5:读取输入,再生成被删去的内容
T5 使用编码器–解码器结构。编码器双向读取输入,解码器通过交叉注意力查询编码结果,同时根据已经生成的前缀继续输出。[21]
以 DNA 作结构示意:原序列是 ATGCGTACG,把连续片段 CG 替换为特殊标记,输入成为 ATG<空缺>TACG,解码器生成缺失片段及对应标记。
与典型 BERT 的原位置预测相比,T5 将缺失内容组织成一段输出序列。原始 T5 的“文本到文本”框架也将不同任务统一成输入序列与目标序列。
8.4 Hyena:长卷积与门控
卷积可以先理解成:按照学到的滤波权重,把不同距离处的信息组合起来。Hyena 使用覆盖较长距离的卷积,并交替加入依赖输入的门控,让信息传递随内容改变。[22]
它不必显式建立所有位置对的注意力矩阵。长卷积负责远距离混合,门控负责调节信息流;其滤波器通过网络等方式进行隐式参数化。
8.5 Mamba:选择性更新内部状态
Mamba 使用选择性状态空间机制。概念上,模型沿序列读取输入,把历史信息保存在一个数值状态中,并根据当前输入选择怎样保留、更新或遗忘。[23]
注意力可以直接查询多个历史位置;Mamba 则主要依赖传递下来的压缩状态。压缩状态不等于逐字保存全部历史,也不保证任何远处细节都能被准确保留。
实际训练可以通过并行扫描加速。
8.6 用一张表比较
| BERT | 自注意力 | 双向 | MLM、上下文特征提取 |
| GPT | 因果自注意力 | 前缀 | 下一个 token 预测 |
| T5 | 自注意力与交叉注意力 | 双向编码、因果解码 | 片段去噪、序列到序列 |
| Hyena | 长卷积+门控 | 取决于设计;原语言模型采用因果形式 | 高效长序列建模 |
| Mamba | 选择性状态更新 | 原始形式单向,可构建双向变体 | 高效长序列建模 |
9. 位置、长序列与反向互补建模
9.1 位置编码:顺序与距离也属于信息
标准自注意力需要位置机制来利用序列顺序。常见思路包括告诉模型绝对位置,或在计算中表达位置间的相对距离与方向。[18]
片段中的第 10 个 token,不自动等于染色体上的第 10 个碱基。BPE 中一个 token 可以覆盖多个碱基,因此 token 距离也不自动等于碱基距离。
位置编码不是基因组注释。它提供顺序或距离信息,并不会自动告诉模型“这里是启动子”。
9.2 长序列:看得到远处,才有机会利用远处
如果某个相关调控区域位于窗口之外,模型就无法直接从这次输入获得它的信息。扩大上下文可能有价值,但同时增加计算成本和无关信息。
固定层数、宽度等因素,只看核心序列运算对 token 数量 n 的典型依赖:
| 标准全注意力 | O(n²) |
| Hyena 的 FFT 长卷积实现 | O(n log n) |
| Mamba 的选择性状态更新 | O(n) |
这不是所有模型实际速度或显存占用的排名。实现、硬件、宽度和训练方式都影响成本。[18][22][23]
HyenaDNA 将 Hyena 用于单碱基长 DNA 序列;Caduceus 在 Mamba 基础上构建双向与反向互补相关机制。[24][25]
“能输入更长”与“确实利用远距离信息提高了任务表现”需要分别验证。
9.3 双向上下文不等于反向互补
| 双向上下文 | 一个位置同时参考左边与右边 |
| 反向互补建模 | 输入换到互补链、反向读取后,输出保持正确的对应关系 |
普通双向编码器不会自动具有反向互补一致性。[25]
常见处理方法包括反向互补数据增强、两种表示分别预测后对齐合并,以及在结构中加入约束。数据增强鼓励模型学会一致性。
9.4 不变性与等变性
对于只改变 DNA 表示方向、预测目标本身不变的任务,期望结果不变,称为反向互补不变性。例如,在个体与基因型含义均正确保持的情况下,换一种链的表示不应改变同一条鱼的预测体重。
如果输出是逐碱基、分链的轨迹,换方向后应相应反转位置、交换链通道,而不是把每个输出原地保持不动。这类对应关系称为等变性。[25]
因此,进行反向互补变换时,输入中的等位基因、坐标对应和相关标签也必须按任务需要处理。
10. 迁移学习:已有知识怎样用于目标物种
10.1 源域、目标域与分布偏移
如果用物种甲上的知识帮助物种乙,甲是当前迁移任务的源域,乙是目标域。域也可以由养殖场、组织或测序条件等定义,不必等同于物种。[26]
分布偏移表示训练环境与应用环境的统计规律不同。理解时可以分别检查:
| 输入特点 | 常见序列模式或等位基因频率改变 |
| 标签分布 | 体重的常见范围改变 |
| 输入与标签关系 | 同一遗传特征与体重的关联强弱改变 |
这些是观察变化的角度,不是在断言每次变化都满足某一种严格的统计偏移假设。现实中多种变化可能并存。
如果加入源域数据后,目标任务表现变差,就可能发生负迁移。一次结果仍需考虑随机性与数据划分,不能立即断言某类方法永远无效。
10.2 冻结表征:不改特征提取器
表征就是模型提取的数值特征。冻结表征通常指固定预训练特征提取部分的参数,用它产生特征,再训练后面的预测器。
10.3 线性探测:冻结表征的一种具体用法
如果固定骨干,只训练一个线性任务头,就称为线性探测。对于连续性状,可以表示为:
y
^
=
w
⊤
z
+
b
\\hat y=w^\\top z+b
y^=w⊤z+b
其中 z 是固定骨干产生的特征,训练只调整 w 和 b。分类时也可以在线性得分之后使用 sigmoid 或 softmax。[27]
线性探测的意义,是检查已有特征能否被简单预测器有效利用。
冻结骨干后接一个多层非线性网络,仍然是使用冻结表征,但一般不再称为线性探测。
10.4 全量微调:特征提取器与任务头一起调整
全量微调会更新预训练模型参数及任务头,让模型既学会如何使用特征,也改变如何提取特征。
它更灵活,但数据不足时可能过度适应训练样本,也可能破坏原本有用的表示。已有研究在特定分布偏移条件下观察到,全量微调不如线性探测,因此“训练更多参数”不等于“必然更好”。[27]
10.5 LoRA:学习较小的参数更新
LoRA 固定原有权重,用两个较小矩阵的乘积表示部分层的更新。[28]
可以写成:
W
e
f
f
e
c
t
i
v
e
=
W
0
+
s
B
A
W_{\\mathrm{effective}}=W_0+sBA
Weffective=W0+sBA
W₀ 是原权重,A、B 是可训练的小矩阵,s 是缩放系数。这里不必先掌握矩阵分解,只需理解:训练一个受约束的更新,而不是直接修改整个大矩阵。
假设原矩阵是 1000×1000,共 100 万个参数;选择中间维度 8 时,两个更新矩阵为 1000×8 与 8×1000,共 1.6 万个可训练参数。
原权重虽然固定,加入更新后的有效计算会改变,所以 LoRA 可以改变输出表征。 它与单纯固定表征不是一回事。
| 冻结表征 | 否 | 对相同输入保持固定 | 后接预测器 |
| 线性探测 | 否 | 对相同输入保持固定 | 线性任务头 |
| 全量微调 | 是 | 是 | 整个模型 |
| LoRA | 通常否 | 是 | LoRA 参数及通常需要的任务头 |
10.6 少样本与零样本:描述目标标签的使用条件
在本文的鱼类迁移语境中:
- 少样本适配:使用少量目标物种性状标签,例如 20 条鱼的体重记录,进行任务适配。
- 零目标标签迁移:不使用目标物种的性状标签进行适配,而利用其他数据上已经建立的预测能力进行预测。
在大语言模型语境里,few-shot 还可能指在提示中提供几个示例而不更新参数。因此阅读论文时,需要先确认作者使用的是哪一种定义。
少样本与 LoRA 可以组合,因为前者描述数据条件,后者描述参数更新方法。零目标标签也不等于模型从未见过目标物种的 DNA。
10.7 持续预训练:先继续学习目标域的序列规律
如果已有模型是在其他物种上预训练的,可以继续用目标物种的无性状标签 DNA 做 MLM 或自回归训练,使其适应目标序列分布。领域数据上的这种继续训练,通常属于领域适应预训练。[29]
| 持续预训练 | 原 DNA 中被遮住或接下来的 token |
| 性状任务训练 | 实际测量的性状 |
持续预训练描述训练目标与阶段,LoRA 描述更新参数的方式,因此也可以组合。
但是,一旦用目标物种的 DNA 持续预训练,模型就已经接触了这个物种,之后不能再将它描述为整个训练过程从未见过的物种。
11. 先用两个物种,想清楚训练与考试的区别
前面的术语很多,但实验判断可以从一个简单故事开始。
11.1 见过 DNA,与用过性状答案,是两回事
假设模型经历三个步骤:
模型没有用乙的体重答案进行适配,但已经读过乙的 DNA。正确描述是“目标性状标签未参与适配”,而不是“模型完全未见物种乙”。
若要检验严格的未见物种泛化,乙的序列不应参与任何训练阶段,乙的标签也不能用于训练和选模型。最终预测时当然要输入乙的 DNA;这时输入数据并不等于训练。
11.2 打分不是训练,但用分数反复做决定会影响独立性
预测完成后,用乙的真实体重与预测值比较,是评价。
如果模型和方案已经固定,只报告这次分数,并未据此修改模型,它不属于用这些标签训练模型。
但如果根据乙的分数反复选择模型、窗口长度、超参数或停止时机,就利用了乙的答案。即使没有直接对这些标签反向传播,它们也已成为模型选择依据。
因此:
| 训练集 | 做练习并改进 | 可以 |
| 验证集 | 模拟考试,选择方案 | 可以用于选方案 |
| 测试集 | 最终考试 | 方案锁定后评分 |
11.3 怎样知道迁移真的有帮助
假设目标物种只有 20 条带标签的适配样本,比较两组:
| A:目标物种小样本基线 | 20 条乙的性状 |
| B:增加源物种数据 | 同样 20 条乙,加上甲的性状 |
两组使用同一个冻结编码器、同一批乙适配样本、同一批独立测试鱼,并保持其他相关设置可比较。
如果 B 更好,才支持源物种标签带来了额外帮助。如果 B 同时增加了乙的样本,提升可能来自更多乙数据,无法把收益归因于甲。
这就是控制变量。
11.4 训练成绩好,不代表迁移成功
如果 B 在训练数据上更好、在独立目标测试鱼上更差,就不能宣称源数据帮助了实际预测。判断收益要看预先约定的独立评价结果,并考虑重复划分产生的不确定性。
12. 扩展到五种鱼:设计一个最小迁移基线
以下是一份可以逐项落实的实验协议。
12.1 先确定样本与任务
假设五种鱼为 A、B、C、D、E,第一轮以 E 为目标物种。
对于个体性状预测,一条样本是一条鱼。其多个 SNP 窗口只是这个样本的多个输入片段,必须跟随同一个个体划分。
先建立数据清单:
| 个体编号、物种名 | 连接基因型、表型与数据划分 |
| 基因型文件与参考组装版本 | 确定变异及序列位置 |
| 性状定义、单位和测量条件 | 判断跨物种标签可比性 |
| 家系、批次或养殖环境 | 设计与应用目标相符的划分 |
| 缺失情况与各物种样本数 | 确认实际可用训练规模 |
亲缘关系会影响基因组预测成绩。若目标是新家系或新批次的预测,应相应设计划分。[30]
12.2 明确每个阶段能接触什么
第一版先不做目标物种持续预训练,也不更新骨干,以减少同时变化的因素。
| 选择基础模型 | 检查模型与分词器的训练记录 | 记录 E 覆盖情况 |
| 性状训练 | A–D 的遗传输入和标签 | 不用 E 标签 |
| 验证与选参数 | A–D 中预留的验证数据 | 不按 E 成绩选方案 |
| 最终预测 | E 测试个体的遗传输入 | 输入模型,产生预测 |
| 最终评分 | E 的预测值与真实标签 | 只用于独立评价 |
标准化、缺失值填补等需要估计统计量的步骤,也应只在协议允许的数据上拟合。不要用全部 E 的性状均值和标准差处理标签后,再宣称没有使用 E 标签。
静态参考序列用于构造最终预测输入,与用这些序列更新模型参数不是一回事;但基于目标数据学习特征筛选规则、分词规则或选择模型,就必须记录为额外目标域接触。
12.3 一个用于跑通流程的简单方案
第一步,按预先约定的规则选择一个可管理的 SNP 子集,并提取统一长度的参考窗口。最好同时记录可用于跨物种对应的基因或区块信息。不能根据 E 的测试成绩反复挑 SNP。
第二步,为每个位点构建参考与替代等位的窗口,用同一个冻结 DNA 编码器提取固定长度向量。向量可以提前缓存,避免每条鱼重复运行相同序列。
第三步,根据个体实际基因型组合对应向量,再用事先固定的汇总方式得到每条鱼的特征。对二倍体、双等位位点,可以按两份等位基因的份数加权;其他倍性、多等位、缺失与相位情况需另行规定。
第四步,以这些个体特征为输入,用 A–D 的标签训练岭回归等简单线性头。岭回归在线性回归基础上增加对权重的约束,用来限制过度拟合。
第五步,在源物种验证数据上确定参数,随后锁定整个流程,对 E 预测并评分。
这一简化方案可以先只处理中心 SNP,并采用固定平均汇总,但它会忽略单倍型、多个变异之间的相互作用及复杂长程联系。
12.4 至少区分两种实验问题
| 源域均值预测 vs 源域训练的线性模型 | E 标签均不参与适配 | 模型能否胜过简单常数预测? |
| 只用 k 条 E 标签 vs A–D 加同样 k 条 E 标签 | 同一编码器、同一目标适配集与测试集 | 源物种标签有没有额外收益? |
如果要比较线性探测与 LoRA,应保持数据预算和测试集一致。如果要研究预训练本身的贡献,则需另外控制模型结构、任务头和训练数据,不能把所有改变放在同一组比较中。
12.5 如何评分
对于连续性状,可以先报告 MAE 或 RMSE,并辅以相关系数。
| MAE | 预测平均偏离真实值多少 |
| RMSE | 类似误差大小,但对大误差更敏感 |
| 相关系数 | 预测的相对变化和排序趋势是否与真实值一致 |
相关性高,不保证绝对数值准确。模型可能把所有体重整体高估,却仍得到不错的相关系数。
不同物种应分别评分。将所有物种混在一起计算相关性,可能主要反映物种之间的均值差异,而不是每个物种内的个体预测能力。
少样本对照可以使用多次抽样,并在每次抽样中保证各方法使用相同的目标适配样本。记录均值和波动范围,比只挑最好的一次更有解释力。
13. 预训练覆盖与未见物种泛化:怎样准确描述结论
13.1 建立每个检查点的数据接触记录
模型名称不等于训练数据清单。同一模型家族的不同检查点,可能使用不同物种或不同来源的基因组。Nucleotide Transformer 就包含不同预训练数据设置。[31]
| 分词器训练 | 是否使用 E 序列:是/否/未知 |
| 基础模型预训练 | 是否包含 E,依据哪个数据清单 |
| 持续预训练 | 是否额外加入 E 的无标签序列 |
| 性状训练 | 是否使用 E 标签,数量多少 |
| 验证与选模型 | 是否看过 E 的标签或得分来做选择 |
| 测试时适配 | 是否在预测时利用目标数据更新模型 |
13.2 不同实验能支持不同说法
| 预训练读过 E 的 DNA,未用 E 性状标签适配 | 预训练已覆盖物种上的零目标标签迁移 |
| 原预训练未覆盖 E,之后用 E 无标签 DNA 继续训练 | 目标域无标签适配 |
| 用少量 E 性状标签调整模型 | 少样本适配 |
| 所有训练及模型选择阶段均排除 E,最后才预测 | 数据核查支持下的未见物种泛化 |
| 不清楚预训练是否覆盖 E | 覆盖未知的物种留出评价 |
严格的域泛化设置通常要求目标域不参与训练。[32] “留出 E 的性状标签”只是其中一个条件,不足以证明完整的未见物种泛化。
13.3 冻结不能改变过去的接触历史
一个模型曾经读过 E 的 DNA,即使之后完全冻结,仍然是接触过 E 的模型。冻结表示今后不再更新相应参数。
同样,基础模型即使未见 E,只要后来用了 E 标签做适配,最终结果就是适配后的结果,不能继续称为零目标标签预测。
13.4 未见物种,不等于未见所有相似序列
即使 E 被严格排除,模型仍可能见过 E 的近缘物种和同源序列。对新物种的泛化,与对远缘谱系或低相似度序列的泛化,不是同一个难度层次。
13.5 五种鱼可以轮流作为目标,但要逐轮解释
在 A–D → E 跑通后,可以分别留出 A、B、C、D,形成五轮物种留出评价。每轮都应在源物种数据上进行相应的模型选择,并独立记录目标物种的预训练覆盖。
同一个基础模型可能覆盖了 A、B,却未覆盖 D、E,因此五轮评价未必属于相同的未见程度。结果表需要同时展示成绩与接触条件。
表格内容来自实际讨论中最容易混淆的地方。
| 模型预训练读过乙的 DNA,但没读过乙的体重,乙是完全未见物种吗? | 不是。没有用目标标签,不等于没有接触目标物种。 |
| 最后用真实体重给固定模型评分,算训练吗? | 不算;但用分数反复改方案或挑模型,会消耗测试独立性。 |
| 冻结骨干,只训练线性头,叫什么? | 属于冻结表征,具体方法叫线性探测。 |
| 冻结骨干后接多层非线性网络,仍是线性探测吗? | 不是,但仍可称使用冻结表征。 |
| 只给某种鱼的所有个体相同参考序列,能充分表达个体遗传差异吗? | 不能,需要保留个体基因型等差异信息。 |
| 用 20 条乙鱼的体重调整模型,再预测另一些乙鱼,叫什么? | 少样本适配。 |
| 增加甲的数据时,同时多给一些乙标签,能把提升归因于甲吗? | 不能,目标标签数量也是变化因素。 |
| 加入甲的数据后训练更好、目标测试更差,算迁移成功吗? | 不算;可能发生负迁移,需要检验结果稳定性。 |
| 双向编码器自动满足反向互补一致性吗? | 不会,这属于不同的设计问题。 |
| 全量微调一定比线性探测好,长窗口一定比短窗口好吗? | 都不一定,需要在明确任务与数据条件下比较。 |
15. 把学习转成下一步工作
对于尚在调研阶段的项目,可以按以下顺序推进,每一步产生一份能被检查的结果。
| 1 | 确认五种鱼、个体数量、文件类型和参考组装 | 数据清单 |
| 2 | 明确预测性状、单位和测量条件 | 标签可比性表 |
| 3 | 了解 SNP 怎样定位到参考序列,并保留个体基因型 | 少量个体的输入示例 |
| 4 | 核实候选模型、分词器与预训练覆盖 | 模型数据接触表 |
| 5 | 固定训练、验证、测试与目标适配规则 | 实验协议 |
| 6 | 跑通冻结编码器加简单任务头 | 最小迁移基线 |
| 7 | 在相同目标标签预算下比较是否加入源物种数据 | 可解释的收益或负迁移结果 |
| 8 | 围绕已暴露的问题尝试 LoRA、持续预训练或其他设计 | 有明确目的的后续对照 |
参考资料
以下资料用于支撑概念和方法。




