条件随机场的肤浅理解

article/2025/11/6 21:55:26

条件随机场(Conditional Random Field,CRF)是自然语言处理的基础模型,是一个无向图概率模型。经过长期的发展目前已经广泛应用于词性标注、图像分类等众多场景。

一、基本概念

随机场 : 给定一组随机变量: X = { X 1 , X 2 , X 3 . . . , X n } X = \{X_1,X_2,X_3...,X_n\} X={X1,X2,X3...,Xn}, 每一个随机变量 X i X_i Xi 又可以在另一个集合 Y = { Y 1 , Y 2 , Y 3 . . . , Y m } Y = \{Y_1,Y_2,Y_3...,Y_m\} Y={Y1,Y2,Y3...,Ym}中随机取值。举个图像分类的例子:可以将图像的所有像素作为随机变量: I = { I 1 , I 2 , I 3 . . . , I n } I = \{I_1,I_2,I_3...,I_n\} I={I1,I2,I3...,In} ,所有的类别为: C = { C 1 , C 2 , C 3 . . . , C m } C = \{C_1,C_2,C_3...,C_m\} C={C1,C2,C3...,Cm},那么图像分类实际就是给每个像素一个类别,因此可看做一个随机场。

马尔科夫随机场:随机场的特例,它假设随机场中某一个位置的取值只跟它相邻的位置的取值有关,与其他位置无关。比如上述图像分类的例子,某一个像素的分类,只跟周围的8邻域像素的分类有关而与其他像素无关。

条件随机场: 给定随机变量 X X X 的取值,若随机变量 Y Y Y 构成的是一个马尔科夫随机场,则称条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 是条件随机场。即条件随机场是给定一组输入序列条件下另一组输出序列的条件概率分布模型。如上述图像分类的例子中,一般给定图像的像素颜色信息 I I I , 预测每个像素 I i I_i Ii 的类别就可看做一个条随机场。

二、势函数

给定如下的随机场:
在这里插入图片描述

图 1 . 概率无向图

图中的边表示节点之间具有相互关系,这种关系是双向的、对称的。如: x 3 x_3 x3 x 5 x_5 x5之间有边相连,则 x 3 x_3 x3 x 5 x_5 x5具有相关关系,这种相关关系采用势函数进行度量。例如,可以定义如下势函数:
ψ ( x 3 , x 5 ) = { 2 x 3 = x 5 0.1 o t h e r w i s e \psi(x_3,x_5) = \begin{cases} 2 & x_3 = x_5 \\ 0.1 & otherwise \end{cases} ψ(x3,x5)={20.1x3=x5otherwise

则说明该模型偏好变量 x 3 x_3 x3 x 5 x_5 x5拥有相同的取值,势函数刻画了局部变量之间的相关关系,也可以理解为模型的局部软约束条件。为了满足非负性,指数函数常被用于定义势函数:
ψ ( x ) = e − H ( x ) \psi(x) =e^{-H(x)} ψ(x)=eH(x)

三、主要目标

我们的目标是计算最大后验概率 P ( Y ∣ X ) P(Y|X) P(YX),即给定 X X X 后,最正确的分类结果 Y Y Y, 使得 P ( Y ∣ X ) P(Y|X) P(YX) 取得最大值。

那么如何求解这样一个概率问题呢?

为了求解给定的概率无向图模型,我们希望将整体的联合概率写成若干个子联合概率的乘积形式,也就是将概率图进行因子分解,这样便于模型的学习与计算。而事实上,概率无向图模型的最大特点就是便于因子分解。实际计算过程中,一般将无向图分成一个一个的团(团(clique)就是一个无向图的完全子图,既然是完全图,当然每对顶点之间都必须要有边相连。如图1中的 { x 2 , x 3 , x 5 } \{x_2,x_3,x_5\} {x2,x3,x5} { x 3 , x 4 , x 5 } \{x_3,x_4,x_5\} {x3,x4,x5},以及所有的相邻两个顶点构成的子图),并在每一个团上定义势函数来计算这个最大概率。

这里引入论文中的文字:
在这里插入图片描述

图 2 . 条件随机场的最大后验概率形式化

具体如何计算就不展开,可以参看论文:Efficient inference in fully connected crfs with gaussian edge potentials.

四、DenseCRF

论文:Efficient inference in fully connected crfs with gaussian edge potentials[J]. .
代码:https://github.com/heiwang1997/DenseCRF
DenseCRF就是上节末尾的论文,在图像分类上效果非常好而且很高效。大致分类效果如下图3所示,需要说明的是这里的输入已经包含初始像素的分类,CRF对像素点进行了重新精确地分类。可以看到第4列的DenseCRF分类非常精确。
在这里插入图片描述

图 3 . DenseCRF分类效果

基本的CRF模型是由一阶势函数(单个变量的分类趋势)和相邻元素构成的势函数所组成的图模型,很显然,在图像任务上,该模型一个劣势就是它只考虑了相邻的邻域元素,没有对整体进行考虑。
DenseCRF提出将每一个像素点和其他所有像素点连接,达到稠密的全连接模型,以实现更精确的分类。但与此同时,将会导致边数过多,因此本文也提供了高效的求解算法,但本文不做进一步介绍,只是单纯介绍DenseCRF的设计。

注意看图2的英文原文部分,实际上要求的最大的后验概率 P ( Y ∣ X ) P(Y|X) P(YX) 等价于求 E ( X ) E(X) E(X)的最小值,因此实际还是转换为一个能量最小化的问题。而DenseCRF的能量函数表示为:
E ( x ) = ∑ i ψ u ( x i ) + ∑ i < j ψ p ( x i , x j ) E(x) = \sum_{i}\psi_u(x_i) + \sum_{i<j}\psi_p(x_i, x_j) E(x)=iψu(xi)+i<jψp(xi,xj)
该能量函数包括两项:前者称为一元势函数(unary potential function), 后者称为二元势函数(pairwise potential function).

Unary potential function: 每个像素都关联一个nary potential, 表示每个像素本身的分类损失。若某个像素 I i I_i Ii 取得正确的分类,那么该像素的unary损失 ψ u ( x i ) \psi_u(x_i) ψu(xi) 较小。这一项主要惩罚错误的像素分类。

Pairwise potential function: 任意两个像素均会关联一个pairwise potential,用于惩罚具有不同标签的两个像素。1)如果两个标签不同的像素,他们的纹理、形状、颜色、位置等都差异较大,那么惩罚较小,希望这种分类得以保持;2)反之,如果这些属性都很接近,那么惩罚较大,实际上希望他们能够重新分类到同一类。

Pairwise potential function的定义和解释直接贴原文:
在这里插入图片描述

图 4 . DenseCRF对pairwise potential的解释

参考资料

[1] 知乎:CRF条件随机场的原理、例子、公式推导和应用
[2] 知乎:如何轻松愉快地理解条件随机场(CRF)?
[3] 知乎:全方位理解条件随机场(CRF):原理、应用举例、CRF++实现
[4] CSDN:概率图之马尔可夫随机场(Markov Random Field,MRF)
[5] CSDN:马尔可夫随机场 MRF
[6] 知乎:FCN(3)—DenseCRF
[7] 知乎:FCN(5)—DenseCRF推导


http://chatgpt.dhexx.cn/article/TnVWl55j.shtml

相关文章

条件随机场详解

为了更好地理解条件随机场&#xff0c;这里主要以命名实体识别为例子&#xff0c;介绍如何和LSTM结合&#xff0c;进行NER。 首先什么是NER&#xff0c;就是针对一句话的每个词&#xff0c;都标注出它们的词性&#xff0c;比如输入一句"Dog play football"&#xff…

条件随机场(CRF)

目录 1.定义 1.1 图 1.2 概率图模型&#xff08;PGM&#xff09; &#xff08;1&#xff09;有向图的联合概率&#xff1a; &#xff08;2&#xff09;概率无向图模型&#xff1a; 1.3 马尔可夫性 1.4 团与最大团 1.5 概率无向图模型的联合概率分布 1.6 条件随机场 …

条件随机场 (CRF)

背景 CRF和HMM是有相似性的&#xff0c;最后都是使用Verterbi算法来进行最优状态转移序列的确定。CRF主要用于序列标注问题。 本质&#xff1a;通过1D卷机学习近邻信息&#xff0c;然后输入到CRF定义好的计算方式中。 一些实现的库&#xff0c;并不能主观反应出CRF的计算方式&…

条件随机场简介(Conditional Random Fields, CRF)

首先&#xff0c;我们来看看什么是随机场。随机场是由若干个位置组成的整体&#xff0c;当给每一个位置中按照某种分布随机赋予一个值之后&#xff0c;其全体就叫做随机场。以词性标注为例&#xff1a;假如我们有一个十个词组成的句子需要做词性标注&#xff0c;这十个词每个词…

简单理解条件随机场CRF

一、条件随机场是什么&#xff1f; 什么是条件随机场&#xff1f;我们先从它的命名开始说起&#xff0c;为什么是条件随机场这么奇怪的名字&#xff0c;为什么不叫飞机场、火葬场&#xff1f;通常数学上的命名是简单而直白的&#xff0c;大家听我一一解释。 条件 “条件”指…

条件随机场(CRF)的详细解释

条件随机场(CRF)由Lafferty等人于2001年提出&#xff0c;结合了最大熵模型和隐马尔可夫模型的特点&#xff0c;是一种无向图模型&#xff0c;常用于标注或分析序列资料&#xff0c;如自然语言文字或是生物序列。近年来在分词、词性标注和命名实体识别等序列标注任务中取得了很好…

RBM理论推导

RBM&#xff08;Restricted Boltzmann Machine&#xff09; 上面这个图就是一个RBM模型&#xff0c;它包括三个部分&#xff0c;最下面的可视层&#xff08;visible layer&#xff09;&#xff0c;中间的权重连边&#xff08;无向&#xff09;&#xff0c;上面的隐藏层&#xf…

受限玻尔兹曼机RBM简述与Python实现

生成式模型 生成式模型的理念大同小异&#xff0c;几乎都是用一个模型产生概率分布来拟合原始的数据分布情况&#xff0c;计算两个概率分布的差异使用KL散度&#xff0c;优化概率模型的方法是最小化对数似然&#xff0c;可以用EM算法或梯度优化算法。 今天表现比较好的生成模…

RBM系列1:预备知识

受限玻尔兹曼机是一种可用随机神经网络来解释的概率图模型。它由Smolensky于1986年在玻尔兹曼机&#xff08;BM&#xff09;的基础上提出&#xff0c;所谓“随机”&#xff0c;是指这种网络中的神经元是随机神经元&#xff0c;其输出只有两种状态&#xff08;激活和未激活&…

深度学习20-限制玻尔兹曼机RBM

玻尔兹曼机来源于玻尔兹曼分布&#xff0c;而玻尔兹曼分布的创立者是路德维希玻尔兹曼&#xff0c;这个原理来源于他首次将统计学用于研究热力学&#xff0c;即物质的状态概率和它对应的能量有关。比如&#xff0c;我们常用熵来形容物体的混乱程度&#xff0c;同时如果我们的定…

【深度学习】受限玻尔兹曼机 (RBM) 初学者指南

一、说明 受限玻尔兹曼机&#xff08;Restricted Boltzmann Machine&#xff0c;RBM&#xff09;是一种基于能量模型的人工神经网络。它只有一个隐层&#xff0c;将输入层和隐层中的每个神经元互相连接&#xff0c;但不同层的神经元之间没有连接。RBM是一种无向的概率图模型&am…

matlab rbm 语音,Deep Belief Network 学习笔记-RBM

Deep Belief Network 学习笔记-RBM By Placebo (纯属个人笔记) 第一次知道deep learning&#xff0c;是上学期dengli博士来实验室的一次报告&#xff0c;他讲到&#xff0c;当神经网络的层数大于2时(即一个hidden层&#xff0c;一个输出层&#xff0c;不算输入层&#xff0c;之…

受限玻尔兹曼机(RBM)

受限玻尔兹曼机&#xff08;RBM&#xff09; 一起读懂传说中的经典&#xff1a;受限玻尔兹曼机 https://mp.weixin.qq.com/s?__bizMzA3MzI4MjgzMw&mid2650731098&idx1&snc7391caee3a567b4b046406d53f022f2&chksm871b3624b06cbf320f3725fe452d291e04a4a8c1beda…

人工智能(pytorch)搭建模型13-pytorch搭建RBM(受限玻尔兹曼机)模型,调通模型的训练与测试

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(pytorch)搭建模型13-pytorch搭建RBM(受限玻尔兹曼机)模型&#xff0c;调通模型的训练与测试。RBM(受限玻尔兹曼机)可以在没有人工标注的情况下对数据进行学习。其原理类似于我们人类学习的过程&#xff0c…

受限玻尔兹曼机(RBM)原理总结

https://blog.csdn.net/l7H9JA4/article/details/81463954 授权转发自&#xff1a;刘建平《受限玻尔兹曼机&#xff08;RBM&#xff09;原理总结》 地址:http://www.cnblogs.com/pinard/p/6530523.html 前 言 本文主要关注于这类模型中的受限玻尔兹曼机&#xff08;Restrict…

特征工程(七)—特征学习RBM

1、MNIST数据集 """ MNIST数据集&#xff0c;包括6000个0-9手写数字图像&#xff0c;以及学习的真实值此处使用很低级的特征&#xff0c;而不是解释性很好的特征。每一个数据点包括784个特征&#xff08;灰度图像的像素值&#xff09; """impor…

特征学习-RBM与PCA应用在LR

Table of Contents 1. 基本信息查询 导入package2. 提取PCA 成分3. 提取RBM主成分 取出前20个最有代表性的特征提取后20个特征4. RBM在machine learning中效果 直接用LR模型采用PCA主成分的LR采用RBM主成分的LR 1. 基本信息查询 导入package import numpy as np import matpl…

受限玻尔兹曼机RBM

基本概念代码 基本概念 受限玻尔兹曼机&#xff08;RBM&#xff09;是一个两层神经网络&#xff0c;第一层被称为可见层&#xff0c;第二层被称为隐藏层&#xff0c;因为网络只有两层&#xff0c;所以又被称为浅层神经网络。 该模型最早由 Paul Smolensky 于 1986 年提出&…

理解RBMDBN

RBM 关于受限玻尔兹曼机RBM&#xff0c;网上很多博客[1][2]都总结推导RBM很详细&#xff0c;很少有人能通俗地解释一下RBM的用途和有点&#xff0c;我觉得[2]写得很好&#xff0c;可以参考辅助理解&#xff0c;下面简单总结一下我的理解和一些相关知识。 网络结构 RBM是一个…

中小企业RBM结合VRRP组网

组网拓扑图 FW-A配置&#xff1a; sysname FW1090-A # track 1 interface GigabitEthernet1/0/1 physical ///检测上行口 # track 2 interface GigabitEthernet1/0/2 physical ///检测下行口 # ospf 1 router-id 192.168.10.254 ///OSPF发布于核心互联路由 defa…