内生可解释性:从黑盒深度模型到可理解、可干预的智能系统
适合读者:刚进入人工智能、深度学习相关方向的本科生、研0/研一同学。
关键词:内生可解释性、可解释人工智能、深度学习、概念瓶颈模型、原型网络、机制可解释、模型驱动深度学习
1. 为什么要关注内生可解释性?
深度学习模型已经在计算机视觉、自然语言处理、无线通信、医学影像、自动驾驶和大模型应用中取得了很强的效果。但是,效果强并不等于模型可靠。
很多深度模型存在一个共同问题:我们知道它输出了什么,却不一定知道它为什么这样输出。
例如:
- 图像分类模型把一张医学图像判为异常,它到底看的是病灶区域,还是图像角落的水印?
- 调制识别模型把某段信号判为 QPSK,它依据的是星座图结构、频谱特征,还是训练集里的噪声偏差?
- 大语言模型给出一个看似合理的答案,它是在调用事实知识,还是在根据语言模式"编"出一个流畅但错误的结果?
这就是"黑盒模型"带来的核心问题。模型越复杂,参数越多,能力越强,人类就越难理解它内部的判断过程。对于高风险任务,仅仅追求准确率是不够的。我们还希望模型具备以下能力:
- 可理解:人能看懂模型依据什么做判断;
- 可诊断:模型出错时,能定位错误来源;
- 可验证:解释不是漂亮话,而是真实反映模型机制;
- 可干预:人可以修改中间概念或内部表示,从而影响最终输出;
- 可迁移:模型学到的是任务本质,而不是数据集中的偶然相关。
因此,可解释性不是"锦上添花"的附加功能,而是深度模型走向可靠、安全、可信必须解决的问题。
下面这张图可以概括可解释性要解决的核心矛盾:
#mermaid-svg-llKLjGMqtyLMavyy{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-llKLjGMqtyLMavyy .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-llKLjGMqtyLMavyy .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-llKLjGMqtyLMavyy .error-icon{fill:#552222;}#mermaid-svg-llKLjGMqtyLMavyy .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-llKLjGMqtyLMavyy .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-llKLjGMqtyLMavyy .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-llKLjGMqtyLMavyy .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-llKLjGMqtyLMavyy .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-llKLjGMqtyLMavyy .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-llKLjGMqtyLMavyy .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-llKLjGMqtyLMavyy .marker{fill:#333333;stroke:#333333;}#mermaid-svg-llKLjGMqtyLMavyy .marker.cross{stroke:#333333;}#mermaid-svg-llKLjGMqtyLMavyy svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-llKLjGMqtyLMavyy p{margin:0;}#mermaid-svg-llKLjGMqtyLMavyy .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-llKLjGMqtyLMavyy .cluster-label text{fill:#333;}#mermaid-svg-llKLjGMqtyLMavyy .cluster-label span{color:#333;}#mermaid-svg-llKLjGMqtyLMavyy .cluster-label span p{background-color:transparent;}#mermaid-svg-llKLjGMqtyLMavyy .label text,#mermaid-svg-llKLjGMqtyLMavyy span{fill:#333;color:#333;}#mermaid-svg-llKLjGMqtyLMavyy .node rect,#mermaid-svg-llKLjGMqtyLMavyy .node circle,#mermaid-svg-llKLjGMqtyLMavyy .node ellipse,#mermaid-svg-llKLjGMqtyLMavyy .node polygon,#mermaid-svg-llKLjGMqtyLMavyy .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-llKLjGMqtyLMavyy .rough-node .label text,#mermaid-svg-llKLjGMqtyLMavyy .node .label text,#mermaid-svg-llKLjGMqtyLMavyy .image-shape .label,#mermaid-svg-llKLjGMqtyLMavyy .icon-shape .label{text-anchor:middle;}#mermaid-svg-llKLjGMqtyLMavyy .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-llKLjGMqtyLMavyy .rough-node .label,#mermaid-svg-llKLjGMqtyLMavyy .node .label,#mermaid-svg-llKLjGMqtyLMavyy .image-shape .label,#mermaid-svg-llKLjGMqtyLMavyy .icon-shape .label{text-align:center;}#mermaid-svg-llKLjGMqtyLMavyy .node.clickable{cursor:pointer;}#mermaid-svg-llKLjGMqtyLMavyy .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-llKLjGMqtyLMavyy .arrowheadPath{fill:#333333;}#mermaid-svg-llKLjGMqtyLMavyy .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-llKLjGMqtyLMavyy .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-llKLjGMqtyLMavyy .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-llKLjGMqtyLMavyy .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-llKLjGMqtyLMavyy .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-llKLjGMqtyLMavyy .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-llKLjGMqtyLMavyy .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-llKLjGMqtyLMavyy .cluster text{fill:#333;}#mermaid-svg-llKLjGMqtyLMavyy .cluster span{color:#333;}#mermaid-svg-llKLjGMqtyLMavyy div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-llKLjGMqtyLMavyy .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-llKLjGMqtyLMavyy rect.text{fill:none;stroke-width:0;}#mermaid-svg-llKLjGMqtyLMavyy .icon-shape,#mermaid-svg-llKLjGMqtyLMavyy .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-llKLjGMqtyLMavyy .icon-shape p,#mermaid-svg-llKLjGMqtyLMavyy .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-llKLjGMqtyLMavyy .icon-shape .label rect,#mermaid-svg-llKLjGMqtyLMavyy .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-llKLjGMqtyLMavyy .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-llKLjGMqtyLMavyy .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-llKLjGMqtyLMavyy :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 深度模型能力增强
模型结构更复杂
内部机制更难理解
幻觉、不安全、不可控、难调试
需要可解释性
可理解
可诊断
可验证
可干预
2. 什么是内生可解释性?
"内生可解释性"可以理解为:模型在设计之初,就把可解释机制融入模型结构、训练目标或中间表示中,使模型本身具备可理解、可验证、可干预的性质。
它对应英文中的几个常见说法:
intrinsic interpretabilityinherent interpretabilityante-hoc interpretabilityself-explaining models
这里的关键点是:解释不是训练完模型之后再"补"出来的,而是模型内部天然带有某种可解释结构。
可以用下面的流程图区分"事后解释"和"内生可解释":
#mermaid-svg-Aheaqv3N7WPyRibI{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Aheaqv3N7WPyRibI .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Aheaqv3N7WPyRibI .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Aheaqv3N7WPyRibI .error-icon{fill:#552222;}#mermaid-svg-Aheaqv3N7WPyRibI .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Aheaqv3N7WPyRibI .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Aheaqv3N7WPyRibI .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Aheaqv3N7WPyRibI .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Aheaqv3N7WPyRibI .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Aheaqv3N7WPyRibI .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Aheaqv3N7WPyRibI .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Aheaqv3N7WPyRibI .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Aheaqv3N7WPyRibI .marker.cross{stroke:#333333;}#mermaid-svg-Aheaqv3N7WPyRibI svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Aheaqv3N7WPyRibI p{margin:0;}#mermaid-svg-Aheaqv3N7WPyRibI .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Aheaqv3N7WPyRibI .cluster-label text{fill:#333;}#mermaid-svg-Aheaqv3N7WPyRibI .cluster-label span{color:#333;}#mermaid-svg-Aheaqv3N7WPyRibI .cluster-label span p{background-color:transparent;}#mermaid-svg-Aheaqv3N7WPyRibI .label text,#mermaid-svg-Aheaqv3N7WPyRibI span{fill:#333;color:#333;}#mermaid-svg-Aheaqv3N7WPyRibI .node rect,#mermaid-svg-Aheaqv3N7WPyRibI .node circle,#mermaid-svg-Aheaqv3N7WPyRibI .node ellipse,#mermaid-svg-Aheaqv3N7WPyRibI .node polygon,#mermaid-svg-Aheaqv3N7WPyRibI .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Aheaqv3N7WPyRibI .rough-node .label text,#mermaid-svg-Aheaqv3N7WPyRibI .node .label text,#mermaid-svg-Aheaqv3N7WPyRibI .image-shape .label,#mermaid-svg-Aheaqv3N7WPyRibI .icon-shape .label{text-anchor:middle;}#mermaid-svg-Aheaqv3N7WPyRibI .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Aheaqv3N7WPyRibI .rough-node .label,#mermaid-svg-Aheaqv3N7WPyRibI .node .label,#mermaid-svg-Aheaqv3N7WPyRibI .image-shape .label,#mermaid-svg-Aheaqv3N7WPyRibI .icon-shape .label{text-align:center;}#mermaid-svg-Aheaqv3N7WPyRibI .node.clickable{cursor:pointer;}#mermaid-svg-Aheaqv3N7WPyRibI .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Aheaqv3N7WPyRibI .arrowheadPath{fill:#333333;}#mermaid-svg-Aheaqv3N7WPyRibI .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Aheaqv3N7WPyRibI .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Aheaqv3N7WPyRibI .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Aheaqv3N7WPyRibI .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Aheaqv3N7WPyRibI .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Aheaqv3N7WPyRibI .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Aheaqv3N7WPyRibI .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Aheaqv3N7WPyRibI .cluster text{fill:#333;}#mermaid-svg-Aheaqv3N7WPyRibI .cluster span{color:#333;}#mermaid-svg-Aheaqv3N7WPyRibI div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Aheaqv3N7WPyRibI .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Aheaqv3N7WPyRibI rect.text{fill:none;stroke-width:0;}#mermaid-svg-Aheaqv3N7WPyRibI .icon-shape,#mermaid-svg-Aheaqv3N7WPyRibI .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Aheaqv3N7WPyRibI .icon-shape p,#mermaid-svg-Aheaqv3N7WPyRibI .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Aheaqv3N7WPyRibI .icon-shape .label rect,#mermaid-svg-Aheaqv3N7WPyRibI .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Aheaqv3N7WPyRibI .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Aheaqv3N7WPyRibI .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Aheaqv3N7WPyRibI :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 内生可解释
设计模型时加入可解释结构
中间概念、原型或物理模块
得到预测结果
解释来自模型自身结构
事后解释
先训练黑盒模型
得到预测结果
再用解释工具分析
例如 Grad-CAM / SHAP / LIME
2.1 内生解释 vs 事后解释
可解释人工智能中常见两类方法:
| 类型 | 核心思想 | 典型方法 | 优点 | 局限 |
|---|---|---|---|---|
| 事后解释 | 黑盒模型训练完成后,再用额外方法解释 | Grad-CAM、LIME、SHAP、Integrated Gradients | 使用方便,可解释已有模型 | 解释可能不忠实于模型真实机制 |
| 内生可解释 | 模型设计时就加入可解释结构 | Concept Bottleneck、ProtoPNet、Self-Explaining Neural Networks、深度展开网络 | 更接近模型真实决策过程,可干预性更强 | 设计难度更高,可能需要领域知识 |
举个简单例子。
如果我们训练一个普通 CNN 来判断鸟的种类,模型直接从图像输出类别,它内部到底看了什么并不清楚。训练完后,我们可以用 Grad-CAM 画热力图,这属于事后解释。
如果我们设计一个模型,让它先判断"翅膀颜色""喙的形状""尾巴长度"等人类可理解的概念,再根据这些概念判断鸟的种类,这就是内生可解释。因为模型的中间层本身就是人类可以理解的概念。
3. 内生可解释性到底解释什么?
很多人一开始会把"可解释性"理解成"画一张热力图"。这其实太窄了。
真正的可解释性至少包括以下几个层次:
| 解释层级 | 核心问题 | 常见形式 | 典型例子 |
|---|---|---|---|
| 输入层 | 模型关注了输入哪里? | 热力图、重要性分数、遮挡实验 | 图像区域、文本词语、信号时频区域 |
| 概念层 | 模型是否学到人类概念? | 概念瓶颈、概念激活、原型匹配 | 病灶形态、星座图结构、频偏 |
| 机制层 | 模型内部如何计算? | 神经元、电路、注意力头、激活路径 | Transformer circuits、activation patching |
| 系统层 | 模型能否被验证和干预? | 人工修正概念、模型调试、安全监控 | 医生修正诊断概念、通信专家修正信道先验 |
3.1 输入层解释:模型关注了哪里?
这类解释回答的问题是:输入中的哪些部分影响了模型输出?
例如:
- 图像中的哪些区域影响了分类结果;
- 文本中的哪些词影响了情感判断;
- 信号中的哪些时频区域影响了调制识别。
这类方法直观,但容易停留在表面。模型"看到了哪里"不等于模型"为什么这样判断"。
3.2 概念层解释:模型是否学到了人类概念?
这类解释更进一步。它关注模型是否学会了人类能理解的中间概念。
例如:
- 医学图像中的"结节边缘""密度""纹理";
- 通信信号中的"星座点分布""频偏""相位噪声""多径衰落";
- 文本中的"事实陈述""因果关系""情绪倾向"。
概念层解释比单纯热力图更接近人类推理方式。
3.3 机制层解释:模型内部如何计算?
机制层解释试图回答更深的问题:模型内部到底通过哪些神经元、特征、注意力头或计算路径完成任务?
在大模型研究中,这个方向通常被称为 mechanistic interpretability,即机制可解释性。它不仅问"模型关注什么",还问:
- 哪些神经元或特征编码了某个概念?
- 哪些注意力头在执行复制、匹配、归纳或检索功能?
- 修改某个内部激活,是否会因果性地改变输出?
- 模型的某种错误或幻觉能否定位到特定表示或计算路径?
这类研究更难,但也更接近理解深度网络本质。
4. 内生可解释性的代表技术路线
下面介绍几条重要路线。对于刚入门的同学,不需要一开始全部吃透,但可以先建立地图。
先看一张技术谱系图:
#mermaid-svg-0LuPvF1ybUyz2CmN{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-0LuPvF1ybUyz2CmN .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-0LuPvF1ybUyz2CmN .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-0LuPvF1ybUyz2CmN .error-icon{fill:#552222;}#mermaid-svg-0LuPvF1ybUyz2CmN .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-0LuPvF1ybUyz2CmN .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-0LuPvF1ybUyz2CmN .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-0LuPvF1ybUyz2CmN .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-0LuPvF1ybUyz2CmN .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-0LuPvF1ybUyz2CmN .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-0LuPvF1ybUyz2CmN .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-0LuPvF1ybUyz2CmN .marker{fill:#333333;stroke:#333333;}#mermaid-svg-0LuPvF1ybUyz2CmN .marker.cross{stroke:#333333;}#mermaid-svg-0LuPvF1ybUyz2CmN svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-0LuPvF1ybUyz2CmN p{margin:0;}#mermaid-svg-0LuPvF1ybUyz2CmN .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-0LuPvF1ybUyz2CmN .cluster-label text{fill:#333;}#mermaid-svg-0LuPvF1ybUyz2CmN .cluster-label span{color:#333;}#mermaid-svg-0LuPvF1ybUyz2CmN .cluster-label span p{background-color:transparent;}#mermaid-svg-0LuPvF1ybUyz2CmN .label text,#mermaid-svg-0LuPvF1ybUyz2CmN span{fill:#333;color:#333;}#mermaid-svg-0LuPvF1ybUyz2CmN .node rect,#mermaid-svg-0LuPvF1ybUyz2CmN .node circle,#mermaid-svg-0LuPvF1ybUyz2CmN .node ellipse,#mermaid-svg-0LuPvF1ybUyz2CmN .node polygon,#mermaid-svg-0LuPvF1ybUyz2CmN .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-0LuPvF1ybUyz2CmN .rough-node .label text,#mermaid-svg-0LuPvF1ybUyz2CmN .node .label text,#mermaid-svg-0LuPvF1ybUyz2CmN .image-shape .label,#mermaid-svg-0LuPvF1ybUyz2CmN .icon-shape .label{text-anchor:middle;}#mermaid-svg-0LuPvF1ybUyz2CmN .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-0LuPvF1ybUyz2CmN .rough-node .label,#mermaid-svg-0LuPvF1ybUyz2CmN .node .label,#mermaid-svg-0LuPvF1ybUyz2CmN .image-shape .label,#mermaid-svg-0LuPvF1ybUyz2CmN .icon-shape .label{text-align:center;}#mermaid-svg-0LuPvF1ybUyz2CmN .node.clickable{cursor:pointer;}#mermaid-svg-0LuPvF1ybUyz2CmN .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-0LuPvF1ybUyz2CmN .arrowheadPath{fill:#333333;}#mermaid-svg-0LuPvF1ybUyz2CmN .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-0LuPvF1ybUyz2CmN .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-0LuPvF1ybUyz2CmN .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-0LuPvF1ybUyz2CmN .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-0LuPvF1ybUyz2CmN .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-0LuPvF1ybUyz2CmN .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-0LuPvF1ybUyz2CmN .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-0LuPvF1ybUyz2CmN .cluster text{fill:#333;}#mermaid-svg-0LuPvF1ybUyz2CmN .cluster span{color:#333;}#mermaid-svg-0LuPvF1ybUyz2CmN div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-0LuPvF1ybUyz2CmN .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-0LuPvF1ybUyz2CmN rect.text{fill:none;stroke-width:0;}#mermaid-svg-0LuPvF1ybUyz2CmN .icon-shape,#mermaid-svg-0LuPvF1ybUyz2CmN .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-0LuPvF1ybUyz2CmN .icon-shape p,#mermaid-svg-0LuPvF1ybUyz2CmN .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-0LuPvF1ybUyz2CmN .icon-shape .label rect,#mermaid-svg-0LuPvF1ybUyz2CmN .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-0LuPvF1ybUyz2CmN .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-0LuPvF1ybUyz2CmN .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-0LuPvF1ybUyz2CmN :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 内生可解释性
传统可解释模型
概念型深度模型
原型型深度模型
自解释神经网络
机制可解释
模型驱动深度学习
决策树 / 线性模型 / GAM
Concept Bottleneck Model
ProtoPNet
概念 + 权重 + 稳定约束
Transformer Circuits / Sparse Autoencoder
深度展开 / 物理约束网络
再用表格把几条路线的特点放在一起:
| 技术路线 | 解释对象 | 主要优势 | 适合任务 | 入门难度 |
|---|---|---|---|---|
| 决策树、线性模型、GAM | 特征与规则 | 简单透明,容易审计 | 结构化数据、风控、医学评分 | 低 |
| Concept Bottleneck | 人类概念 | 中间概念可检查、可干预 | 医学图像、属性识别、专家系统 | 中 |
| ProtoPNet | 典型原型 | 能说明"像哪个样本模式" | 图像分类、信号模式识别 | 中 |
| Self-Explaining NN | 概念及贡献权重 | 预测和解释同步输出 | 分类、回归、风险评估 | 中 |
| 机制可解释 | 神经元、特征、电路 | 深入理解模型内部计算 | Transformer、大模型安全 | 高 |
| 模型驱动深度学习 | 物理模块、算法步骤 | 结合领域知识,结构天然可解释 | 通信、信号处理、优化问题 | 中高 |
4.1 可解释模型本身:决策树、规则、GAM
最传统的内生可解释模型包括:
- 决策树;
- 线性模型;
- 规则列表;
- 广义加性模型,也就是 GAM;
- 可解释评分卡。
这些模型结构简单,人类容易理解。Cynthia Rudin 在 2019 年的文章中强调,在高风险任务中,与其先训练黑盒再解释,不如优先设计本身可解释的模型。
不过,这类传统模型在图像、语音、复杂通信信号和大规模文本任务上表达能力有限。因此,研究者开始探索"深度模型如何内生可解释"。
4.2 概念瓶颈模型:Concept Bottleneck Model
概念瓶颈模型的核心思想是:
text
输入数据 -> 人类可理解的中间概念 -> 最终预测结果
也可以画成:
#mermaid-svg-OAxXrUa2MPnJCwu9{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-OAxXrUa2MPnJCwu9 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-OAxXrUa2MPnJCwu9 .error-icon{fill:#552222;}#mermaid-svg-OAxXrUa2MPnJCwu9 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-OAxXrUa2MPnJCwu9 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-OAxXrUa2MPnJCwu9 .marker.cross{stroke:#333333;}#mermaid-svg-OAxXrUa2MPnJCwu9 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-OAxXrUa2MPnJCwu9 p{margin:0;}#mermaid-svg-OAxXrUa2MPnJCwu9 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-OAxXrUa2MPnJCwu9 .cluster-label text{fill:#333;}#mermaid-svg-OAxXrUa2MPnJCwu9 .cluster-label span{color:#333;}#mermaid-svg-OAxXrUa2MPnJCwu9 .cluster-label span p{background-color:transparent;}#mermaid-svg-OAxXrUa2MPnJCwu9 .label text,#mermaid-svg-OAxXrUa2MPnJCwu9 span{fill:#333;color:#333;}#mermaid-svg-OAxXrUa2MPnJCwu9 .node rect,#mermaid-svg-OAxXrUa2MPnJCwu9 .node circle,#mermaid-svg-OAxXrUa2MPnJCwu9 .node ellipse,#mermaid-svg-OAxXrUa2MPnJCwu9 .node polygon,#mermaid-svg-OAxXrUa2MPnJCwu9 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-OAxXrUa2MPnJCwu9 .rough-node .label text,#mermaid-svg-OAxXrUa2MPnJCwu9 .node .label text,#mermaid-svg-OAxXrUa2MPnJCwu9 .image-shape .label,#mermaid-svg-OAxXrUa2MPnJCwu9 .icon-shape .label{text-anchor:middle;}#mermaid-svg-OAxXrUa2MPnJCwu9 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-OAxXrUa2MPnJCwu9 .rough-node .label,#mermaid-svg-OAxXrUa2MPnJCwu9 .node .label,#mermaid-svg-OAxXrUa2MPnJCwu9 .image-shape .label,#mermaid-svg-OAxXrUa2MPnJCwu9 .icon-shape .label{text-align:center;}#mermaid-svg-OAxXrUa2MPnJCwu9 .node.clickable{cursor:pointer;}#mermaid-svg-OAxXrUa2MPnJCwu9 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-OAxXrUa2MPnJCwu9 .arrowheadPath{fill:#333333;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-OAxXrUa2MPnJCwu9 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-OAxXrUa2MPnJCwu9 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-OAxXrUa2MPnJCwu9 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-OAxXrUa2MPnJCwu9 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-OAxXrUa2MPnJCwu9 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-OAxXrUa2MPnJCwu9 .cluster text{fill:#333;}#mermaid-svg-OAxXrUa2MPnJCwu9 .cluster span{color:#333;}#mermaid-svg-OAxXrUa2MPnJCwu9 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-OAxXrUa2MPnJCwu9 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-OAxXrUa2MPnJCwu9 rect.text{fill:none;stroke-width:0;}#mermaid-svg-OAxXrUa2MPnJCwu9 .icon-shape,#mermaid-svg-OAxXrUa2MPnJCwu9 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-OAxXrUa2MPnJCwu9 .icon-shape p,#mermaid-svg-OAxXrUa2MPnJCwu9 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-OAxXrUa2MPnJCwu9 .icon-shape .label rect,#mermaid-svg-OAxXrUa2MPnJCwu9 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-OAxXrUa2MPnJCwu9 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-OAxXrUa2MPnJCwu9 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-OAxXrUa2MPnJCwu9 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 输入 X
概念预测器
概念向量 C
标签预测器
最终输出 Y
人类检查 / 修改概念
例如医学图像诊断:
text
X 光图像 -> 病灶大小、边缘形态、密度、位置 -> 疾病类别
这种方法的优点是:
- 中间概念可以被人检查;
- 医生或专家可以修正概念;
- 模型错误可以拆解为"概念识别错了"还是"概念到标签的推理错了";
- 便于结合领域知识。
它的问题是:
- 需要概念标注,数据成本较高;
- 人类预定义概念可能不完整;
- 模型可能绕过概念瓶颈,学到隐藏捷径;
- 概念之间可能相关或模糊,不一定容易独立标注。
4.3 原型网络:Prototype-based Neural Networks
原型网络的核心思想是:模型判断一个样本时,会寻找它和训练集中某些"典型局部模式"的相似性。
典型表述是:
text
这个样本被判为 A 类,是因为它的某些局部区域看起来像 A 类样本中的典型模式。
ProtoPNet 是这一方向的代表方法。它适合图像任务,也可以迁移到一些具有局部模式的信号任务。
对于通信方向,可以类比为:
- 某个信号片段像 QPSK 的典型星座结构;
- 某个频谱模式像特定干扰类型;
- 某段时频图像像某类调制方式的原型。
原型网络的好处是解释更具体,不只是告诉你"哪个区域重要",而是告诉你"这个区域像哪个已知原型"。
4.4 自解释神经网络:Self-Explaining Neural Networks
自解释神经网络希望模型在预测时同时给出:
- 输入对应的可解释概念;
- 每个概念对最终输出的贡献权重;
- 概念和权重的稳定约束。
它的大致形式可以理解为:
text
预测结果 = 概念1 * 权重1 + 概念2 * 权重2 + ... + 概念n * 权重n
这样一来,模型不只是输出标签,还能输出"我为什么这么判断"。
不过这里要注意:模型输出的解释必须经过验证。一个模型能"说出解释",不代表解释一定真实。好的可解释性研究必须关心解释的忠实性,也就是解释是否真的反映模型内部决策机制。
4.5 机制可解释:从神经元到电路
机制可解释性是当前理解大模型内部机制的重要方向。它试图像研究程序一样研究神经网络:
- 哪些神经元或特征代表了某个概念?
- 哪些注意力头负责复制、匹配、归纳、位置处理?
- 哪些内部路径导致模型输出某个答案?
- 能否通过修改内部激活来改变模型行为?
相关关键词包括:
- feature visualization;
- activation patching;
- causal tracing;
- transformer circuits;
- superposition;
- sparse autoencoder;
- monosemantic feature。
其中,稀疏自编码器是近几年很重要的一条路线。它的想法是:单个神经元往往不是单一语义的,而是可能在多个语义场景下激活,这叫多义性。模型可能把许多特征压缩在高维激活空间的不同方向上,这叫 superposition。稀疏自编码器尝试从激活空间中分解出更清晰、更接近单一语义的特征。
这对大模型安全很重要。因为如果我们能找到与欺骗、偏见、幻觉、拒答、事实回忆相关的内部特征,就有可能进一步诊断和干预模型行为。
4.6 模型驱动深度学习与深度展开
对于信息与通信工程专业的同学,最值得重视的一条路线是:模型驱动深度学习。
通信系统不是完全没有结构的黑盒。很多问题本来就有明确的数学模型,例如:
- 信道估计;
- MIMO 检测;
- 波束赋形;
- 信号检测;
- 调制识别;
- 干扰识别;
- 资源分配;
- 信道编码与译码。
传统方法依赖明确的物理模型和优化算法。深度学习方法依赖数据自动学习。模型驱动深度学习则希望把二者结合起来:
text
通信领域知识 + 可学习参数 + 神经网络训练
深度展开是其中非常典型的方法。它把传统迭代算法的每一步展开成神经网络的一层,让每一层都保留明确的算法含义,同时通过训练学习其中的参数。
这种方法非常适合做内生可解释,因为网络结构本身来自通信理论或优化算法,不是完全任意堆叠的黑盒。
深度展开可以理解为把传统迭代算法"摊开"成网络层:
#mermaid-svg-MtfHC4hphIxewfN1{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-MtfHC4hphIxewfN1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-MtfHC4hphIxewfN1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-MtfHC4hphIxewfN1 .error-icon{fill:#552222;}#mermaid-svg-MtfHC4hphIxewfN1 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-MtfHC4hphIxewfN1 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-MtfHC4hphIxewfN1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-MtfHC4hphIxewfN1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-MtfHC4hphIxewfN1 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-MtfHC4hphIxewfN1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-MtfHC4hphIxewfN1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-MtfHC4hphIxewfN1 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-MtfHC4hphIxewfN1 .marker.cross{stroke:#333333;}#mermaid-svg-MtfHC4hphIxewfN1 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-MtfHC4hphIxewfN1 p{margin:0;}#mermaid-svg-MtfHC4hphIxewfN1 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-MtfHC4hphIxewfN1 .cluster-label text{fill:#333;}#mermaid-svg-MtfHC4hphIxewfN1 .cluster-label span{color:#333;}#mermaid-svg-MtfHC4hphIxewfN1 .cluster-label span p{background-color:transparent;}#mermaid-svg-MtfHC4hphIxewfN1 .label text,#mermaid-svg-MtfHC4hphIxewfN1 span{fill:#333;color:#333;}#mermaid-svg-MtfHC4hphIxewfN1 .node rect,#mermaid-svg-MtfHC4hphIxewfN1 .node circle,#mermaid-svg-MtfHC4hphIxewfN1 .node ellipse,#mermaid-svg-MtfHC4hphIxewfN1 .node polygon,#mermaid-svg-MtfHC4hphIxewfN1 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-MtfHC4hphIxewfN1 .rough-node .label text,#mermaid-svg-MtfHC4hphIxewfN1 .node .label text,#mermaid-svg-MtfHC4hphIxewfN1 .image-shape .label,#mermaid-svg-MtfHC4hphIxewfN1 .icon-shape .label{text-anchor:middle;}#mermaid-svg-MtfHC4hphIxewfN1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-MtfHC4hphIxewfN1 .rough-node .label,#mermaid-svg-MtfHC4hphIxewfN1 .node .label,#mermaid-svg-MtfHC4hphIxewfN1 .image-shape .label,#mermaid-svg-MtfHC4hphIxewfN1 .icon-shape .label{text-align:center;}#mermaid-svg-MtfHC4hphIxewfN1 .node.clickable{cursor:pointer;}#mermaid-svg-MtfHC4hphIxewfN1 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-MtfHC4hphIxewfN1 .arrowheadPath{fill:#333333;}#mermaid-svg-MtfHC4hphIxewfN1 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-MtfHC4hphIxewfN1 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-MtfHC4hphIxewfN1 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MtfHC4hphIxewfN1 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-MtfHC4hphIxewfN1 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MtfHC4hphIxewfN1 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-MtfHC4hphIxewfN1 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-MtfHC4hphIxewfN1 .cluster text{fill:#333;}#mermaid-svg-MtfHC4hphIxewfN1 .cluster span{color:#333;}#mermaid-svg-MtfHC4hphIxewfN1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-MtfHC4hphIxewfN1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-MtfHC4hphIxewfN1 rect.text{fill:none;stroke-width:0;}#mermaid-svg-MtfHC4hphIxewfN1 .icon-shape,#mermaid-svg-MtfHC4hphIxewfN1 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MtfHC4hphIxewfN1 .icon-shape p,#mermaid-svg-MtfHC4hphIxewfN1 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-MtfHC4hphIxewfN1 .icon-shape .label rect,#mermaid-svg-MtfHC4hphIxewfN1 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MtfHC4hphIxewfN1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-MtfHC4hphIxewfN1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-MtfHC4hphIxewfN1 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 展开为
展开为
展开为
展开为
传统迭代算法
第 1 次迭代
第 2 次迭代
第 3 次迭代
第 K 次迭代
网络第 1 层
网络第 2 层
网络第 3 层
网络第 K 层
5. 内生可解释性和大模型幻觉有什么关系?
大语言模型的幻觉问题,是指模型生成了看似合理但实际上错误、虚构或无法验证的内容。
幻觉的原因很复杂,至少包括:
- 训练目标偏向"预测下一个词",不等价于"保证事实正确";
- 训练数据中本身存在错误和矛盾;
- 模型缺少明确的知识边界,不总能知道自己不知道;
- 评测和强化学习可能奖励流畅、自信的回答;
- 检索、工具调用、事实校验机制不完善;
- 模型内部知识表示难以定位和验证。
可解释性并不能单独解决所有幻觉,但它可以提供关键能力:
- 定位模型在何处存储某类知识;
- 分析模型什么时候在事实回忆,什么时候在模式补全;
- 找到导致错误推理或虚构内容的内部特征;
- 检测模型的不确定性、冲突知识和错误激活路径;
- 为安全对齐和模型干预提供依据。
因此,老师说"不可解释是幻觉和不安全的重要根源",可以理解为:如果我们无法理解模型内部机制,就很难从根本上诊断、验证和控制模型行为。
可以把"幻觉诊断"理解成下面这条链路:
#mermaid-svg-xKyUFsOmREu8JqYr{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-xKyUFsOmREu8JqYr .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-xKyUFsOmREu8JqYr .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-xKyUFsOmREu8JqYr .error-icon{fill:#552222;}#mermaid-svg-xKyUFsOmREu8JqYr .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xKyUFsOmREu8JqYr .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-xKyUFsOmREu8JqYr .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xKyUFsOmREu8JqYr .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xKyUFsOmREu8JqYr .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-xKyUFsOmREu8JqYr .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xKyUFsOmREu8JqYr .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xKyUFsOmREu8JqYr .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xKyUFsOmREu8JqYr .marker.cross{stroke:#333333;}#mermaid-svg-xKyUFsOmREu8JqYr svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xKyUFsOmREu8JqYr p{margin:0;}#mermaid-svg-xKyUFsOmREu8JqYr .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-xKyUFsOmREu8JqYr .cluster-label text{fill:#333;}#mermaid-svg-xKyUFsOmREu8JqYr .cluster-label span{color:#333;}#mermaid-svg-xKyUFsOmREu8JqYr .cluster-label span p{background-color:transparent;}#mermaid-svg-xKyUFsOmREu8JqYr .label text,#mermaid-svg-xKyUFsOmREu8JqYr span{fill:#333;color:#333;}#mermaid-svg-xKyUFsOmREu8JqYr .node rect,#mermaid-svg-xKyUFsOmREu8JqYr .node circle,#mermaid-svg-xKyUFsOmREu8JqYr .node ellipse,#mermaid-svg-xKyUFsOmREu8JqYr .node polygon,#mermaid-svg-xKyUFsOmREu8JqYr .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xKyUFsOmREu8JqYr .rough-node .label text,#mermaid-svg-xKyUFsOmREu8JqYr .node .label text,#mermaid-svg-xKyUFsOmREu8JqYr .image-shape .label,#mermaid-svg-xKyUFsOmREu8JqYr .icon-shape .label{text-anchor:middle;}#mermaid-svg-xKyUFsOmREu8JqYr .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-xKyUFsOmREu8JqYr .rough-node .label,#mermaid-svg-xKyUFsOmREu8JqYr .node .label,#mermaid-svg-xKyUFsOmREu8JqYr .image-shape .label,#mermaid-svg-xKyUFsOmREu8JqYr .icon-shape .label{text-align:center;}#mermaid-svg-xKyUFsOmREu8JqYr .node.clickable{cursor:pointer;}#mermaid-svg-xKyUFsOmREu8JqYr .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-xKyUFsOmREu8JqYr .arrowheadPath{fill:#333333;}#mermaid-svg-xKyUFsOmREu8JqYr .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xKyUFsOmREu8JqYr .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xKyUFsOmREu8JqYr .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xKyUFsOmREu8JqYr .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-xKyUFsOmREu8JqYr .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xKyUFsOmREu8JqYr .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-xKyUFsOmREu8JqYr .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xKyUFsOmREu8JqYr .cluster text{fill:#333;}#mermaid-svg-xKyUFsOmREu8JqYr .cluster span{color:#333;}#mermaid-svg-xKyUFsOmREu8JqYr div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-xKyUFsOmREu8JqYr .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-xKyUFsOmREu8JqYr rect.text{fill:none;stroke-width:0;}#mermaid-svg-xKyUFsOmREu8JqYr .icon-shape,#mermaid-svg-xKyUFsOmREu8JqYr .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xKyUFsOmREu8JqYr .icon-shape p,#mermaid-svg-xKyUFsOmREu8JqYr .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-xKyUFsOmREu8JqYr .icon-shape .label rect,#mermaid-svg-xKyUFsOmREu8JqYr .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xKyUFsOmREu8JqYr .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-xKyUFsOmREu8JqYr .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-xKyUFsOmREu8JqYr :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 可靠
不可靠
用户问题
模型内部知识与上下文表示
推理或模式补全
生成答案
答案是否可靠?
事实一致
幻觉 / 编造 / 混淆
可解释性分析
定位错误特征、错误路径或知识冲突
干预、校验、检索增强或安全约束
6. 如何系统学习内生可解释性?
对于研0同学,建议不要一上来就啃大模型机制可解释。更稳的路线是:先补基础,再做小实验,最后进入研究论文。
整体学习路线可以概括为:
#mermaid-svg-0g2u1LTDIcLyaYoJ{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-0g2u1LTDIcLyaYoJ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-0g2u1LTDIcLyaYoJ .error-icon{fill:#552222;}#mermaid-svg-0g2u1LTDIcLyaYoJ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-0g2u1LTDIcLyaYoJ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-0g2u1LTDIcLyaYoJ .marker.cross{stroke:#333333;}#mermaid-svg-0g2u1LTDIcLyaYoJ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-0g2u1LTDIcLyaYoJ p{margin:0;}#mermaid-svg-0g2u1LTDIcLyaYoJ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-0g2u1LTDIcLyaYoJ .cluster-label text{fill:#333;}#mermaid-svg-0g2u1LTDIcLyaYoJ .cluster-label span{color:#333;}#mermaid-svg-0g2u1LTDIcLyaYoJ .cluster-label span p{background-color:transparent;}#mermaid-svg-0g2u1LTDIcLyaYoJ .label text,#mermaid-svg-0g2u1LTDIcLyaYoJ span{fill:#333;color:#333;}#mermaid-svg-0g2u1LTDIcLyaYoJ .node rect,#mermaid-svg-0g2u1LTDIcLyaYoJ .node circle,#mermaid-svg-0g2u1LTDIcLyaYoJ .node ellipse,#mermaid-svg-0g2u1LTDIcLyaYoJ .node polygon,#mermaid-svg-0g2u1LTDIcLyaYoJ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-0g2u1LTDIcLyaYoJ .rough-node .label text,#mermaid-svg-0g2u1LTDIcLyaYoJ .node .label text,#mermaid-svg-0g2u1LTDIcLyaYoJ .image-shape .label,#mermaid-svg-0g2u1LTDIcLyaYoJ .icon-shape .label{text-anchor:middle;}#mermaid-svg-0g2u1LTDIcLyaYoJ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-0g2u1LTDIcLyaYoJ .rough-node .label,#mermaid-svg-0g2u1LTDIcLyaYoJ .node .label,#mermaid-svg-0g2u1LTDIcLyaYoJ .image-shape .label,#mermaid-svg-0g2u1LTDIcLyaYoJ .icon-shape .label{text-align:center;}#mermaid-svg-0g2u1LTDIcLyaYoJ .node.clickable{cursor:pointer;}#mermaid-svg-0g2u1LTDIcLyaYoJ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-0g2u1LTDIcLyaYoJ .arrowheadPath{fill:#333333;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-0g2u1LTDIcLyaYoJ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-0g2u1LTDIcLyaYoJ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-0g2u1LTDIcLyaYoJ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-0g2u1LTDIcLyaYoJ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-0g2u1LTDIcLyaYoJ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-0g2u1LTDIcLyaYoJ .cluster text{fill:#333;}#mermaid-svg-0g2u1LTDIcLyaYoJ .cluster span{color:#333;}#mermaid-svg-0g2u1LTDIcLyaYoJ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-0g2u1LTDIcLyaYoJ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-0g2u1LTDIcLyaYoJ rect.text{fill:none;stroke-width:0;}#mermaid-svg-0g2u1LTDIcLyaYoJ .icon-shape,#mermaid-svg-0g2u1LTDIcLyaYoJ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-0g2u1LTDIcLyaYoJ .icon-shape p,#mermaid-svg-0g2u1LTDIcLyaYoJ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-0g2u1LTDIcLyaYoJ .icon-shape .label rect,#mermaid-svg-0g2u1LTDIcLyaYoJ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-0g2u1LTDIcLyaYoJ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-0g2u1LTDIcLyaYoJ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-0g2u1LTDIcLyaYoJ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 数学与机器学习基础
深度学习与 PyTorch
事后解释方法
内生可解释模型
机制可解释
结合通信方向做项目
阅读论文并形成研究问题
6.1 第一阶段:补机器学习和深度学习基础
需要掌握:
- 线性代数:矩阵、向量空间、特征分解、奇异值分解;
- 概率统计:条件概率、贝叶斯、期望、方差、分布;
- 优化基础:梯度下降、正则化、凸优化基本概念;
- 机器学习:过拟合、泛化、分类、回归、特征工程;
- 深度学习:CNN、RNN、Transformer、注意力机制、反向传播;
- PyTorch:张量、自动求导、模型训练、可视化。
如果这些基础不牢,可解释性会很容易学成"只会调包画图"。
6.2 第二阶段:了解事后解释方法
虽然重点是内生可解释,但仍然建议先了解事后解释方法,因为它们是入门 XAI 的常见入口。
可以学习:
- Grad-CAM;
- Integrated Gradients;
- LIME;
- SHAP;
- occlusion sensitivity;
- counterfactual explanation。
学习重点不是背公式,而是思考:
- 这些解释到底解释的是模型,还是输入扰动后的现象?
- 解释是否稳定?
- 换一个随机种子或模型结构,解释会不会变?
- 解释能否用于调试模型?
- 解释是否具有因果意义?
6.3 第三阶段:学习内生可解释深度模型
建议重点读这几类模型:
- Concept Bottleneck Model;
- ProtoPNet;
- Self-Explaining Neural Networks;
- Neural Additive Models;
- Monotonic Neural Networks;
- interpretable attention models;
- deep unfolding networks。
读论文时可以按以下问题拆解:
text
1. 这篇论文要解释什么?
2. 它的解释来自模型结构、训练目标,还是额外分析?
3. 解释对象是输入、概念、特征、神经元,还是计算路径?
4. 解释是否可被人干预?
5. 作者如何验证解释是忠实的?
6. 这种方法适合迁移到通信任务吗?
6.4 第四阶段:进入机制可解释和大模型方向
如果想进一步理解大模型,可以继续学习:
- Transformer 内部结构;
- attention head 分析;
- MLP neuron 分析;
- residual stream;
- activation patching;
- causal tracing;
- sparse autoencoder;
- superposition;
- circuit discovery。
这一阶段数学和工程难度都会明显上升,但它能帮助我们真正理解"深度网络内部发生了什么"。
6.5 第五阶段:结合通信方向做小项目
信息与通信工程专业可以优先做以下小项目:
-
调制识别的可解释性分析
- 数据集:RadioML 或自己仿真的调制信号;
- 模型:CNN、ResNet、Transformer;
- 解释目标:时域、频域、星座图、时频图中的关键区域;
- 进阶:设计原型网络,让模型输出"像哪类调制的典型模式"。
-
基于深度展开的 MIMO 检测
- 从传统检测算法出发;
- 将迭代过程展开为神经网络层;
- 比较纯黑盒 DNN 与模型驱动网络的性能和可解释性;
- 分析每层参数与信道条件、噪声强度之间的关系。
-
可解释信道估计
- 将信道先验、稀疏性、多径结构引入网络;
- 分析模型是否学到了真实物理结构;
- 探索不同信噪比下模型解释是否稳定。
-
大模型在通信知识问答中的幻觉分析
- 构造通信理论问答数据;
- 检测模型在概念混淆、公式推导、边界条件上的错误;
- 结合检索增强生成和不确定性估计减少幻觉。
7. 值得关注的研究方向
先用一张表把研究方向、核心问题和适合入门的切入点对应起来:
| 研究方向 | 核心问题 | 适合入门的切入点 |
|---|---|---|
| 概念学习与自动概念发现 | 模型能否自动学出人类可理解概念? | Concept Bottleneck、TCAV、概念聚类 |
| 解释忠实性评估 | 解释是否真实反映模型决策? | 删除实验、反事实实验、概念干预 |
| 大模型机制可解释 | Transformer 内部如何完成推理和生成? | attention head 分析、activation patching |
| 稀疏表示与单语义特征 | 如何从激活空间中分解出清晰特征? | sparse autoencoder、dictionary learning |
| 通信中的模型驱动深度学习 | 如何把通信理论嵌入神经网络? | 深度展开、信道先验、物理约束网络 |
| 多模态解释 | 不同模态之间如何对齐和影响? | 图文模型解释、跨模态注意力分析 |
7.1 概念学习与自动概念发现
概念瓶颈模型依赖人工标注概念,但真实任务中概念标注成本很高。未来重要方向是:模型能否自动发现人类可理解的概念?
关键问题包括:
- 自动发现的概念是否真的有语义?
- 不同模型发现的概念是否一致?
- 概念是否可被专家命名和验证?
- 概念是否对最终预测有因果作用?
7.2 解释的忠实性评估
很多解释看起来合理,但不一定真实反映模型决策。
因此需要研究:
- 删除解释中重要特征后,模型性能是否下降?
- 修改某个概念后,输出是否按预期变化?
- 解释在不同数据扰动下是否稳定?
- 解释是否能预测模型错误?
- 解释是否具有因果性,而不只是相关性?
7.3 大模型机制可解释
大模型内部结构复杂,参数规模巨大。未来重要问题包括:
- 如何自动发现模型内部电路?
- 如何解释模型的事实回忆、推理、拒答和幻觉?
- 如何定位有害行为对应的内部特征?
- 如何通过可解释机制指导模型对齐?
- 如何让解释方法扩展到更大规模模型?
7.4 稀疏表示与单语义特征
神经网络中的单个神经元常常不是单一语义的。一个神经元可能同时响应多个不同概念。稀疏自编码器希望从激活空间中分解出更清晰的特征。
这一方向可能成为未来理解大模型内部知识和行为的重要工具。
7.5 模型驱动深度学习在通信中的应用
通信领域有强物理模型,因此特别适合发展内生可解释深度学习。
可以研究:
- 深度展开 MIMO 检测;
- 可解释信道估计;
- 物理约束神经网络;
- 可解释波束赋形;
- 可解释频谱感知;
- 通信系统中的安全与鲁棒性解释。
7.6 多模态和跨领域解释
未来模型往往不只处理单一模态,而是同时处理文本、图像、语音、视频、信号和传感器数据。如何解释多模态模型中的跨模态对齐、概念融合和错误传播,也是重要方向。
8. 应用场景
内生可解释性的应用非常广,尤其适合高风险、高可靠性要求的系统。
| 应用领域 | 为什么需要解释 | 适合的内生可解释方法 |
|---|---|---|
| 医学影像 | 需要医生确认模型是否看到了病灶 | 概念瓶颈、原型网络、可解释注意力 |
| 自动驾驶 | 需要分析感知和决策失效原因 | 物理约束模型、场景概念解释、因果分析 |
| 金融风控 | 需要合规审计和公平性检查 | GAM、规则模型、单调神经网络 |
| 网络安全 | 需要定位异常流量或攻击模式 | 原型网络、规则提取、概念解释 |
| 无线通信 | 需要理解信道、噪声和调制规律 | 深度展开、模型驱动网络、时频解释 |
| 大模型安全 | 需要分析幻觉、有害输出和越狱 | 机制可解释、稀疏自编码器、激活干预 |
8.1 医学影像
医生不仅需要模型给出诊断结果,还需要知道模型依据哪些病灶、纹理、形态特征做判断。内生可解释模型可以帮助医生审查模型是否真正看到了医学相关区域。
8.2 自动驾驶
自动驾驶系统需要解释车辆为什么刹车、转向或避让。可解释性可以帮助定位感知错误、决策错误和极端场景下的失效模式。
8.3 金融风控
金融模型影响贷款、信用评估和欺诈检测。可解释性有助于合规审计,也能减少模型基于性别、地区、职业等敏感变量形成不公平决策。
8.4 网络安全
在入侵检测、恶意流量识别和异常检测中,模型需要说明判断依据,帮助安全人员定位攻击模式,而不是只给出一个异常标签。
8.5 无线通信
通信系统强调可靠性、实时性和资源受限。内生可解释模型可以帮助我们理解网络是否学到了信道结构、噪声模式、干扰特征和调制规律。
8.6 大模型安全
对于大语言模型,可解释性有助于研究幻觉、偏见、有害输出、越狱攻击和安全对齐。机制可解释性尤其可能成为大模型安全研究的重要基础。
9. 一个适合研0的暑期学习路线
可以按 8 周安排:
| 周次 | 学习重点 | 目标 |
|---|---|---|
| 第 1 周 | 机器学习和深度学习基础 | 复习分类、损失函数、反向传播、CNN |
| 第 2 周 | PyTorch 实战 | 能独立训练一个 CNN 或 Transformer 小模型 |
| 第 3 周 | 事后解释方法 | 跑通 Grad-CAM、SHAP 或 Integrated Gradients |
| 第 4 周 | Concept Bottleneck Model | 理解"概念 -> 标签"的可解释框架 |
| 第 5 周 | ProtoPNet / 自解释网络 | 理解原型解释和概念权重解释 |
| 第 6 周 | 机制可解释入门 | 学习 activation patching、sparse autoencoder 基本思想 |
| 第 7 周 | 通信方向结合 | 阅读模型驱动深度学习、深度展开、MIMO 检测论文 |
| 第 8 周 | 小项目总结 | 完成一份实验报告或博客复盘 |
如果时间有限,建议优先完成一个小项目,而不是只看论文。因为可解释性只有落到实验里,才会真正理解它的难点。
这 8 周的节奏也可以画成一条路线:
#mermaid-svg-6yW0lwWr5FeFBJxW{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-6yW0lwWr5FeFBJxW .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-6yW0lwWr5FeFBJxW .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-6yW0lwWr5FeFBJxW .error-icon{fill:#552222;}#mermaid-svg-6yW0lwWr5FeFBJxW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6yW0lwWr5FeFBJxW .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-6yW0lwWr5FeFBJxW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6yW0lwWr5FeFBJxW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6yW0lwWr5FeFBJxW .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-6yW0lwWr5FeFBJxW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6yW0lwWr5FeFBJxW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6yW0lwWr5FeFBJxW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6yW0lwWr5FeFBJxW .marker.cross{stroke:#333333;}#mermaid-svg-6yW0lwWr5FeFBJxW svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6yW0lwWr5FeFBJxW p{margin:0;}#mermaid-svg-6yW0lwWr5FeFBJxW .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-6yW0lwWr5FeFBJxW .cluster-label text{fill:#333;}#mermaid-svg-6yW0lwWr5FeFBJxW .cluster-label span{color:#333;}#mermaid-svg-6yW0lwWr5FeFBJxW .cluster-label span p{background-color:transparent;}#mermaid-svg-6yW0lwWr5FeFBJxW .label text,#mermaid-svg-6yW0lwWr5FeFBJxW span{fill:#333;color:#333;}#mermaid-svg-6yW0lwWr5FeFBJxW .node rect,#mermaid-svg-6yW0lwWr5FeFBJxW .node circle,#mermaid-svg-6yW0lwWr5FeFBJxW .node ellipse,#mermaid-svg-6yW0lwWr5FeFBJxW .node polygon,#mermaid-svg-6yW0lwWr5FeFBJxW .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-6yW0lwWr5FeFBJxW .rough-node .label text,#mermaid-svg-6yW0lwWr5FeFBJxW .node .label text,#mermaid-svg-6yW0lwWr5FeFBJxW .image-shape .label,#mermaid-svg-6yW0lwWr5FeFBJxW .icon-shape .label{text-anchor:middle;}#mermaid-svg-6yW0lwWr5FeFBJxW .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-6yW0lwWr5FeFBJxW .rough-node .label,#mermaid-svg-6yW0lwWr5FeFBJxW .node .label,#mermaid-svg-6yW0lwWr5FeFBJxW .image-shape .label,#mermaid-svg-6yW0lwWr5FeFBJxW .icon-shape .label{text-align:center;}#mermaid-svg-6yW0lwWr5FeFBJxW .node.clickable{cursor:pointer;}#mermaid-svg-6yW0lwWr5FeFBJxW .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-6yW0lwWr5FeFBJxW .arrowheadPath{fill:#333333;}#mermaid-svg-6yW0lwWr5FeFBJxW .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-6yW0lwWr5FeFBJxW .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-6yW0lwWr5FeFBJxW .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6yW0lwWr5FeFBJxW .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-6yW0lwWr5FeFBJxW .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6yW0lwWr5FeFBJxW .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-6yW0lwWr5FeFBJxW .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-6yW0lwWr5FeFBJxW .cluster text{fill:#333;}#mermaid-svg-6yW0lwWr5FeFBJxW .cluster span{color:#333;}#mermaid-svg-6yW0lwWr5FeFBJxW div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-6yW0lwWr5FeFBJxW .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-6yW0lwWr5FeFBJxW rect.text{fill:none;stroke-width:0;}#mermaid-svg-6yW0lwWr5FeFBJxW .icon-shape,#mermaid-svg-6yW0lwWr5FeFBJxW .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6yW0lwWr5FeFBJxW .icon-shape p,#mermaid-svg-6yW0lwWr5FeFBJxW .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-6yW0lwWr5FeFBJxW .icon-shape .label rect,#mermaid-svg-6yW0lwWr5FeFBJxW .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6yW0lwWr5FeFBJxW .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-6yW0lwWr5FeFBJxW .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-6yW0lwWr5FeFBJxW :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 第 1 周
基础复习
第 2 周
PyTorch 实战
第 3 周
事后解释
第 4 周
概念瓶颈
第 5 周
原型 / 自解释
第 6 周
机制可解释
第 7 周
通信结合
第 8 周
项目总结
10. 可以尝试的入门项目
| 项目 | 数据形式 | 推荐模型 | 解释重点 | 难度 |
|---|---|---|---|---|
| 图像分类解释对比 | 图像 | CNN、ProtoPNet | 热力图 vs 原型解释 | 中 |
| 调制识别可解释性 | IQ 信号、星座图、时频图 | CNN、Transformer | 模型是否关注调制本质特征 | 中 |
| 深度展开 MIMO 检测 | 信道矩阵、接收信号 | DetNet、OAMP-Net 类模型 | 每层是否对应传统迭代步骤 | 中高 |
项目 1:CNN 图像分类 + Grad-CAM + ProtoPNet 对比
目标:
- 训练一个普通 CNN;
- 用 Grad-CAM 做事后解释;
- 再学习 ProtoPNet 的原型解释;
- 对比两类解释的差异。
思考:
- 热力图是否稳定?
- 原型是否符合人类直觉?
- 模型是否利用了背景、边缘、水印等捷径?
项目 2:调制识别中的可解释性
目标:
- 生成或使用调制信号数据;
- 训练 CNN 或 Transformer 做调制识别;
- 将信号转为星座图、频谱图或时频图;
- 分析模型关注的区域是否符合通信理论。
思考:
- 模型是否真的学到了调制方式差异?
- 信噪比变化时,解释是否稳定?
- 模型是否依赖数据集偏差?
项目 3:深度展开 MIMO 检测
目标:
- 先理解传统 MIMO 检测算法;
- 将迭代算法展开成神经网络;
- 训练可学习参数;
- 分析每一层的物理意义。
思考:
- 为什么模型驱动网络比纯黑盒更可解释?
- 每层参数是否对应某种优化过程?
- 不同信道条件下模型是否仍然可靠?
11. 总结
内生可解释性不是简单地给模型画一张图,也不是让模型生成一段听起来合理的解释。它真正关心的是:
text
模型内部是否存在人类可以理解、验证和干预的结构?
对于深度学习来说,这个问题非常关键。因为未来的模型不只是要"能用",还要"可信、可控、可诊断"。尤其是大模型时代,幻觉、安全、偏见和对齐问题都与模型内部机制的不透明密切相关。
对于信息与通信工程专业的同学,内生可解释性是一个很好的交叉方向。通信系统有明确的物理模型和数学结构,深度学习有强大的表示能力。如果能把二者结合起来,就可能做出既有性能、又能解释、还能落地的智能通信模型。
一句话总结:
学习内生可解释性,不只是为了让模型"解释给人听",更是为了让我们真正理解深度网络如何表示、推理、泛化和失效。
参考资料
- Cynthia Rudin, Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead, Nature Machine Intelligence, 2019.
- Pang Wei Koh et al., Concept Bottleneck Models, ICML, 2020.
- Towards Robust Interpretability with Self-Explaining Neural Networks, NeurIPS, 2018.
- This Looks Like That: Deep Learning for Interpretable Image Recognition, NeurIPS, 2019.
- The Mythos of Model Interpretability, arXiv, 2016.
- Sparse Autoencoders Find Highly Interpretable Features in Language Models, arXiv, 2023.
- Model-Driven Deep Learning for Physical Layer Communications, arXiv, 2018.
- Towards Monosemanticity: Decomposing Language Models With Dictionary Learning, Anthropic, 2023.