3.2 深度学习DOA估计的基本任务形式
进入正题之前,先做一件事:建立全局地图。
深度学习 DOA 估计的文献读多了,很容易在各种方法的细节里迷失——这篇用分类、那篇用回归,这篇输入协方差矩阵、那篇直接输入 IQ 数据,输出有角度值、有概率向量、有伪谱……各种组合看起来眼花缭乱。但只要把"输入是什么"和"输出是什么"这两个维度想清楚,整个方法空间就会豁然开朗。
本节的核心锚点就是下面这张表。读者朋友们先把它看懂,后续 3.4 至 3.6 节的内容都是在这张表的框架下展开的。
| 维度 | 主要选项 | 简要说明 |
|---|---|---|
| 输入特征 | 协方差矩阵(CM) | 对观测数据做二阶统计,损失相位绝对参考 |
| 原始 IQ 数据 | 直接输入阵列复数采样,信息最完整 | |
| 任务形式 | 分类(Classification) | 角度空间离散化,预测信号落在哪个格点 |
| 直接角度回归(Regression) | 直接输出连续角度值 | |
| 伪空间谱回归(Spectrum Regression) | 输出一条空间谱曲线,峰值对应 DOA | |
| 信源数处理 | 单信源 | 输出单个角度或单标签概率 |
| 多信源(数目固定) | 输出多个角度或多标签概率 | |
| 多信源(数目未知) | 由伪谱峰值检测或额外分支估计 |
这张表定义了深度学习 DOA 估计的"设计空间"。接下来,我们把每个维度逐一讲清楚。
3.2.1 输入特征:给网络喂什么数据
网络的第一道门槛,是决定把观测数据以什么形式送进去。
协方差矩阵(Covariance Matrix,CM) 是目前文献中最常见的输入形式。回忆第一章的推导:
协方差矩阵浓缩了阵列数据的二阶统计信息,MUSIC、ESPRIT 都是以它为出发点的。用它作为网络输入,是"在经典方法已证明有用的数据表示上进行深度学习",也是最早期深度学习 DOA 研究的主流选择。
协方差矩阵是复数 Hermitian 矩阵,神经网络通常处理实数,所以实际输入时需要做格式转换。常见的做法有两种:一是只取下三角部分(因为 Hermitian 矩阵上下三角互为共轭,不含额外信息),将其实部和虚部展开成一个实数向量,送入 MLP;二是将整个矩阵的实部、虚部(有时还加上相位)分别作为独立通道,拼成一个三通道的"图像",送入 CNN。后者能更好地保留矩阵的二维空间结构,卷积层可以提取局部的相关模式,在低 SNR 场景中被证明有更强的特征提取能力。
协方差矩阵输入的主要局限,在于它是一种"有损压缩":从 到 ,快拍之间的相位绝对关系被消掉了(协方差只保留了两个采样点之间的相关性,而非各快拍的绝对相位)。也就是说,协方差矩阵本身不是"最优统计量",仍有信息被丢弃。
原始 IQ 数据 是另一种路线。把阵列各阵元在 个快拍时刻的复数采样直接送入网络,不经过协方差矩阵这一步。具体做法是,将第 阵元的观测序列 拆分为实部序列 和虚部序列 ,然后按阵元排列成矩阵:
这个 的矩阵保留了全部原始信息,可以作为一个二维特征图直接送入 CNN 或 ResNet。这种输入方式绕过了协方差矩阵的计算,理论上信息更完整,在快拍数充足的条件下往往能达到更好的估计精度。实验也表明,以 IQ 为输入的 ResNet(IQ-ResNet)在全 SNR 范围内、各快拍数配置下均能优于基于协方差矩阵的方法。代价是: 的矩阵比 的协方差矩阵维度更高,网络输入更大,对训练数据量和计算资源的要求也更高;同时,随着快拍数 变化,输入尺寸改变,网络需要重新设计或重新训练。
两种输入方式没有绝对的优劣,而是各有适用场景。选择时主要考虑三点:一是计算资源是否允许处理更大维度的输入;二是快拍数是否固定(IQ 输入对 更敏感);三是目标场景的 SNR 范围(低 SNR 下 IQ 的优势更明显)。在 3.3 节讨论数据集构建时,这两种格式的构造方法会给出具体代码。
3.2.2 任务形式:让网络预测什么
确定了输入,下一个问题是输出侧的设计,也就是"把 DOA 估计建模成什么类型的机器学习任务"。目前主流的有三种形式。
分类(Classification)
分类的思路是:把连续的角度范围离散化,划分成 个格点,每个格点作为一个"类别",让网络预测信号落在哪个格点(或哪几个格点)。
形式上,定义角度格点集合:
其中 是格点间距(分辨率), 是类别总数。例如,角度范围 、分辨率 ,则 。
网络最后一层输出 维向量,经过激活函数后解读为各角度格点处"有信号"的置信度。标签(训练目标)对应真实 DOA 处的格点位置。
这里有一个值得特别说明的地方:单信源和多信源对应不同的激活函数和损失函数设计,而标签的组织逻辑在两种情形下也有所不同,我们统一在 3.2.3 节的"信源数与标签"部分说明,3.4 节不再重复。
分类的直观优势在于:任务形式简单,网络训练稳定,不需要处理角度排列(哪个角度对应哪个输出端口)的问题。主要限制是网格失配(grid mismatch):真实 DOA 是连续的,分类只能输出格点,精度天花板由 决定。想要精度高就必须格点密,格点密则输出维度 增大,训练难度和推理开销随之上升。
直接角度回归(Direct Regression)
直接回归绕开了离散化:网络的输出层直接输出 个实数,对应 个信源的角度估计值( 为预设的信源数)。标签就是真实角度,损失函数用均方误差(MSE)。
为了让网络输出与角度范围匹配,通常在输出层加一个 Tanh 激活函数,将输出限制在 之间,训练时把角度也归一化到这个区间(比如 线性映射到 ),推理后再反归一化。
直接回归的优势是理论上精度无上限,不受格点间距约束,是真正的连续估计。但它有自己的挑战:当信源数 时,输出的 个角度值与 个真实 DOA 之间存在配对问题(permutation ambiguity)。训练时如果不处理好配对,同一批次内不同样本的标签顺序不一致,损失函数会"混乱",网络根本学不到正确的映射。处理方法通常有两种:强制对输出和标签都按升序排列(最简单,但对网络有隐含约束);或使用匈牙利算法(Hungarian algorithm)做最优配对,逐样本找最小代价的对应关系后再计算损失。
伪空间谱回归(Pseudo-Spectrum Regression)
这是第三种形式,思路是让网络输出一条"类空间谱"曲线,而不是直接输出角度。具体地,网络输出一个 维向量 ,每个分量对应一个离散角度格点处的谱值(或置信度),训练时要让输出曲线与一条"参考谱"尽量接近。参考谱通常在真实 DOA 位置处设置一个峰值(比如高斯形状),其余位置为零或小值:
推理时,从网络输出的谱曲线上做峰值检测,峰值位置即为 DOA 估计结果。
这种形式有几个有趣的性质:它不依赖于预先知道信源数(峰值检测本身可以适应不同信源数),输出形式与经典 MUSIC 伪谱在直觉上高度一致,方便与经典方法比较和融合;并且,只要谱曲线的分辨率足够,精度同样不受格点约束(峰值可做插值)。不足之处是:如果谱曲线不够平滑,峰值检测容易出错;训练时需要精心设计参考谱( 的选取直接影响精度和收敛),训练难度比分类稍高。
3.2.3 信源数与标签设计
无论选择哪种任务形式,都绕不开一个问题:单信源还是多信源,标签怎么设计。这里统一说明,避免后续章节反复解释。
单信源是最简单的情形。每个训练样本对应一个信源,角度 在训练范围内均匀随机采样。
在分类任务中,标签是一个 维的 one-hot 向量:在 对应的格点处为 1,其余为 0。网络输出层用 Softmax,损失函数用交叉熵(CE)。
在直接回归任务中,标签就是一个标量 (归一化后),网络输出层输出一个标量(或经过 Tanh 的一维向量),损失函数用 MSE。
多信源(信源数固定为 ) 是常见的多目标场景。每个训练样本包含 个信源,角度组合在训练范围内随机生成,通常保证任意两个角度之间有最小间隔(以避免过于极端的角度组合使训练集分布失衡)。
在分类任务中,标签是一个 维的多热(multi-hot)向量: 个真实 DOA 对应的格点处为 1,其余为 0。网络输出层改用 Sigmoid(每个格点独立二分类),损失函数改用二元交叉熵(BCE)。推理时,从 个 Sigmoid 输出中取置信度最高的 个格点作为预测结果。
在直接回归任务中,标签是 个角度的有序集合(通常按升序排列),网络输出层输出 个实数,损失函数用 MSE(注意需处理配对问题,见上文)。
多信源(信源数未知) 是更贴近实际的情形,也是最复杂的情形。在分类和伪谱回归框架下,这个问题可以被优雅地规避:网络始终输出固定长度 的向量(空间谱或类谱),真实的信源数通过推理时的峰值检测动态确定,不需要在网络输出层做任何修改。这正是伪谱回归方法的一个实用优势。在直接回归框架下,信源数未知则需要额外的处理——比如多任务学习(同时预测信源数和各信源角度),或使用集合预测的网络结构,复杂度明显提高,本教程不展开。
下面用一个简洁的总结,把三种任务形式在标签和输出层设计上的关键参数并排呈现:
| 任务形式 | 输出层激活 | 标签格式(单信源) | 标签格式(多信源, 固定) | 损失函数 |
|---|---|---|---|---|
| 分类 | Softmax / Sigmoid | one-hot, 维 | multi-hot, 维 | CE / BCE |
| 直接角度回归 | Tanh | 标量 | 维角度向量(升序) | MSE |
| 伪谱回归 | Sigmoid / ReLU | 维参考谱 | 维参考谱(多峰) | MSE |
3.2.4 任务形式的选择逻辑
把以上内容整理清楚后,一个自然的问题是:实际动手时,应该选哪种任务形式?
没有放之四海而皆准的答案,但有几条经验性的判断原则:
首先,如果希望工程实现简单、训练过程稳定,从分类入手是最可靠的选择。它的标签设计直观,损失函数行为可预期,调试起来最容易。代价是精度受格点间距约束,适合对分辨率要求不极端的场景。
其次,如果需要连续、高精度的角度估计,并且信源数固定已知,直接角度回归是更自然的形式。它的精度理论上无上限,但配对问题需要仔细处理,训练稳定性相对较低,超参数(学习率、损失权重等)的调节经验要求更高。
再者,如果信源数可能变化,或者希望输出结果易于与经典方法(如 MUSIC 伪谱)进行比较和可视化,伪谱回归是灵活性最好的选择。它在信源数估计这个问题上无需额外设计,但参考谱的构造和峰值检测的可靠性需要精心调校。
对于本教程的初学者,推荐的起点是:从分类任务开始,用协方差矩阵或 IQ 数据作为输入,先把整个训练-推理-评估的流程跑通;在此基础上,把输出层改成回归,感受两种任务形式在代码和性能上的具体差异。这正是 3.7 节将要提供的两个最小可运行示例的思路。
3.2.5 小结
本节围绕"输入是什么"和"输出是什么"两个维度,建立了深度学习 DOA 估计的任务框架。
输入侧有两条路:协方差矩阵(CM)在经典方法已证明有用的数据表示上做深度学习,信息量有所损失但维度较小;原始 IQ 数据保留最完整的信息,在 SNR 范围宽、快拍数充足时往往更优。输出侧有三种形式:分类对角度离散化,标签设计直观,精度受格点约束;直接回归输出连续角度,精度更高,但配对问题需要处理;伪谱回归输出类空间谱,对信源数变化最灵活,与经典方法的联系也最自然。信源数和标签的设计统一遵循"单信源用 one-hot/标量,多信源用 multi-hot/向量,伪谱任务统一用参考谱"的原则。
有了这张全局地图,接下来就可以进入每个环节的具体实现了。3.3 节首先解决数据的问题:怎样用仿真生成训练数据,数据长什么样,怎样把它处理成网络可以直接接受的输入格式。