CRF的地位

1、神经网络之前hmm和crf在自然语言处理领域取得不错的成绩;
2、序列到序列的常见方案bert+biLstm+crf
image.png
数学公式+图示+代码

1 条件随机场的定义

1.1 马尔可夫随机场

  • 图是由结点及连接结点的边组成的集合。
  • 结点记作𝑣,结点集合记作𝑉 ;边记作𝑒,边的集合记作𝐸;图记作𝐺 = (𝑉 , 𝐸)。
  • 概率图模型是由图表示的概率分布。
  • 设由联合分布条件随机场CRF - 图2是⼀组随机变量。 由⽆向图条件随机场CRF - 图3表示概率分布 条件随机场CRF - 图4,即在图条件随机场CRF - 图5中,条件随机场CRF - 图6结点表示⼀个随机变量 条件随机场CRF - 图7条件随机场CRF - 图8边表示随机变量之间的概率依赖关系。

    成对马尔可夫性

    条件随机场CRF - 图9
    其中,设条件随机场CRF - 图10条件随机场CRF - 图11是⽆向图条件随机场CRF - 图12中任意两个没有边连接的结点,分别对应随机变量条件随机场CRF - 图13;其它所有结点为条件随机场CRF - 图14,对应的随机变量组是条件随机场CRF - 图15。 即,给定随机变量组条件随机场CRF - 图16的条件下随机变量条件随机场CRF - 图17条件随机场CRF - 图18是条件独⽴的。

    局部⻢尔可夫性

    条件随机场CRF - 图19
    其中,设条件随机场CRF - 图20是⽆向图条件随机场CRF - 图21中任意⼀个结点,对应的随机变量是条件随机场CRF - 图22条件随机场CRF - 图23是与条件随机场CRF - 图24有边连接的所有的结点,对应的随机变量组是条件随机场CRF - 图25条件随机场CRF - 图26条件随机场CRF - 图27以外的其它所有结点,对应的随机变量组是条件随机场CRF - 图28。即给定随机变量组条件随机场CRF - 图29的条件下随机变量条件随机场CRF - 图30条件随机场CRF - 图31是条件独⽴的。
    条件随机场CRF - 图32
    上两式可得:
    条件随机场CRF - 图33

    全局⻢尔可夫性

    条件随机场CRF - 图34
    其中,设结点集合条件随机场CRF - 图35是在⽆向图条件随机场CRF - 图36中被结点集合条件随机场CRF - 图37分开的任意结点集合,对应的随机变量组是条件随机场CRF - 图38。 即给定随机变量组条件随机场CRF - 图39的条件下随机变量条件随机场CRF - 图40条件随机场CRF - 图41是条件独⽴的。

概率⽆向图模型(⻢尔可夫随机场):设有联合概率分布条件随机场CRF - 图42,由⽆向图条件随机场CRF - 图43表示,在图条件随机场CRF - 图44中,结点表示随机变量表示随机变量之间的依赖关系。如果联合概率分布条件随机场CRF - 图45满⾜成对、局部或全局⻢尔可夫性,就称联合概率分布为概率⽆向图模型,或⻢尔可夫随机场

1.2 马尔可夫随机场的因子分解

团:⽆向图条件随机场CRF - 图46中任意两个结点均有边连接的结点⼦集。
最⼤团:⽆向图条件随机场CRF - 图47中的⼀个团,并且不能再加进任何⼀个结点使其成为⼀个更⼤的团。
概率⽆向图模型联合概率分布
条件随机场CRF - 图48
其中,
条件随机场CRF - 图49是⽆向图的最⼤团, 条件随机场CRF - 图50条件随机场CRF - 图51的结点对应的随机变量;
势函数条件随机场CRF - 图52是严格正的条件随机场CRF - 图53

条件随机场CRF - 图54是规范化因子,保证条件随机场CRF - 图55构成一个概率分布 条件随机场CRF - 图56 乘积是在⽆向图所有的最⼤团上进⾏的。

1.3 条件随机场及线性链条件随机场

条件随机场

条件随机场CRF - 图57条件随机场CRF - 图58是随机变量,条件随机场CRF - 图59是在给定条件随机场CRF - 图60的条件下条件随机场CRF - 图61的条件概率分布,若随机变量条件随机场CRF - 图62构成⼀个由⽆向图条件随机场CRF - 图63表示的⻢尔可夫随机场,即
条件随机场CRF - 图64
对任意结点条件随机场CRF - 图65成⽴,则称条件概率分布条件随机场CRF - 图66为条件随机场。其中,条件随机场CRF - 图67表示在图条件随机场CRF - 图68中与结点条件随机场CRF - 图69有边连接的所有结点条件随机场CRF - 图70条件随机场CRF - 图71表示结点条件随机场CRF - 图72以外的所有结点,条件随机场CRF - 图73条件随机场CRF - 图74为结点条件随机场CRF - 图75条件随机场CRF - 图76对应的随机变量。

线性链条件随机场

条件随机场CRF - 图77均为线性链表示的随机变量序列,若在给定随机变量序列条件随机场CRF - 图78的条件下,随机变量序列条件随机场CRF - 图79的条件概率分布条件随机场CRF - 图80构成条件随机场,即满⾜⻢尔可夫性
条件随机场CRF - 图81
称条件概率分布条件随机场CRF - 图82为线性链条件随机场。

2 条件随机场的表示形式

2.1 线性链条件随机场的参数形式

条件随机场CRF - 图83为线性链条件随机场,则在随机变量条件随机场CRF - 图84取值为条件随机场CRF - 图85的条件下,随机变量Y取值为条件随机场CRF - 图86的条件概率
条件随机场CRF - 图87
其中,
条件随机场CRF - 图88
条件随机场CRF - 图89是定义在边上特征函数,称为转移特征,依赖于当前和前⼀个位置;条件随机场CRF - 图90是定义在结点上的特征函数,称为状态特征,依赖于当前位置。特征函数条件随机场CRF - 图91条件随机场CRF - 图92取值为1或0。条件随机场CRF - 图93条件随机场CRF - 图94是对应的权值,条件随机场CRF - 图95是规范化因⼦,求和是在所有可能的输出序列上进⾏的。
2.2 线性链条件随机场的简化形式

2.3 条件随机场的矩阵形式

条件概率模型
条件随机场的应用
POS tagging

分类问题可以分为硬分类和软分类两种,其中硬分类有 SVM,PLA,LDA 等。软分类问题大体上可以分为概率生成和概率判别模型,其中较为有名的概率判别模型有 Logistic 回归,生成模型有朴素贝叶斯模型。Logistic 回归模型的损失函数为交叉熵,这类模型也叫对数线性模型,一般地,又叫做最大熵模型,这类模型和指数族分布的概率假设是一致的。对朴素贝叶斯假设,如果将其中的单元素的条件独立性做推广到一系列的隐变量,那么,由此得到的模型又被称为动态模型,比较有代表性的如 HMM,从概率意义上,HMM也可以看成是 GMM 在时序上面的推广。
一般地,如果将最大熵模型和 HMM相结合,那么这种模型叫做最大熵 Markov 模型(MEMM):
image.png
这个图就是将 HMM 的图中观测变量和隐变量的边方向反向,应用在分类中,隐变量就是输出的分类。MEMM打破了HMM 中的观测独立假设。

HMM建模:
条件随机场CRF - 图97
MEMM建模:
条件随机场CRF - 图98

MEMM缺点:会造成局域的概率归一化(label bias problem)
对于这个问题,我们将 条件随机场CRF - 图99 之间的箭头转为直线转为无向图(破坏齐次 Markov 假设),即为线性链条件随机场,这样就只要满足全局归一了。

CRF损失函数

以BiLSTM+CRF实体识别模型为例

  1. CRF层可以学习到句子的约束条件

CRF层可以加入一些约束来保证最终预测结果是有效的。这些约束可以在训练数据时被CRF层自动学习得到。
可能的约束条件有:

  • 句子的开头应该是“B-”或“O”,而不是“I-”。
  • “B-label1 I-label2 I-label3…”,在该模式中,类别1,2,3应该是同一种实体类别。比如,“B-Person I-Person” 是正确的,而“B-Person I-Organization”则是错误的。
  • “O I-label”是错误的,命名实体的开头应该是“B-”而不是“I-”。

有了这些有用的约束,错误的预测序列将会大大减少。

发射分数Emission score
LSTM的输出形状是 [T, k]维度的。其中T代表序列长度(字个数), k代表实体标签的个数!因此LSTM的输出可以理解为序列中的每一个词取每个标签的概率!(发射矩阵!)

CRF损失函数由两部分组成,真实路径的分数 和 所有路径的总分数真实路径的分数应该是所有路径中分数最高的。
每种可能的路径的分数为Pi,共有N条路径,则路径的总分是:
条件随机场CRF - 图100

如果第十条路径是真实路径,也就是说第十条是正确预测结果,那么第十条路径的分数应该是所有可能路径里得分最高的。
根据如下损失函数,在训练过程中,BiLSTM-CRF模型的参数值将随着训练过程的迭代不断更新,使得真实路径所占的比值越来越大。
条件随机场CRF - 图101
对数损失:
条件随机场CRF - 图102
最小化负对数损失:
条件随机场CRF - 图103

比较下EM算法、HMM、CRF

这三个放在一起不是很恰当,但是有互相有关联,所以就放在这里一起说了。注意重点关注算法的思想。
(1)EM算法
 EM算法是用于含有隐变量模型极大似然估计或者极大后验估计,有两步组成:E步,求期望(expectation);M步,求极大(maxmization)。本质上EM算法还是一个迭代算法,通过不断用上一代参数对隐变量的估计来对当前变量进行计算,直到收敛
 注意:EM算法是对初值敏感的,而且EM是不断求解下界的极大化逼近求解对数似然函数的极大化的算法,也就是说EM算法不能保证找到全局最优值。对于EM的导出方法也应该掌握。
(2)HMM算法
 隐马尔可夫模型是用于标注问题的生成模型。有几个参数(π,A,B):初始状态概率向量π状态转移矩阵A观测概率矩阵B。称为隐马尔可夫模型的三要素
隐马尔可夫夫三个基本问题:
概率计算问题:给定模型和观测序列,计算模型下观测序列输出的概率。–>前向后向算法
学习问题:已知观测序列,估计模型参数,即用极大似然估计来估计参数。–>Baum-Welch(也就是EM算法)和极大似然估计。
预测问题:已知模型和观测序列,求解对应的状态序列。–>近似算法(贪心算法)和维特比算法(动态规划求最优路径)
(3)条件随机场CRF
 给定一组输入随机变量的条件下另一组输出随机变量条件概率分布密度。条件随机场假设输出变量构成马尔可夫随机场,而我们平时看到的大多是线性链条随机场,也就是由输入对输出进行预测的判别模型。求解方法为极大似然估计正则化的极大似然估计
 之所以总把HMM和CRF进行比较,主要是因为CRF和HMM都利用了图的知识,但是CRF利用的是马尔可夫随机场(无向图),而HMM的基础是贝叶斯网络(有向图)。而且CRF也有:概率计算问题、学习问题和预测问题。大致计算方法和HMM类似,只不过不需要EM算法进行学习问题
(4)HMM和CRF对比
 其根本还是在于基本的理念不同,一个是生成模型,一个是判别模型,这也就导致了求解方式的不同。

实体识别为什么不用softmax?

逐帧softmax

CRF主要用于序列标注问题,可以简单理解为是给序列中的每一帧都进行分类,既然是分类,很自然想到将这个序列用CNN或者RNN进行编码后,接一个全连接层用softmax激活。然而,当我们设计标签时,比如用s、b、m、e的4个标签来做字标注法的分词,目标输出序列本身会带有一些上下文关联,比如s后面就不能接m和e,等等。逐标签softmax并没有考虑这种输出层面的上下文关联,所以它意味着把这些关联放到了编码层面,希望模型能自己学到这些内容,但有时候会“强模型所难”。CRF和编码层是两个不同的层。

CRF层学习的是标签之间的关联信息,也可以叫做约束信息,因为B-Peson后面不可能接I-Organization
在CRF层的损失函数有两个不同的分数,这两个分数是CRF层关键性的思想

参考

概率图模型体系:HMM、MEMM、CRF https://zhuanlan.zhihu.com/p/33397147
最通俗易懂的BiLSTM-CRF模型中的CRF层介绍 https://zhuanlan.zhihu.com/p/44042528 *
CRF 详细推导、验证实例 https://www.cnblogs.com/callyblog/p/11284370.html