HalluZig:Hallucination Detection using Zigzag Persistence
(EACL 2026)
方法
构建注意力图
对于LLM的每一层,将 token 视为节点,将 token 之间的注意力权重视为边,并仅保留权重最高的 top-k 百分比的边以过滤噪声。
Zigzag 过滤与动态演变
标准的拓扑数据分析(如持续同调)通常只能处理“不断生长”的结构(即边只能增加,不能减少):$G_0 \subseteq G_1 \subseteq …$ 。然而,在语言模型的不同层之间,token 间的注意力连接不仅会形成,还会断开 。
为了捕捉这种复杂的“诞生与消亡”过程,论文引入了 Zigzag 过滤,允许连接在层与层之间相互包容和剔除 。具体而言,对于相邻的第 $l$ 层图 $G_l$ 和第 $l+1$ 层图 $G _ {l+1}$,构建如下的局部过滤序列:
$$G_l \hookrightarrow G_l \cup G _ {l+1} \hookleftarrow G _ {l+1}$$
其中,$G_l \cup G _ {l+1}$ 是两层图的并集(包含了这两层中出现过的所有边),边权重取两者的最大值 。
- 拓扑特征的物理意义:在这种演变中,论文重点追踪 $1$ 维同调群 $H_1(G_l)$ 的秩,即网络中“独立循环(Cycles / Loops)”的数量 。
- 核心假设:如果模型生成的是事实,这些循环通常代表一致的语义概念被巩固,它们由高权重的连接组成,且能在多个网络层中持久存在 (Persist) 。相反,如果是幻觉,信息流通常会断裂,表现为大量短命、结构不稳定的虚假思维循环 。
特征向量化与分类
Zigzag 算法会输出一个“持久性图 (Persistence Diagram)”,其中记录了每个拓扑特征(即上述的“环”)诞生 (Birth) 和死亡 (Death) 的层数坐标 $(b, d)$ 。
由于持久性图是 2D 散点图,无法直接输入给机器学习模型,因此需要将其向量化 。论文测试了三种方法:
- 持久性图像 (PersImg):将散点图当作 2D 分布,使用高斯核映射到网格上,生成一个类似于热力图的图像,捕捉拓扑特征的几何密度 。
- Betti 曲线 (Betti Curve):生成一个 1D 向量,追踪不同过滤值下当前存活的特征(环)的数量 。
- 持久性熵 (PersEntropy):通过香农熵计算特征寿命分布 $(d-b)$ 的复杂程度,用一个标量值来总结整个图 。
最后,将这些提取出来的拓扑特征向量输入到一个简单的随机森林分类器 (Random Forest Classifier) 中,用于最终判定当前生成的回答是否属于“幻觉” 。
HalluZig:Hallucination Detection using Zigzag Persistence
https://lijianxiong.space/2026/20260707-1/