• 条件随机场(CRF)笔记


    Filed, Random Field, Conditional Random Field

    场(field)是一个关于位置的函数。这个概念来自物理学,一个典例是引力场:一个有质量的物体 A 会对其它有质量的物体产生引力,可用一个函数来描述在各位置受到来自 A 的引力。记 A 质量为 M、位于 x A x_A xA,由引力公式 F = G M m / r 2 F=GMm \big/ r^2 F=GMm/r2 知,另一质量为 m、位于 x 的物体受 A 引力为 G M m / ∥ x − x A ∥ 2 2 GMm \big/ \| x - x_A \|^2_2 GMm/xxA22,于是 A 引力场可以表示为 f ( x ; G , M , x A ) = G M ∥ x − x A ∥ 2 2 f(x;G,M,x_A)=\frac{GM}{ \| x - x_A \|^2_2} f(x;G,M,xA)=xxA22GM 表示位于 x 时每 kg 质量受到 A 的引力大小。

    随机场(random field)是场引入概率论中衍生的概念,就是个概率(密度)函数,自变量「位置」换成随机变量,即随机场是定义在一组随机变量 { X 1 , … , X n } \{X_1,\dots,X_n\} {X1,,Xn} 上的概率(密度)函数,一个随机变量 X i X_i Xi 就是一个「位置」。 定义在一组随机变量 { X 1 , … , X n } \{X_1,\dots,X_n\} {X1,,Xn} 上。若要与物理中的场函数类比,这组随机变量相当于一组基(n 维直觉座标系的座标轴),而它们的取值 ( x 1 , … , x n ) (x_1,\dots,x_n) (x1,,xn) 就是一个「位置」。

    条件随机场(conditional random field,CRF)在 [1] 提出,用于 NLP,[2] 举有词性标记的例。就是把随机场的场函数(概率函数)改成条件概率函数([1] 在定义中加了 Markov 性质的约束)。

    CRF in Segmentation

    CRF 可以用作语义分割的后处理,refine 分割网络的 prediction,源头是 [3] 的 fully connected CRF / dense CRF,用例可参考 [4] 的代码 eval_segmentation.py,流程是:

    • 网络预测 logit(PyTorch 形状 [c, h, w]);
    • 将 logit、image 一同输入 dense_crf,输出就是 refine 过的 logit;
    • argmax

    Dence CRF 无需预训练。从 [4] 的 review 来看,似乎 dense CRF 是有预训练 weights 的?没了解细节,不过 [4] rebuttal 提到是用 pydensecrf[5] 的默认参数。

    References

    1. (ICML’01) Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data - paper
    2. Introduction to Conditional Random Fields
    3. (NIPS’11) Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials - paper
    4. (NIPS’23) SmooSeg: Smoothness Prior for Unsupervised Semantic Segmentation - paper, code, openreview
    5. lucasb-eyer/pydensecrf
  • 相关阅读:
    交易用户如何去使用l2行情数据api接口?
    【数据分析】时间序列
    Idea 常用快捷键
    Java 序列化和反序列化为什么要实现 Serializable 接口?
    vue2-org-tree 树型结构的使用
    【JavaEE】_Spring MVC项目之使用对象传参
    2022-32周 项目问题整理
    一个技术混子参加《 2022 谷歌开发者大会》的一日游记
    Python基础教程:列表(List)的常用操作
    行列式基础
  • 原文地址:https://blog.csdn.net/HackerTom/article/details/136851499