D-DOIT:不改参数不传梯度,离散扩散模型推理阶段适配黑盒奖励
NeurlPS'26|无需训练+梯度:引导离散扩散模型设计DNA/蛋白质
新智元报道
新智元报道

这两年,离散扩散模型在生物序列生成里用得越来越多。自回归模型是一个token接一个token、从左往右往外吐;掩码离散扩散不一样,它拿到的是一条全被遮住的序列,然后一个一个位置把碱基或氨基酸「揭」出来。
这类模型天生就适合DNA、蛋白质这种字母表有限的数据,在调控元件设计、蛋白质逆折叠等任务上,生成质量也已经拿得出手。可放到真实的科研场景里,光「从预训练分布里采样」是不够用的。做增强子设计的人,想让序列在目标细胞里活性更高;做蛋白质设计的人,想让序列更稳定,还能折回指定结构。
说白了,真正想要的是:让一个已经训好的生成模型,冲着某个任务奖励去生成。
听着顺理成章,真做起来麻烦不少。微调模型能把奖励提上去,代价是要额外训练,而且往往要求奖励可微;现有的免训练方法,要么照样得靠梯度,要么得靠粒子/搜索过程,而这类过程的代价会随轨迹长度或搜索宽度往上涨。不少生物学奖励本身就是「黑盒」——比如Enformer预测器、结构预测打分,只能查分数,梯度反传不回去。
那能不能模型参数一点不动、奖励梯度也不要,只改推理阶段的采样规则,就把一个冻结的离散扩散模型适配到任意黑盒奖励上?
NeurIPS 2026收录的一篇工作给出了回答:把「奖励适配」当成分布搬运问题,再借随机过程里的老工具Doob h-变换,推出它在掩码离散扩散上的写法。
顺着这个思路,研究人员做出了D-DOIT(Discrete Doob-Oriented Inference-time Transformation),一个只要奖励值、不用训练的高效采样器。
结果在两组任务上都能看到:HepG2增强子设计里,高预算的D-DOIT-Q预测活性为6.19,高过需要微调的DRAKES(5.61);蛋白质逆折叠里,D-DOIT的结构–稳定性联合成功率是68.1%,高于同样免微调的SMC(63.6%)和TDS(62.9%)。
论文链接:https://arxiv.org/abs/2610.04938
代码链接:github.com/WeiminWu2000/D-DOIT
项目主页:https://weiminwu2000.github.io/blog/ddoit.html
先看掩码离散扩散是怎么生成的。序列长度记为N,前向过程按一定概率把每个token换成掩码符号m,而且一旦盖上就不再恢复;反向过程从全掩码状态起步,每一步用模型的预测头给出各被遮盖位置上「干净token」的分布,再依照转移规则揭开其中一部分位置。
图1:标准掩码离散扩散的生成过程。起点是全掩码序列,之后每一步按转移规则独立揭开若干位置,揭开的位置不再变动,直到拼出完整序列。
图里从上往下是同一条序列在不同时刻的状态:中间那一步只在掩码位置上采样,已经揭开的位置原样带到下一行。
token字母表记作𝒱,掩码符号记作m。下式里的α,是一个干净token到第t步还没被遮盖的概率,它随t增大而下降,起点处接近0,这时序列几乎全是掩码。前向过程对每个位置各自独立地进行:
反向过程起步时整条序列都是掩码。预测头μ先算出每个被遮盖位置上干净token的后验,再把这个后验代入解析的反向后验,就得到第t步到第t−1步的单步转移,每个坐标j各自独立:
式子三行各有分工:一行对应这一步该位置继续留在掩码里,一行对应它被揭开成某个具体token,还有一行对应已经揭开的位置维持原样。整条反向链按坐标因子化:
从这些式子能读出两个特征。其一,各位置独立揭开,即最后一式的连乘,做法局部、速度快,却对奖励毫无感知;其二,揭开不可逆,见单步转移的第三行,某个位置一旦填上某个碱基,后面的步骤就改不了了。
训练式方法:效果好,但代价高
有一类做法直接更新骨干模型,走强化学习或奖励微调的路子(如DRAKES)。奖励提升可以很强,代价是额外的训练开销和超参数调节,通常还要求奖励可微。任务或奖励一换,就得重训一次。后文表格里的CFG(Classifier-Free Guidance,无分类器引导)也归入此类。
免训练方法:要么要梯度,要么开销随轨迹增长
另一类做法把模型冻结,只在推理阶段做引导。分类器引导(Classifier Guidance,CG)离不开奖励梯度;SMC(Sequential Monte Carlo,序贯蒙特卡罗)和TDS(Twisted Diffusion Sampler,扭曲扩散采样器)这类粒子方法靠轨迹似然比做重加权,代价跟轨迹历史挂钩;SVDD(Soft Value-Based Decoding,软价值解码)等方法则依据软价值估计在候选状态里挑选。
这些方法各有所长,问题是缺一个统一而精确的目标分布视角,来回答两件事:引导之后究竟想从哪个分布采样?每一步的转移概率又该被修正成什么样子?
想要的分布目标
冻结的模型自身已经定义了一个分布,记作p,它刻画的是什么样的序列看起来自然。目标分布不是它,可也不是「奖励最高的那一条」——那条序列常常钻预测器的空子,压根不像真实序列。
真正要的落在两者之间:既保住模型眼里的自然,又往高奖励那边偏。把这一愿望写成公式,就是奖励倾斜分布(reward-tilted distribution):
β是温度参数,分母为归一化常数。该目标把预训练模型当作序列先验,同时偏好高奖励输出:β越小,追奖励越激进;β越大,越靠近原模型,序列的「自然性」也保留得越多。
这对生物序列格外要紧:没人愿意为了刷高预测分数,生成一堆不像真实增强子的序列。
先看连续情形:Doob h-变换是一个加性漂移
Doob h-变换是随机过程里的经典工具。它把一个马尔可夫过程「条件化」到某个关于未来的事件上,结果仍是马尔可夫过程,只是多出一项由h决定的修正。h正是该未来事件在当前状态下的条件期望,也就是终点奖励权重的条件期望。
连续扩散中,反向采样是一条随机微分方程(Stochastic Differential Equation,简称 SDE),Doob h-变换给出的修正落在漂移项上:
换句话说,采样用的score由∇logp换成了∇log p + ∇log h。
离散Doob h-变换:乘法重加权,而非加性漂移
再回到掩码离散扩散。同是Doob h-变换,这里的形式截然不同。研究人员先定义离散Doob h-函数:在当前这个部分去噪的状态下,未来最终奖励权重的条件期望:
它可以理解为当前这个「中间状态」的未来价值(reward-to-go):从这儿接着用原模型去噪,最后能拿到多高的奖励。研究人员证明(Theorem 2.1),只需把每一步的反向转移核按「下一状态与当前状态的h值之比」重加权,
变换后的反向链在终点的边缘分布就恰好是奖励倾斜分布,模型参数一点不用动。
与上一节对照:连续情形下Doob修正表现为加在score上的漂移项;掩码离散扩散的状态空间是类别型的,生成靠不可逆的「揭开」转移完成,欧氏意义下的score场根本不存在。
放到离散场景里,Doob变换就得落在转移核上——对每个候选的下一状态挨个做乘法重加权。
理论上,精确变换要求掌握每个候选下一状态的未来价值h,而要把h精确算出来,得从每个候选出发做大量未来去噪rollout,计算上根本走不通。D-DOIT于是用两个近似加一个可选模块,让h变得可算。
图2展示D-DOIT的整体流程。左侧是标准掩码扩散:每一步把各个位置分别揭开,代价低,但对奖励没有感知。右侧是D-DOIT的一步引导——先提出M个候选(图中M=3),再由预测头做一次前向补全并打分,随后按h值采样出下一状态。下方为可选的后期best-of-K精炼(图中K=4)。
近似一|预测头h-估计器:一次前向,看见终点
掩码扩散模型的预测头原本就会给每个被遮盖的位置输出「干净token」的分布。研究者正是拿这一点做文章:对每个候选下一状态,先把已揭开的位置固定住,用预测头一口气把剩下的掩码位置补成一条完整序列,再送进奖励函数打分,就得到该候选的h值估计(补全时用温度γ对预测头做重整):
这么干有两点好处:
其一,省掉了嵌套rollout(rollout指从当前状态把去噪过程一路跑到底,得到一条完整序列),每个候选只要一次前向;
其二,奖励只在补全后的序列上被「查询」,用不着可微,也用不着反传梯度,任何黑盒打分器都能直接接进来。
近似二|有限候选的Doob加权选择
每个引导步里,D-DOIT先从(温度为τ的)模型反向核中采出M个候选下一状态,这M个候选共用同一次前向;接着对每个候选各做一次补全和打分,拿到各自的h值估计;最后按与这些估计值的ω次方成正比的概率,从候选里采出下一状态:
这里有两个温度容易搞混,它们都作用在同一个预测头上,干的活却不一样,两者都是对预测头做幂次重整。τ用在提议上,管的是M个候选的多样性:
γ用在补全上,管的是拿来打分的那条完整序列有多尖锐:
τ=1时,这就是对Doob变换核的有限候选自归一化近似。参数ω决定「跟随价值有多锐」,和β合在一起等于一个有效逆温度ω/β。每个引导步的代价是1+M次模型前向加M次奖励查询。
可选模块|后期best-of-K:对冲不可逆的揭开决策
揭开不可逆,早期做错的决定没法再改。D-DOIT可选地在去噪后期某个分裂点之后,把每条轨迹复制成K份独立往下跑,最后留下奖励最高的那条。分裂只发生在末段,K倍代价也就只在后期付,不用整条轨迹都乘以K。
分裂点选在末段,主要看两件事。一是多样性:去噪早期还有大量位置没揭开,采样本身就会把轨迹甩向差别很大的方向,这时候再复制K份,多出来的多样性有限;
到了后期,大部分token已经固定,剩下的随机性很小,轨迹几乎注定收敛到某个结果,分裂这时才真正补上了缺的变化。二是算力:分裂点越靠后,每份副本要重算的步数越少,K倍开销只压在末段,而不是整条轨迹。
两个工作配置:LBOK-S与Q
两个配置用的是同一个采样器,预算分配不同(下面按HepG2设置,以每条序列计):
-
D-DOIT-LBOK-S:小候选预算(M=9)加后期best-of-K(K=4),约1,970次模型前向,运行时间和TDS接近(约1.16×),面向实用的低预算场景;
-
D-DOIT-Q:把更多推理预算投到候选评估与精炼上(M=52,K=8),约54,272次模型前向,用来探冻结骨干模型的质量上限。
研究团队在三个生物序列设计任务上对D-DOIT做了评估,各任务里的掩码离散扩散骨干模型全程冻结、不参与训练。
HepG2增强子设计:不训练也能追上训练式方法
DRAKES HepG2增强子基准要求生成200bp(碱基对)的序列,这些序列得在HepG2细胞中预测活性高,统计特征也要自然。评测看四项:预测活性(Pred-Activity)、染色质可及性(ATAC-Acc)、3-mer相关性、JASPAR motif相关性。
图3给出HepG2增强子设计结果:左边是预测活性,取中位数;右边是染色质可及性,取均值。图4对应生成序列的统计自然性:左侧为3-mer相关性,取值可以为负;右侧为JASPAR motif相关性。
其中有几项结果值得关注。
-
四项指标上,D-DOIT-Q全部压过所有免训练基线,预测活性到6.19;Pred-Activity、3-mer Corr和JASPAR Corr三项也高于需要微调的DRAKES,只有ATAC-Acc稍逊,为91.7%对92.5%。
-
耗时与TDS相近的D-DOIT-LBOK-S,预测活性跟TDS打平(4.56对4.58),但ATAC-Acc从40.0%拉到65.0%,JASPAR Corr从0.798升到0.948。分数上去了,序列本身也更接近真实的高活性增强子,不只是把预测值刷高。
-
实际耗时差不多时,D-DOIT-Q四项指标的均值都强于SVDD-PM;跟等时的Frozen Best-of-N比,活性、可及性和3-mer相关性占优,JASPAR相关性则是对手更高。
细胞类型特异性增强子设计:控制更严的生成任务
Ctrl-DNA基准要求序列在目标细胞系里活跃、在非目标细胞系里沉默,涉及HepG2、K562、SK-N-SH三个细胞系,用特异性ΔR衡量,算法是目标细胞得分减去非目标细胞的平均得分。
图5是Ctrl-DNA细胞类型特异性设计的结果:左边为特异性ΔR,右边为motif相关性。Frozen Best-of-708作为端点搜索对照,耗时与D-DOIT-Q相当。
扩散引导这一类基线里,CG、SMC、TDS对特异性奖励几乎推不动,D-DOIT则明显起了作用:LBOK-S在接近TDS的耗时下把ΔR从0.002提到0.033,Motif Corr同时从0.573升到0.648;D-DOIT-Q把ΔR继续推到0.119,代价是motif保持度有所下滑。
这个任务上,等时的Frozen Best-of-N也能拿到大部分增益,D-DOIT-Q与Frozen Best-of-708的均值差距并不大。
蛋白质逆折叠:跨模态迁移
为检验方法在别的序列空间和奖励下是否同样管用,研究人员把D-DOIT搬到了DRAKES蛋白质逆折叠基准上。
任务给的是目标骨架结构,要生成氨基酸序列,同时考察预测稳定性(Pred-ddG,即预测的折叠自由能变化)和结构一致性(scRMSD,self-consistency RMSD,自洽均方根偏差),两者同时达标的比例就是成功率。
图6展示DRAKES蛋白质逆折叠结果:左边是稳定性与结构同时达标的联合成功率,右边是预测稳定性。
D-DOIT的联合成功率为68.1%±3.5%,高于SMC的63.6%和TDS的62.9%,预测稳定性也是最高的;结构保真度上TDS略好一些。所用配置(M=52,K=8,每个候选补全1次)在测试评估之前就已定下。
鲁棒性
-
补全质量方面,每个候选补全1次已经够用;加到2次、3次,最终引导奖励能从5.272升到5.764和5.978,但耗时会多出41%和81%。单步补全与多步补全得到的h值分布相当接近。
-
奖励预测器的鲁棒性上,把引导用的奖励换成Enformer、CNN或MLP预测器,D-DOIT相比无引导采样在四项指标上都有提升,Pred-Activity分别达到4.491、2.203、1.544,冻结模型只有0.371;换到独立的留出评估器上,这些提升依然在。
当然,这项工作也有清楚的边界。
-
一是近似偏差:温度缩放、权重锐化加上best-of-K选择,会让实际采样器偏离精确目标;已经揭开的token,后期分支也修不回来。
-
二是湿实验验证:现在的评估靠的是预测性生物学基准,最终还得靠实验来验证。
-
推理成本这块也有现实问题。质量最高的那套配置,开销相当可观,而且每生成一次就要重新付一遍。奖励和算力怎么权衡,仍是实际使用中绕不开的难题。
在研究人员看来,Doob式转移核重加权给「用序列级奖励引导离散生成模型」提供了一个通用框架,前景不限于DNA和蛋白质——只要模型是掩码离散扩散、又能对完整序列打分,同样的思路就能搬过去。往后还有几件事值得做:把h-估计器学得更准;在不可逆约束揭开之后,找到更好的回溯与修正办法;以及和训练式方法结合,实现摊销。
回到开头那个问题:只改推理阶段的采样规则,能不能让一个冻结的离散扩散模型适配任意黑盒奖励?D-DOIT的回答是可以,而且有一个精确的理论对象在指路——离散Doob h-变换。它说明,引导并不是在离散空间里「加一个方向」,而是按每个候选的未来价值去重加权转移概率。
参考资料:
https://arxiv.org/abs/2610.04938