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

第 8 章 语义编码:怎样让机器决定“什么值得传”

8.1 语义编码和普通压缩有什么不同

普通压缩的目标是:

$$ \mathbf{x}\to \mathbf{z}\to \hat{\mathbf{x}},\qquad \hat{\mathbf{x}}\approx \mathbf{x} $$

语义编码的目标通常是:

$$ \mathbf{x}\to \mathbf{z}\to \mathbf{y}\to \hat{\mathbf{z}}\to \hat{V} $$

其中 $\hat V$ 可以是语义类别、任务结果或重建出的语义内容。

换句话说,普通压缩关心“数据本身恢复得好不好”,语义编码关心“接收端是否获得了对当前任务足够的意义”。

8.2 语义编码器的两类做法

8.2.1 隐式语义编码

用神经网络把原始数据直接映射成特征:

$$ \mathbf{z}=f_\theta(\mathbf{x}) $$

例如:

  • 图像:CNN、ViT;
  • 文本:Transformer 编码器;
  • 语音:波形/频谱编码器;
  • 多模态:CLIP 风格联合编码器。

优点是能自动学习复杂语义;缺点是解释性差、依赖数据、容易受分布偏移和信道变化影响

8.2.2 显式语义编码

用可解释的结构化信息表示语义,例如:

  • 实体、关系、属性;
  • 知识图谱;
  • 逻辑规则;
  • 标签和语义树;
  • 事件、动作、对象、数量、时间等信息。

例如一段视频可以表示成:

$$ \text{事件}(\text{“工人”}, \text{“搬运”}, \text{“箱子”}) $$

优点是可解释、可验证、容易和知识库结合;缺点是表达能力可能不足,且需要人工定义语义结构。

实际系统往往把两者结合起来:神经网络负责提取,知识图谱负责约束和补全。

8.3 一个通用语义通信模型

我们可以把完整链路写成:

$$ \mathbf{z}=f_\theta(\mathbf{x};K_S) $$$$ \mathbf{s}=\mathcal{M}(\mathbf{z}) $$$$ \mathbf{y}=H\mathbf{s}+\mathbf{n} $$$$ \hat{\mathbf{z}}=g_\phi(\mathbf{y};K_R) $$$$ \hat{\mathbf{x}},\hat{V}=T_\psi(\hat{\mathbf{z}};K_R) $$

其中:

  • $K_S$:发送端知识/先验;
  • $K_R$:接收端知识/先验;
  • $f_\theta$:发送端语义编码器;
  • $\mathcal{M}$:信道适配、调制或功率归一化;
  • $H$:信道增益;
  • $\mathbf{n}$:噪声;
  • $g_\phi$:接收端语义解码器;
  • $T_\psi$:重建或任务模型。

请特别注意:$K_S$ 和 $K_R$ 不一定相同。如果它们不同,即使物理信道完美,接收端仍然可能误解语义。

8.4 文本语义编码

对文本,最自然的方式是:

  1. 分词;
  2. 词嵌入或上下文编码;
  3. 用一个 Transformer 编码器得到语义向量;
  4. 传语义向量;
  5. 接收端用语言模型或解码器生成语义等价文本。

例如一个句子:

$$ \mathbf{x}=[x_1,x_2,\dots,x_L] $$

经过编码器后得到:

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

接收端可以:

  • 直接做分类;
  • 生成翻译结果;
  • 重建原句;
  • 生成不同表达但意义相同的句子。

为什么 LLM 有帮助

  • 预训练语言模型已经学习大量语言知识,可以充当 $K_R$;
  • 可以生成流畅内容;
  • 可以通过 prompt 指定任务;
  • 但可能产生事实错误,即“语义幻觉”。

8.5 图像语义编码

图像语义编码通常包括三个方向:

  1. 面向重建:传输语义特征,接收端尽量重建原图。
  2. 面向识别:传输图片中与目标类别相关的特征,接收端直接分类。
  3. 面向语义生成:传输“图像描述”或“关键语义标签”,接收端用生成模型重建场景。

例如面向图像分类时:

$$ \mathbf{z}=f_\theta(\mathbf{x}),\qquad \hat{y}=\mathrm{softmax}(\mathbf{W}\hat{\mathbf{z}}+\mathbf{b}) $$

一个常见挑战:如果只保留“类别信息”,接收端就失去了空间细节;如果保留太多细节,语义压缩的收益就会降低。这个取舍就是“语义率失真”的实际体现。

8.6 视频、语音、点云等模态

  • 视频:可以利用时间相关性,只传关键帧和运动/语义变化。
  • 语音:可以通过语义单元或音素表示,接收端用语音合成重建。
  • 点云:可以只传目标几何、位置、类别,而不是全部点。
  • 模型/梯度:联邦学习中传模型更新,本质上也是一种语义/参数传输。

这些场景的共同点是:先判断哪些信息对任务重要,再决定传输的粒度。

8.7 信道适配与功率归一化

许多 Deep JSCC 系统在编码器输出后做功率归一化:

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

这样保证:

$$ \mathbb{E}[\|\mathbf{s}\|^2]\le P $$

然后经过信道:

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

在瑞利衰落信道中:

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

其中 $h$ 是信道系数。

为什么这里需要“可微”

  • 训练时,噪声可以按已知分布采样,梯度可以通过 $+\mathbf{n}$ 回传。
  • 如果使用真正的离散调制,需要特殊的梯度估计方法,例如 Gumbel-Softmax 或直通估计。
  • 如果使用连续值传输,训练更直接,但需要接收端和硬件能处理模拟/准模拟信号。

8.8 离散语义编码与熵建模

如果要把语义特征变成比特,可以做:

  1. 量化:$$ \mathbf{z}_q=Q(\mathbf{z}) $$
  2. 用熵模型估计概率:$$ p_\psi(\mathbf{z}_q) $$
  3. 用算术编码压缩:$$ R\approx -\log p_\psi(\mathbf{z}_q) $$

这里的速率可以写成:

$$ R=-\log_2 p_\psi(\mathbf{z}_q) $$

训练时常用率失真损失:

$$ \mathcal{L}=D+\lambda R $$

其中 $D$ 是失真,$\lambda$ 控制压缩程度。

这与传统变分图像压缩类似,但语聊编码的关键区别是:失真函数可以换成任务或语义损失。

8.9 语义编码器的训练目标

一个典型目标函数可以写成:

$$ \mathcal{L} =\underbrace{\lambda_d\, d(\mathbf{x},\hat{\mathbf{x}})}_{\text{重建损失}} +\underbrace{\lambda_t\, \ell(V,\hat V)}_{\text{任务损失}} +\underbrace{\lambda_r\, R}_{\text{速率损失}} +\underbrace{\lambda_c\, \mathbb{E}[\text{信道误差}]}_{\text{信道鲁棒项}} +\underbrace{\lambda_\theta \|\theta\|^2}_{\text{正则化}} $$

实际论文中并不一定是直接加法,常见方式包括:

  • 多任务联合训练;
  • 加权率失真;
  • 对抗训练;
  • 强化学习/元学习;
  • 自监督预训练后再微调;
  • 受约束优化,例如任务准确率不低于阈值。

8.10 语义特征 vs 传统信道输入

传统系统最终输入到信道的是“经过调制后的离散符号”。语义通信系统则有几种接口:

接口 优点 挑战
连续向量直接发送 端到端训练简单,信息粒度细 硬件/标准不成熟,对噪声容量建模复杂
量化后二进制传输 更容易与传统信道结合 需要设计量化器,可能损失语义精度
语义标签+传统压缩 可解释、易调试 表达能力有限
大模型生成+少量描述 语义压缩率极高 依赖先验,容易幻觉,需要质量验证

8.11 语义编码需要“和谁一起训练”

一个完整语义通信系统的训练对象包括:

  • 发送端编码器;
  • 信道变换(可微信道模型);
  • 接收端解码器;
  • 任务模型;
  • 量化/熵模型;
  • 知识库或共享模型。

如果只训练编码器而忽略信道或接收端,实际性能通常不好。所以“联合训练”是 Deep JSCC 最重要的工作方式之一。

8.12 语义编码是否有理论性能界限

简短回答:在“语义”尚未被统一定义的今天,缺乏一个公认的语义容量定理。 但我们可以借用经典信息论建立局部结论:

  • 如果语义任务 $V$ 是 $X$ 的确定性函数,那么要无误差完成任务,所需的最小“语义信息”不会超过 $H(V)$。
  • 如果要恢复 $X$,则至少需要率失真函数 $R(D)$ 对应的信息量。
  • 物理信道容量 $C$ 仍然约束最终传输速率。
  • 对于有限码长和具体任务,端到端学习也许能比“分开设计再后处理”获得更好的经验性能,但目前没有一个通用的最优性定理。

因此,语义通信研究的一个重要方向正是:怎样在保留工程可操作性的前提下,建立比香农信息论更细粒度的语义信息论。


第 8 章小结

  • 语义编码可以把神经网络和知识库结合。
  • 编码器输出可以是连续特征、量化比特或可解释语义标签。
  • 系统必须同时考虑速率、失真、任务和信道。
  • Deep JSCC 的核心是把编码器和解码器放到同一个可微网络中联合训练。
  • 语义通信没有公认的容量定理,理论研究仍在进行。