在医疗保健这个高风险领域,人工智能正迅速成为不可或缺的工具。医疗领域最关键的后台任务之一是医疗编码——即把非结构化的临床文本 (如医生笔记) 转化为标准化的国际疾病分类 (ICD) 代码。这些代码对于计费、流行病学研究和治疗跟踪至关重要。

虽然大型语言模型 (LLMs) 在自动化这项任务上表现出了惊人的能力,但它们存在一个严重的“黑盒”问题。当 AI 将“术后伤口感染”这一代码分配给某个病例时,医生需要知道原因。如果模型无法解释其推理过程,它就无法在临床环境中被信任。

现有的可解释性方法往往差强人意,经常高亮显示像 “and” 或 “the” 这样的无关词汇作为诊断依据。本文将深入探讨这篇名为 Beyond Label Attention 的论文中提出的一种迷人的新方法,称为 AutoCodeDL 。 该方法利用字典学习 (Dictionary Learning) 来层层剥开神经网络的外衣。我们将探索这种方法如何将混乱、稠密的信号分解为清晰、人类可读的医学概念。

当前可解释性方法的问题

要理解为什么我们需要一种新方法,首先需要了解目前我们是如何解释医疗编码中的 AI 决策的。目前的行业标准依赖于标签注意力 (Label Attention, LAAT) 机制。

简单来说,LAAT 会查看临床文本,并相对于特定的 ICD 代码为每个单词 (Token) 分配一个“注意力分数”。它告诉我们模型在做决定时关注了哪些词。

高亮 Token 的标签注意力管道 图 5: 标签注意力通过标签注意力矩阵识别每个 ICD 代码最相关的 Token

如上图所示,临床笔记被分成多个片段,由预训练语言模型 (PLM) 处理,然后通过标签注意力机制生成 ICD 代码。

然而,研究人员发现了一个令人不安的趋势。LAAT 经常高亮那些对人类来说似乎完全无关的 Token。例如,模型可能预测“术后伤口感染”,却声称最重要的词是连词 “and”。

图 1: 动机: LAAT 识别每个 ICD 代码最相关的 Token。

请看上图。在面板 (a) 中,人类会识别出 “wound” (伤口) 、“breakdown” (破裂) 和 “dehiscence” (裂开) 作为关键词。而在面板 (b) 中,标准的 LAAT 机制却令人费解地高亮了 “and”。

是模型坏了吗?不一定。这篇论文的作者认为,这是神经元多义性 (neuron polysemanticity)叠加 (superposition) 的结果。

叠加的概念

在高维向量空间 (LLM 运作的地方) 中,模型压缩的特征数量通常多于其拥有的神经元数量。这种现象被称为叠加 。 单个神经元可能同时负责编码“伤口感染”、“介词”和“计费日期”。

当我们看到 “and” 的注意力分数时,我们看到的是一个被压缩的、“稠密”的表示。在那个特定的上下文中,“and” 这个词实际上可能携带了关于伤口愈合失败的隐藏信号。挑战在于: 我们如何解开这些重叠的信号?

解决方案: 字典学习

为了解决这个问题,研究人员利用稀疏自编码器 (Sparse Autoencoders, SAE) 转向了字典学习 (DL)

核心思想是获取单词的“稠密”嵌入 (它是重叠概念的混合体) ,并将其映射到“稀疏”表示,其中每个元素代表一个独特、单一的概念 (即“字典特征”) 。

把稠密嵌入想象成一杯奶昔。它尝起来像混合水果。字典学习就是那台把奶昔还原成一堆堆草莓、香蕉和羽衣甘蓝的机器。

稀疏自编码器架构

研究人员采用了稀疏自编码器来执行这种分解。自编码器是一种神经网络,旨在将其输入复制到输出,但在中间施加约束,强制其学习有意义的结构。

以下是他们使用的数学框架:

描述稀疏自编码器重建和损失函数的方程。

让我们详细分解一下:

  1. 编码器 (Encoder) : 输入嵌入 \(x\) 通过权重 \(W_e\) 和偏置 \(b_e\) 投影到更高维空间。ReLU 激活函数确保值为非负。
  2. 解码器 (Decoder) : 生成的特征向量 \(f\) 通过权重 \(W_d\) 投影回原始大小。
  3. 损失函数 (Loss Function) : 训练过程最小化原始嵌入与重建嵌入之间的差异 (均方误差) 。关键在于,它添加了一个 \(L_1\) 惩罚项 (\(\lambda ||f||_1\))。这个惩罚项强制网络保持稀疏——意味着大部分值为零。

这种稀疏性约束是神奇的要素。它迫使模型仅使用少数活跃特征来描述任何给定的单词,从而有效地分离出特定概念。

字典矩阵 \(W_d\) 可以被视为一组特征方向的集合:

显示字典权重矩阵 Wd 作为向量 h 集合的方程。

因此,任何稠密 Token 嵌入 \(x\) 都可以近似为这些稀疏特征的线性组合:

显示 x 近似为特征乘以字典向量之和的方程。

构建医学相关字典

仅仅训练一个自编码器是不够的。我们需要知道这些稀疏特征在医学语境下实际上意味着什么。研究人员开发了一种方法将这些特征映射到特定的 ICD 代码。

该过程包括两个主要步骤: 采样/编码消融/识别

图 2: 构建字典涉及几个步骤: 稀疏自编码器将每个 Token 嵌入分解为稀疏潜在空间。

步骤 1: 采样和编码 模型处理来自临床笔记的数百万个 Token。稀疏自编码器将这些分解为特征激活值 (\(f\)) 。如果某个特征在遇到像 “dehiscence” (裂开) 、“breakdown” (破裂) 和 “rupture” (断裂) 这样的 Token 时被强烈激活,我们就开始对其含义有了线索。

步骤 2: 消融和识别 为了确认特征的含义,研究人员使用了消融 (ablation) 技术。这意味着他们在数学上从嵌入中移除特定特征,并测量其影响。

消融公式如下:

显示消融后的向量 x tilde 等于 x 减去特征分量的方程。

通过移除特征 \(f_i\),我们得到一个修改后的嵌入 \(\tilde{x}\)。然后,我们观察模型对原始输入与消融后输入的预测输出 (softmax 概率) :

计算概率差异 delta i 的方程。

如果移除特定特征导致“伤口感染” ICD 代码的概率显著下降,我们就知道该特征与该诊断密切相关。

AutoCodeDL: 新的管道

研究人员将标准的标签注意力机制与他们的新字典学习方法结合,创建了 AutoCodeDL

AutoCodeDL 不再止步于“模型关注了单词 ‘and’”,而是挖掘得更深:

  1. LAAT 识别出重要的单词 (即使是像 “and” 这样看似无关的词) 。
  2. 稀疏自编码器将 “and” 分解为其活跃特征。
  3. 系统识别出特征 ID 3728 是活跃的。
  4. 字典查询显示特征 ID 3728 对应于“伤口愈合失败”。

图 3: 用于自动 ICD 可解释性管道的建议方法: AutoCodeDL。

这完全改变了叙事方式。解释从“关注 ‘and’” (令人困惑) 变成了“关注 ‘and’,因为它包含了‘伤口故障’的隐藏概念” (有用且可信) 。

实验结果

研究人员在 MIMIC-III 数据集上验证了他们的方法,这是一个包含大量真实世界临床笔记的集合。他们将自己的方法与包括 PCA、ICA 和随机编码器在内的几个基线进行了比较。

1. 可解释性 (忠实度)

第一个测试是确保字典特征确实解释了模型的行为。如果我们消融 AutoCodeDL 识别出的特征,模型会改变它的判断吗?

结果显示,消融高亮 Token 的字典特征对预测的 ICD 代码产生了精确且显著的影响。

表 9: 消融实验导致的下游 ICD 预测的 Softmax 概率变化。

在上表中,请看 Ratio (比率) 。 比率越高,意味着该方法成功降低了目标代码 (Top) 的概率,同时没有破坏其他无关代码 (NGT) 的概率。AutoCodeDL (L1 和 SPINE 变体) 显著优于 PCA 和 ICA 等基线,证明它提供了更精准、更准确的解释。

2. 解开“停用词”之谜

还记得 “and” 被高亮的例子吗?研究人员对此进行了系统性测试。他们选取了被 LAAT 高亮的无关停用词,并使用 AutoCodeDL 对其进行分析。

他们发现,超过 90% 的这些医学上无关的 Token 实际上在叠加态中包含了相关的医学概念。

表 2: 我们的 AutoCodeDL 框架正确识别停用词嵌入标签的比例。

这对于建立对医疗 AI 的信任是一个突破。它证实了模型并没有在停用词上产生重要性幻觉;它是在高效地将信息打包进这些词中。

3. 模型引导

如果这些特征确实具有因果关系,我们应该能够通过人为激活某个特征来强迫模型做出预测。这被称为模型引导 (Model Steering)

研究人员“钳制” (人为增加) 了特定特征的激活值并观察结果。

表 3: 比较 AutoCodeDL 的模型引导实验结果。

结果令人印象深刻。通过操纵字典特征,他们能够翻转数千个代码的决策。这证实了字典特征不仅与医学概念相关——它们是模型用于推理的机制

下面的可视化 (UMAP) 映射了这些特征,展示了相关概念的聚类,如“心脏状况”或“肾脏状况”,这些特征可以引导模型的行为。

图 4: SPINE 嵌入的 UMAP: 字典特征在引导模型行为方面具有可解释性。

人类可理解性

最后,如果人类无法理解,那么医疗解释系统就毫无用处。研究人员评估了学习到的特征的连贯性 (Coherence)区分性 (Distinctiveness)

连贯性问的是: 激活特定特征的单词是否共享一个语义主题?

这是一个与心房颤动 (AFib) 相关的高度连贯特征的例子。注意激活的 Token (红色) 在上下文中都与心律问题相关。

图 6: 具有高余弦相似度的高度可解释 SPINE 特征示例。

相反,并非所有特征都是完美的。有些特征将视觉上相似但语义上不同的概念归为一类,或者包含对于直接解释来说过于抽象的概念。

图 8: 具有低余弦相似度的不可解释 SPINE 特征示例。

为了严格测试这一点,他们进行了“词汇入侵”测试 (区分性) 。他们向人类专家 (包括一名执业医师) 展示了一组由某个特征激活的单词,加上一个随机的“入侵”词。如果特征是独特的,人类应该能轻易找出那个入侵词。

图 9: 一个可解释的 L1 特征示例。

在上面的例子中,该特征明显与心脏瓣膜手术相关 (“porcine avr” [猪主动脉瓣置换], “bovine avr” [牛主动脉瓣置换]) 。入侵词 “nephrectomy” (肾切除术) 显得格格不入。

然而,有些情况比较困难。在下面的例子中,两位标注者都正确识别了入侵词,但他们指出该特征不那么明显——可能捕捉了关于特定解剖位置或状况的更抽象的概念。

图 10: 一个较难解释的 L1 特征示例,两位标注者均做出了区分。

这项人类评估证实,虽然并非每一个特征都是完美的,但稀疏自编码器 (尤其是 L1 变体) 生成的特征比基线方法更具可解释性和区分性。

结论

论文 Beyond Label Attention 为医疗领域的 AI 迈出了重要一步。通过承认语言模型以复杂的方式压缩信息 (叠加) ,研究人员超越了简单的高亮工具。

AutoCodeDL 为医疗 AI 的“大脑”提供了一个透明的窗口。它使我们能够:

  1. 验证预测: 确认诊断是基于医学证据,而不是统计噪声。
  2. 翻译“计算机语言”: 解码为什么模型可能会关注像 “and” 这样的词。
  3. 引导模型: 通过调整特定特征的激活值来潜在地纠正模型行为。

随着医疗编码模型变得越来越大、越来越复杂,像 AutoCodeDL 这样的工具将变得至关重要。它们提供了连接 AI 原始计算能力与病患护理所需信任之间的必要桥梁。我们不再要求医生去信任一个黑盒,而是终于可以把解码它的字典交到他们手中。