S
语义通信入门
Semantic Communication
📘 入门教材

第 9 章 深度联合信源信道编码:语义通信的主要实现路线

9.1 什么叫做“联合信源信道编码”

传统系统:

$$ X\xrightarrow{\text{压缩}}\text{bits}\xrightarrow{\text{纠错}}\text{coded bits}\xrightarrow{\text{调制}}\text{signals}\to\text{channel} $$

联合信源信道编码(JSCC)希望:

$$ X\xrightarrow{\text{一个映射}}\text{channel input}\to\text{channel}\to\text{channel output}\xrightarrow{\text{一个映射}}\hat X\ \text{或}\ \hat V $$

也就是说,不再把“压缩”和“纠错”当作两个独立的模块,而是让编码器直接为信道生成合适的输入。

9.2 深度 JSCC 的基本结构

一个典型的 Deep JSCC 图像传输系统可以写成:

$$ \mathbf{x}\in\mathbb{R}^{H\times W\times C} $$

编码器:

$$ \mathbf{z}=f_\theta(\mathbf{x})\in\mathbb{R}^{B} $$

功率归一化:

$$ \mathbf{s}=\sqrt{P}\frac{\mathbf{z}}{\|\mathbf{z}\|_2} $$

AWGN 信道:

$$ \mathbf{y}=\mathbf{s}+\mathbf{n},\qquad \mathbf{n}\sim\mathcal{N}(0,\sigma^2\mathbf{I}) $$

解码器:

$$ \hat{\mathbf{x}}=g_\phi(\mathbf{y}) $$

训练损失:

$$ \mathcal{L}=\mathbb{E}\left[d(\mathbf{x},\hat{\mathbf{x}})\right] $$

其中 $d$ 可以是 MSE、L1、SSIM 或任务损失。

关键设计问题

  1. 编码器输出维度 $B$ 怎么定?它决定“传给信道多少个符号”,相当于码率。
  2. 信道噪声强度怎么处理?是固定训练,还是让模型适应不同 SNR?
  3. 解码器是做“重建”还是“任务”?
  4. 要不要加量化、调制、熵模型?
  5. 接收端是否也有预训练先验/模型?

9.3 为什么深度学习 JSCC 有潜力

9.3.1 有限码长

香农分离定理是渐近结果。在短包、低延迟场景中,最优数字编码可能不是“先压缩再纠错”。

9.3.2 端到端任务

传统系统优化的是比特错误率,但用户真正关心的是任务。Deep JSCC 可以直接优化:

$$ \mathcal{L}=\lambda_d\,d(\mathbf{x},\hat{\mathbf{x}})+\lambda_t\,\ell(V,\hat V) $$

9.3.3 信道鲁棒性

如果编码器在训练时见到多种信道噪声或衰落情况,它可以学会不把“脆弱但重要”的信息放在容易被噪声破坏的维度上。这正是“信道感知”的语义编码。

9.3.4 天然的可微性

如果信道模型是可知的,噪声采样和信道增益可以作为计算图中的操作,梯度可以顺利回传到编码器。

9.4 连续传输 vs 数字传输

许多 Deep JSCC 论文在仿真中使用“连续值传输”:

$$ \mathbf{y}=\mathbf{s}+\mathbf{n} $$

这相当于把编码器的输出直接当作信道输入,不经过离散调制。优点是便于端到端训练和优化。缺点是:

  • 并非所有实际无线系统都支持连续值传输;
  • 对信道状态信息、量化、同步、硬件非线性敏感;
  • 难以直接和现有 5G/6G 协议兼容。

因此,很多后续工作研究:

  • 把输出量化成离散符号;
  • 在连续特征和传统调制之间做近似;
  • 用 Gumbel-Softmax 或直通估计处理离散操作;
  • 设计“可微调制器”。

9.5 信道失配与自适应

实际中最常见的问题之一是:训练时的信道和测试时的信道不一样。

常见应对方法:

  1. 固定 SNR 训练:简单,但换一个 SNR 后性能可能急剧下降。
  2. 多 SNR 训练:在多个 SNR 下同训练,提高鲁棒性。
  3. SNR 感知编码:把 SNR 作为条件信息输入编码器/解码器。
  4. SNR 自适应解码:解码器根据估计的信道状态调整权重。
  5. 元学习/在线自适应:终端根据当前信道快速微调。
  6. 用户/任务自适应:不同接收端有不同的任务,需要不同的编码策略。

9.6 语义任务类型与损失

按任务分类:

任务 典型评价指标 语义编码重点
图像重建 PSNR、SSIM 保留视觉结构和纹理
图像分类 Top-1 Accuracy 保留类别判别特征
目标检测 mAP 保留位置、类别、尺度
图像检索 Recall@K 保留检索/嵌入相似度
文本翻译 BLEU、TER、人工评分 保留句子语义,允许改写
语音识别 WER 保留音素/语言信息
语义分割 mIoU 保留区域与类别边界
机器人控制 任务成功率 保留动作、状态、代价

重点:不要在论文中只报一个 PSNR,就声称是“语义通信”。 最好同时报:

  • 比特/符号级指标;
  • 语义/任务级指标;
  • 不同 SNR、不同压缩率下的曲线;
  • 与传统数字方案、独立压缩+信道编码方案的对比。

9.7 典型研究场景举例

9.7.1 图像语义传输

发送端输入图片,编码器输出信道符号;接收端用解码器重建图像。常用损失包括 MSE、SSIM 和感知损失。

9.7.2 面向分类的图像语义传输

发送端只传与类别相关的特征,接收端直接分类。这样可以大幅压缩传输量,但不再保证可以重建原图。

9.7.3 图像检索

不传完整图片,而是发送图片嵌入向量;接收端在数据库中进行相似度检索。目标不是 PSNR,而是“检索到的结果是否正确”。

9.7.4 文本语义传输

发送端编码句子的语义表示,接收端用语言模型生成语义相同但表达不同的句子。这样可以容忍词级的差异。

9.7.5 语音语义传输

发送端提取音素、语义标签或语音嵌入,接收端进行语音识别或语音合成。目标可能是 WER 或任务指令理解率,而不是波形完全一致。

9.7.6 生成式语义通信

发送端只传高层语义描述,例如:

$$ \text{“一个人拿着狗在公园跑步”} $$

接收端用生成模型生成一个符合语义的图像或视频。这种方式压缩率极高,但必须评估生成内容的准确性、一致性和幻觉风险。

9.7.7 大模型辅助语义通信

发送端把原始数据转化为语义 token 或 prompt;接收端用大语言模型、视觉语言模型补全上下文。这时:

  • 大模型提供共享先验;
  • 通信链路主要负责传“关键语义提示”;
  • 安全和隐私、可验证性成为新问题。

9.8 Deep JSCC 与数字方案如何比较

在比较时,必须统一“公平”条件:

  • 同样的带宽/符号数;
  • 同样的 SNR;
  • 同样的信道模型;
  • 同样的任务和评价指标;
  • 是否考虑延迟、复杂度、硬件实现。

文献中常见的结论大致是:

  • 在低 SNR 或信道不确定时,Deep JSCC 常常更有鲁棒性;
  • 在高 SNR 和工程约束较强时,经过良好设计的分立数字方案也可能更有优势;
  • Deep JSCC 更适合任务导向、短包、低延迟、信道多变、需要语义级适应的场景。

不要轻易说“神经网络一定比传统系统好”。这是研究中最常见的误导。

9.9 鲁棒性与安全性

语义通信系统面临的新风险:

  • 信道失配:训练/测试信道不一致。
  • 语义攻击:攻击者篡改语义特征,使接收端误判或误导任务。
  • 隐私泄露:语义特征可能包含敏感信息,即使不重建原图也能推断用户图像内容。
  • 模型投毒/后门:共享模型被篡改后可能产生恶意行为。
  • 语义缺失:发送方省略太多信息,接收方错误地“补全”内容。
  • 跨域泛化:在训练数据上表现好,在未知场景/任务上退化。

如果你研究语义通信,鲁棒性、安全隐私、可信评估很可能比“单纯提高压缩率”更重要。

9.10 一个可以开始的实验思路

你可以从最简单的实验开始:

  1. 使用一个图像数据集,例如 CIFAR-10。
  2. 定义编码器、信道、解码器。
  3. 信道设为 AWGN,设置 SNR。
  4. 编码器输出固定长度向量,做功率归一化。
  5. 损失函数用 MSE 或分类交叉熵。
  6. 比较不同 SNR、不同压缩率、不同任务下的性能。
  7. 再和“JPEG + LDPC + QPSK”等传统方案对比。

这个实验会立刻让你体会到:

  • 信道噪声如何影响学习到的表示;
  • 压缩率和任务性能之间的权衡;
  • 为什么“语义级评价”和“像素级评价”会给出不同结论。

第 9 章小结

  • Deep JSCC 是语义通信最重要的工程实现路线之一。
  • 它通过可微信道把发送端、信道、接收端和任务接在一个网络中。
  • 连续传输便于训练,但实际硬件需要量化/调制适配。
  • 信道失配、跨任务泛化、安全隐私是常见研究难点。
  • 比较时最重要是公平,不要只报一个好看的数字。