控制器的「人工可读」困境:丢一点最优性,换整整两个数量级的决策树缩小
做控制器的同学大概都有这个体验:模型跑通了,最优策略算出来了,可别人问"它到底怎么做决策的",只能摊手。
不是不解释,是解释不动。MDP(马尔可夫决策过程)的最优策略抽成决策树之后,碰上大系统或者 Corner Case 多的场景,那棵树能长得让人不想看第二眼。dtControl2 是目前这方面做得最好的工具之一,但它的决策树仍然经常大到没法让人类真正理解。
最近 arXiv 上挂出来一篇被 FMCAD'26 录用的论文,dtControl2+ε,干脆换了个思路——让缩多少树就丢多少最优性,丢多少由人定。
给定一个允许的误差 ε ≥ 0,工具会构造一棵小得多的决策树,只保留控制器的"精髓",同时保证 ε-最优性。论文给的说法是,结果决策树的规模比现有技术能缩小整整几个数量级。
几个数量级什么概念?就是之前需要看两眼才能找到关键分支的树,现在可能一张纸就画完了。代价是决策在某些边界上不再严格最优,但在 ε 范围内根本感觉不到损失。
有意思的是,它把可解释性从一个"全有或全无"的问题,变成了一个可调参的问题。以前要么接受一棵看不懂的大树,要么强行剪枝然后祈祷别出事。现在直接说"我可以接受 5% 的损失",工具就能算出最小的那棵树。
这对实际落地场景是有意义的。很多工业控制系统、机器人策略、自动驾驶决策模块,负责人其实不是不敢用强化学习或最优控制,而是不敢让一个没人能审计的黑箱直接上线。如果有一个工具能把策略缩成几十个分支的决策树,并且明确显示损失了多少最优性,那合规和审核的阻力就小得多。
当然,论文的场景还是限定在 MDP 框架下,离通用模型解释性还有距离。但这个思路——用可控的精度损失换可读性——其实可以迁移到很多地方。回想一下最近各种大模型的量化、蒸馏、剪枝,不也在干类似的事吗?一个是让模型跑得更快,一个是让它更容易被人读明白。
论文链接在 arXiv:2607.25925,代码和工具目前看是按 CC BY 4.0 开源的。手里正好有个控制器正愁怎么跟业务方讲清楚它怎么干活的,可以去翻翻。