资讯动态

概率图模型 vs 神经网络:从HMM、CRF到深度学习的融合与选型实战

发布时间:2026/10/21 5:08:24 来源:尧图企业网站定制
1. 从“能讲道理”到“能打胜仗”概率图模型的黄金年代与隐忧如果你在2010年前后进入机器学习这个圈子大概率会经历一个“概率图模型至上”的阶段。那时候如果你跟别人说你在做序列标注对方第一反应会问“用的HMM还是CRF”如果你说在做医疗诊断或者故障推理对方会默认你手里有一张贝叶斯网络。那个年代概率图模型Probabilistic Graphical Models简称PGM几乎是“可解释AI”的代名词——它能把变量之间的依赖关系画成一张图每个节点代表一个随机变量每条边代表条件依赖整个世界的结构被写得清清楚楚。我最早接触的是隐马尔可夫模型HMM。当时做一个简单的词性标注任务HMM的三要素——初始状态概率、状态转移概率、发射概率——用前向-后向算法一算维特比解码一出结果就出来了。最让人安心的是你可以打开模型指着某个转移概率说“你看动词后面接名词的概率是0.7所以这里标注成名词是合理的。”这种透明度是后来那些动辄几千万参数的神经网络给不了的。但问题也恰恰出在这里。HMM有两个硬性假设一是齐次马尔可夫性即当前状态只依赖前一个状态二是观测独立性即当前观测只依赖当前状态。这两个假设在真实世界里几乎不成立。比如在命名实体识别中“北京市”作为一个地名它的下一个词是“政府”还是“长”显然不只依赖于“市”这个字的状态还依赖于更早的上下文。HMM为了计算可行性硬生生把长距离依赖砍掉了。于是条件随机场CRF登场了。CRF直接对条件概率P(Y|X)建模不再假设观测独立而且可以自定义特征函数把窗口内任意上下文信息都塞进去。我在一个中文分词项目里用过CRF特征模板里加了前两个字、后两个字、词性、是否数字等几十个特征F1值比HMM高了将近8个百分点。那时候我觉得CRF就是序列标注的终极答案。但CRF也有它的代价。特征工程变成了一个无底洞。每换一个领域你就要重新设计特征模板。做新闻分词和做医疗分词特征完全不一样。更麻烦的是CRF的训练和解码复杂度随着标签数量和特征数量线性增长当标签集合扩大到几百个比如细粒度的实体类型推理速度就肉眼可见地慢下来了。贝叶斯网络同样面临这个问题当变量数量增多、依赖关系变复杂时精确推理的复杂度是指数级的只能退而求其次用近似推理而近似推理又引入了新的不确定性。所以概率图模型的“结构清晰”是一把双刃剑。它把世界写清楚了但写清楚的前提是你得先知道世界长什么样。换句话说结构需要人来定义。而人定义结构的能力在面对高维、非结构化数据图像、语音、自然语言时很快就触到了天花板。2. 黑箱神经网络的逆袭它到底做对了什么神经网络并不是什么新东西上世纪八九十年代就火过一阵后来因为算力不足和数据稀缺沉寂了。真正让它翻身的是三个条件的同时成熟大规模标注数据、GPU并行计算、以及更有效的训练技巧ReLU、Dropout、BatchNorm等。但这些都是外部条件从模型本身来看神经网络战胜概率图模型的核心原因我认为是它把“结构定义权”从人手里拿走了交给了数据和优化算法。2.1 从“人写规则”到“机器找规律”概率图模型的结构哪些变量之间有边、边指向哪里通常需要领域专家来设计。比如做一个疾病诊断的贝叶斯网络你得先请医生告诉你哪些症状和哪些疾病相关然后画出有向无环图。这个过程极其昂贵而且一旦专家判断有误整个模型就偏了。神经网络则完全不同。一个多层感知机或者Transformer你只需要定义输入和输出中间的隐藏层结构虽然也是人设计的层数、宽度、注意力头数但具体的特征表示和交互关系是网络在训练中自己学出来的。换句话说概率图模型是“先验结构驱动”神经网络是“数据驱动”。当数据量足够大时数据驱动的模式识别能力远超人工定义的结构。我做过一个对比实验在同一个情感分类任务上用朴素贝叶斯一种最简单的概率图模型和用LSTM。朴素贝叶斯需要我手动做特征工程比如提取情感词、否定词、程度副词LSTM直接把词向量序列喂进去什么都不用管。结果LSTM的准确率比朴素贝叶斯高了12个百分点。更关键的是当我把训练数据从1万条增加到10万条时LSTM的性能还在涨而朴素贝叶斯早就饱和了。2.2 分布式表示把离散符号变成连续空间里的向量概率图模型处理离散变量时通常用one-hot或者频次统计。这种表示是稀疏的、正交的两个词之间没有任何“距离”概念。而神经网络通过嵌入层Embedding把每个词映射到一个低维稠密向量语义相似的词在向量空间里距离更近。这个看似简单的变化实际上解决了概率图模型的一个根本痛点泛化。在HMM里如果训练集中没有出现过“猫”这个观测那么“猫”的发射概率就是零模型完全无法处理。而在神经网络里“猫”的向量和“狗”的向量很接近模型即使没见过“猫”也能根据“狗”的上下文做出合理推断。这种平滑性和泛化能力是概率图模型难以企及的。2.3 端到端训练让所有组件一起优化概率图模型往往是流水线式的先做特征提取再训练分类器最后做后处理。每个阶段独立优化误差会累积。而神经网络是端到端的从输入到输出所有参数通过反向传播一起更新。这意味着底层特征提取器会主动学习对最终任务有用的表示而不是被动地服务于某个中间目标。举个例子在OCR任务中传统方法先用HMM做字符分割再用CRF做字符识别分割错误会直接导致识别失败。而基于CNNRNNCTC的端到端模型直接输入整张图片输出字符序列分割和识别在同一个网络中联合优化错误率大幅下降。3. 概率图模型真的“输”了吗——被忽略的融合与互补说概率图模型“输给了”神经网络其实是一种过于简化的叙事。更准确的说法是在大多数以预测精度为唯一目标的基准测试上神经网络确实赢了但在需要不确定性量化、因果推断、小样本学习、以及严格可解释性的场景里概率图模型依然不可替代。而且两者并不是非此即彼的关系融合才是真正的前沿。3.1 神经网络的不确定性困境一个训练好的神经网络面对一个从未见过的输入可能会给出一个置信度很高的错误答案。比如一个图像分类器把一张噪声图识别成“熊猫”置信度99%。这在自动驾驶、医疗诊断等高风险场景里是致命的。而概率图模型天然输出概率分布你可以直接得到“这个诊断有70%的把握”这样的结论。为了解决这个问题贝叶斯神经网络Bayesian Neural Network被提出来它在网络权重上放置先验分布通过变分推断或蒙特卡洛采样来近似后验。这其实就是把概率图模型的思想注入神经网络。虽然计算成本高但在需要可靠不确定性的场景里这是目前最靠谱的方案之一。3.2 结构化预测中的CRF层神经网络的“概率图外挂”如果你用过BiLSTM-CRF做命名实体识别你就已经见证了概率图模型和神经网络的完美结合。BiLSTM负责从字符或词序列中提取上下文特征输出每个位置的发射分数CRF层则在这些分数之上建模标签之间的转移约束比如“I-ORG”不能跟在“B-PER”后面。这个CRF层本质上就是一个概率图模型它保证了输出标签序列的全局一致性。这个架构之所以强大是因为它各取所长神经网络负责从原始输入中学习复杂的非线性特征CRF负责在输出空间上施加结构约束。如果没有CRF层BiLSTM可能会输出一些不合法的标签序列如果没有BiLSTMCRF又需要大量人工特征。两者结合效果远超单独使用任何一个。3.3 变分自编码器与生成模型概率图模型的“转世”变分自编码器VAE和扩散模型Diffusion Model这些生成模型骨子里其实都是概率图模型。VAE假设存在一个隐变量z观测数据x由z生成目标是最大化边际似然的下界ELBO。这完全就是概率图模型的思路只不过用神经网络来参数化生成分布和推断分布。扩散模型更是明确地定义了一个马尔可夫链通过逐步加噪和去噪来建模数据分布。所以概率图模型并没有消失它只是换了一副面孔以“深度生成模型”的形式重新回到了舞台中央。那些说“概率图模型已死”的人可能没有意识到他们每天用的Stable Diffusion本质上就是一个大规模的概率图模型。4. 实战视角什么时候该用概率图模型什么时候该上神经网络这个问题没有标准答案但根据我这些年的踩坑经验可以给出一个粗略的决策框架。4.1 数据量决定上限如果你的标注数据少于几千条神经网络很容易过拟合这时候概率图模型尤其是朴素贝叶斯、HMM反而更稳。因为概率图模型的参数数量通常远少于神经网络先验假设起到了正则化作用。我做过一个实验在只有500条训练样本的文本分类任务上朴素贝叶斯和SVM的表现都优于BERT微调。但当数据量增加到5万条时BERT全面碾压。4.2 可解释性要求决定下限如果你需要向非技术人员解释模型的决策依据概率图模型是首选。比如在金融风控中你需要告诉客户“为什么拒绝这笔贷款”一个决策树或者贝叶斯网络可以给出清晰的规则路径。而神经网络只能给出特征重要性排序无法提供因果解释。当然现在有一些事后解释方法如SHAP、LIME但它们只是近似不如概率图模型直接。4.3 结构化程度决定架构选择如果你的输出空间有很强的结构约束如序列标注中的标签转移、句法分析中的树结构那么把概率图模型作为输出层如CRF是明智的。如果你的输入是高度非结构化的如图像像素、音频波形那么用神经网络做特征提取几乎是唯一选择。两者结合往往能取得最佳效果。4.4 一个具体的选型对照表场景推荐方案理由小样本文本分类朴素贝叶斯 / SVM参数少不易过拟合序列标注NER、分词BiLSTM-CRF / BERT-CRF神经网络提特征CRF保结构图像分类大数据CNN / ViT神经网络擅长处理高维连续信号医疗诊断辅助贝叶斯网络 神经网络需要不确定性量化和因果解释生成任务图像、文本VAE / Diffusion / GAN深度生成模型本质是概率图模型实时推理低延迟HMM / 线性CRF解码复杂度低速度快这个表不是绝对的但可以作为一个起点。实际项目中我通常会先跑一个简单的概率图模型作为baseline然后再尝试神经网络。如果神经网络提升不明显或者数据量太小就果断回到概率图模型。5. 那些年我踩过的坑从概率图模型迁移到神经网络的血泪教训5.1 特征工程惯性别再把特征喂给神经网络了刚从CRF转到LSTM的时候我习惯性地把之前设计的几十个特征前后缀、词性、词典匹配等拼接到词向量后面。结果发现模型性能不仅没提升反而下降了。后来才明白神经网络有强大的表示学习能力你手工加的特征反而可能引入噪声干扰网络自己找规律。正确的做法是只给原始输入词序列、字符序列让网络自己学。如果非要加外部知识用注意力机制或者预训练词向量来注入而不是简单拼接。5.2 概率图模型的“零概率”陷阱用HMM或朴素贝叶斯时如果某个观测在训练集中没出现过对应的概率就是零整个序列的概率乘积就变成零。这时候必须做平滑拉普拉斯平滑、古德-图灵估计等。但神经网络没有这个问题因为嵌入层和softmax天然是稠密的。所以从概率图模型迁移到神经网络时不要忘了去掉那些为平滑而设计的复杂逻辑它们在新架构里是多余的。5.3 解码策略的差异维特比 vs 贪心 vs 束搜索概率图模型通常用维特比算法做全局最优解码保证输出序列概率最大。神经网络如果直接做分类往往用贪心解码每个位置取argmax这可能导致标签序列不合法。所以如果你在神经网络上面加了CRF层记得用维特比解码如果没有CRF层至少要用束搜索beam search来近似全局最优。我见过有人用贪心解码跑BiLSTM然后抱怨效果不如CRF其实问题出在解码策略上不是模型本身。5.4 训练数据的标注一致性概率图模型对标注噪声相对鲁棒因为它的参数是统计出来的个别错误样本影响有限。但神经网络对标注噪声非常敏感尤其是端到端训练时错误标签会通过反向传播放大。所以如果你打算从概率图模型切换到神经网络先花时间清洗标注数据确保一致性。我吃过这个亏在一个实体识别项目里同一批数据用CRF跑F1是85%用BERT跑只有78%排查了半天才发现是标注规范不统一导致的。6. 写在最后工具没有优劣只有合不合适这些年我最大的体会是不要迷信任何一种模型。概率图模型和神经网络各有各的适用边界真正的高手是知道在什么场景下用什么工具甚至把两者结合起来。HMM、CRF、贝叶斯网络这些经典方法至今仍然是我做小样本、强解释性项目时的首选。而神经网络在处理大规模非结构化数据时确实无可替代。如果你正在纠结选哪个我的建议是先花半天时间跑一个最简单的概率图模型baseline再花半天时间跑一个最简单的神经网络baseline。对比一下两者的性能和训练成本答案往往就出来了。不要一上来就追求最先进的架构很多时候简单的模型加上干净的数据比复杂的模型加上脏数据要有效得多。最后分享一个我常用的技巧在神经网络输出层加一个CRF几乎总是能带来1到3个百分点的提升而且实现成本很低。这个小小的“概率图外挂”是我从概率图模型时代带到神经网络时代的最有价值的遗产。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑