不靠原始数据,也能认出陌生设备?射频指纹识别的「无源开放世界」新范式【附python代码】
不靠原始数据,也能认出陌生设备?
射频指纹识别的「无源开放世界」新范式
本文深入解读「Source-Free Open-World RF Fingerprint Identification」论文,带你了解如何在不访问原始训练数据的情况下,实现对未知射频设备的精准识别。
原文链接
01 背景与挑战
射频指纹识别:无线安全的「隐形身份证」
在物联网飞速发展的今天,数十亿设备通过无线信号进行通信。如何确保通信双方身份的真实性?传统的密码学认证存在密钥泄露的风险,而射频指纹识别(RFFI) 提供了一种物理层的安全方案——利用发射机硬件电路中不可避免的微小差异,为每个设备生成独一无二的"射频指纹"。
就像每个人都有独特的笔迹,每台无线设备也因为DAC、功放、振荡器等模拟器件的细微差异,在发射的信号中留下了不可伪造的"硬件签名"。
现实世界的三大困境
然而,将射频指纹识别从实验室推向现实部署时,面临三个严峻挑战:
挑战一:开放世界(Open-World)
训练时只能覆盖部分设备类别;部署后,源源不断出现的新设备是"未知类别",系统必须在不重新训练的情况下识别这些新设备。
挑战二:无源限制(Source-Free)
出于隐私法规和存储成本的考量,部署环境往往无法访问原始训练数据。你无法再回去翻看历史数据来辅助模型适应。
挑战三:无标签数据流(Unlabeled Streams)
在线部署阶段,新设备的数据流是无标注的,而且新旧设备的信号混在一起,需要模型自主区分。
这三个困境叠加,构成了一个极具挑战的问题——无源开放世界射频指纹识别(SF-OW RFFI)。
02 核心思想:两阶段框架
面对上述挑战,本文提出了一个精巧的两阶段框架:
┌─────────────────────────────────────────────────┐
│ Stage 1: 源域预训练 │
│ ┌──────────┐ ┌───────────┐ │
│ │ 已知设备 │ ───► │ ResNet-18 │ ───► 预训练模型 │
│ │ 有标签数据│ │ + ETF头 │ │
│ └──────────┘ └───────────┘ │
└─────────────────────────────────────────────────┘
│
▼ (仅传递预训练权重,不传递原始数据)
┌─────────────────────────────────────────────────┐
│ Stage 2: 无源开放世界适配 │
│ ┌──────────┐ ┌──────────────────┐ │
│ │ 无标签流 │ ───► │ IO-ETF + TLGA │ ───► │
│ │(已知+未知)│ │ 三重几何对齐 │ 识别结果│
│ └──────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────┘
Stage 1:源域预训练
在有标签的已知设备数据上,使用ResNet-18作为骨干网络,配合特别设计的ETF分类头进行标准监督训练。这一阶段的目的是学习一个判别性强的特征空间,为后续适应奠定基础。
Stage 2:无源开放世界适配
这是本文的核心创新所在。接收到混合的无标签数据流后,系统通过两大模块完成对新旧设备的精准识别:
- IO-ETF(增量正交ETF分类头):为新增设备类别动态扩展分类空间
- TLGA(三重几何对齐策略):在无标签条件下对齐语义、流形和子空间
03 关键技术深度解析
3.1 IO-ETF:增量正交紧框架分类头
传统分类头在遇到新类别时需要完全重新训练,而IO-ETF分类头能够增量式扩展,是一种数学上十分优雅的设计。
什么是ETF?
ETF(Equiangular Tight Frame,等角紧框架)是一种特殊的向量集合,具有两个关键性质:
- 等角性:任意两个ETF向量的夹角完全相等,即
M^T M的非对角元素完全相同 - 紧框架性:ETF向量均匀分布在空间中,构成一个"紧致"的坐标系
ETF的数学构造公式为:
M = K K − 1 ( I K − 1 K 11 T ) \mathbf{M} = \sqrt{\frac{K}{K-1}} \left( \mathbf{I}_K - \frac{1}{K} \mathbf{1}\mathbf{1}^T \right) M=K−1K(IK−K111T)
其中 (K) 为类别数。该公式保证了各类别原型向量之间的最大分离性。
增量扩展的优化过程
当新设备出现时,IO-ETF不需要重新训练整个分类器,而是通过一个优化过程为新增类别生成ETF向量:
- 随机初始化新类别的ETF向量
- 通过Adam优化器迭代优化,最小化两个损失项:
- 新旧分离损失:最大化新向量与已有旧向量之间的角度,避免新旧类别混淆
- 新类内分离损失:最大化新类别之间的相互角度,保证新类充分分离
- 对优化后的向量进行归一化,拼接到原ETF矩阵中
# 核心优化逻辑(简化版)
sim_old_new = old_etf.T @ curr_new # 新旧类别相似度
loss_old = logsumexp(sim_old_new * 10.0) # 最大化分离度
sim_new_new = curr_new.T @ curr_new # 新类间相似度
loss_new = logsumexp(sim_new_off * 10.0) # 新类内分离
loss = loss_old + loss_new # 联合优化
3.2 TLGA:三重几何对齐策略
仅有好的分类头还不够。在无标签数据流中,如何让模型精准地区分新旧设备?TLGA从三个几何层面进行对齐:
第一重:语义级对齐(Semantic OT)—— 全局视角
利用Sinkhorn-Knopp算法对模型输出的弱增强预测进行均衡化处理,生成高质量伪标签。
Sinkhorn-Knopp是一种最优传输(Optimal Transport)算法,它能在模型预测和均匀类别分布之间找到最优匹配。直观地说,它相当于做了一道"配额分配题":
「已知每个类别的样本量大致相当,如何将一批无标签样本公平地分配到各个类别中?」
算法迭代地在行(样本)和列(类别)之间做双向归一化,最终收敛到满足双随机约束的最优分配方案。
这种全局均衡的伪标签策略,有效避免了模型对少数类别的"塌缩"现象。

第二重:流形级对齐(Manifold Anchoring)—— 局部视角
如果说语义OT提供了全局约束,那么KNN对比学习则负责维护数据的局部几何结构。
具体做法:
- 维护一个特征记忆库(Feature Bank),存储所有样本的对比特征
- 对每个样本,在记忆库中搜索K个最近邻居
- 使用监督对比损失(SupCon Loss),拉近每个样本与其邻居的距离,推远与其他样本的距离
这种"点对点"的对齐方式,确保相似设备的特征在嵌入空间中也保持接近,保留了数据的流形结构。
第三重:子空间级对齐(Subspace Retention)—— 记忆视角
为了应对灾难性遗忘——模型在学习新类别时"忘记"旧类别——本文引入了一个冻结的旧模型作为记忆锚点:
- 在阶段二开始时,复制一份已训练好的模型并冻结其参数(
old_model) - 对每个输入样本,同时用当前模型和旧模型进行前向传播
- 筛选出旧模型高置信度判定为"已知类别"的样本
- 用这些样本对当前模型施加知识保持损失(Retention Loss),迫使模型"记住"旧知识
# 子空间保持逻辑
with torch.no_grad():
probs_old = softmax(old_model(inputs)) # 旧模型预测
max_prob, pseudo_label = max(probs_old)
mask_reliable = (max_prob > 0.75) & (pseudo_label 属于已知类别)
loss_ret = cross_entropy(current_logits[mask_reliable], pseudo_label[mask_reliable])
这种机制巧妙地保护了预训练阶段积累的知识,确保模型在"学习新知识"的同时不"遗忘旧知识"。
动态权重调度
三重对齐不是简单的叠加。本文设计了一个动态权重调度机制:
w_t = linear_rampup(epoch, warmup, total_epochs) # 从0线性增长到1
loss_align = w_t * loss_global + (1 - w_t) * loss_local
loss_total = loss_align + 20.0 * loss_ret
- 训练早期(
w_t小):侧重局部对齐(KNN对比学习),帮助模型建立对数据流形的基本认知 - 训练后期(
w_t大):侧重全局对齐(语义OT),引导模型做出更均衡的类别判别 - 全程:知识保持损失始终以较大权重(20.0倍)参与训练,严防遗忘
04 实验设置与结果
数据集
本文在三个真实射频数据集上进行了验证:
| 数据集 | 信号类型 | 采集设备 | 典型类别数 |
|---|---|---|---|
| WiSig | WiFi信号 | USRP + ORBIT平台 | 10类 |
| Oracle | 蜂窝信号 | USRP X310发射机 | 16类 |
| LoRa | LoRa信号 | 商用LoRa设备 | 30类 |
三个数据集覆盖了不同的无线协议和实际部署场景,确保了实验的全面性。
评估指标
采用Hungarian匹配算法(匈牙利算法)对齐预测标签与真实标签,计算:
- 已知类别准确率(Known Acc)
- 新类别准确率(Novel Acc)
- 总体准确率(All Acc)
- H-score(平衡已知与新颖类的综合指标)
- AUROC(区分已知/未知类别的能力)
关键结果
实验在约34%~50%的新类别占比设定下进行,结果表明:
- IO-ETF提供的几何先验,有效将新类别"推"到特征空间的空白区域,减少了新旧类别的干扰
- TLGA三重对齐策略使模型在无源条件下保持了对已知类别的判别力,同时精准识别了新类别
- 与现有增量学习、开放世界识别方法相比,SFOW框架在三个数据集上均取得了最优结果
05 代码实现亮点
本文开源了完整代码,工程实现中有几个值得学习的细节:
1. ETF的数学实现
ETF矩阵通过正交化随机矩阵来映射到高维空间,保证了数值稳定性:
# 标准ETF构造
I = torch.eye(n_classes)
one = torch.ones(n_classes, n_classes)
M = sqrt(K/(K-1)) * (I - one/K)
# 通过QR分解映射到特征维度
U = torch.randn(feat_dim, n_classes)
U, _ = torch.linalg.qr(U)
M = U[:, :n_classes] @ M
2. 弱增强/强增强分离
阶段二中,对同一输入分别施加弱增强(用于生成可靠伪标签)和强增强(用于训练模型),提升鲁棒性。
3. EMA模型
维护一个指数移动平均(EMA)版本的模型,衰减系数0.95,平滑训练轨迹,提升稳定性:
ema_param = alpha * ema_param + (1 - alpha) * current_param
06 总结与展望
本文提出的SFOW-RFFI框架,以一种优雅的几何视角解决了射频指纹识别在现实部署中的核心难题:
- IO-ETF 提供了可增量扩展的几何结构先验,使模型具备"容纳新知"的能力
- TLGA 从语义、流形、子空间三个层面引导无标签数据对齐,使模型既不遗忘旧识,又能接纳新知
- 两阶段设计 保证了框架的灵活部署:一次预训练,无限次适配
未来方向包括:探索更多无线协议(如5G NR)、引入自监督预训练以减少对标签的依赖、以及在更多实际部署场景中验证鲁棒性。
更多推荐



所有评论(0)